1
0
mirror of https://github.com/CumulusNetworks/ifupdown2.git synced 2024-05-06 15:54:50 +00:00

addons: bridge: allow vlan sub interface in vlan-aware bridge (fixes #92)

New bridge policy:
allow-vlan-sub-interface-in-vlan-aware-bridge (default True)

Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
Signed-off-by: Julien Fortin <jfortin@nvidia.com>
This commit is contained in:
Julien Fortin
2022-05-24 22:50:52 +02:00
parent e90c33ca6a
commit 10d57d9aaa

View File

@ -711,6 +711,14 @@ class bridge(Bridge, moduleBase):
default=True
)
self.allow_vlan_sub_interface_in_vlan_aware_bridge = utils.get_boolean_from_string(
policymanager.policymanager_api.get_module_globals(
module_name=self.__class__.__name__,
attr="allow-vlan-sub-interface-in-vlan-aware-bridge"
),
default=True
)
self.bridge_vxlan_arp_nd_suppress = utils.get_boolean_from_string(
policymanager.policymanager_api.get_module_globals(
module_name=self.__class__.__name__,
@ -958,11 +966,12 @@ class bridge(Bridge, moduleBase):
result = True
for port_name in ports:
port_obj_l = ifaceobj_getfunc(port_name)
if port_obj_l and port_obj_l[0].link_kind & ifaceLinkKind.VLAN:
self.logger.error('%s: %s: vlan sub-interface is not '
'supported in a vlan-aware bridge'
% (ifaceobj.name, port_name))
result = False
if not self.allow_vlan_sub_interface_in_vlan_aware_bridge:
if port_obj_l and port_obj_l[0].link_kind & ifaceLinkKind.VLAN:
self.logger.error('%s: %s: vlan sub-interface is not '
'supported in a vlan-aware bridge'
% (ifaceobj.name, port_name))
result = False
if (port_obj_l and
port_obj_l[0].get_attr_value('bridge-arp-nd-suppress') and
self.arp_nd_suppress_only_on_vxlan and