]> git.proxmox.com Git - mirror_frr.git/commit - zebra/zebra_rib.c
zebra: When processing route_entries ignore unusable routes
authorDonald Sharp <sharpd@nvidia.com>
Wed, 30 Sep 2020 21:55:44 +0000 (17:55 -0400)
committerDonald Sharp <sharpd@nvidia.com>
Thu, 1 Oct 2020 19:17:06 +0000 (15:17 -0400)
commit9d221fac7ef25e110b1d4bce82e2047b0e1e0c9c
treed85cab242b21a2c11b6d2cdfbea465d1056c9ef3
parent5c18e66208b9c99a8c8bc4af93528404b341862b
zebra: When processing route_entries ignore unusable routes

When zebra is processing routes to determine what to send
to the rib, suppose we have two routes (a) a route processed
earlier that none of it's nexthops were active and (b)
a route that has good nexthops but has a worse admin distance.

rib_process, would not relook at (a)'s nexthops because
the ROUTE_ENTRY_CHANGED flag was not true and it would
win when compared to (b) because it's admin distance
was better, leaving us with a state where we would
attempt and fail to install route (a) because it
was not valid.

Modify the code to consider the number of nexthops
we have as a determiner if we can use the route.

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