From: Stephen Worley Date: Tue, 14 May 2019 17:39:49 +0000 (-0700) Subject: lib: Add labels_cmp to nexthop_cmp X-Git-Tag: base_7.2~307^2~4 X-Git-Url: https://git.puffer.fish/?a=commitdiff_plain;h=ff0e16daf981c4351db29a3b599b32cd4523b205;p=matthieu%2Ffrr.git lib: Add labels_cmp to nexthop_cmp Add labels comparison to nexthop_cmp() as well. Signed-off-by: Stephen Worley --- diff --git a/lib/nexthop.c b/lib/nexthop.c index 2f7ba7e3d0..0153fef3f7 100644 --- a/lib/nexthop.c +++ b/lib/nexthop.c @@ -66,8 +66,9 @@ static int nexthop_labels_cmp(const struct nexthop *nh1, int nexthop_cmp(const struct nexthop *next1, const struct nexthop *next2) { - int ret; - uint32_t n1, n2; + int ret = 0; + uint32_t n1 = 0; + uint32_2 n2 = 0; if (next1->vrf_id < next2->vrf_id) return -1; @@ -81,7 +82,7 @@ int nexthop_cmp(const struct nexthop *next1, const struct nexthop *next2) if (next1->type > next2->type) return 1; - switch(next1->type) { + switch (next1->type) { case NEXTHOP_TYPE_IPV4: n1 = ntohl(next1->gate.ipv4.s_addr); n2 = ntohl(next2->gate.ipv4.s_addr); @@ -118,6 +119,10 @@ int nexthop_cmp(const struct nexthop *next1, const struct nexthop *next2) } ret = memcmp(&next1->src, &next2->src, sizeof(union g_addr)); + if (ret) + return ret; + + ret = nexthop_labels_cmp(next1, next2); return ret; }