|
static void | tcp_add_del_adj_cb (tcp_add_del_adj_args_t *args) |
|
static void | tcp_add_del_adjacency (tcp_connection_t *tc, u8 is_add) |
|
static void | tcp_cc_init (tcp_connection_t *tc) |
|
static void | tcp_cc_cleanup (tcp_connection_t *tc) |
|
void | tcp_cc_algo_register (tcp_cc_algorithm_type_e type, const tcp_cc_algorithm_t *vft) |
| Register exiting cc algo type. More...
|
|
tcp_cc_algorithm_t * | tcp_cc_algo_get (tcp_cc_algorithm_type_e type) |
|
tcp_cc_algorithm_type_e | tcp_cc_algo_new_type (const tcp_cc_algorithm_t *vft) |
| Register new cc algo type. More...
|
|
static u32 | tcp_connection_bind (u32 session_index, transport_endpoint_t *lcl) |
|
static u32 | tcp_session_bind (u32 session_index, transport_endpoint_t *tep) |
|
static void | tcp_connection_unbind (u32 listener_index) |
|
static u32 | tcp_session_unbind (u32 listener_index) |
|
static transport_connection_t * | tcp_session_get_listener (u32 listener_index) |
|
static void | tcp_half_open_connection_del (tcp_connection_t *tc) |
| Cleanup half-open connection. More...
|
|
int | tcp_half_open_connection_cleanup (tcp_connection_t *tc) |
| Try to cleanup half-open connection. More...
|
|
static tcp_connection_t * | tcp_half_open_connection_new (void) |
|
void | tcp_connection_cleanup (tcp_connection_t *tc) |
| Cleans up connection state. More...
|
|
void | tcp_connection_del (tcp_connection_t *tc) |
| Connection removal. More...
|
|
tcp_connection_t * | tcp_connection_alloc (u8 thread_index) |
|
tcp_connection_t * | tcp_connection_alloc_w_base (u8 thread_index, tcp_connection_t *base) |
|
void | tcp_connection_free (tcp_connection_t *tc) |
|
void | tcp_connection_reset (tcp_connection_t *tc) |
| Notify session that connection has been reset. More...
|
|
void | tcp_connection_close (tcp_connection_t *tc) |
| Begin connection closing procedure. More...
|
|
static void | tcp_session_close (u32 conn_index, u32 thread_index) |
|
static void | tcp_session_cleanup (u32 conn_index, u32 thread_index) |
|
static void | tcp_session_reset (u32 conn_index, u32 thread_index) |
|
void | tcp_connection_timers_init (tcp_connection_t *tc) |
| Initialize all connection timers as invalid. More...
|
|
void | tcp_connection_timers_reset (tcp_connection_t *tc) |
| Stop all connection timers. More...
|
|
static u32 | tcp_generate_random_iss (tcp_connection_t *tc) |
| Generate random iss as per rfc6528. More...
|
|
static void | tcp_init_rcv_mss (tcp_connection_t *tc) |
| Initialize max segment size we're able to process. More...
|
|
static void | tcp_init_mss (tcp_connection_t *tc) |
|
void | tcp_init_snd_vars (tcp_connection_t *tc) |
| Initialize connection send variables. More...
|
|
void | tcp_enable_pacing (tcp_connection_t *tc) |
|
void | tcp_connection_init_vars (tcp_connection_t *tc) |
| Initialize tcp connection variables. More...
|
|
static int | tcp_alloc_custom_local_endpoint (tcp_main_t *tm, ip46_address_t *lcl_addr, u16 *lcl_port, u8 is_ip4) |
|
static int | tcp_session_open (transport_endpoint_cfg_t *rmt) |
|
u8 * | format_tcp_state (u8 *s, va_list *args) |
|
static u8 * | format_tcp_cfg_flags (u8 *s, va_list *args) |
|
static u8 * | format_tcp_connection_flags (u8 *s, va_list *args) |
|
static u8 * | format_tcp_timers (u8 *s, va_list *args) |
|
static u8 * | format_tcp_congestion_status (u8 *s, va_list *args) |
|
static i32 | tcp_rcv_wnd_available (tcp_connection_t *tc) |
|
static u8 * | format_tcp_congestion (u8 *s, va_list *args) |
|
static u8 * | format_tcp_stats (u8 *s, va_list *args) |
|
static u8 * | format_tcp_vars (u8 *s, va_list *args) |
|
u8 * | format_tcp_connection_id (u8 *s, va_list *args) |
|
u8 * | format_tcp_connection (u8 *s, va_list *args) |
|
static u8 * | format_tcp_session (u8 *s, va_list *args) |
|
static u8 * | format_tcp_listener_session (u8 *s, va_list *args) |
|
static u8 * | format_tcp_half_open_session (u8 *s, va_list *args) |
|
u8 * | format_tcp_sacks (u8 *s, va_list *args) |
|
u8 * | format_tcp_rcv_sacks (u8 *s, va_list *args) |
|
static u8 * | format_tcp_sack_hole (u8 *s, va_list *args) |
|
u8 * | format_tcp_scoreboard (u8 *s, va_list *args) |
|
static transport_connection_t * | tcp_session_get_transport (u32 conn_index, u32 thread_index) |
|
static transport_connection_t * | tcp_half_open_session_get_transport (u32 conn_index) |
|
static u16 | tcp_session_cal_goal_size (tcp_connection_t *tc) |
|
static u16 | tcp_session_send_mss (transport_connection_t *trans_conn) |
| Compute maximum segment size for session layer. More...
|
|
static u32 | tcp_round_snd_space (tcp_connection_t *tc, u32 snd_space) |
|
static u32 | tcp_snd_space_inline (tcp_connection_t *tc) |
| Compute tx window session is allowed to fill. More...
|
|
u32 | tcp_snd_space (tcp_connection_t *tc) |
|
static u32 | tcp_session_send_space (transport_connection_t *trans_conn) |
|
static u32 | tcp_session_tx_fifo_offset (transport_connection_t *trans_conn) |
|
static void | tcp_update_time (f64 now, u8 thread_index) |
|
static void | tcp_session_flush_data (transport_connection_t *tconn) |
|
void | tcp_connection_tx_pacer_update (tcp_connection_t *tc) |
|
void | tcp_connection_tx_pacer_reset (tcp_connection_t *tc, u32 window, u32 start_bucket) |
|
static void | tcp_timer_waitclose_handler (u32 conn_index, u32 thread_index) |
|
static void | tcp_expired_timers_dispatch (u32 *expired_timers) |
|
static void | tcp_initialize_timer_wheels (tcp_main_t *tm) |
|
static void | tcp_initialize_iss_seed (tcp_main_t *tm) |
|
static clib_error_t * | tcp_main_enable (vlib_main_t *vm) |
|
clib_error_t * | vnet_tcp_enable_disable (vlib_main_t *vm, u8 is_en) |
|
void | tcp_punt_unknown (vlib_main_t *vm, u8 is_ip4, u8 is_add) |
|
static void | tcp_configuration_init (void) |
| Initialize default values for tcp parameters. More...
|
|
static clib_error_t * | tcp_init (vlib_main_t *vm) |
|
uword | unformat_tcp_cc_algo (unformat_input_t *input, va_list *va) |
|
uword | unformat_tcp_cc_algo_cfg (unformat_input_t *input, va_list *va) |
|
static clib_error_t * | tcp_config_fn (vlib_main_t *vm, unformat_input_t *input) |
|
int | tcp_configure_v4_source_address_range (vlib_main_t *vm, ip4_address_t *start, ip4_address_t *end, u32 table_id) |
| Configure an ipv4 source address range. More...
|
|
int | tcp_configure_v6_source_address_range (vlib_main_t *vm, ip6_address_t *start, ip6_address_t *end, u32 table_id) |
| Configure an ipv6 source address range. More...
|
|
static clib_error_t * | tcp_src_address (vlib_main_t *vm, unformat_input_t *input, vlib_cli_command_t *cmd_arg) |
|
static u8 * | tcp_scoreboard_dump_trace (u8 *s, sack_scoreboard_t *sb) |
|
static clib_error_t * | tcp_show_scoreboard_trace_fn (vlib_main_t *vm, unformat_input_t *input, vlib_cli_command_t *cmd_arg) |
|
u8 * | tcp_scoreboard_replay (u8 *s, tcp_connection_t *tc, u8 verbose) |
|
static clib_error_t * | tcp_scoreboard_trace_fn (vlib_main_t *vm, unformat_input_t *input, vlib_cli_command_t *cmd_arg) |
|
static clib_error_t * | show_tcp_punt_fn (vlib_main_t *vm, unformat_input_t *input, vlib_cli_command_t *cmd_arg) |
|
TCP host stack utilities.
Definition in file tcp.c.