diff options
author | Stephen Hemminger <stephen.hemminger@vyatta.com> | 2009-05-27 17:43:51 -0700 |
---|---|---|
committer | Stephen Hemminger <stephen.hemminger@vyatta.com> | 2009-05-27 17:57:21 -0700 |
commit | 49a1b59f935674c35019c7f6bd8b8a5a83dd619c (patch) | |
tree | 0a66f31700edf8e5b802ad2594cc48f6ff4b218b /zebra/zebra_rib.c | |
parent | 8a97c5ec54c94c8dc75a576968fddf52fc5b2d1f (diff) | |
download | quagga-49a1b59f935674c35019c7f6bd8b8a5a83dd619c.tar.bz2 quagga-49a1b59f935674c35019c7f6bd8b8a5a83dd619c.tar.xz |
Allow recursive route with any nexthop
Bug 4228
Mark static routes as internal. By marking static routes as internal,
they get re-evaluated as possible recursive routes.
Diffstat (limited to 'zebra/zebra_rib.c')
-rw-r--r-- | zebra/zebra_rib.c | 6 |
1 files changed, 2 insertions, 4 deletions
diff --git a/zebra/zebra_rib.c b/zebra/zebra_rib.c index 5ea93112..ade13578 100644 --- a/zebra/zebra_rib.c +++ b/zebra/zebra_rib.c @@ -451,8 +451,7 @@ nexthop_active_ipv4 (struct rib *rib, struct nexthop *nexthop, int set, return 1; } } - else if (CHECK_FLAG (rib->flags, ZEBRA_FLAG_INTERNAL) - || match->type == ZEBRA_ROUTE_STATIC) + else if (CHECK_FLAG (rib->flags, ZEBRA_FLAG_INTERNAL)) { for (newhop = match->nexthop; newhop; newhop = newhop->next) if (CHECK_FLAG (newhop->flags, NEXTHOP_FLAG_FIB) @@ -589,8 +588,7 @@ nexthop_active_ipv6 (struct rib *rib, struct nexthop *nexthop, int set, return 1; } } - else if (CHECK_FLAG (rib->flags, ZEBRA_FLAG_INTERNAL) || - match->type == ZEBRA_ROUTE_STATIC) + else if (CHECK_FLAG (rib->flags, ZEBRA_FLAG_INTERNAL)) { for (newhop = match->nexthop; newhop; newhop = newhop->next) if (CHECK_FLAG (newhop->flags, NEXTHOP_FLAG_FIB) |