From a095dd659d1c09547857d90a74ff9e203280eef8 Mon Sep 17 00:00:00 2001 From: Tuetuopay Date: Mon, 17 Mar 2025 15:08:15 +0100 Subject: [PATCH] bgpd: fix evpn attributes being dropped on input All assignments of the EVPN attributes (ESI and Gateway IP) are gated behind the peer being set up for inbound soft-reconfiguration. There are no actual reasons for this limitation, so let's perform the EVPN attribute assignment no matter what when soft reconfiguration is not enabled. Fixes: 6e076ba5231 ("bgpd: Fix for ain->attr corruption during path update") Signed-off-by: Tuetuopay (cherry picked from commit 7320659f78cbe86dd983d5101831120fc14583d7) --- bgpd/bgp_route.c | 3 ++- tests/topotests/bgp_evpn_route_map_set/r2/frr.conf | 3 --- 2 files changed, 2 insertions(+), 4 deletions(-) diff --git a/bgpd/bgp_route.c b/bgpd/bgp_route.c index 5ec122d2a9..8201e90cc3 100644 --- a/bgpd/bgp_route.c +++ b/bgpd/bgp_route.c @@ -5135,7 +5135,8 @@ void bgp_update(struct peer *peer, const struct prefix *p, uint32_t addpath_id, * attr->evpn_overlay with evpn directly. Instead memcpy * evpn to new_atr.evpn_overlay before it is interned. */ - if (soft_reconfig && evpn && afi == AFI_L2VPN) { + if (evpn && afi == AFI_L2VPN && + (soft_reconfig || !CHECK_FLAG(peer->af_flags[afi][safi], PEER_FLAG_SOFT_RECONFIG))) { bgp_attr_set_evpn_overlay(&new_attr, evpn); p_evpn = NULL; } diff --git a/tests/topotests/bgp_evpn_route_map_set/r2/frr.conf b/tests/topotests/bgp_evpn_route_map_set/r2/frr.conf index 754b696bfd..2a15998420 100644 --- a/tests/topotests/bgp_evpn_route_map_set/r2/frr.conf +++ b/tests/topotests/bgp_evpn_route_map_set/r2/frr.conf @@ -12,9 +12,6 @@ router bgp 64000 ! address-family l2vpn evpn neighbor 10.0.0.2 activate - ! workaround for now, as frr drops some evpn attributes like gw-ip if soft - ! reconf is not enabled for inbound routes - neighbor 10.0.0.2 soft-reconfiguration inbound ! advertise-all-vni exit-address-family -- 2.39.5