[FRR][patch] Add encap type when building packet for FPM (#17052)
Back port a patch from upstream FRR - FRRouting/frr#14675 Why I did it The EVPN route is not treated correctly and thus leading to messages: Oct 30 11:40:00.494083 r-tigris-22 INFO swss#orchagent: :- addRoute: Failed to get next hop 30.0.0.2@Vlan200 for 20.0.0.2/32, resolving neighbor Oct 30 11:40:00.494083 r-tigris-22 INFO swss#orchagent: :- addRoute: Failed to get next hop 30.0.0.2@Vlan200 for 200.0.0.0/24, resolving neighbor Oct 30 11:40:00.494083 r-tigris-22 INFO swss#orchagent: :- addRoute: Failed to get next hop ::ffff:30.0.0.2@Vlan200 for 200::/64, resolving neighbor Oct 30 11:40:00.494083 r-tigris-22 INFO swss#orchagent: :- addRoute: Failed to get next hop ::ffff:30.0.0.2@Vlan200 for 20::/64, resolving neighbor Oct 30 11:40:00.494083 r-tigris-22 INFO swss#orchagent: :- addRoute: Failed to get next hop ::ffff:30.0.0.2@Vlan200 for 20::2/128, resolving neighbor This happens because fpmsyncd does not get encap type field in FPM message. Work item tracking Microsoft ADO (number only): How I did it Backport fix from FRR. How to verify it EVPN scenario.
This commit is contained in:
parent
d69a736bee
commit
97db5f5b21
@ -0,0 +1,50 @@
|
||||
From b914b0ad506649b5d341b549a37d3cb73e72b494 Mon Sep 17 00:00:00 2001
|
||||
From: Stepan Blyschak <stepanb@nvidia.com>
|
||||
Date: Mon, 30 Oct 2023 14:31:45 +0200
|
||||
Subject: [PATCH] zebra: Add encap type when building packet for FPM
|
||||
|
||||
Signed-off-by: Donald Sharp <sharpd@nvidia.com>
|
||||
Signed-off-by: Stepan Blyschak <stepanb@nvidia.com>
|
||||
---
|
||||
zebra/rt_netlink.c | 22 ++++++++++++----------
|
||||
1 file changed, 12 insertions(+), 10 deletions(-)
|
||||
|
||||
diff --git a/zebra/rt_netlink.c b/zebra/rt_netlink.c
|
||||
index 6b9b04785..71505e037 100644
|
||||
--- a/zebra/rt_netlink.c
|
||||
+++ b/zebra/rt_netlink.c
|
||||
@@ -2269,19 +2269,21 @@ ssize_t netlink_route_multipath_msg_encode(int cmd,
|
||||
p, routedesc, bytelen, nexthop,
|
||||
&req->n, &req->r, datalen, cmd))
|
||||
return 0;
|
||||
+
|
||||
+ /*
|
||||
+ * Add encapsulation information when
|
||||
+ * installing via FPM.
|
||||
+ */
|
||||
+ if (fpm) {
|
||||
+ if (!netlink_route_nexthop_encap(&req->n,
|
||||
+ datalen,
|
||||
+ nexthop))
|
||||
+ return 0;
|
||||
+ }
|
||||
+
|
||||
nexthop_num++;
|
||||
break;
|
||||
}
|
||||
-
|
||||
- /*
|
||||
- * Add encapsulation information when installing via
|
||||
- * FPM.
|
||||
- */
|
||||
- if (fpm) {
|
||||
- if (!netlink_route_nexthop_encap(
|
||||
- &req->n, datalen, nexthop))
|
||||
- return 0;
|
||||
- }
|
||||
}
|
||||
|
||||
if (setsrc) {
|
||||
--
|
||||
2.17.1
|
||||
|
@ -25,3 +25,4 @@ cross-compile-changes.patch
|
||||
0023-bgpd-Make-sure-we-have-enough-data-to-read-two-bytes.patch
|
||||
0024-bgpd-Do-not-process-NLRIs-if-the-attribute-length-is.patch
|
||||
0025-bgpd-Use-treat-as-withdraw-for-tunnel-encapsulation-.patch
|
||||
0026-zebra-Add-encap-type-when-building-packet-for-FPM.patch
|
||||
|
Reference in New Issue
Block a user