ospfd: Free memory associated with ospf instance startup

We have memory that is initialized upon ospf instance
and area startup.  Free it up on shutdown.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
This commit is contained in:
Donald Sharp 2017-10-04 08:04:00 -04:00
parent 3e7a965235
commit 7f7f77a01b

View File

@ -634,6 +634,7 @@ static void ospf_finish_final(struct ospf *ospf)
/* Reset interface. */
for (ALL_LIST_ELEMENTS(ospf->oiflist, node, nnode, oi))
ospf_if_free(oi);
list_delete(ospf->oiflist);
/* De-Register VRF */
ospf_zebra_vrf_deregister(ospf);
@ -768,6 +769,8 @@ static void ospf_finish_final(struct ospf *ospf)
if (!CHECK_FLAG(om->options, OSPF_MASTER_SHUTDOWN))
instance = ospf->instance;
list_delete(ospf->oi_write_q);
ospf_delete(ospf);
if (ospf->name) {
@ -828,6 +831,8 @@ static void ospf_area_free(struct ospf_area *area)
struct route_node *rn;
struct ospf_lsa *lsa;
ospf_opaque_type10_lsa_term(area);
/* Free LSDBs. */
LSDB_LOOP(ROUTER_LSDB(area), rn, lsa)
ospf_discard_from_db(area->ospf, area->lsdb, lsa);