summaryrefslogtreecommitdiff
path: root/zebra/main.c
diff options
context:
space:
mode:
authorscotchung <scotchung@inspur.com>2023-03-22 16:51:07 +0800
committerscotchung <scotchung@inspur.com>2023-03-22 16:51:07 +0800
commit8dc5dbb8c8d82ffa19dbf6544f1b95820810c062 (patch)
treebb8634fc93e63ae134e3770ccbe48ede342d2be8 /zebra/main.c
parent8179b7e1885caf6c3dca33c60bd770fabbb43b3b (diff)
some threads will still get vrf, when a new entry would created with insufficient data, and so it may crash.
Diffstat (limited to 'zebra/main.c')
-rw-r--r--zebra/main.c10
1 files changed, 5 insertions, 5 deletions
diff --git a/zebra/main.c b/zebra/main.c
index c40a03551d..6fbbc0f772 100644
--- a/zebra/main.c
+++ b/zebra/main.c
@@ -175,11 +175,6 @@ static void sigint(void)
if (zrouter.lsp_process_q)
work_queue_free_and_null(&zrouter.lsp_process_q);
- vrf_terminate();
-
- ns_walk_func(zebra_ns_early_shutdown, NULL, NULL);
- zebra_ns_notify_close();
-
access_list_reset();
prefix_list_reset();
/*
@@ -207,6 +202,11 @@ void zebra_finalize(struct thread *dummy)
{
zlog_info("Zebra final shutdown");
+ vrf_terminate();
+
+ ns_walk_func(zebra_ns_early_shutdown, NULL, NULL);
+ zebra_ns_notify_close();
+
/* Stop dplane thread and finish any cleanup */
zebra_dplane_shutdown();