summaryrefslogtreecommitdiff
path: root/zebra/main.c
diff options
context:
space:
mode:
Diffstat (limited to 'zebra/main.c')
-rw-r--r--zebra/main.c8
1 files changed, 5 insertions, 3 deletions
diff --git a/zebra/main.c b/zebra/main.c
index 16a11edea3..4b2a89856e 100644
--- a/zebra/main.c
+++ b/zebra/main.c
@@ -241,6 +241,10 @@ zebra_vrf_enable (vrf_id_t vrf_id, void **info)
#ifdef RTADV
rtadv_init (zvrf);
#endif
+ kernel_init (zvrf);
+ interface_list (zvrf);
+ route_read (zvrf);
+
return 0;
}
@@ -268,6 +272,7 @@ zebra_vrf_disable (vrf_id_t vrf_id, void **info)
#ifdef RTADV
rtadv_terminate (zvrf);
#endif
+ kernel_terminate (zvrf);
list_delete_all_node (zvrf->rid_all_sorted_list);
list_delete_all_node (zvrf->rid_lo_sorted_list);
@@ -428,9 +433,6 @@ main (int argc, char **argv)
/* Initialize VRF module, and make kernel routing socket. */
zebra_vrf_init ();
- kernel_init ();
- interface_list ();
- route_read ();
#ifdef HAVE_SNMP
zebra_snmp_init ();