pimd: Cleanup some small memory leaks on exit

We were not properly cleaning up some memory in the pim mlag
subsystem.  Clean it up on exit.

Signed-off-by: Donald Sharp <sharpc@cumulusnetworks.com>
This commit is contained in:
Donald Sharp 2020-07-16 08:13:21 -04:00
parent 249df50a20
commit 892c2c4468
3 changed files with 11 additions and 0 deletions

View File

@ -1082,6 +1082,14 @@ void pim_instance_mlag_terminate(struct pim_instance *pim)
pim->inst_mlag_intf_cnt = 0;
}
void pim_mlag_terminate(void)
{
stream_free(router->mlag_stream);
router->mlag_stream = NULL;
stream_fifo_free(router->mlag_fifo);
router->mlag_fifo = NULL;
}
void pim_mlag_init(void)
{
pim_mlag_param_reset();

View File

@ -28,6 +28,7 @@
#include "pim_iface.h"
extern void pim_mlag_init(void);
extern void pim_mlag_terminate(void);
extern void pim_instance_mlag_init(struct pim_instance *pim);
extern void pim_instance_mlag_terminate(struct pim_instance *pim);
extern void pim_if_configure_mlag_dualactive(struct pim_interface *pim_ifp);

View File

@ -42,6 +42,7 @@
#include "pim_vxlan.h"
#include "pim_zlookup.h"
#include "pim_zebra.h"
#include "pim_mlag.h"
const char *const PIM_ALL_SYSTEMS = MCAST_ALL_SYSTEMS;
const char *const PIM_ALL_ROUTERS = MCAST_ALL_ROUTERS;
@ -109,6 +110,7 @@ void pim_router_init(void)
void pim_router_terminate(void)
{
pim_mlag_terminate();
XFREE(MTYPE_ROUTER, router);
}