From 82b0d9217ed3d2f2f0b5f45d8f36f13d4d112f94 Mon Sep 17 00:00:00 2001 From: Julien Fortin Date: Thu, 5 Aug 2021 19:03:51 +0200 Subject: [PATCH] addons: vlan: validate vlan interface name we have an automation test that adds a vrf named "VRF.TEST": $ ifquery -a auto VRF.TEST iface VRF.TEST vrf-table auto $ ifup -a error: could not determine vlanid warning: error while writing to file /sys/class/net/VRF.TEST/mtu: [Errno 22] Invalid argument $ Signed-off-by: Julien Fortin --- ifupdown2/addons/vlan.py | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/ifupdown2/addons/vlan.py b/ifupdown2/addons/vlan.py index 325916e..584fe6e 100644 --- a/ifupdown2/addons/vlan.py +++ b/ifupdown2/addons/vlan.py @@ -64,13 +64,16 @@ class vlan(Addon, moduleBase): Addon.__init__(self) moduleBase.__init__(self, *args, **kargs) - @staticmethod - def _is_vlan_device(ifaceobj): + def _is_vlan_device(self, ifaceobj): vlan_raw_device = ifaceobj.get_attr_value_first('vlan-raw-device') if vlan_raw_device: return True elif '.' in ifaceobj.name: - return True + try: + if self._get_vlan_id(ifaceobj) != -1: + return True + except: + pass return False @staticmethod