session_worker_t *wrk;
int i;
+ /* We only initialize once and do not de-initialized on disable */
+ if (smm->is_initialized)
+ goto done;
+
num_threads = 1 /* main thread */ + vtm->n_threads;
if (num_threads < 1)
session_lookup_init ();
app_namespaces_init ();
transport_init ();
+ smm->is_initialized = 1;
+
+done:
smm->is_enabled = 1;
return 0;
}
+static void
+session_manager_main_disable (vlib_main_t * vm)
+{
+ transport_enable_disable (vm, 0 /* is_en */ );
+}
+
void
session_node_enable_disable (u8 is_en)
{
foreach_vlib_main (({
if (have_workers && ii == 0)
{
- vlib_node_set_state (this_vlib_main, session_queue_process_node.index,
- state);
if (is_en)
{
+ vlib_node_set_state (this_vlib_main,
+ session_queue_process_node.index, state);
vlib_node_t *n = vlib_get_node (this_vlib_main,
session_queue_process_node.index);
vlib_start_process (this_vlib_main, n->runtime_index);
else
{
session_main.is_enabled = 0;
+ session_manager_main_disable (vm);
session_node_enable_disable (is_en);
}
#endif
smm->last_transport_proto_type = TRANSPORT_PROTO_QUIC;
+ smm->evt_qs_use_memfd_seg = 1;
return 0;
}
;
else if (unformat (input, "enable"))
smm->session_enable_asap = 1;
+ else if (unformat (input, "segment-baseva 0x%lx", &smm->session_baseva))
+ ;
else if (unformat (input, "use-app-socket-api"))
appns_sapi_enable ();
else