]> git.proxmox.com Git - mirror_ifupdown2.git/commitdiff
addons: bridge: warn users if bridge attributes are used under non-bridge stanza
authorJulien Fortin <julien@cumulusnetworks.com>
Wed, 27 Jun 2018 20:45:24 +0000 (23:45 +0300)
committerJulien Fortin <julien@cumulusnetworks.com>
Thu, 13 Dec 2018 22:43:57 +0000 (14:43 -0800)
This check is done without too much overhead because we rarely see a stanza
with more than a handful of attributes...

$ ifquery swp1
auto swp1
iface swp1
      bridge-vlan-aware yes
      bridge-stp off

$ ifup swp1 -v
...
info: swp1: running ops ...
warning: swp1: invalid use of bridge attribute (bridge-vlan-aware) on non-bridge stanza
warning: swp1: invalid use of bridge attribute (bridge-stp) on non-bridge stanza
..
$

Reviewed-by: Roopa Prabhu <roopa@cumulusnetworks.com>
Signed-off-by: Julien Fortin <julien@cumulusnetworks.com>
ifupdown2/addons/bridge.py

index 1b4dcddd0652d46f1679a162aae46bdda8e9536b..763b886ad4261446d9818dc6d91c665609aa970e 100644 (file)
@@ -2163,6 +2163,14 @@ class bridge(moduleBase):
         elif ifaceobj.link_kind & ifaceLinkKind.BRIDGE:
             self.up_bridge(ifaceobj, ifaceobj_getfunc)
 
+        else:
+            bridge_attributes = self._modinfo.get('attrs', {}).keys()
+
+            for ifaceobj_config_attr in ifaceobj.config.keys():
+                if ifaceobj_config_attr in bridge_attributes:
+                    self.logger.warning('%s: invalid use of bridge attribute (%s) on non-bridge stanza'
+                                        % (ifaceobj.name, ifaceobj_config_attr))
+
     def _down(self, ifaceobj, ifaceobj_getfunc=None):
         if not self._is_bridge(ifaceobj):
             return