summaryrefslogtreecommitdiff
path: root/bgpd/bgp_mplsvpn.h
diff options
context:
space:
mode:
authorLouis Scalbert <louis.scalbert@6wind.com>2023-09-11 18:33:23 +0200
committerLouis Scalbert <louis.scalbert@6wind.com>2023-09-12 15:17:37 +0200
commitb1c2c70828da0fdf0619cdcb494a430f36e37172 (patch)
tree1cb5c331d80cb404c3ebe52532f3cd4929dc96b9 /bgpd/bgp_mplsvpn.h
parentedd243280c56018e413a5773b2e8cb82d8be8421 (diff)
bgpd: fix vpn import from local vrf with no retain
The BGP "no retain" VPN option avoids storing VPN prefixes that are not imported in the incoming BGP table (aka. Adj RIB in). When a VPN import policy is changed, BGP does a soft clear so that a prefix refresh is requested from the peers. However, the import from local VPN prefixes is never requested. Fix this issue by requesting a local import refresh. Fixes: a486300b26 ("bgpd: implement retain route-target all behaviour") Signed-off-by: Louis Scalbert <louis.scalbert@6wind.com>
Diffstat (limited to 'bgpd/bgp_mplsvpn.h')
-rw-r--r--bgpd/bgp_mplsvpn.h3
1 files changed, 1 insertions, 2 deletions
diff --git a/bgpd/bgp_mplsvpn.h b/bgpd/bgp_mplsvpn.h
index 62748a9e56..19b6f4eb77 100644
--- a/bgpd/bgp_mplsvpn.h
+++ b/bgpd/bgp_mplsvpn.h
@@ -245,8 +245,7 @@ static inline void vpn_leak_postchange(enum vpn_policy_direction direction,
if (!CHECK_FLAG(bgp_vpn->af_flags[afi][SAFI_MPLS_VPN],
BGP_VPNVX_RETAIN_ROUTE_TARGET_ALL))
bgp_clear_soft_in(bgp_vpn, afi, SAFI_MPLS_VPN);
- else
- vpn_leak_to_vrf_update_all(bgp_vrf, bgp_vpn, afi);
+ vpn_leak_to_vrf_update_all(bgp_vrf, bgp_vpn, afi);
}
if (direction == BGP_VPN_POLICY_DIR_TOVPN) {