summaryrefslogtreecommitdiff
path: root/bgpd
diff options
context:
space:
mode:
authorPhilippe Guibert <philippe.guibert@6wind.com>2019-01-28 17:54:50 +0100
committerPhilippe Guibert <philippe.guibert@6wind.com>2019-01-30 17:11:52 +0100
commit6dde8e8b706a415081afa4cb0840ab3737f369e7 (patch)
tree4037a454abea1341ae15c47e053422d37c25a68f /bgpd
parent7a9d355defacf1c266fe7c38060ae459f74237d9 (diff)
bgpd: detach vrf labels allocated, when removing bgp instance
bgp instance is disabling the label allocated to reach vrf entity. previously, only vrf disabling was removing the label. now, when bgp leaves, bgp instance also frees the label used. PR=62306 Signed-off-by: Philippe Guibert <philippe.guibert@6wind.com> Acked-by: Julien Floret <julien.floret@6wind.com>
Diffstat (limited to 'bgpd')
-rw-r--r--bgpd/bgpd.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/bgpd/bgpd.c b/bgpd/bgpd.c
index 7a3afbd18d..9ffff715eb 100644
--- a/bgpd/bgpd.c
+++ b/bgpd/bgpd.c
@@ -3251,6 +3251,10 @@ int bgp_delete(struct bgp *bgp)
/* unmap from RT list */
bgp_evpn_vrf_delete(bgp);
+ /* unmap bgp vrf label */
+ vpn_leak_zebra_vrf_label_withdraw(bgp, AFI_IP);
+ vpn_leak_zebra_vrf_label_withdraw(bgp, AFI_IP6);
+
/* Stop timers. */
if (bgp->t_rmap_def_originate_eval) {
BGP_TIMER_OFF(bgp->t_rmap_def_originate_eval);