|
u8 * | format_tcp_tx_trace (u8 *s, va_list *args) |
|
void | tcp_set_snd_mss (tcp_connection_t *tc) |
|
static u8 | tcp_window_compute_scale (u32 available_space) |
|
static u32 | tcp_initial_wnd_unscaled (tcp_connection_t *tc) |
| TCP's IW as recommended by RFC6928. More...
|
|
u32 | tcp_initial_window_to_advertise (tcp_connection_t *tc) |
| Compute initial window and scale factor. More...
|
|
u32 | tcp_window_to_advertise (tcp_connection_t *tc, tcp_state_t state) |
| Compute and return window to advertise, scaled as per RFC1323. More...
|
|
u32 | tcp_options_write (u8 *data, tcp_options_t *opts) |
| Write TCP options to segment. More...
|
|
static int | tcp_make_syn_options (tcp_options_t *opts, u8 wnd_scale) |
|
static int | tcp_make_synack_options (tcp_connection_t *tc, tcp_options_t *opts) |
|
static int | tcp_make_established_options (tcp_connection_t *tc, tcp_options_t *opts) |
|
static int | tcp_make_options (tcp_connection_t *tc, tcp_options_t *opts, tcp_state_t state) |
|
static void | tcp_reuse_buffer (vlib_main_t *vm, vlib_buffer_t *b) |
|
void | tcp_make_ack_i (tcp_connection_t *tc, vlib_buffer_t *b, tcp_state_t state, u8 flags) |
| Prepare ACK. More...
|
|
void | tcp_make_ack (tcp_connection_t *tc, vlib_buffer_t *b) |
| Convert buffer to ACK. More...
|
|
void | tcp_make_fin (tcp_connection_t *tc, vlib_buffer_t *b) |
| Convert buffer to FIN-ACK. More...
|
|
void | tcp_make_synack (tcp_connection_t *tc, vlib_buffer_t *b) |
| Convert buffer to SYN-ACK. More...
|
|
static void | tcp_enqueue_to_ip_lookup (vlib_main_t *vm, vlib_buffer_t *b, u32 bi, u8 is_ip4) |
|
int | tcp_make_reset_in_place (vlib_main_t *vm, vlib_buffer_t *b0, tcp_state_t state, u32 my_thread_index, u8 is_ip4) |
|
void | tcp_send_reset (vlib_buffer_t *pkt, u8 is_ip4) |
| Send reset without reusing existing buffer. More...
|
|
void | tcp_push_ip_hdr (tcp_main_t *tm, tcp_connection_t *tc, vlib_buffer_t *b) |
|
void | tcp_send_syn (tcp_connection_t *tc) |
| Send SYN. More...
|
|
static void | tcp_enqueue_to_output (vlib_main_t *vm, vlib_buffer_t *b, u32 bi, u8 is_ip4) |
|
void | tcp_send_fin (tcp_connection_t *tc) |
| Send FIN. More...
|
|
static u8 | tcp_make_state_flags (tcp_state_t next_state) |
|
static void | tcp_push_hdr_i (tcp_connection_t *tc, vlib_buffer_t *b, tcp_state_t next_state) |
| Push TCP header and update connection variables. More...
|
|
void | tcp_timer_delack_handler (u32 index) |
|
u32 | tcp_prepare_retransmit_segment (tcp_connection_t *tc, vlib_buffer_t *b, u32 max_bytes) |
| Build a retransmit segment. More...
|
|
static void | tcp_timer_retransmit_handler_i (u32 index, u8 is_syn) |
|
void | tcp_timer_retransmit_handler (u32 index) |
|
void | tcp_timer_retransmit_syn_handler (u32 index) |
|
void | tcp_retransmit_first_unacked (tcp_connection_t *tc) |
| Retansmit first unacked segment. More...
|
|
void | tcp_fast_retransmit (tcp_connection_t *tc) |
|
static u32 | tcp_session_has_ooo_data (tcp_connection_t *tc) |
|
static uword | tcp46_output_inline (vlib_main_t *vm, vlib_node_runtime_t *node, vlib_frame_t *from_frame, int is_ip4) |
|
static uword | tcp4_output (vlib_main_t *vm, vlib_node_runtime_t *node, vlib_frame_t *from_frame) |
|
static uword | tcp6_output (vlib_main_t *vm, vlib_node_runtime_t *node, vlib_frame_t *from_frame) |
|
| VLIB_NODE_FUNCTION_MULTIARCH (tcp4_output_node, tcp4_output) |
|
| VLIB_NODE_FUNCTION_MULTIARCH (tcp6_output_node, tcp6_output) |
|
u32 | tcp_push_header (transport_connection_t *tconn, vlib_buffer_t *b) |
|
static uword | tcp46_send_reset_inline (vlib_main_t *vm, vlib_node_runtime_t *node, vlib_frame_t *from_frame, u8 is_ip4) |
|
static uword | tcp4_send_reset (vlib_main_t *vm, vlib_node_runtime_t *node, vlib_frame_t *from_frame) |
|
static uword | tcp6_send_reset (vlib_main_t *vm, vlib_node_runtime_t *node, vlib_frame_t *from_frame) |
|
| VLIB_NODE_FUNCTION_MULTIARCH (tcp4_reset_node, tcp4_send_reset) |
|
| VLIB_NODE_FUNCTION_MULTIARCH (tcp6_reset_node, tcp6_send_reset) |
|