@@ -3959,6 +3959,37 @@ int bgp_delete(struct bgp *bgp)
39593959
39603960 bgp_vpn_leak_unimport (bgp );
39613961
3962+ <<<<<<< HEAD
3963+ == = == ==
3964+ /*
3965+ * Release SRv6 SIDs, like it's done in `vpn_leak_postchange()`
3966+ * and bgp_sid_vpn_export_cmd/af_sid_vpn_export_cmd commands.
3967+ */
3968+ bgp -> tovpn_sid_index = 0 ;
3969+ UNSET_FLAG (bgp -> vrf_flags , BGP_VRF_TOVPN_SID_AUTO );
3970+ delete_vrf_tovpn_sid_per_vrf (bgp_default , bgp );
3971+ for (afi = AFI_IP ; afi < AFI_MAX ; afi ++ ) {
3972+ bgp -> vpn_policy [afi ].tovpn_sid_index = 0 ;
3973+ UNSET_FLAG (bgp -> vpn_policy [afi ].flags , BGP_VPN_POLICY_TOVPN_SID_AUTO );
3974+ delete_vrf_tovpn_sid_per_af (bgp_default , bgp , afi );
3975+
3976+ vpn_leak_zebra_vrf_sid_withdraw (bgp , afi );
3977+ }
3978+
3979+ /* release auto vpn labels */
3980+ bgp_vpn_release_label (bgp , AFI_IP , true);
3981+ bgp_vpn_release_label (bgp , AFI_IP6 , true);
3982+
3983+ /* release manual vpn labels */
3984+ for (afi = AFI_IP ; afi < AFI_MAX ; afi ++ ) {
3985+ if (!CHECK_FLAG (bgp -> vpn_policy [afi ].flags , BGP_VPN_POLICY_TOVPN_LABEL_MANUAL_REG ))
3986+ continue ;
3987+ bgp_zebra_release_label_range (bgp -> vpn_policy [afi ].tovpn_label ,
3988+ bgp -> vpn_policy [afi ].tovpn_label );
3989+ UNSET_FLAG (bgp -> vpn_policy [afi ].flags , BGP_VPN_POLICY_TOVPN_LABEL_MANUAL_REG );
3990+ }
3991+
3992+ >>>>>>> d6363625c (bgpd : release manual vpn label on instance deletion )
39623993 hook_call (bgp_inst_delete , bgp );
39633994
39643995 FOREACH_AFI_SAFI (afi , safi )
0 commit comments