summaryrefslogtreecommitdiff
path: root/zebra/irdp_main.c
diff options
context:
space:
mode:
authorDonald Sharp <sharpd@cumulusnetworks.com>2016-04-08 09:16:14 -0400
committerDonald Sharp <sharpd@cumulusnetworks.com>2016-04-08 13:15:59 -0400
commitb2d7c082a2ec76e34c5ec528ac649e185d035616 (patch)
tree256011582e089e5ff80d0ec87ea8ea5d0d5a35f3 /zebra/irdp_main.c
parent79694123fde6ce0ce9a359f8a31817ffa3c7978f (diff)
quagga: Remove iflist global variable
The file if.c has a iflist that had the list of interfaces in the default vrf. Remove this variable and replace with a vrf_iflist lookup on the default vrf where it was used. Additionally, modify ptm code to iterate over all vrf's when enabling ptm. Ticket: CM-10338 Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com> Reviewed-by: Don Slice <dslice@cumulusnetworks.com> Reviewed-by: Radhika Mahankali <radhika@cumulusnetworks.com>
Diffstat (limited to 'zebra/irdp_main.c')
-rw-r--r--zebra/irdp_main.c36
1 files changed, 19 insertions, 17 deletions
diff --git a/zebra/irdp_main.c b/zebra/irdp_main.c
index c297979cfc..af493c5c01 100644
--- a/zebra/irdp_main.c
+++ b/zebra/irdp_main.c
@@ -310,25 +310,27 @@ void irdp_finish()
struct interface *ifp;
struct zebra_if *zi;
struct irdp_interface *irdp;
+ vrf_iter_t iter;
zlog_info("IRDP: Received shutdown notification.");
-
- for (ALL_LIST_ELEMENTS (iflist, node, nnode, ifp))
- {
- zi = ifp->info;
-
- if (!zi)
- continue;
- irdp = &zi->irdp;
- if (!irdp)
- continue;
-
- if (irdp->flags & IF_ACTIVE )
- {
- irdp->flags |= IF_SHUTDOWN;
- irdp_advert_off(ifp);
- }
- }
+
+ for (iter = vrf_first (); iter != VRF_ITER_INVALID; iter = vrf_next (iter))
+ for (ALL_LIST_ELEMENTS (vrf_iter2iflist (iter), node, nnode, ifp))
+ {
+ zi = ifp->info;
+
+ if (!zi)
+ continue;
+ irdp = &zi->irdp;
+ if (!irdp)
+ continue;
+
+ if (irdp->flags & IF_ACTIVE )
+ {
+ irdp->flags |= IF_SHUTDOWN;
+ irdp_advert_off(ifp);
+ }
+ }
}
#endif /* HAVE_IRDP */