From f1c924826780f3f01e3301f5306fc70f225af887 Mon Sep 17 00:00:00 2001 From: Roopa Prabhu Date: Wed, 23 Mar 2016 21:12:47 -0700 Subject: [PATCH] addons: vrf: delete rules before deleting the vrf interface on down Ticket: CM-10057 Reviewed By: trivial Testing Done: Tested ifdown of a vrf interface --- addons/vrf.py | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/addons/vrf.py b/addons/vrf.py index b851d15..74af253 100644 --- a/addons/vrf.py +++ b/addons/vrf.py @@ -544,6 +544,17 @@ class vrf(moduleBase): # if dhcp slave, release the dhcp lease if sobj and self._is_dhcp_slave(sobj[0]): self._down_dhcp_slave(sobj[0]) + except Exception, e: + self.logger.info('%s: %s' %(ifaceobj.name, str(e))) + pass + + try: + self._del_vrf_rules(ifaceobj.name, vrf_table) + except Exception, e: + self.logger.info('%s: %s' %(ifaceobj.name, str(e))) + pass + + try: self.ipcmd.link_delete(ifaceobj.name) except Exception, e: self.logger.info('%s: %s' %(ifaceobj.name, str(e))) @@ -556,11 +567,6 @@ class vrf(moduleBase): self.logger.info('%s: %s' %(ifaceobj.name, str(e))) pass - try: - self._del_vrf_rules(ifaceobj.name, vrf_table) - except Exception, e: - self.logger.info('%s: %s' %(ifaceobj.name, str(e))) - pass def _down_vrf_slave(self, ifacename, vrf): try: