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

addons: bridge: call bridge vlan show only if we have attributes that need them

Ticket: CM-10273
Reviewed By:
Testing Done: Tested with scale interfaces file in the bug

This reduces 250 unnecessary 'bridge -c vlan show' commands

Signed-off-by: Roopa Prabhu <roopa@cumulusnetworks.com>
This commit is contained in:
Roopa Prabhu
2016-04-23 22:32:14 -07:00
parent 77d9d6645a
commit f05e1e6d05

View File

@ -512,17 +512,21 @@ class bridge(moduleBase):
# Supports old style vlan vid info format
# for compatibility
#
bridge_port_pvids = ifaceobj.get_attr_value_first('bridge-port-pvids')
bridge_port_vids = ifaceobj.get_attr_value_first('bridge-port-vids')
if not bridge_port_pvids and not bridge_port_vids:
return
# Handle bridge vlan attrs
running_vidinfo = self._get_running_vidinfo()
# Install pvids
attrval = ifaceobj.get_attr_value_first('bridge-port-pvids')
if attrval:
portlist = self.parse_port_list(ifaceobj.name, attrval)
if bridge_port_pvids:
portlist = self.parse_port_list(ifaceobj.name, bridge_port_pvids)
if not portlist:
self.log_warn('%s: could not parse \'%s %s\''
%(ifaceobj.name, attrname, attrval))
%(ifaceobj.name, 'bridge-port-pvids',
bridge_port_pvids))
return
for p in portlist:
try:
@ -539,12 +543,11 @@ class bridge(moduleBase):
%(ifaceobj.name, p, str(e)))
# install port vids
attrval = ifaceobj.get_attr_value_first('bridge-port-vids')
if attrval:
portlist = self.parse_port_list(ifaceobj.name, attrval)
if bridge_port_vids:
portlist = self.parse_port_list(ifaceobj.name, bridge_port_vids)
if not portlist:
self.log_warn('%s: could not parse \'%s %s\''
%(ifaceobj.name, attrname, attrval))
self.log_warn('%s: could not parse \'%s %s\'' %(ifaceobj.name,
'bridge-port-vids', bridge_port_vids))
return
for p in portlist:
try: