]> git.proxmox.com Git - mirror_frr.git/blobdiff - zebra/zebra_router.c
*: Add a hash_clean_and_free() function
[mirror_frr.git] / zebra / zebra_router.c
index 21e09a81f7550fe8584f69a99976772ce9b3e547..787442f5c897e704261185020c361c3d3f3a806a 100644 (file)
@@ -232,20 +232,15 @@ void zebra_router_terminate(void)
 
        /* Free NHE in ID table only since it has unhashable entries as well */
        hash_iterate(zrouter.nhgs_id, zebra_nhg_hash_free_zero_id, NULL);
-       hash_clean(zrouter.nhgs_id, zebra_nhg_hash_free);
-       hash_free(zrouter.nhgs_id);
-       hash_clean(zrouter.nhgs, NULL);
-       hash_free(zrouter.nhgs);
-
-       hash_clean(zrouter.rules_hash, zebra_pbr_rules_free);
-       hash_free(zrouter.rules_hash);
-
-       hash_clean(zrouter.ipset_entry_hash, zebra_pbr_ipset_entry_free),
-               hash_clean(zrouter.ipset_hash, zebra_pbr_ipset_free);
-       hash_free(zrouter.ipset_hash);
-       hash_free(zrouter.ipset_entry_hash);
-       hash_clean(zrouter.iptable_hash, zebra_pbr_iptable_free);
-       hash_free(zrouter.iptable_hash);
+       hash_clean_and_free(&zrouter.nhgs_id, zebra_nhg_hash_free);
+       hash_clean_and_free(&zrouter.nhgs, NULL);
+
+       hash_clean_and_free(&zrouter.rules_hash, zebra_pbr_rules_free);
+
+       hash_clean_and_free(&zrouter.ipset_entry_hash,
+                           zebra_pbr_ipset_entry_free);
+       hash_clean_and_free(&zrouter.ipset_hash, zebra_pbr_ipset_free);
+       hash_clean_and_free(&zrouter.iptable_hash, zebra_pbr_iptable_free);
 
 #ifdef HAVE_SCRIPTING
        zebra_script_destroy();