From f3b69969e3415eb0529efebde40fab5bd4c4a6c2 Mon Sep 17 00:00:00 2001 From: Roopa Prabhu Date: Wed, 31 Dec 2014 13:58:25 -0800 Subject: [PATCH] Fix link_type flag for objects read from state file + fix link_type initializations in a few other places Ticket: CM-4610 Reviewed By: Testing Done: Tested with the failing sequence of events described in the bug --- addons/bridge.py | 2 +- ifupdown/iface.py | 2 +- ifupdown/ifupdownmain.py | 2 ++ 3 files changed, 4 insertions(+), 2 deletions(-) diff --git a/addons/bridge.py b/addons/bridge.py index 930f3b9..9d317bc 100644 --- a/addons/bridge.py +++ b/addons/bridge.py @@ -871,7 +871,7 @@ class bridge(moduleBase): proc_file = ('/proc/sys/net/ipv6/conf/%s' %p + '/disable_ipv6') self.write_file(proc_file, '0') - if ifaceobj.link_type == ifaceLinkType.LINK_MASTER: + if ifaceobj.link_type != ifaceLinkType.LINK_NA: rtnetlink_api.rtnl_api.link_set(p, "down") except Exception, e: self.log_error(str(e)) diff --git a/ifupdown/iface.py b/ifupdown/iface.py index bba303a..a3092f5 100644 --- a/ifupdown/iface.py +++ b/ifupdown/iface.py @@ -430,7 +430,7 @@ class iface(): self.priv_flags = 0 self.raw_config = [] self.flags |= self._PICKLED - self.link_type = ifaceLinkType.LINK_UNKNOWN + self.link_type = ifaceLinkType.LINK_NA self.link_kind = ifaceLinkKind.UNKNOWN def dump_raw(self, logger): diff --git a/ifupdown/ifupdownmain.py b/ifupdown/ifupdownmain.py index 4c3a527..fedb88d 100644 --- a/ifupdown/ifupdownmain.py +++ b/ifupdown/ifupdownmain.py @@ -299,6 +299,8 @@ class ifupdownMain(ifupdownBase): ifaceobj.name = ifacename ifaceobj.priv_flags = priv_flags ifaceobj.auto = True + if not self._link_master_slave: + ifaceobj.link_type = ifaceLinkType.LINK_NA if increfcnt: ifaceobj.inc_refcnt() self.ifaceobjdict[ifacename] = [ifaceobj]