break;
case TCP_STATE_SYN_SENT:
session_stream_connect_notify (&tc->connection, 1 /* fail */ );
- tcp_connection_set_state (tc, TCP_STATE_CLOSED);
- tcp_timer_set (tc, TCP_TIMER_WAITCLOSE, TCP_CLEANUP_TIME);
+ tcp_connection_cleanup (tc);
break;
case TCP_STATE_ESTABLISHED:
tcp_connection_timers_reset (tc);
format_tcp_listener_session (u8 * s, va_list * args)
{
u32 tci = va_arg (*args, u32);
+ u32 verbose = va_arg (*args, u32);
tcp_connection_t *tc = tcp_listener_get (tci);
- return format (s, "%U", format_tcp_connection_id, tc);
+ s = format (s, "%-50U", format_tcp_connection_id, tc);
+ if (verbose)
+ s = format (s, "%-15U", format_tcp_state, tc->state);
+ return s;
}
static u8 *
/* *INDENT-OFF* */
const static transport_proto_vft_t tcp_proto = {
.enable = vnet_tcp_enable_disable,
- .bind = tcp_session_bind,
- .unbind = tcp_session_unbind,
+ .start_listen = tcp_session_bind,
+ .stop_listen = tcp_session_unbind,
.push_header = tcp_session_push_header,
.get_connection = tcp_session_get_transport,
.get_listener = tcp_session_get_listener,
.get_half_open = tcp_half_open_session_get_transport,
- .open = tcp_session_open,
+ .connect = tcp_session_open,
.close = tcp_session_close,
.cleanup = tcp_session_cleanup,
.send_mss = tcp_session_send_mss,
tcp_initialize_timer_wheels (tm);
tcp_initialize_iss_seed (tm);
- tm->bytes_per_buffer = VLIB_BUFFER_DATA_SIZE;
+ tm->bytes_per_buffer = vlib_buffer_get_default_data_size (vm);
return error;
}