summaryrefslogtreecommitdiff
path: root/bgpd/bgp_route.c
diff options
context:
space:
mode:
Diffstat (limited to 'bgpd/bgp_route.c')
-rw-r--r--bgpd/bgp_route.c3
1 files changed, 2 insertions, 1 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;
}