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>
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();
#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);
#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;
void pim_router_terminate(void)
{
+ pim_mlag_terminate();
XFREE(MTYPE_ROUTER, router);
}