summaryrefslogtreecommitdiffstats
path: root/zebra/interface.c
diff options
context:
space:
mode:
authorStephen Hemminger <stephen.hemminger@vyatta.com>2008-04-29 16:55:30 -0700
committerStephen Hemminger <stephen.hemminger@vyatta.com>2008-04-29 16:55:30 -0700
commite87f46b4abc10fe3fc59562d6be25fb96bce1970 (patch)
tree33c354edc6b2e33568c53628f64895546c6cb685 /zebra/interface.c
parent9213f3522168423cbbd74da3ed234ebd5c62f0f4 (diff)
parentd3ea74a99a3d2bcc66e45bef716ba0a66e24020e (diff)
downloadquagga-e87f46b4abc10fe3fc59562d6be25fb96bce1970.tar.bz2
quagga-e87f46b4abc10fe3fc59562d6be25fb96bce1970.tar.xz
Merge branch 'glendale' into hollister
Diffstat (limited to 'zebra/interface.c')
-rw-r--r--zebra/interface.c16
1 files changed, 13 insertions, 3 deletions
diff --git a/zebra/interface.c b/zebra/interface.c
index 7dc1b68d..cfcd5120 100644
--- a/zebra/interface.c
+++ b/zebra/interface.c
@@ -538,15 +538,25 @@ if_down (struct interface *ifp)
if (p->family == AF_INET)
connected_down_ipv4 (ifp, ifc);
+ }
+ }
+
+ /* Examine all static routes which direct to the interface. */
+ rib_update ();
+
#ifdef HAVE_IPV6
- else if (p->family == AF_INET6)
+ if (ifp->connected)
+ {
+ for (ALL_LIST_ELEMENTS (ifp->connected, node, next, ifc))
+ {
+ p = ifc->address;
+ if (p->family == AF_INET6)
connected_down_ipv6 (ifp, ifc);
-#endif /* HAVE_IPV6 */
}
}
- /* Examine all static routes which direct to the interface. */
rib_update ();
+#endif /* HAVE_IPV6 */
}
void