]> git.puffer.fish Git - matthieu/frr.git/commitdiff
zebra: include resolving nexthops in nhg hash
authorMark Stapp <mjs@cisco.com>
Mon, 27 Jan 2025 19:17:24 +0000 (14:17 -0500)
committerMark Stapp <mjs@cisco.com>
Mon, 27 Jan 2025 19:17:24 +0000 (14:17 -0500)
Ensure that the nhg hash comparison function includes all
nexthops, including recursive-resolving nexthops.

Signed-off-by: Mark Stapp <mjs@cisco.com>
zebra/zebra_nhg.c

index 4f6bc02c6ebabddad7f28b2fe56c625f1835c279..f5141c8f235b9bf159acd3d92f5078ad84d0c6bb 100644 (file)
@@ -572,8 +572,7 @@ bool zebra_nhg_hash_equal(const void *arg1, const void *arg2)
        /* Nexthops should be in-order, so we simply compare them in-place */
        for (nexthop1 = nhe1->nhg.nexthop, nexthop2 = nhe2->nhg.nexthop;
             nexthop1 && nexthop2;
-            nexthop1 = nexthop1->next, nexthop2 = nexthop2->next) {
-
+            nexthop1 = nexthop_next(nexthop1), nexthop2 = nexthop_next(nexthop2)) {
                if (!nhg_compare_nexthops(nexthop1, nexthop2))
                        return false;
        }
@@ -608,8 +607,7 @@ bool zebra_nhg_hash_equal(const void *arg1, const void *arg2)
        for (nexthop1 = nhe1->backup_info->nhe->nhg.nexthop,
             nexthop2 = nhe2->backup_info->nhe->nhg.nexthop;
             nexthop1 && nexthop2;
-            nexthop1 = nexthop1->next, nexthop2 = nexthop2->next) {
-
+            nexthop1 = nexthop_next(nexthop1), nexthop2 = nexthop_next(nexthop2)) {
                if (!nhg_compare_nexthops(nexthop1, nexthop2))
                        return false;
        }