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 <slank.dev@gmail.com>
This commit is contained in:
Hiroki Shirokura 2021-03-22 00:52:11 +00:00 committed by Mark Stapp
parent 1bda3e627d
commit fbaa42f744

View File

@ -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,
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;
}