zebra: don't register same hook multiple times

Before 42d4b30e, table_manager_enable was called only once and the hook
was also registered once. After the change, the hook is registered per
each VRF that is created in the system. This is wrong.

Signed-off-by: Igor Ryzhov <iryzhov@nfware.com>
This commit is contained in:
Igor Ryzhov 2021-11-05 02:04:02 +03:00
parent 0051effcb1
commit 903c6fa24e
2 changed files with 2 additions and 1 deletions

View File

@ -82,7 +82,6 @@ void table_manager_enable(struct zebra_vrf *zvrf)
zvrf->tbl_mgr = XCALLOC(MTYPE_TM_TABLE, sizeof(struct table_manager));
zvrf->tbl_mgr->lc_list = list_new();
zvrf->tbl_mgr->lc_list->del = delete_table_chunk;
hook_register(zserv_client_close, release_daemon_table_chunks);
}
/**

View File

@ -705,6 +705,8 @@ void zebra_vrf_init(void)
vrf_init(zebra_vrf_new, zebra_vrf_enable, zebra_vrf_disable,
zebra_vrf_delete, zebra_vrf_update);
hook_register(zserv_client_close, release_daemon_table_chunks);
vrf_cmd_init(vrf_config_write);
if (vrf_is_backend_netns() && ns_have_netns()) {