diff options
| author | Donald Sharp <sharpd@nvidia.com> | 2024-08-08 13:52:37 -0400 |
|---|---|---|
| committer | Donald Sharp <sharpd@nvidia.com> | 2024-08-08 14:24:59 -0400 |
| commit | bc16c8ce8d928e4f59f106a4beea0b29fdbe4b44 (patch) | |
| tree | 1fcc14ead7d3ecd0c841161f1fe1be709f623202 | |
| parent | 2e7d915ca292dae09b95f31fb52b21b8b935c5dc (diff) | |
isisd: Free up isis master list of instances
Signed-off-by: Donald Sharp <sharpd@nvidia.com>
| -rw-r--r-- | isisd/isis_main.c | 1 | ||||
| -rw-r--r-- | isisd/isisd.c | 5 | ||||
| -rw-r--r-- | isisd/isisd.h | 1 |
3 files changed, 7 insertions, 0 deletions
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); |
