]> git.puffer.fish Git - mirror/frr.git/commitdiff
zebra: Don't double delete the table we are cleaning up 10420/head
authorDonald Sharp <sharpd@nvidia.com>
Mon, 24 Jan 2022 20:37:54 +0000 (15:37 -0500)
committerDonald Sharp <sharpd@nvidia.com>
Wed, 26 Jan 2022 13:21:03 +0000 (08:21 -0500)
vrf_disable is always called first before
vrf_delete.  The rnh_table and rnh_table_multicast tables
are already deleted as part of vrf_disable.  No need
to do it again.

Signed-off-by: Donald Sharp <sharpd@nvidia.com>
zebra/zebra_vrf.c

index 5913936d579b25a902692ddf05a1ca1810090de3..842dc3f576a20311cd9e55ac3150c95763bae2f4 100644 (file)
@@ -262,9 +262,6 @@ static int zebra_vrf_delete(struct vrf *vrf)
 {
        struct zebra_vrf *zvrf = vrf->info;
        struct other_route_table *otable;
-       struct route_table *table;
-       afi_t afi;
-       safi_t safi;
        unsigned i;
 
        assert(zvrf);
@@ -295,23 +292,6 @@ static int zebra_vrf_delete(struct vrf *vrf)
        zebra_vxlan_close_tables(zvrf);
        zebra_mpls_close_tables(zvrf);
 
-       /* release allocated memory */
-       for (afi = AFI_IP; afi <= AFI_IP6; afi++) {
-               for (safi = SAFI_UNICAST; safi <= SAFI_MULTICAST; safi++) {
-                       table = zvrf->table[afi][safi];
-                       if (table) {
-                               zebra_router_release_table(zvrf, zvrf->table_id,
-                                                          afi, safi);
-                               zvrf->table[afi][safi] = NULL;
-                       }
-               }
-
-               if (zvrf->rnh_table[afi])
-                       route_table_finish(zvrf->rnh_table[afi]);
-               if (zvrf->rnh_table_multicast[afi])
-                       route_table_finish(zvrf->rnh_table[afi]);
-       }
-
        otable = otable_pop(&zvrf->other_tables);
        while (otable) {
                zebra_router_release_table(zvrf, otable->table_id,