Some minor API changes to increase effieciency for Intels.
First, the stack-level createVlan() function no longer takes as an argument a list of devices the VLAN exists on, since it looks like this will never be needed. In it's place, createVlan() now takes a list of ports, so that it can (if so desired) put the ports in the VLAN without a seperate lock and unlock. The snmpit_intel module now uses its 'nested locking' feature to avoid additional locking in these cases. Note though, that the way that this is done is not safe for multiple switches in a stack. If we ever have to support multiple Intels (looks doubtful), this will have to be removed, or locking will need to be moved a level up to snmpit_intel_stack . Yuck. For Intels, the removeVlan() function calls removePortsFromVlan() itself, again to save locking overhead. The Cisco behavior, however, is unchanged, as locking is not expensive, and this would be too messy.
Showing with 79 additions and 55 deletions