diff options
| author | Chirag Shah <chirag@cumulusnetworks.com> | 2019-03-07 21:26:14 -0800 |
|---|---|---|
| committer | Chirag Shah <chirag@cumulusnetworks.com> | 2019-03-11 13:46:46 -0700 |
| commit | 636f76088d1148711f3cdbffd2b1c807b773d664 (patch) | |
| tree | d2e2be479e3fd40f3fef47ab5e51230df0d0d59b /bgpd/bgp_mplsvpn.h | |
| parent | 2b38c97fe1ee3140d5b8e4b42082db98df390297 (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.h | 1 |
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 */ |
