]> git.proxmox.com Git - mirror_ifupdown2.git/commitdiff
addons: bridge: ports l2protocol tunnel: fix TypeError exception
authorJulien Fortin <julien@cumulusnetworks.com>
Thu, 16 Aug 2018 10:31:36 +0000 (12:31 +0200)
committerJulien Fortin <julien@cumulusnetworks.com>
Thu, 13 Dec 2018 22:43:57 +0000 (14:43 -0800)
ifquery may fail on the following exception:

File "/usr/share/ifupdown2/addons/bridge.py", line 709, in _query_check_l2protocol_tunnel_lldp
     return ifla_brport_group_mask & 0x4000
 TypeError: unsupported operand type(s) for &: 'NoneType' and 'int'

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

index f6fe5ee6ccde3f8828c2b8ede7200a8e2eb42a49..afe2f487e1e16f497ece9a151617de71020f2687 100644 (file)
@@ -664,27 +664,42 @@ class bridge(moduleBase):
 
     @staticmethod
     def _l2protocol_tunnel_set_pvst(ifla_brport_group_mask, ifla_brport_group_maskhi):
-        ifla_brport_group_maskhi |= 0x1
+        if not ifla_brport_group_maskhi:
+            ifla_brport_group_maskhi = 0x1
+        else:
+            ifla_brport_group_maskhi |= 0x1
         return ifla_brport_group_mask, ifla_brport_group_maskhi
 
     @staticmethod
     def _l2protocol_tunnel_set_cdp(ifla_brport_group_mask, ifla_brport_group_maskhi):
-        ifla_brport_group_maskhi |= 0x2
+        if not ifla_brport_group_maskhi:
+            ifla_brport_group_maskhi = 0x2
+        else:
+            ifla_brport_group_maskhi |= 0x2
         return ifla_brport_group_mask, ifla_brport_group_maskhi
 
     @staticmethod
     def _l2protocol_tunnel_set_stp(ifla_brport_group_mask, ifla_brport_group_maskhi):
-        ifla_brport_group_mask |= 0x1
+        if not ifla_brport_group_mask:
+            ifla_brport_group_mask = 0x1
+        else:
+            ifla_brport_group_mask |= 0x1
         return ifla_brport_group_mask, ifla_brport_group_maskhi
 
     @staticmethod
     def _l2protocol_tunnel_set_lacp(ifla_brport_group_mask, ifla_brport_group_maskhi):
-        ifla_brport_group_mask |= 0x4
+        if not ifla_brport_group_mask:
+            ifla_brport_group_mask = 0x4
+        else:
+            ifla_brport_group_mask |= 0x4
         return ifla_brport_group_mask, ifla_brport_group_maskhi
 
     @staticmethod
     def _l2protocol_tunnel_set_lldp(ifla_brport_group_mask, ifla_brport_group_maskhi):
-        ifla_brport_group_mask |= 0x4000
+        if not ifla_brport_group_mask:
+            ifla_brport_group_mask = 0x4000
+        else:
+            ifla_brport_group_mask |= 0x4000
         return ifla_brport_group_mask, ifla_brport_group_maskhi
 
     @staticmethod
@@ -694,23 +709,23 @@ class bridge(moduleBase):
 
     @staticmethod
     def _query_check_l2protocol_tunnel_stp(ifla_brport_group_mask, ifla_brport_group_maskhi):
-        return ifla_brport_group_mask & 0x1
+        return ifla_brport_group_mask and ifla_brport_group_mask & 0x1
 
     @staticmethod
     def _query_check_l2protocol_tunnel_cdp(ifla_brport_group_mask, ifla_brport_group_maskhi):
-        return ifla_brport_group_maskhi & 0x2
+        return ifla_brport_group_maskhi and ifla_brport_group_maskhi & 0x2
 
     @staticmethod
     def _query_check_l2protocol_tunnel_pvst(ifla_brport_group_mask, ifla_brport_group_maskhi):
-        return ifla_brport_group_maskhi & 0x1
+        return ifla_brport_group_maskhi and ifla_brport_group_maskhi & 0x1
 
     @staticmethod
     def _query_check_l2protocol_tunnel_lldp(ifla_brport_group_mask, ifla_brport_group_maskhi):
-        return ifla_brport_group_mask & 0x4000
+        return ifla_brport_group_mask and ifla_brport_group_mask & 0x4000
 
     @staticmethod
     def _query_check_l2protocol_tunnel_lacp(ifla_brport_group_mask, ifla_brport_group_maskhi):
-        return ifla_brport_group_mask & 0x4
+        return ifla_brport_group_mask and ifla_brport_group_mask & 0x4
 
     @staticmethod
     def _query_check_l2protocol_tunnel_all(ifla_brport_group_mask, ifla_brport_group_maskhi):