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 <sworley@cumulusnetworks.com>
This commit is contained in:
Stephen Worley 2019-11-11 18:28:29 -05:00
parent 19474c9c8c
commit ace3bbba4b

View File

@ -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)