From ace3bbba4bdeb1c92d69225a54c0149a11340b6c Mon Sep 17 00:00:00 2001 From: Stephen Worley Date: Mon, 11 Nov 2019 18:28:29 -0500 Subject: [PATCH] zebra: Don't clear nexthop fib flag on rib_install We cannot clear the NEXTHOP_FLAG_FIB nexthop flag when sending routes to the dataplane anymore since nexthops are now shared. We were seeing a situation where if we delete a route using a nexthop group that is still active with another route, the fib flag was being unset by this code path despite them still being valid fib nexthops with the other route. Signed-off-by: Stephen Worley --- zebra/zebra_rib.c | 8 -------- 1 file changed, 8 deletions(-) diff --git a/zebra/zebra_rib.c b/zebra/zebra_rib.c index c24a518afb..781963793e 100644 --- a/zebra/zebra_rib.c +++ b/zebra/zebra_rib.c @@ -570,14 +570,6 @@ void rib_install_kernel(struct route_node *rn, struct route_entry *re, nexthops_free(old->fib_ng.nexthop); old->fib_ng.nexthop = NULL; } - - if (!RIB_SYSTEM_ROUTE(old)) { - /* Clear old route's FIB flags */ - for (ALL_NEXTHOPS_PTR(old->ng, nexthop)) { - UNSET_FLAG(nexthop->flags, - NEXTHOP_FLAG_FIB); - } - } } if (zvrf)