summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMark Stapp <mstapp@nvidia.com>2021-11-12 15:10:00 -0500
committerMark Stapp <mstapp@nvidia.com>2021-11-12 15:10:00 -0500
commitdd9538c5f36f9d6110f1465b8708d0d7529f2cc7 (patch)
tree2235799d254c0e512a832e642b4b016d0f4e2d47
parentd9a03ad330c20d900caf4e1c266389bd8d2da651 (diff)
zebra: free LSP workqueue later during shutdown
Free the LSP workqueue later during shutdown, so that zebra has enough time to clean up and uninstall any LSPs. Signed-off-by: Mark Stapp <mstapp@nvidia.com>
-rw-r--r--zebra/main.c2
-rw-r--r--zebra/zebra_router.c3
2 files changed, 3 insertions, 2 deletions
diff --git a/zebra/main.c b/zebra/main.c
index 6162d36b43..cca7b49962 100644
--- a/zebra/main.c
+++ b/zebra/main.c
@@ -182,8 +182,6 @@ static void sigint(void)
SET_FLAG(zvrf->flags, ZEBRA_VRF_RETAIN);
}
}
- if (zrouter.lsp_process_q)
- work_queue_free_and_null(&zrouter.lsp_process_q);
vrf_terminate();
diff --git a/zebra/zebra_router.c b/zebra/zebra_router.c
index a80c573855..4ce756c953 100644
--- a/zebra/zebra_router.c
+++ b/zebra/zebra_router.c
@@ -235,6 +235,9 @@ void zebra_router_terminate(void)
RB_FOREACH_SAFE (zrt, zebra_router_table_head, &zrouter.tables, tmp)
zebra_router_free_table(zrt);
+ if (zrouter.lsp_process_q)
+ work_queue_free_and_null(&zrouter.lsp_process_q);
+
work_queue_free_and_null(&zrouter.ribq);
meta_queue_free(zrouter.mq);