diff --git a/bgpd/bgp_main.c b/bgpd/bgp_main.c index 535d2fc5f434..781273cb4ef2 100644 --- a/bgpd/bgp_main.c +++ b/bgpd/bgp_main.c @@ -192,6 +192,8 @@ static __attribute__((__noreturn__)) void bgp_exit(int status) bgp_default = bgp_get_default(); bgp_evpn = bgp_get_evpn(); + bgp_lp_finish(); + /* reverse bgp_master_init */ for (ALL_LIST_ELEMENTS(bm->bgp, node, nnode, bgp)) { if (bgp_default == bgp || bgp_evpn == bgp) @@ -257,8 +259,6 @@ static __attribute__((__noreturn__)) void bgp_exit(int status) list_delete(&bm->bgp); list_delete(&bm->addresses); - bgp_lp_finish(); - memset(bm, 0, sizeof(*bm)); frr_fini();