diff options
| author | Donald Sharp <sharpd@nvidia.com> | 2025-03-24 09:37:25 -0400 |
|---|---|---|
| committer | Donald Sharp <sharpd@nvidia.com> | 2025-03-24 11:36:13 -0400 |
| commit | ae74af996f5da3208ba4fb1daf05b75c8e1d58e2 (patch) | |
| tree | bd02cae51b5cad4c573d2ef38fc25b7e88276017 /eigrpd | |
| parent | efb2aeae7b0d565f919bcd77345b78a9bd91e297 (diff) | |
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 <sharpd@nvidia.com>
Diffstat (limited to 'eigrpd')
| -rw-r--r-- | eigrpd/eigrp_interface.c | 2 | ||||
| -rw-r--r-- | eigrpd/eigrp_main.c | 1 | ||||
| -rw-r--r-- | eigrpd/eigrpd.c | 3 |
3 files changed, 3 insertions, 3 deletions
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); |
