diff --git a/isisd/isis_nb_config.c b/isisd/isis_nb_config.c index dbe4a017bc..e0decf48f2 100644 --- a/isisd/isis_nb_config.c +++ b/isisd/isis_nb_config.c @@ -54,8 +54,6 @@ #include "isisd/isis_dr.h" #include "isisd/isis_zebra.h" -DEFINE_MTYPE_STATIC(ISISD, ISIS_PLIST_NAME, "ISIS prefix-list name"); - /* * XPath: /frr-isisd:isis/instance */ diff --git a/isisd/isisd.c b/isisd/isisd.c index bce3dbb77b..54e6be5970 100644 --- a/isisd/isisd.c +++ b/isisd/isisd.c @@ -90,6 +90,7 @@ DEFINE_MTYPE_STATIC(ISISD, ISIS_NAME, "ISIS process name"); DEFINE_MTYPE_STATIC(ISISD, ISIS_AREA, "ISIS area"); DEFINE_MTYPE(ISISD, ISIS_AREA_ADDR, "ISIS area address"); DEFINE_MTYPE(ISISD, ISIS_ACL_NAME, "ISIS access-list name"); +DEFINE_MTYPE(ISISD, ISIS_PLIST_NAME, "ISIS prefix-list name"); DEFINE_QOBJ_TYPE(isis_area); @@ -565,6 +566,11 @@ void isis_area_destroy(struct isis_area *area) area_mt_finish(area); + if (area->rlfa_plist_name[0]) + XFREE(MTYPE_ISIS_PLIST_NAME, area->rlfa_plist_name[0]); + if (area->rlfa_plist_name[1]) + XFREE(MTYPE_ISIS_PLIST_NAME, area->rlfa_plist_name[1]); + XFREE(MTYPE_ISIS_AREA, area); } diff --git a/isisd/isisd.h b/isisd/isisd.h index c313fd9ef7..4951e5809b 100644 --- a/isisd/isisd.h +++ b/isisd/isisd.h @@ -251,6 +251,7 @@ DECLARE_QOBJ_TYPE(isis_area); DECLARE_MTYPE(ISIS_ACL_NAME); /* isis_area->spf_prefix_prioritites */ DECLARE_MTYPE(ISIS_AREA_ADDR); /* isis_area->area_addrs */ +DECLARE_MTYPE(ISIS_PLIST_NAME); DECLARE_HOOK(isis_area_overload_bit_update, (struct isis_area * area), (area));