]> git.puffer.fish Git - mirror/frr.git/commitdiff
bgpd: Move SRv6 cleanup functions 15978/head
authorCarmine Scarpitta <cscarpit@cisco.com>
Wed, 8 May 2024 07:48:55 +0000 (09:48 +0200)
committerMergify <37929162+mergify[bot]@users.noreply.github.com>
Thu, 9 May 2024 11:13:35 +0000 (11:13 +0000)
Move SRv6 cleanup operations to `bgp_srv6_cleanup` function.

Signed-off-by: Carmine Scarpitta <cscarpit@cisco.com>
(cherry picked from commit 165caaeea8b04b6ac59c9016f1d5240238200a27)

bgpd/bgpd.c

index 83beabfdc4c37a6e0574dcf07bdf5538f8ff20f1..d6d874be219dddcb478bc803f3ac13c7e2076dd8 100644 (file)
@@ -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);