]> git.proxmox.com Git - mirror_frr.git/blobdiff - pimd/pim_instance.c
zebra: Allow ns delete to happen after under/over flow checks
[mirror_frr.git] / pimd / pim_instance.c
index 8dc48cc004615b2e06cf81d9b979777a7b312c02..b0d7a7b2db07a50b0a1afcc36237de25f17c2511 100644 (file)
@@ -42,12 +42,12 @@ static void pim_instance_terminate(struct pim_instance *pim)
        }
 
        if (pim->static_routes)
-               list_delete_and_null(&pim->static_routes);
-
-       pim_rp_free(pim);
+               list_delete(&pim->static_routes);
 
        pim_upstream_terminate(pim);
 
+       pim_rp_free(pim);
+
        /* Traverse and cleanup rpf_hash */
        if (pim->rpf_hash) {
                hash_clean(pim->rpf_hash, (void *)pim_rp_list_hash_clean);
@@ -188,7 +188,7 @@ static int pim_vrf_config_write(struct vty *vty)
                pim_global_config_write_worker(pim, vty);
 
                if (vrf->vrf_id != VRF_DEFAULT)
-                       vty_endframe(vty, "!\n");
+                       vty_endframe(vty, " exit-vrf\n!\n");
        }
 
        return 0;
@@ -196,7 +196,8 @@ static int pim_vrf_config_write(struct vty *vty)
 
 void pim_vrf_init(void)
 {
-       vrf_init(pim_vrf_new, pim_vrf_enable, pim_vrf_disable, pim_vrf_delete);
+       vrf_init(pim_vrf_new, pim_vrf_enable, pim_vrf_disable,
+                pim_vrf_delete, NULL);
 
        vrf_cmd_init(pim_vrf_config_write, &pimd_privs);
 }