diff options
Diffstat (limited to 'zebra/main.c')
| -rw-r--r-- | zebra/main.c | 12 |
1 files changed, 7 insertions, 5 deletions
diff --git a/zebra/main.c b/zebra/main.c index ba43ae910b..81a3066445 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(); /* @@ -190,6 +185,8 @@ static void sigint(void) */ zebra_routemap_finish(); + rib_update_finish(); + list_delete(&zrouter.client_list); /* Indicate that all new dplane work has been enqueued. When that @@ -207,6 +204,11 @@ void zebra_finalize(struct event *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(); |
