Skip to content

Commit

Permalink
Fix vrf test failed after frr update to 7.2 (sonic-net#3763)
Browse files Browse the repository at this point in the history
  • Loading branch information
Tyler Li authored and zhenggen-xu committed Jan 9, 2020
1 parent 68fc513 commit fc13307
Show file tree
Hide file tree
Showing 2 changed files with 74 additions and 0 deletions.
Original file line number Diff line number Diff line change
@@ -0,0 +1,73 @@
From 2f0b5aef66316b47d2cc8ac18453600621a6a317 Mon Sep 17 00:00:00 2001
From: Tyler Li <[email protected]>
Date: Thu, 14 Nov 2019 23:46:52 -0800
Subject: [PATCH] nexthops compare vrf only if ip type

---
lib/nexthop.c | 12 ++++++------
lib/zclient.c | 12 ++++++------
2 files changed, 12 insertions(+), 12 deletions(-)

diff --git a/lib/nexthop.c b/lib/nexthop.c
index cf5bed3d6..7d9f646c9 100644
--- a/lib/nexthop.c
+++ b/lib/nexthop.c
@@ -105,12 +105,6 @@ static int _nexthop_cmp_no_labels(const struct nexthop *next1,
{
int ret = 0;

- if (next1->vrf_id < next2->vrf_id)
- return -1;
-
- if (next1->vrf_id > next2->vrf_id)
- return 1;
-
if (next1->type < next2->type)
return -1;

@@ -120,6 +114,12 @@ static int _nexthop_cmp_no_labels(const struct nexthop *next1,
switch (next1->type) {
case NEXTHOP_TYPE_IPV4:
case NEXTHOP_TYPE_IPV6:
+ if (next1->vrf_id < next2->vrf_id)
+ return -1;
+
+ if (next1->vrf_id > next2->vrf_id)
+ return 1;
+
ret = _nexthop_gateway_cmp(next1, next2);
if (ret != 0)
return ret;
diff --git a/lib/zclient.c b/lib/zclient.c
index c739af043..0d37c46d1 100644
--- a/lib/zclient.c
+++ b/lib/zclient.c
@@ -783,12 +783,6 @@ static int zapi_nexthop_cmp_no_labels(const struct zapi_nexthop *next1,
{
int ret = 0;

- if (next1->vrf_id < next2->vrf_id)
- return -1;
-
- if (next1->vrf_id > next2->vrf_id)
- return 1;
-
if (next1->type < next2->type)
return -1;

@@ -798,6 +792,12 @@ static int zapi_nexthop_cmp_no_labels(const struct zapi_nexthop *next1,
switch (next1->type) {
case NEXTHOP_TYPE_IPV4:
case NEXTHOP_TYPE_IPV6:
+ if (next1->vrf_id < next2->vrf_id)
+ return -1;
+
+ if (next1->vrf_id > next2->vrf_id)
+ return 1;
+
ret = nexthop_g_addr_cmp(next1->type, &next1->gate,
&next2->gate);
if (ret != 0)
--
2.11.0

1 change: 1 addition & 0 deletions src/sonic-frr/patch/series
Original file line number Diff line number Diff line change
Expand Up @@ -2,4 +2,5 @@
0002-Reduce-severity-of-Vty-connected-from-message.patch
0003-Use-vrf_id-for-vrf-not-tabled_id.patch
0004-Allow-BGP-attr-NEXT_HOP-to-be-0.0.0.0-due-to-allevia.patch
0005-nexthops-compare-vrf-only-if-ip-type.patch
0006-changes-for-making-snmp-socket-non-blocking.patch

0 comments on commit fc13307

Please sign in to comment.