zebra: Kernel routes w/ AD were not being marked as installed

When we are receiving a kernel route, with an admin distance
of 255 we are not marking it as installed.  This route
should be marked as installed.

New behavior:
K>* 4.5.7.0/24 [255/8192] via 192.168.209.1, enp0s8, 00:10:14

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
This commit is contained in:
Donald Sharp 2020-01-23 17:17:01 -05:00
parent be3a8fa8f8
commit 3332f4f0fb

View File

@ -1075,7 +1075,8 @@ static void rib_process(struct route_node *rn)
}
/* Infinite distance. */
if (re->distance == DISTANCE_INFINITY) {
if (re->distance == DISTANCE_INFINITY &&
re->type != ZEBRA_ROUTE_KERNEL) {
UNSET_FLAG(re->status, ROUTE_ENTRY_CHANGED);
continue;
}