summaryrefslogtreecommitdiff
path: root/bgpd/bgp_mplsvpn.h
diff options
context:
space:
mode:
authorChirag Shah <chirag@cumulusnetworks.com>2019-03-07 21:26:14 -0800
committerChirag Shah <chirag@cumulusnetworks.com>2019-03-11 13:46:46 -0700
commit636f76088d1148711f3cdbffd2b1c807b773d664 (patch)
treed2e2be479e3fd40f3fef47ab5e51230df0d0d59b /bgpd/bgp_mplsvpn.h
parent2b38c97fe1ee3140d5b8e4b42082db98df390297 (diff)
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 <chirag@cumulusnetworks.com>
Diffstat (limited to 'bgpd/bgp_mplsvpn.h')
-rw-r--r--bgpd/bgp_mplsvpn.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/bgpd/bgp_mplsvpn.h b/bgpd/bgp_mplsvpn.h
index 5b989e1853..1962d39243 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 */