diff options
| author | Igor Ryzhov <iryzhov@nfware.com> | 2021-11-05 02:04:02 +0300 |
|---|---|---|
| committer | Igor Ryzhov <iryzhov@nfware.com> | 2021-11-05 02:04:02 +0300 |
| commit | 903c6fa24ecb284e5313d217f15901b904c7b801 (patch) | |
| tree | 0602675ecd674ff6e4a2ed714cde9427315dbd37 | |
| parent | 0051effcb151b803b4a8caa5d2f958485574dd24 (diff) | |
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>
| -rw-r--r-- | zebra/table_manager.c | 1 | ||||
| -rw-r--r-- | zebra/zebra_vrf.c | 2 |
2 files changed, 2 insertions, 1 deletions
diff --git a/zebra/table_manager.c b/zebra/table_manager.c index 9f3b44f944..82d6a0a6a2 100644 --- a/zebra/table_manager.c +++ b/zebra/table_manager.c @@ -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); } /** diff --git a/zebra/zebra_vrf.c b/zebra/zebra_vrf.c index d051ed67a0..66d6d4b4f2 100644 --- a/zebra/zebra_vrf.c +++ b/zebra/zebra_vrf.c @@ -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()) { |
