forked from Mirror/frr
Merge pull request #18155 from FRRouting/mergify/bp/stable/10.2/pr-18121
bgpd: release manual vpn label on instance deletion (backport #18121)
This commit is contained in:
commit
2dce35a397
31
bgpd/bgpd.c
31
bgpd/bgpd.c
|
@ -4046,6 +4046,37 @@ int bgp_delete(struct bgp *bgp)
|
||||||
|
|
||||||
bgp_vpn_leak_unimport(bgp);
|
bgp_vpn_leak_unimport(bgp);
|
||||||
|
|
||||||
|
<<<<<<< HEAD
|
||||||
|
=======
|
||||||
|
/*
|
||||||
|
* Release SRv6 SIDs, like it's done in `vpn_leak_postchange()`
|
||||||
|
* and bgp_sid_vpn_export_cmd/af_sid_vpn_export_cmd commands.
|
||||||
|
*/
|
||||||
|
bgp->tovpn_sid_index = 0;
|
||||||
|
UNSET_FLAG(bgp->vrf_flags, BGP_VRF_TOVPN_SID_AUTO);
|
||||||
|
delete_vrf_tovpn_sid_per_vrf(bgp_default, bgp);
|
||||||
|
for (afi = AFI_IP; afi < AFI_MAX; afi++) {
|
||||||
|
bgp->vpn_policy[afi].tovpn_sid_index = 0;
|
||||||
|
UNSET_FLAG(bgp->vpn_policy[afi].flags, BGP_VPN_POLICY_TOVPN_SID_AUTO);
|
||||||
|
delete_vrf_tovpn_sid_per_af(bgp_default, bgp, afi);
|
||||||
|
|
||||||
|
vpn_leak_zebra_vrf_sid_withdraw(bgp, afi);
|
||||||
|
}
|
||||||
|
|
||||||
|
/* release auto vpn labels */
|
||||||
|
bgp_vpn_release_label(bgp, AFI_IP, true);
|
||||||
|
bgp_vpn_release_label(bgp, AFI_IP6, true);
|
||||||
|
|
||||||
|
/* release manual vpn labels */
|
||||||
|
for (afi = AFI_IP; afi < AFI_MAX; afi++) {
|
||||||
|
if (!CHECK_FLAG(bgp->vpn_policy[afi].flags, BGP_VPN_POLICY_TOVPN_LABEL_MANUAL_REG))
|
||||||
|
continue;
|
||||||
|
bgp_zebra_release_label_range(bgp->vpn_policy[afi].tovpn_label,
|
||||||
|
bgp->vpn_policy[afi].tovpn_label);
|
||||||
|
UNSET_FLAG(bgp->vpn_policy[afi].flags, BGP_VPN_POLICY_TOVPN_LABEL_MANUAL_REG);
|
||||||
|
}
|
||||||
|
|
||||||
|
>>>>>>> d6363625c (bgpd: release manual vpn label on instance deletion)
|
||||||
hook_call(bgp_inst_delete, bgp);
|
hook_call(bgp_inst_delete, bgp);
|
||||||
|
|
||||||
FOREACH_AFI_SAFI (afi, safi)
|
FOREACH_AFI_SAFI (afi, safi)
|
||||||
|
|
Loading…
Reference in a new issue