tcp/session: tx optimizations
[vpp.git] / src / vnet / session / session_node.c
index 2eea30b..4fd8d0e 100644 (file)
@@ -78,11 +78,11 @@ session_tx_trace_frame (vlib_main_t * vm, vlib_node_runtime_t * node,
     {
       b = vlib_get_buffer (vm, to_next[i - n_segs]);
       vlib_trace_buffer (vm, node, next_index, b, 1 /* follow_chain */ );
-      vlib_set_trace_count (vm, node, --n_trace);
       t = vlib_add_trace (vm, node, b, sizeof (*t));
       t->session_index = s->session_index;
       t->server_thread_index = s->thread_index;
     }
+  vlib_set_trace_count (vm, node, n_trace - i);
 }
 
 always_inline void
@@ -190,7 +190,6 @@ session_tx_fill_buffer (vlib_main_t * vm, session_tx_context_t * ctx,
   b->error = 0;
   b->flags = VNET_BUFFER_F_LOCALLY_ORIGINATED;
   b->current_data = 0;
-  b->total_length_not_including_first_buffer = 0;
 
   data0 = vlib_buffer_make_headroom (b, MAX_HDRS_LEN);
   len_to_deq = clib_min (ctx->left_to_snd, ctx->deq_per_first_buf);
@@ -249,11 +248,11 @@ session_tx_fill_buffer (vlib_main_t * vm, session_tx_context_t * ctx,
     session_tx_fifo_chain_tail (vm, ctx, b, n_bufs, peek_data);
 
   /* *INDENT-OFF* */
-  SESSION_EVT_DBG(SESSION_EVT_DEQ, s, ({
-       ed->data[0] = e->event_type;
-       ed->data[1] = max_dequeue;
+  SESSION_EVT_DBG(SESSION_EVT_DEQ, ctx->s, ({
+       ed->data[0] = FIFO_EVENT_APP_TX;
+       ed->data[1] = ctx->max_dequeue;
        ed->data[2] = len_to_deq;
-       ed->data[3] = left_to_snd;
+       ed->data[3] = ctx->left_to_snd;
   }));
   /* *INDENT-ON* */
 }
@@ -841,7 +840,7 @@ skip_dequeue:
   vlib_node_increment_counter (vm, session_queue_node.index,
                               SESSION_QUEUE_ERROR_TX, n_tx_packets);
 
-  SESSION_EVT_DBG (SESSION_EVT_DEQ_NODE, 1);
+  SESSION_EVT_DBG (SESSION_EVT_DISPATCH_END, smm, thread_index);
 
   return n_tx_packets;
 }