From: Stephen Worley Date: Tue, 14 May 2019 17:26:22 +0000 (-0700) Subject: lib: Make labels_match function use labels_cmp X-Git-Tag: base_7.2~307^2~6 X-Git-Url: https://git.puffer.fish/?a=commitdiff_plain;h=89dc316029c9167189f258ed9b79fec155da41cb;p=matthieu%2Ffrr.git lib: Make labels_match function use labels_cmp Update the nexthop_labels_match() function to use nexthop_labels_cmp(). Signed-off-by: Stephen Worley --- diff --git a/lib/nexthop.c b/lib/nexthop.c index c616ea857e..120968f436 100644 --- a/lib/nexthop.c +++ b/lib/nexthop.c @@ -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. */ -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; - - nhl1 = nh1->nh_label; - 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; + if (nexthop_labels_cmp(nh1, nh2) != 0) + return false; - return 1; + return true; } struct nexthop *nexthop_new(void) diff --git a/lib/nexthop.h b/lib/nexthop.h index 58e8e0ebb6..1bc3055835 100644 --- a/lib/nexthop.h +++ b/lib/nexthop.h @@ -144,8 +144,8 @@ 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 int nexthop_same_no_recurse(const struct nexthop *next1, const struct nexthop *next2); -extern int nexthop_labels_match(const struct nexthop *nh1, - const struct nexthop *nh2); +extern bool nexthop_labels_match(const struct nexthop *nh1, + const struct nexthop *nh2); extern int nexthop_same_firsthop(struct nexthop *next1, struct nexthop *next2); extern const char *nexthop2str(const struct nexthop *nexthop,