http_static: VPP web application HowTo
[vpp.git] / src / vnet / session / session_node.c
index 191be7e..bc22cc0 100644 (file)
@@ -117,6 +117,7 @@ session_mq_connect_handler (void *data)
   a->sep_ext.parent_handle = mp->parent_handle;
   a->sep_ext.ckpair_index = mp->ckpair_index;
   a->sep_ext.crypto_engine = mp->crypto_engine;
+  a->sep_ext.flags = mp->flags;
   if (mp->hostname_len)
     {
       vec_validate (a->sep_ext.hostname, mp->hostname_len - 1);
@@ -500,7 +501,7 @@ format_session_queue_trace (u8 * s, va_list * args)
   CLIB_UNUSED (vlib_node_t * node) = va_arg (*args, vlib_node_t *);
   session_queue_trace_t *t = va_arg (*args, session_queue_trace_t *);
 
-  s = format (s, "SESSION_QUEUE: session index %d, server thread index %d",
+  s = format (s, "session index %d thread index %d",
              t->session_index, t->server_thread_index);
   return s;
 }
@@ -542,7 +543,7 @@ session_tx_trace_frame (vlib_main_t * vm, vlib_node_runtime_t * node,
 
   for (i = 0; i < clib_min (n_trace, n_segs); i++)
     {
-      b = vlib_get_buffer (vm, to_next[i - n_segs]);
+      b = vlib_get_buffer (vm, to_next[i]);
       vlib_trace_buffer (vm, node, next_index, b, 1 /* follow_chain */ );
       t = vlib_add_trace (vm, node, b, sizeof (*t));
       t->session_index = s->session_index;
@@ -1162,10 +1163,7 @@ session_event_dispatch_io (session_worker_t * wrk, vlib_node_runtime_t * node,
     case SESSION_IO_EVT_TX:
       s = session_event_get_session (e, thread_index);
       if (PREDICT_FALSE (!s))
-       {
-         clib_warning ("session %u was freed!", e->session_index);
-         break;
-       }
+       break;
       CLIB_PREFETCH (s->tx_fifo, 2 * CLIB_CACHE_LINE_BYTES, LOAD);
       wrk->ctx.s = s;
       /* Spray packets in per session type frames, since they go to
@@ -1612,6 +1610,7 @@ session_queue_pre_input_inline (vlib_main_t * vm, vlib_node_runtime_t * node,
   session_main_t *sm = &session_main;
   if (!sm->wrk[0].vpp_event_queue)
     return 0;
+  node = vlib_node_get_runtime (vm, session_queue_node.index);
   return session_queue_node_fn (vm, node, frame);
 }