From bc16c8ce8d928e4f59f106a4beea0b29fdbe4b44 Mon Sep 17 00:00:00 2001 From: Donald Sharp Date: Thu, 8 Aug 2024 13:52:37 -0400 Subject: [PATCH] isisd: Free up isis master list of instances Signed-off-by: Donald Sharp --- isisd/isis_main.c | 1 + isisd/isisd.c | 5 +++++ isisd/isisd.h | 1 + 3 files changed, 7 insertions(+) diff --git a/isisd/isis_main.c b/isisd/isis_main.c index 7270e37e28..b7ed8f7605 100644 --- a/isisd/isis_main.c +++ b/isisd/isis_main.c @@ -104,6 +104,7 @@ static __attribute__((__noreturn__)) void terminate(int i) isis_srv6_term(); isis_zebra_stop(); + isis_master_terminate(); route_map_finish(); vrf_terminate(); diff --git a/isisd/isisd.c b/isisd/isisd.c index e67f5fb1c8..2863fd913f 100644 --- a/isisd/isisd.c +++ b/isisd/isisd.c @@ -176,6 +176,11 @@ void isis_master_init(struct event_loop *master) im->master = master; } +void isis_master_terminate(void) +{ + list_delete(&im->isis); +} + struct isis *isis_new(const char *vrf_name) { struct vrf *vrf; diff --git a/isisd/isisd.h b/isisd/isisd.h index 2ed7dd0f10..1ae39f0ae9 100644 --- a/isisd/isisd.h +++ b/isisd/isisd.h @@ -268,6 +268,7 @@ DECLARE_HOOK(isis_area_overload_bit_update, (struct isis_area * area), (area)); void isis_terminate(void); void isis_master_init(struct event_loop *master); +void isis_master_terminate(void); void isis_vrf_link(struct isis *isis, struct vrf *vrf); void isis_vrf_unlink(struct isis *isis, struct vrf *vrf); struct isis *isis_lookup_by_vrfid(vrf_id_t vrf_id);