lib: Make labels_match function use labels_cmp

Update the nexthop_labels_match() function to use
nexthop_labels_cmp().

Signed-off-by: Stephen Worley <sworley@cumulusnetworks.com>
This commit is contained in:
Stephen Worley 2019-05-14 10:26:22 -07:00
parent ebc403dda5
commit 89dc316029
2 changed files with 6 additions and 21 deletions

View File

@ -206,27 +206,12 @@ const char *nexthop_type_to_str(enum nexthop_types_t nh_type)
/* /*
* Check if the labels match for the 2 nexthops specified. * Check if the labels match for the 2 nexthops specified.
*/ */
int nexthop_labels_match(const struct nexthop *nh1, const struct nexthop *nh2) bool nexthop_labels_match(const struct nexthop *nh1, const struct nexthop *nh2)
{ {
const struct mpls_label_stack *nhl1, *nhl2; if (nexthop_labels_cmp(nh1, nh2) != 0)
return false;
nhl1 = nh1->nh_label; return true;
nhl2 = nh2->nh_label;
/* No labels is a match */
if (!nhl1 && !nhl2)
return 1;
if (!nhl1 || !nhl2)
return 0;
if (nhl1->num_labels != nhl2->num_labels)
return 0;
if (memcmp(nhl1->label, nhl2->label, nhl1->num_labels))
return 0;
return 1;
} }
struct nexthop *nexthop_new(void) struct nexthop *nexthop_new(void)

View File

@ -144,7 +144,7 @@ extern int nexthop_cmp(const struct nexthop *nh1, const struct nexthop *nh2);
extern const char *nexthop_type_to_str(enum nexthop_types_t nh_type); extern const char *nexthop_type_to_str(enum nexthop_types_t nh_type);
extern int nexthop_same_no_recurse(const struct nexthop *next1, extern int nexthop_same_no_recurse(const struct nexthop *next1,
const struct nexthop *next2); const struct nexthop *next2);
extern int nexthop_labels_match(const struct nexthop *nh1, extern bool nexthop_labels_match(const struct nexthop *nh1,
const struct nexthop *nh2); const struct nexthop *nh2);
extern int nexthop_same_firsthop(struct nexthop *next1, struct nexthop *next2); extern int nexthop_same_firsthop(struct nexthop *next1, struct nexthop *next2);