aboutsummaryrefslogtreecommitdiffstats
path: root/src/vnet/session/session_node.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/vnet/session/session_node.c')
-rw-r--r--src/vnet/session/session_node.c22
1 files changed, 21 insertions, 1 deletions
diff --git a/src/vnet/session/session_node.c b/src/vnet/session/session_node.c
index d0936c7e13d..db5123b8b2d 100644
--- a/src/vnet/session/session_node.c
+++ b/src/vnet/session/session_node.c
@@ -74,9 +74,9 @@ session_mq_accepted_reply_handler (void *data)
if (!session_has_transport (s))
{
+ s->session_state = SESSION_STATE_READY;
if (ct_session_connect_notify (s))
return;
- s->session_state = SESSION_STATE_READY;
}
else
{
@@ -1234,6 +1234,26 @@ VLIB_REGISTER_NODE (session_queue_process_node) =
};
/* *INDENT-ON* */
+static_always_inline uword
+session_queue_pre_input_inline (vlib_main_t * vm, vlib_node_runtime_t * node,
+ vlib_frame_t * frame)
+{
+ session_main_t *sm = &session_main;
+ if (!sm->wrk[0].vpp_event_queue)
+ return 0;
+ return session_queue_node_fn (vm, node, frame);
+}
+
+/* *INDENT-OFF* */
+VLIB_REGISTER_NODE (session_queue_pre_input_node) =
+{
+ .function = session_queue_pre_input_inline,
+ .type = VLIB_NODE_TYPE_PRE_INPUT,
+ .name = "session-queue-main",
+ .state = VLIB_NODE_STATE_DISABLED,
+};
+/* *INDENT-ON* */
+
/*
* fd.io coding-style-patch-verification: ON
*