forked from sonic-net/sonic-buildimage
-
Notifications
You must be signed in to change notification settings - Fork 3
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Fix vrf test failed after frr update to 7.2 (sonic-net#3763)
- Loading branch information
1 parent
68fc513
commit fc13307
Showing
2 changed files
with
74 additions
and
0 deletions.
There are no files selected for viewing
73 changes: 73 additions & 0 deletions
73
src/sonic-frr/patch/0005-nexthops-compare-vrf-only-if-ip-type.patch
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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 | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters