summaryrefslogtreecommitdiff
path: root/zebra/irdp_main.c
diff options
context:
space:
mode:
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 */