summaryrefslogtreecommitdiff
path: root/zebra/zebra_rib.c
diff options
context:
space:
mode:
authorDonatas Abraitis <donatas@opensourcerouting.org>2023-07-18 10:37:15 +0300
committerGitHub <noreply@github.com>2023-07-18 10:37:15 +0300
commitef872371215c74ea973791cbc8c027ae32db8e59 (patch)
tree11f2236bba7e298e4de3d9b4c20d292ef174ee28 /zebra/zebra_rib.c
parent83d6a6a6e8cbc16546f89b1ad231bfe289e5cfeb (diff)
parentaf80201876db00f339e2fbb9036942629aad9e67 (diff)
Merge pull request #14033 from donaldsharp/zebra_same_route
Zebra same route
Diffstat (limited to 'zebra/zebra_rib.c')
-rw-r--r--zebra/zebra_rib.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/zebra/zebra_rib.c b/zebra/zebra_rib.c
index 93b33c9abd..a5e036fe48 100644
--- a/zebra/zebra_rib.c
+++ b/zebra/zebra_rib.c
@@ -2824,8 +2824,13 @@ static void process_subq_early_route_add(struct zebra_early_route *ere)
rib_addnode(rn, re, 1);
/* Free implicit route.*/
- if (same)
+ if (same) {
+ rib_dest_t *dest = rn->info;
+
+ if (same == dest->selected_fib)
+ SET_FLAG(same->status, ROUTE_ENTRY_ROUTE_REPLACING);
rib_delnode(rn, same);
+ }
/* See if we can remove some RE entries that are queued for
* removal, but won't be considered in rib processing.