diff --git a/neutron/agent/linux/ip_lib.py b/neutron/agent/linux/ip_lib.py index 5e4425aad36..abd4f72b685 100644 --- a/neutron/agent/linux/ip_lib.py +++ b/neutron/agent/linux/ip_lib.py @@ -41,7 +41,8 @@ LOG = logging.getLogger(__name__) IP_NONLOCAL_BIND = 'net.ipv4.ip_nonlocal_bind' LOOPBACK_DEVNAME = 'lo' -GRE_TUNNEL_DEVICE_NAMES = ['gre0', 'gretap0'] +FB_TUNNEL_DEVICE_NAMES = ['gre0', 'gretap0', 'tunl0', 'erspan0', 'sit0', + 'ip6tnl0', 'ip6gre0'] SYS_NET_PATH = '/sys/class/net' DEFAULT_GW_PATTERN = re.compile(r"via (\S+)") @@ -116,7 +117,7 @@ class IPWrapper(SubProcessBase): def device(self, name): return IPDevice(name, namespace=self.namespace) - def get_devices(self, exclude_loopback=True, exclude_gre_devices=True): + def get_devices(self, exclude_loopback=True, exclude_fb_tun_devices=True): retval = [] if self.namespace: # we call out manually because in order to avoid screen scraping @@ -145,7 +146,7 @@ class IPWrapper(SubProcessBase): for name in output: if (exclude_loopback and name == LOOPBACK_DEVNAME or - exclude_gre_devices and name in GRE_TUNNEL_DEVICE_NAMES): + exclude_fb_tun_devices and name in FB_TUNNEL_DEVICE_NAMES): continue retval.append(IPDevice(name, namespace=self.namespace)) diff --git a/neutron/tests/unit/agent/linux/test_ip_lib.py b/neutron/tests/unit/agent/linux/test_ip_lib.py index f1653164a88..e89c73bc185 100644 --- a/neutron/tests/unit/agent/linux/test_ip_lib.py +++ b/neutron/tests/unit/agent/linux/test_ip_lib.py @@ -308,9 +308,9 @@ class TestIpWrapper(base.BaseTestCase): @mock.patch('neutron.agent.common.utils.execute') def test_get_devices_exclude_loopback_and_gre(self, mocked_execute): device_name = 'somedevice' - mocked_execute.return_value = 'lo gre0 gretap0 ' + device_name + mocked_execute.return_value = 'lo gre0 sit0 ip6gre0 ' + device_name devices = ip_lib.IPWrapper(namespace='foo').get_devices( - exclude_loopback=True, exclude_gre_devices=True) + exclude_loopback=True, exclude_fb_tun_devices=True) somedevice = devices.pop() self.assertEqual(device_name, somedevice.name) self.assertFalse(devices)