summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorStephen Hemminger <stephen.hemminger@vyatta.com>2008-07-09 14:36:46 -0700
committerStephen Hemminger <stephen.hemminger@vyatta.com>2008-07-09 14:36:46 -0700
commit99a3ab5f04908b4dee1a3a67d353569d821fa441 (patch)
tree6268bc9f1be0b1b690111bbe0dd002b7176bc876
parent7ddd7a8c51f05287919e9c4e39756f9a52dac99c (diff)
downloadquagga-99a3ab5f04908b4dee1a3a67d353569d821fa441.tar.bz2
quagga-99a3ab5f04908b4dee1a3a67d353569d821fa441.tar.xz
Rescan for next hops after static route change
Bugfix 3433, 3434 Need to rescan for recursive routes after any change to static route.
-rw-r--r--zebra/zebra_rib.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/zebra/zebra_rib.c b/zebra/zebra_rib.c
index 5acb644d..2b120120 100644
--- a/zebra/zebra_rib.c
+++ b/zebra/zebra_rib.c
@@ -2173,6 +2173,9 @@ static_add_ipv4 (struct prefix *p, struct in_addr *gate, const char *ifname,
/* Install into rib. */
static_install_ipv4 (p, si);
+ /* Scan for possible recursive route changes */
+ rib_update();
+
return 1;
}
@@ -2237,6 +2240,9 @@ static_delete_ipv4 (struct prefix *p, struct in_addr *gate, const char *ifname,
route_unlock_node (rn);
+ /* Scan for possible recursive route changes */
+ rib_update();
+
return 1;
}
@@ -2719,6 +2725,8 @@ static_add_ipv6 (struct prefix *p, u_char type, struct in6_addr *gate,
/* Install into rib. */
static_install_ipv6 (p, si);
+ /* Scan for possible recursive route changes */
+ rib_update();
return 1;
}
@@ -2772,6 +2780,7 @@ static_delete_ipv6 (struct prefix *p, u_char type, struct in6_addr *gate,
XFREE (0, si->ifname);
XFREE (MTYPE_STATIC_IPV6, si);
+ rib_update();
return 1;
}
#endif /* HAVE_IPV6 */