Merge pull request #13340 from leonshaw/fix/rib-del-connected

zebra: Fix connected route deletion when multiple entry exists
This commit is contained in:
Donald Sharp 2023-10-13 08:53:43 -04:00 committed by GitHub
commit 4f7dc7709f
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -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;