]> git.puffer.fish Git - mirror/frr.git/commit
zebra: Further handle route replace semantics 14033/head
authorDonald Sharp <sharpd@nvidia.com>
Mon, 17 Jul 2023 14:00:32 +0000 (10:00 -0400)
committerDonald Sharp <sharpd@nvidia.com>
Mon, 17 Jul 2023 14:00:32 +0000 (10:00 -0400)
commitaf80201876db00f339e2fbb9036942629aad9e67
treed4db79808e7e958b5ad4430d7f3cf186fdc37017
parent33b1b8a04c2970a61ca38cbe0a016ffed394f329
zebra: Further handle route replace semantics

When an upper level protocol is installing a route X that needs to be
route replaced and at the same time the same or another protocol installs a
different route that depends on route X for nexthop resolution can leave
us with a state where the route is not accepted because zebra is still
really early in the route replace semantics ( route X is still on the work
Queue to be processed ) then the dependent route would not be installed.
This came up in the bgp_default_originate test cases frequently.

Further extendd the ROUTE_ENTR_ROUTE_REPLACING flag to cover this case
as well.  This has come up because the early route processing queueing
that was implemented late last year.

Signed-off-by: Donald Sharp <sharpd@nvidia.com>
zebra/zebra_nhg.c
zebra/zebra_rib.c