@@ -55,12 +55,12 @@ format_tcp_tx_trace (u8 * s, va_list * args)
55
55
CLIB_UNUSED (vlib_main_t * vm ) = va_arg (* args , vlib_main_t * );
56
56
CLIB_UNUSED (vlib_node_t * node ) = va_arg (* args , vlib_node_t * );
57
57
tcp_tx_trace_t * t = va_arg (* args , tcp_tx_trace_t * );
58
+ tcp_connection_t * tc = & t -> tcp_connection ;
58
59
u32 indent = format_get_indent (s );
59
60
60
- s = format (s , "%U\n%U%U" ,
61
- format_tcp_header , & t -> tcp_header , 128 ,
62
- format_white_space , indent ,
63
- format_tcp_connection , & t -> tcp_connection , 1 );
61
+ s = format (s , "%U state %U\n%U%U" , format_tcp_connection_id , tc ,
62
+ format_tcp_state , tc -> state , format_white_space , indent ,
63
+ format_tcp_header , & t -> tcp_header , 128 );
64
64
65
65
return s ;
66
66
}
@@ -2223,16 +2223,17 @@ static void
2223
2223
tcp46_output_trace_frame (vlib_main_t * vm , vlib_node_runtime_t * node ,
2224
2224
u32 * to_next , u32 n_bufs )
2225
2225
{
2226
- u32 n_trace = vlib_get_trace_count (vm , node );
2227
2226
tcp_connection_t * tc ;
2228
2227
tcp_tx_trace_t * t ;
2229
2228
vlib_buffer_t * b ;
2230
2229
tcp_header_t * th ;
2231
2230
int i ;
2232
2231
2233
- for (i = 0 ; i < clib_min ( n_trace , n_bufs ) ; i ++ )
2232
+ for (i = 0 ; i < n_bufs ; i ++ )
2234
2233
{
2235
2234
b = vlib_get_buffer (vm , to_next [i ]);
2235
+ if (!(b -> flags & VLIB_BUFFER_IS_TRACED ))
2236
+ continue ;
2236
2237
th = vlib_buffer_get_current (b );
2237
2238
tc = tcp_connection_get (vnet_buffer (b )-> tcp .connection_index ,
2238
2239
vm -> thread_index );
0 commit comments