diff options
author | Stephen Hemminger <stephen.hemminger@vyatta.com> | 2008-04-29 16:55:30 -0700 |
---|---|---|
committer | Stephen Hemminger <stephen.hemminger@vyatta.com> | 2008-04-29 16:55:30 -0700 |
commit | e87f46b4abc10fe3fc59562d6be25fb96bce1970 (patch) | |
tree | 33c354edc6b2e33568c53628f64895546c6cb685 /zebra/interface.c | |
parent | 9213f3522168423cbbd74da3ed234ebd5c62f0f4 (diff) | |
parent | d3ea74a99a3d2bcc66e45bef716ba0a66e24020e (diff) | |
download | quagga-e87f46b4abc10fe3fc59562d6be25fb96bce1970.tar.bz2 quagga-e87f46b4abc10fe3fc59562d6be25fb96bce1970.tar.xz |
Merge branch 'glendale' into hollister
Diffstat (limited to 'zebra/interface.c')
-rw-r--r-- | zebra/interface.c | 16 |
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 |