Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fix vrf test failed after frr update to 7.2 #3763

Merged
merged 1 commit into from
Nov 19, 2019
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
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 <tyler.li@mediatek.com>
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