]> git.proxmox.com Git - mirror_frr.git/commitdiff
zebra: Kernel routes w/ AD were not being marked as installed
authorDonald Sharp <sharpd@cumulusnetworks.com>
Thu, 23 Jan 2020 22:17:01 +0000 (17:17 -0500)
committerDonald Sharp <sharpd@cumulusnetworks.com>
Thu, 23 Jan 2020 22:17:01 +0000 (17:17 -0500)
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>
zebra/zebra_rib.c

index 051d7f523135888ddb331a6254c6a8d82e45d5d8..0200ef2a5e0b88207b8299400d39123dea2a7603 100644 (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;
                }