diff options
Diffstat (limited to 'zebra/main.c')
| -rw-r--r-- | zebra/main.c | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/zebra/main.c b/zebra/main.c index 5628b5e022..5b5ee8259a 100644 --- a/zebra/main.c +++ b/zebra/main.c @@ -172,7 +172,7 @@ static void sigint(void) work_queue_free_and_null(&zebrad.lsp_process_q); vrf_terminate(); - ns_walk_func(zebra_ns_disabled); + ns_walk_func(zebra_ns_early_shutdown); zebra_ns_notify_close(); access_list_reset(); @@ -196,6 +196,9 @@ int zebra_finalize(struct thread *dummy) { zlog_info("Zebra final shutdown"); + /* Final shutdown of ns resources */ + ns_walk_func(zebra_ns_final_shutdown); + /* Stop dplane thread and finish any cleanup */ zebra_dplane_shutdown(); @@ -390,6 +393,9 @@ int main(int argc, char **argv) vty_config_lockless(); zebrad.master = frr_init(); + /* Initialize pthread library */ + frr_pthread_init(); + /* Zebra related initialize. */ zebra_router_init(); zserv_init(); @@ -445,8 +451,8 @@ int main(int argc, char **argv) /* Needed for BSD routing socket. */ pid = getpid(); - /* Intialize pthread library */ - frr_pthread_init(); + /* Start dataplane system */ + zebra_dplane_start(); /* Start Zebra API server */ zserv_start(zserv_path); |
