+clib_error_t *
+vnet_session_enable_disable (vlib_main_t * vm, u8 is_en)
+{
+ if (is_en)
+ {
+ if (session_manager_main.is_enabled)
+ return 0;
+
+ vlib_node_set_state (vm, session_queue_node.index,
+ VLIB_NODE_STATE_POLLING);
+
+ return session_manager_main_enable (vm);
+ }
+ else
+ {
+ session_manager_main.is_enabled = 0;
+ vlib_node_set_state (vm, session_queue_node.index,
+ VLIB_NODE_STATE_DISABLED);
+ }
+
+ return 0;
+}
+
+
+clib_error_t *
+session_manager_main_init (vlib_main_t * vm)
+{
+ session_manager_main_t *smm = &session_manager_main;
+
+ smm->vlib_main = vm;
+ smm->vnet_main = vnet_get_main ();
+ smm->is_enabled = 0;
+
+ return 0;
+}