return []
def get_tap_devices_count(self, bridge_name):
- try:
- if_list = os.listdir(BRIDGE_INTERFACES_FS % bridge_name)
- return len([interface for interface in if_list if
- interface.startswith(constants.TAP_DEVICE_PREFIX)])
- except OSError:
- return 0
+ try:
+ if_list = os.listdir(BRIDGE_INTERFACES_FS % bridge_name)
+ return len([interface for interface in if_list if
+ interface.startswith(constants.TAP_DEVICE_PREFIX)])
+ except OSError:
+ return 0
def get_bridge_for_tap_device(self, tap_device_name):
- bridges = self.get_all_neutron_bridges()
- for bridge in bridges:
- interfaces = self.get_interfaces_on_bridge(bridge)
- if tap_device_name in interfaces:
+ try:
+ path = os.readlink(BRIDGE_PATH_FOR_DEVICE % tap_device_name)
+ except OSError:
+ pass
+ else:
+ bridge = path.rpartition('/')[-1]
+ if (bridge.startswith(BRIDGE_NAME_PREFIX)
+ or bridge in self.bridge_mappings.values()):
return bridge
-
return None
def is_device_on_bridge(self, device_name):