summaryrefslogtreecommitdiff
path: root/zebra/zebra_rib.c
diff options
context:
space:
mode:
authorDonald Sharp <donaldsharp72@gmail.com>2023-10-13 08:53:43 -0400
committerGitHub <noreply@github.com>2023-10-13 08:53:43 -0400
commit4f7dc7709f8cfe596585ea69934be9b232085ae8 (patch)
tree49e9a7ed1d89a504436facec21725421dc1750fe /zebra/zebra_rib.c
parent0bd4666669dfe3adae21c8b293129ecdded598ed (diff)
parenta35ba7ba602f87390cc9cbce3f0ceb61977f0949 (diff)
Merge pull request #13340 from leonshaw/fix/rib-del-connected
zebra: Fix connected route deletion when multiple entry exists
Diffstat (limited to 'zebra/zebra_rib.c')
-rw-r--r--zebra/zebra_rib.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/zebra/zebra_rib.c b/zebra/zebra_rib.c
index c05d69a2dd..6538b5e0d7 100644
--- a/zebra/zebra_rib.c
+++ b/zebra/zebra_rib.c
@@ -2948,8 +2948,8 @@ static void process_subq_early_route_delete(struct zebra_early_route *ere)
struct nexthop *nh = NULL;
- if (ere->re->nhe)
- nh = ere->re->nhe->nhg.nexthop;
+ if (ere->re_nhe)
+ nh = ere->re_nhe->nhg.nexthop;
/* Lookup same type route. */
RNODE_FOREACH_RE (rn, re) {
@@ -2967,7 +2967,8 @@ static void process_subq_early_route_delete(struct zebra_early_route *ere)
if (re->type == ZEBRA_ROUTE_KERNEL &&
re->metric != ere->re->metric)
continue;
- if (re->type == ZEBRA_ROUTE_CONNECT && (rtnh = nh) &&
+ if (re->type == ZEBRA_ROUTE_CONNECT &&
+ (rtnh = re->nhe->nhg.nexthop) &&
rtnh->type == NEXTHOP_TYPE_IFINDEX && nh) {
if (rtnh->ifindex != nh->ifindex)
continue;