diff options
Diffstat (limited to 'zebra/zebra_rib.c')
| -rw-r--r-- | zebra/zebra_rib.c | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/zebra/zebra_rib.c b/zebra/zebra_rib.c index f7290caea9..883fe07c1b 100644 --- a/zebra/zebra_rib.c +++ b/zebra/zebra_rib.c @@ -436,7 +436,13 @@ nexthop_active_ipv4 (struct rib *rib, struct nexthop *nexthop, int set, return 1; } - else if (CHECK_FLAG (rib->flags, ZEBRA_FLAG_INTERNAL)) + else if (CHECK_FLAG (rib->flags, ZEBRA_FLAG_INTERNAL) || + match->type == ZEBRA_ROUTE_KERNEL) + /* + || match->type == ZEBRA_ROUTE_KERNEL + This prevents zebra from marking recursive static route as inactive. + See pimd/TODO T26. + */ { resolved = 0; for (newhop = match->nexthop; newhop; newhop = newhop->next) |
