summaryrefslogtreecommitdiff
path: root/zebra/zebra_rib.c
diff options
context:
space:
mode:
authorDonald Sharp <sharpd@cumulusnetworks.com>2020-01-23 17:17:01 -0500
committerDonald Sharp <sharpd@cumulusnetworks.com>2020-01-23 17:17:01 -0500
commit3332f4f0fbb5179b54a3752b6df02cb697dc1f8b (patch)
tree8841c48c04bc2c4cb5b174102a4b03380ecbb25e /zebra/zebra_rib.c
parentbe3a8fa8f8ee34a2b15eac517f7eb7bad7978d1f (diff)
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>
Diffstat (limited to 'zebra/zebra_rib.c')
-rw-r--r--zebra/zebra_rib.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/zebra/zebra_rib.c b/zebra/zebra_rib.c
index 051d7f5231..0200ef2a5e 100644
--- a/zebra/zebra_rib.c
+++ b/zebra/zebra_rib.c
@@ -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;
}