From fbaa42f744b8bcf30f50a5442ecbe8028ea47d2a Mon Sep 17 00:00:00 2001 From: Hiroki Shirokura Date: Mon, 22 Mar 2021 00:52:11 +0000 Subject: [PATCH] lib: integrate srv6-nexthop-cmp functions I agree with the PR review from mstap and merged the following two functions into one. - zapi_nexthop_seg6_cmp - zapi_nexthop_seg6local_cmp [note] If both of them have more complex extensions in the future, I think it will be less confusing to remove the integration of these functions and make them as separate functions as before. Signed-off-by: Hiroki Shirokura --- lib/zclient.c | 24 ++++++++++-------------- 1 file changed, 10 insertions(+), 14 deletions(-) diff --git a/lib/zclient.c b/lib/zclient.c index 158a20eb58..27cc095f12 100644 --- a/lib/zclient.c +++ b/lib/zclient.c @@ -833,9 +833,16 @@ static int zapi_nexthop_labels_cmp(const struct zapi_nexthop *next1, return memcmp(next1->labels, next2->labels, next1->label_num); } -static int zapi_nexthop_seg6local_cmp(const struct zapi_nexthop *next1, - const struct zapi_nexthop *next2) +static int zapi_nexthop_srv6_cmp(const struct zapi_nexthop *next1, + const struct zapi_nexthop *next2) { + int ret = 0; + + ret = memcmp(&next1->seg6_segs, &next2->seg6_segs, + sizeof(struct in6_addr)); + if (ret != 0) + return ret; + if (next1->seg6local_action > next2->seg6local_action) return 1; @@ -846,13 +853,6 @@ static int zapi_nexthop_seg6local_cmp(const struct zapi_nexthop *next1, sizeof(struct seg6local_context)); } -static int zapi_nexthop_seg6_cmp(const struct zapi_nexthop *next1, - const struct zapi_nexthop *next2) -{ - return memcmp(&next1->seg6_segs, &next2->seg6_segs, - sizeof(struct in6_addr)); -} - static int zapi_nexthop_cmp_no_labels(const struct zapi_nexthop *next1, const struct zapi_nexthop *next2) { @@ -956,11 +956,7 @@ static int zapi_nexthop_cmp(const void *item1, const void *item2) if (ret != 0) return ret; - ret = zapi_nexthop_seg6local_cmp(next1, next2); - if (ret != 0) - return ret; - - ret = zapi_nexthop_seg6_cmp(next1, next2); + ret = zapi_nexthop_srv6_cmp(next1, next2); return ret; }