X-Git-Url: https://gerrit.fd.io/r/gitweb?a=blobdiff_plain;f=src%2Fvnet%2Ftcp%2Ftcp.h;h=2362a8bb85785e68bb92b84b393ec1edf4c6f30d;hb=e8ea6be8dfb626b5bb4ff3355ce8037724ce1d83;hp=710561fb24ac54045ed70863b444544d45f5d7a1;hpb=505fd37b31aa5a7d242184ebe281dbd4622ad277;p=vpp.git diff --git a/src/vnet/tcp/tcp.h b/src/vnet/tcp/tcp.h index 710561fb24a..2362a8bb857 100644 --- a/src/vnet/tcp/tcp.h +++ b/src/vnet/tcp/tcp.h @@ -66,6 +66,13 @@ typedef struct tcp_wrk_stats_ #undef _ } tcp_wrk_stats_t; +typedef enum +{ +#define _(name, type, str) TCP_STAT_##name, + foreach_tcp_wrk_stat +#undef _ +} tcp_wrk_stats_e; + typedef struct tcp_free_req_ { clib_time_type_t free_time; @@ -215,9 +222,6 @@ typedef struct _tcp_main /** vlib buffer size */ u32 bytes_per_buffer; - /** Session layer edge indices to ip lookup (syns, rst) */ - u32 ipl_next_node[2]; - /** Dispatch table by state and flags */ tcp_lookup_dispatch_t dispatch_table[TCP_N_STATES][64]; @@ -236,6 +240,9 @@ typedef struct _tcp_main /** Flag that indicates if stack is on or off */ u8 is_enabled; + /** Set if counters on stats segment initialized */ + u8 counters_init; + /** Flag that indicates if v4 punting is enabled */ u8 punt_unknown4; @@ -268,6 +275,10 @@ extern vlib_node_registration_t tcp4_rcv_process_node; extern vlib_node_registration_t tcp6_rcv_process_node; extern vlib_node_registration_t tcp4_listen_node; extern vlib_node_registration_t tcp6_listen_node; +extern vlib_node_registration_t tcp4_input_nolookup_node; +extern vlib_node_registration_t tcp6_input_nolookup_node; +extern vlib_node_registration_t tcp4_drop_node; +extern vlib_node_registration_t tcp6_drop_node; #define tcp_cfg tcp_main.cfg #define tcp_node_index(node_id, is_ip4) \ @@ -313,8 +324,8 @@ u32 tcp_snd_space (tcp_connection_t * tc); int tcp_fastrecovery_prr_snd_space (tcp_connection_t * tc); void tcp_reschedule (tcp_connection_t * tc); fib_node_index_t tcp_lookup_rmt_in_fib (tcp_connection_t * tc); -u32 tcp_session_push_header (transport_connection_t * tconn, - vlib_buffer_t * b); +u32 tcp_session_push_header (transport_connection_t *tconn, vlib_buffer_t **b, + u32 n_bufs); int tcp_session_custom_tx (void *conn, transport_send_params_t * sp); void tcp_connection_timers_init (tcp_connection_t * tc);