summaryrefslogtreecommitdiffstats
path: root/pimd/pim_instance.c
diff options
context:
space:
mode:
authorDonald Sharp <sharpd@cumulusnetworks.com>2017-06-10 21:03:03 +0200
committerDonald Sharp <sharpd@cumulusnetworks.com>2017-07-24 19:51:39 +0200
commit7f1d002a040476e675ce7840256c0f3ca65b5194 (patch)
treed6bca40690af0db6eeb776b87c15526b82b289f8 /pimd/pim_instance.c
parentpimd: Fix msdp show command (diff)
downloadfrr-7f1d002a040476e675ce7840256c0f3ca65b5194.tar.xz
frr-7f1d002a040476e675ce7840256c0f3ca65b5194.zip
pimd: Cleanup shutdown of vrf
When shutting down the vrf don't kill the default vrf when attempting to cleanup something else. Also move the terminate to the right spot. Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
Diffstat (limited to 'pimd/pim_instance.c')
-rw-r--r--pimd/pim_instance.c5
1 files changed, 2 insertions, 3 deletions
diff --git a/pimd/pim_instance.c b/pimd/pim_instance.c
index 0849e6f74..8ceb2a74f 100644
--- a/pimd/pim_instance.c
+++ b/pimd/pim_instance.c
@@ -60,7 +60,7 @@ static void pim_instance_terminate(struct pim_instance *pim)
pim_msdp_exit(pim);
- XFREE(MTYPE_PIM_PIM_INSTANCE, pimg);
+ XFREE(MTYPE_PIM_PIM_INSTANCE, pim);
}
static struct pim_instance *pim_instance_init(struct vrf *vrf)
@@ -156,6 +156,7 @@ static int pim_vrf_delete(struct vrf *vrf)
zlog_debug("VRF Deletion: %s(%d)", vrf->name, vrf->vrf_id);
pim_ssmpingd_destroy(pim);
+ pim_instance_terminate(pim);
return 0;
}
@@ -176,8 +177,6 @@ static int pim_vrf_enable(struct vrf *vrf)
static int pim_vrf_disable(struct vrf *vrf)
{
- pim_instance_terminate((struct pim_instance *)vrf->info);
-
/* Note: This is a callback, the VRF will be deleted by the caller. */
return 0;
}