From: Donald Sharp Date: Sat, 10 Jun 2017 19:03:03 +0000 (-0400) Subject: pimd: Cleanup shutdown of vrf X-Git-Tag: frr-4.0-dev~468^2~56 X-Git-Url: https://git.puffer.fish/?a=commitdiff_plain;h=7f1d002a040476e675ce7840256c0f3ca65b5194;p=mirror%2Ffrr.git 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 --- diff --git a/pimd/pim_instance.c b/pimd/pim_instance.c index 0849e6f748..8ceb2a74f5 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; }