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

ifupdown2: main: call get dependents handler on all iface stanzas of an interface

Ticket: CM-8330
Reviewed By: balki
Testing Done: Tested with interfaces file in the bug

(cherry picked from commit 14570e6d442d1c9a3742f1dd989f7af673e3cc7f)
This commit is contained in:
Roopa Prabhu
2015-11-28 18:30:12 -08:00
committed by Sam Tannous
parent 5f8c03e7a1
commit 2d8b307bac

View File

@@ -505,13 +505,22 @@ class ifupdownMain(ifupdownBase):
i = iqueue.popleft()
# Go through all modules and find dependent ifaces
dlist = None
ifaceobj = self.get_ifaceobj_first(i)
if not ifaceobj:
ifaceobjs = self.get_ifaceobjs(i)
if not ifaceobjs:
continue
dlist = ifaceobj.lowerifaces
if not dlist:
dlist = self.query_dependents(ifaceobj, ops, ifacenames)
else:
already_processed = False
# Store all dependency info in the first ifaceobj
# but get dependency info from all ifaceobjs
ifaceobj = ifaceobjs[0]
for iobj in ifaceobjs:
if iobj.lowerifaces:
already_processed = True
break
dlist = self.query_dependents(iobj, ops, ifacenames)
if dlist:
break
if already_processed:
continue
if dlist:
self.preprocess_dependency_list(ifaceobj,