diff options
Diffstat (limited to 'bgpd/bgpd.c')
| -rw-r--r-- | bgpd/bgpd.c | 9 | 
1 files changed, 9 insertions, 0 deletions
diff --git a/bgpd/bgpd.c b/bgpd/bgpd.c index f6854202db..83beabfdc4 100644 --- a/bgpd/bgpd.c +++ b/bgpd/bgpd.c @@ -1473,6 +1473,15 @@ static void bgp_srv6_init(struct bgp *bgp)  static void bgp_srv6_cleanup(struct bgp *bgp)  { +	if (bgp->tovpn_sid_locator != NULL) +		srv6_locator_chunk_free(&bgp->tovpn_sid_locator); +	if (bgp->tovpn_zebra_vrf_sid_last_sent != NULL) +		XFREE(MTYPE_BGP_SRV6_SID, bgp->tovpn_zebra_vrf_sid_last_sent); +	if (bgp->tovpn_sid != NULL) { +		sid_unregister(bgp, bgp->tovpn_sid); +		XFREE(MTYPE_BGP_SRV6_SID, bgp->tovpn_sid); +	} +  	if (bgp->srv6_locator_chunks)  		list_delete(&bgp->srv6_locator_chunks);  	if (bgp->srv6_functions)  | 
