diff options
| author | Carmine Scarpitta <cscarpit@cisco.com> | 2024-05-08 09:48:55 +0200 | 
|---|---|---|
| committer | Mergify <37929162+mergify[bot]@users.noreply.github.com> | 2024-05-09 11:13:35 +0000 | 
| commit | 35ce58772f50be512b945e5826119f149b8db361 (patch) | |
| tree | 67341e6d7887206e51fbe41903814736e2646275 | |
| parent | 4bf7c81fe376be455d4a37853181ffd8d19fda53 (diff) | |
bgpd: Move SRv6 cleanup functions
Move SRv6 cleanup operations to `bgp_srv6_cleanup` function.
Signed-off-by: Carmine Scarpitta <cscarpit@cisco.com>
(cherry picked from commit 165caaeea8b04b6ac59c9016f1d5240238200a27)
| -rw-r--r-- | bgpd/bgpd.c | 26 | 
1 files changed, 14 insertions, 12 deletions
diff --git a/bgpd/bgpd.c b/bgpd/bgpd.c index 83beabfdc4..d6d874be21 100644 --- a/bgpd/bgpd.c +++ b/bgpd/bgpd.c @@ -1473,6 +1473,20 @@ static void bgp_srv6_init(struct bgp *bgp)  static void bgp_srv6_cleanup(struct bgp *bgp)  { +	for (afi_t afi = AFI_IP; afi < AFI_MAX; afi++) { +		if (bgp->vpn_policy[afi].tovpn_sid_locator != NULL) +			srv6_locator_chunk_free( +				&bgp->vpn_policy[afi].tovpn_sid_locator); +		if (bgp->vpn_policy[afi].tovpn_zebra_vrf_sid_last_sent != NULL) +			XFREE(MTYPE_BGP_SRV6_SID, +			      bgp->vpn_policy[afi].tovpn_zebra_vrf_sid_last_sent); +		if (bgp->vpn_policy[afi].tovpn_sid != NULL) { +			sid_unregister(bgp, bgp->vpn_policy[afi].tovpn_sid); +			XFREE(MTYPE_BGP_SRV6_SID, +			      bgp->vpn_policy[afi].tovpn_sid); +		} +	} +  	if (bgp->tovpn_sid_locator != NULL)  		srv6_locator_chunk_free(&bgp->tovpn_sid_locator);  	if (bgp->tovpn_zebra_vrf_sid_last_sent != NULL) @@ -4106,18 +4120,6 @@ void bgp_free(struct bgp *bgp)  		if (bgp->vpn_policy[afi].tovpn_rd_pretty)  			XFREE(MTYPE_BGP_NAME,  			      bgp->vpn_policy[afi].tovpn_rd_pretty); -		if (bgp->vpn_policy[afi].tovpn_sid_locator != NULL) -			srv6_locator_chunk_free( -				&bgp->vpn_policy[afi].tovpn_sid_locator); -		if (bgp->vpn_policy[afi].tovpn_zebra_vrf_sid_last_sent != NULL) -			XFREE(MTYPE_BGP_SRV6_SID, -			      bgp->vpn_policy[afi] -				      .tovpn_zebra_vrf_sid_last_sent); -		if (bgp->vpn_policy[afi].tovpn_sid != NULL) { -			sid_unregister(bgp, bgp->vpn_policy[afi].tovpn_sid); -			XFREE(MTYPE_BGP_SRV6_SID, -			      bgp->vpn_policy[afi].tovpn_sid); -		}  	}  	bgp_srv6_cleanup(bgp);  	bgp_confederation_id_unset(bgp);  | 
