Search in /sys/class/net for network devices
When using /sys/devices/net/virtual to search for tap devices, not all devices are listed there (i.e. when using Xen). Also according to the Linux kernel documentation (see ABI/testing/sysfs-devices), /sys/class should be used instead of /sys/devices. Change-Id: I9b4981332b66b6d3f9c36511c81432d3e7644bdd Closes-Bug: #1419754
This commit is contained in:
parent
5ce64130ab
commit
e228a3dc69
|
@ -52,7 +52,9 @@ from neutron.plugins.linuxbridge.common import constants as lconst
|
|||
LOG = logging.getLogger(__name__)
|
||||
|
||||
BRIDGE_NAME_PREFIX = "brq"
|
||||
BRIDGE_FS = "/sys/devices/virtual/net/"
|
||||
# NOTE(toabctl): Don't use /sys/devices/virtual/net here because not all tap
|
||||
# devices are listed here (i.e. when using Xen)
|
||||
BRIDGE_FS = "/sys/class/net/"
|
||||
BRIDGE_NAME_PLACEHOLDER = "bridge_name"
|
||||
BRIDGE_INTERFACES_FS = BRIDGE_FS + BRIDGE_NAME_PLACEHOLDER + "/brif/"
|
||||
DEVICE_NAME_PLACEHOLDER = "device_name"
|
||||
|
|
|
@ -447,7 +447,7 @@ class TestLinuxBridgeManager(base.BaseTestCase):
|
|||
exists_fn.return_value = True
|
||||
self.assertTrue(self.lbm.is_device_on_bridge("tap1"))
|
||||
exists_fn.assert_called_with(
|
||||
"/sys/devices/virtual/net/tap1/brport"
|
||||
"/sys/class/net/tap1/brport"
|
||||
)
|
||||
|
||||
def test_get_interface_details(self):
|
||||
|
|
Loading…
Reference in New Issue