From 636f76088d1148711f3cdbffd2b1c807b773d664 Mon Sep 17 00:00:00 2001 From: Chirag Shah Date: Thu, 7 Mar 2019 21:26:14 -0800 Subject: bgpd: router-id change reflect to vpn auto rd rt VRF route leak auto RD and RT uses router-id, when a router-id changes for a bgp instance, change associated vpn RD and RT values. Withdraw old RD/RT routes from vpn and with new RD/RT values advertise new routes to vpn. One of the sceanrio is restarting frr: A router-id change may not have reflected for bgp vrf instance X, while import vrf X under bgp vrf instance Y. Once router-id changes for bgp VRF X, change RD and RTs from export VRF and imported VRFs. Readvertise routes with new values to VPN. Ticket:CM-24149 Reviewed By:CCR-8394 Testing Done: Validated via configured multiple bgp VRF instances and enable route leaks among them, restart frr and all instance received correct RD and RT values. Checked 'show bgp vrf all ipv4 unicast route-leak' and vpn table 'show bgp ipv4 vpn all' output. Signed-off-by: Chirag Shah --- bgpd/bgp_mplsvpn.h | 1 + 1 file changed, 1 insertion(+) (limited to 'bgpd/bgp_mplsvpn.h') diff --git a/bgpd/bgp_mplsvpn.h b/bgpd/bgp_mplsvpn.h index 5b989e185..1962d3924 100644 --- a/bgpd/bgp_mplsvpn.h +++ b/bgpd/bgp_mplsvpn.h @@ -231,5 +231,6 @@ extern void vpn_policy_routemap_event(const char *rmap_name); extern vrf_id_t get_first_vrf_for_redirect_with_rt(struct ecommunity *eckey); extern void vpn_leak_postchange_all(void); +extern void vpn_handle_router_id_update(struct bgp *bgp, bool withdraw); #endif /* _QUAGGA_BGP_MPLSVPN_H */ -- cgit v1.2.3