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