From: Donald Sharp Date: Mon, 24 Mar 2025 13:37:25 +0000 (-0400) Subject: zebra: On shutdown call appropriate finish functions X-Git-Url: https://git.puffer.fish/?a=commitdiff_plain;h=ae74af996f5da3208ba4fb1daf05b75c8e1d58e2;p=matthieu%2Ffrr.git zebra: On shutdown call appropriate finish functions The vrf_terminate and route_map_finish functions are not being called and as such memory was being dropped on shutdown. Signed-off-by: Donald Sharp --- diff --git a/eigrpd/eigrp_interface.c b/eigrpd/eigrp_interface.c index 73caa72b6d..8bf0e130b1 100644 --- a/eigrpd/eigrp_interface.c +++ b/eigrpd/eigrp_interface.c @@ -440,8 +440,6 @@ void eigrp_if_free(struct eigrp_interface *ei, int source) pe); eigrp_if_down(ei); - - eigrp_interface_hash_del(&ei->eigrp->eifs, ei); } /* Simulate down/up on the interface. This is needed, for example, when diff --git a/eigrpd/eigrp_main.c b/eigrpd/eigrp_main.c index 319ac92533..089e18439f 100644 --- a/eigrpd/eigrp_main.c +++ b/eigrpd/eigrp_main.c @@ -98,6 +98,7 @@ static void sigint(void) keychain_terminate(); + route_map_finish(); eigrp_terminate(); exit(0); diff --git a/eigrpd/eigrpd.c b/eigrpd/eigrpd.c index 981965f101..543a54da13 100644 --- a/eigrpd/eigrpd.c +++ b/eigrpd/eigrpd.c @@ -241,6 +241,7 @@ void eigrp_terminate(void) eigrp_zebra_stop(); + vrf_terminate(); frr_fini(); } @@ -263,7 +264,7 @@ void eigrp_finish_final(struct eigrp *eigrp) nbr = eigrp_nbr_hash_first(&ei->nbr_hash_head); eigrp_nbr_delete(nbr); } - eigrp_if_free(ei, INTERFACE_DOWN_BY_FINAL); + eigrp_if_delete_hook(ei->ifp); } EVENT_OFF(eigrp->t_write);