From a9d36648149371a6b8a7061296e878df7a0e6a13 Mon Sep 17 00:00:00 2001 From: Roopa Prabhu Date: Tue, 11 Nov 2014 21:22:36 -0800 Subject: [PATCH] Dont warn on fdb del failures during down Ticket: CM-4178 Reviewed By: Testing Done: Tested vrr interface up and down Checking and deleting is expensive. so, ignore delete failures. Currently logs them at debug level. --- addons/addressvirtual.py | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) diff --git a/addons/addressvirtual.py b/addons/addressvirtual.py index 32451f8..f0ab7dc 100644 --- a/addons/addressvirtual.py +++ b/addons/addressvirtual.py @@ -51,14 +51,21 @@ class addressvirtual(moduleBase): def _remove_addresses_from_bridge(self, ifaceobj, hwaddress): # XXX: batch the addresses + bridgename = None if '.' in ifaceobj.name: - (bridgename, vlan) = ifaceobj.name.split('.') if self.ipcmd.bridge_is_vlan_aware(bridgename): - [self.ipcmd.bridge_fdb_del(bridgename, addr, - vlan) for addr in hwaddress] + (bridgename, vlan) = ifaceobj.name.split('.') elif self.ipcmd.is_bridge(ifaceobj.name): - [self.ipcmd.bridge_fdb_del(ifaceobj.name, addr) - for addr in hwaddress] + vlan = None + bridgename = ifaceobj.name + if not bridgename: + return + for addr in hwaddress: + try: + self.ipcmd.bridge_fdb_del(bridgename, addr, vlan) + except Exception, e: + self.logger.debug("%s: %s" %(ifaceobj.name, str(e))) + pass def _get_bridge_fdbs(self, bridgename, vlan): fdbs = self._bridge_fdb_query_cache.get(bridgename)