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: 6e076ba523 ("bgpd: Fix for ain->attr corruption during path update")
Signed-off-by: Tuetuopay <tuetuopay@me.com>
(cherry picked from commit 7320659f78)
This commit is contained in:
Tuetuopay 2025-03-17 15:08:15 +01:00 committed by Mergify
parent 1d957df880
commit a095dd659d
2 changed files with 2 additions and 4 deletions

View file

@ -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;
}

View file

@ -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