Skip to content

Commit

Permalink
Merge pull request FRRouting#16562 from FRRouting/mergify/bp/stable/9…
Browse files Browse the repository at this point in the history
….1/pr-16554

zebra: Ensure non-equal id's are not same nhg's (backport FRRouting#16554)
  • Loading branch information
donaldsharp committed Aug 13, 2024
2 parents 3f6b028 + b39cdb3 commit 00d1dba
Showing 1 changed file with 12 additions and 3 deletions.
15 changes: 12 additions & 3 deletions zebra/zebra_nhg.c
Original file line number Diff line number Diff line change
Expand Up @@ -535,9 +535,18 @@ bool zebra_nhg_hash_equal(const void *arg1, const void *arg2)
struct nexthop *nexthop1;
struct nexthop *nexthop2;

/* No matter what if they equal IDs, assume equal */
if (nhe1->id && nhe2->id && (nhe1->id == nhe2->id))
return true;
/* If both NHG's have id's then we can just know that
* they are either identical or not. This comparison
* is only ever used for hash equality. NHE's id
* is sufficient to distinguish them. This is especially
* true if NHG's are owned by an upper level protocol.
*/
if (nhe1->id && nhe2->id) {
if (nhe1->id == nhe2->id)
return true;

return false;
}

if (nhe1->type != nhe2->type)
return false;
Expand Down

0 comments on commit 00d1dba

Please sign in to comment.