diff options
| author | G. Paul Ziemba <paulz@labn.net> | 2018-03-09 15:52:55 -0500 |
|---|---|---|
| committer | Lou Berger <lberger@labn.net> | 2018-03-09 16:42:40 -0500 |
| commit | ddb5b4880ba8b6ed79da25f8fddf81f67f376cdd (patch) | |
| tree | ba1e5cf6296a16bd39c7628d80a84349ab806c3c /bgpd/bgp_main.c | |
| parent | c44bd447cd82695b3ba68437641bdb233c7397ef (diff) | |
bgpd: vpn-vrf route leaking
- add "debug bgp vpn label" CLI
- improved debug messages for "debug bgp bestpath"
- send vrf label to zebra after zebra informs bgpd of vrf_id
- withdraw vrf_label from zebra if zebra informs bgpd that vrf_id is disabled
Signed-off-by: G. Paul Ziemba <paulz@labn.net>
Diffstat (limited to 'bgpd/bgp_main.c')
| -rw-r--r-- | bgpd/bgp_main.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/bgpd/bgp_main.c b/bgpd/bgp_main.c index 7039786014..bf60f9c118 100644 --- a/bgpd/bgp_main.c +++ b/bgpd/bgp_main.c @@ -265,6 +265,8 @@ static int bgp_vrf_enable(struct vrf *vrf) if (old_vrf_id != bgp->vrf_id) bgp_update_redist_vrf_bitmaps(bgp, old_vrf_id); bgp_instance_up(bgp); + vpn_leak_zebra_vrf_label_update(bgp, AFI_IP); + vpn_leak_zebra_vrf_label_update(bgp, AFI_IP6); } return 0; @@ -283,6 +285,10 @@ static int bgp_vrf_disable(struct vrf *vrf) bgp = bgp_lookup_by_name(vrf->name); if (bgp) { + + vpn_leak_zebra_vrf_label_withdraw(bgp, AFI_IP); + vpn_leak_zebra_vrf_label_withdraw(bgp, AFI_IP6); + old_vrf_id = bgp->vrf_id; bgp_handle_socket(bgp, vrf, VRF_UNKNOWN, false); /* We have instance configured, unlink from VRF and make it |
