svm session vcl: per app rx message queues
[vpp.git] / src / vnet / session / session.c
index 2400a19..c447557 100644 (file)
@@ -1776,6 +1776,9 @@ session_node_enable_disable (u8 is_en)
        }
       vlib_node_set_state (this_vlib_main, session_queue_node.index, state);
     }
+
+  if (session_main.use_private_rx_mqs)
+    application_enable_rx_mqs_nodes (is_en);
 }
 
 clib_error_t *
@@ -1808,6 +1811,7 @@ session_main_init (vlib_main_t * vm)
   smm->is_enabled = 0;
   smm->session_enable_asap = 0;
   smm->poll_main = 0;
+  smm->use_private_rx_mqs = 0;
   smm->session_baseva = HIGH_SEGMENT_BASEVA;
 
 #if (HIGH_SEGMENT_BASEVA > (4ULL << 30))
@@ -1927,6 +1931,8 @@ session_config_fn (vlib_main_t * vm, unformat_input_t * input)
        appns_sapi_enable ();
       else if (unformat (input, "poll-main"))
        smm->poll_main = 1;
+      else if (unformat (input, "use-private-rx-mqs"))
+       smm->use_private_rx_mqs = 1;
       else
        return clib_error_return (0, "unknown input `%U'",
                                  format_unformat_error, input);