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

addons: bridge: re-visit bridge port vid settings when vlan filtering is toggled

Ticket: CM-9059
Reviewed By: julien, nikhil
Testing Done: Tested with test case in the bridge
This commit is contained in:
Roopa Prabhu
2016-04-13 23:56:49 -07:00
parent 39ee399b45
commit 96a71b65cb

View File

@@ -1013,18 +1013,27 @@ class bridge(moduleBase):
err = False err = False
errstr = '' errstr = ''
running_ports = '' running_ports = ''
bridge_just_created = False
try: try:
if not self.PERFMODE: if not self.PERFMODE:
if not self.ipcmd.link_exists(ifaceobj.name): if not self.ipcmd.link_exists(ifaceobj.name):
self.ipcmd.link_create(ifaceobj.name, 'bridge') self.ipcmd.link_create(ifaceobj.name, 'bridge')
bridge_just_created = True
else: else:
self.ipcmd.link_create(ifaceobj.name, 'bridge') self.ipcmd.link_create(ifaceobj.name, 'bridge')
bridge_just_created = True
except Exception, e: except Exception, e:
raise Exception(str(e)) raise Exception(str(e))
try: try:
if ifaceobj.get_attr_value_first('bridge-vlan-aware') == 'yes': if ifaceobj.get_attr_value_first('bridge-vlan-aware') == 'yes':
self.ipcmd.link_set(ifaceobj.name, 'vlan_filtering', '1', False, "bridge") if (bridge_just_created or
not self.ipcmd.bridge_is_vlan_aware(ifaceobj.name)):
self.ipcmd.link_set(ifaceobj.name, 'vlan_filtering', '1',
False, "bridge")
if not bridge_just_created:
ifaceobj.module_flags[self.name] = ifaceobj.module_flags.setdefault(self.name,0) | bridgeFlags.PORT_PROCESSED_OVERRIDE
except Exception, e: except Exception, e:
raise Exception(str(e)) raise Exception(str(e))