]> git.proxmox.com Git - mirror_frr.git/commitdiff
zebra: Don't clear nexthop fib flag on rib_install
authorStephen Worley <sworley@cumulusnetworks.com>
Mon, 11 Nov 2019 23:28:29 +0000 (18:28 -0500)
committerStephen Worley <sworley@cumulusnetworks.com>
Tue, 12 Nov 2019 06:24:39 +0000 (01:24 -0500)
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>
zebra/zebra_rib.c

index c24a518afb2167379be65bb3bfba898d9a1a8849..781963793e4d5a9f688932ea4ee7ed1991c2cb3c 100644 (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)