tcp: minimal set of worker stats
[vpp.git] / src / vnet / tcp / tcp_output.c
index e843c7e..1b9530b 100644 (file)
@@ -1400,6 +1400,7 @@ tcp_prepare_retransmit_segment (tcp_worker_ctx_t * wrk,
 
   tc->bytes_retrans += n_bytes;
   tc->segs_retrans += 1;
+  tcp_workerp_stats_inc (wrk, rxt_segs, 1);
   TCP_EVT (TCP_EVT_CC_RTX, tc, offset, n_bytes);
 
   return n_bytes;
@@ -1452,6 +1453,7 @@ tcp_timer_retransmit_handler (u32 tc_index, u32 thread_index)
   vlib_buffer_t *b = 0;
   u32 bi, n_bytes;
 
+  tcp_workerp_stats_inc (wrk, tr_events, 1);
   tc = tcp_connection_get (tc_index, thread_index);
 
   /* Note: the connection may have been closed and pool_put */
@@ -1505,6 +1507,7 @@ tcp_timer_retransmit_handler (u32 tc_index, u32 thread_index)
          session_transport_closed_notify (&tc->connection);
          tcp_connection_timers_reset (tc);
          tcp_timer_update (tc, TCP_TIMER_WAITCLOSE, tcp_cfg.closewait_time);
+         tcp_workerp_stats_inc (wrk, tr_abort, 1);
          return;
        }
 
@@ -1556,6 +1559,7 @@ tcp_timer_retransmit_handler (u32 tc_index, u32 thread_index)
          tcp_connection_set_state (tc, TCP_STATE_CLOSED);
          tcp_connection_timers_reset (tc);
          tcp_timer_update (tc, TCP_TIMER_WAITCLOSE, tcp_cfg.cleanup_time);
+         tcp_workerp_stats_inc (wrk, tr_abort, 1);
          return;
        }