pimd: Clean up rpf_hash *after* upstream cleanup

Cleanup the pim->rpf_hash after upstream cleanup is done
since upstream cleanup uses the rpf_hash to cleanup itself.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
This commit is contained in:
Donald Sharp 2018-05-11 18:39:09 -04:00
parent 26bb1fd528
commit 48d331e7dd

View File

@ -35,13 +35,6 @@
static void pim_instance_terminate(struct pim_instance *pim)
{
/* Traverse and cleanup rpf_hash */
if (pim->rpf_hash) {
hash_clean(pim->rpf_hash, (void *)pim_rp_list_hash_clean);
hash_free(pim->rpf_hash);
pim->rpf_hash = NULL;
}
if (pim->ssm_info) {
pim_ssm_terminate(pim->ssm_info);
pim->ssm_info = NULL;
@ -54,6 +47,13 @@ static void pim_instance_terminate(struct pim_instance *pim)
pim_upstream_terminate(pim);
/* Traverse and cleanup rpf_hash */
if (pim->rpf_hash) {
hash_clean(pim->rpf_hash, (void *)pim_rp_list_hash_clean);
hash_free(pim->rpf_hash);
pim->rpf_hash = NULL;
}
pim_oil_terminate(pim);
pim_if_terminate(pim);