![]() |
FD.io VPP
v19.08.3-2-gbabecb413
Vector Packet Processing
|
Go to the source code of this file.
Data Structures | |
struct | tcp_bt_sample_ |
struct | tcp_rate_sample_ |
struct | tcp_byte_tracker_ |
struct | tcp_errors_ |
struct | tcp_worker_ctx_ |
struct | tcp_iss_seed_ |
struct | tcp_configuration_ |
Macros | |
#define | TCP_TICK 0.001 |
TCP tick period (s) More... | |
#define | THZ (u32) (1/TCP_TICK) |
TCP tick frequency. More... | |
#define | TCP_TSTAMP_RESOLUTION TCP_TICK |
Time stamp resolution. More... | |
#define | TCP_PAWS_IDLE 24 * 24 * 60 * 60 * THZ |
24 days More... | |
#define | TCP_FIB_RECHECK_PERIOD 1 * THZ |
Recheck every 1s. More... | |
#define | TCP_MAX_OPTION_SPACE 40 |
#define | TCP_CC_DATA_SZ 24 |
#define | TCP_MAX_GSO_SZ 65536 |
#define | TCP_RXT_MAX_BURST 10 |
#define | TCP_DUPACK_THRESHOLD 3 |
#define | TCP_IW_N_SEGMENTS 10 |
#define | TCP_ALWAYS_ACK 1 |
On/off delayed acks. More... | |
#define | TCP_USE_SACKS 1 |
Disable only for testing. More... | |
#define | foreach_tcp_fsm_state |
TCP FSM state definitions as per RFC793. More... | |
#define | foreach_tcp_timer |
TCP timers. More... | |
#define | TCP_TIMER_HANDLE_INVALID ((u32) ~0) |
#define | TCP_TIMER_TICK 0.1 |
Timer tick in seconds. More... | |
#define | TCP_TO_TIMER_TICK TCP_TICK*10 |
Factor for converting ticks to timer ticks. More... | |
#define | TCP_RTO_MAX 60 * THZ /* Min max RTO (60s) as per RFC6298 */ |
#define | TCP_RTO_MIN 0.2 * THZ /* Min RTO (200ms) - lower than standard */ |
#define | TCP_RTT_MAX 30 * THZ /* 30s (probably too much) */ |
#define | TCP_RTO_SYN_RETRIES 3 /* SYN retries without doubling RTO */ |
#define | TCP_RTO_INIT 1 * THZ /* Initial retransmit timer */ |
#define | TCP_RTO_BOFF_MAX 8 /* Max number of retries before reset */ |
#define | TCP_ESTABLISH_TIME (60 * THZ) /* Connection establish timeout */ |
#define | foreach_tcp_cfg_flag |
Connection configuration flags. More... | |
#define | foreach_tcp_connection_flag |
TCP connection flags. More... | |
#define | TCP_SCOREBOARD_TRACE (0) |
#define | TCP_MAX_SACK_BLOCKS 256 |
Max number of SACK blocks stored. More... | |
#define | TCP_INVALID_SACK_HOLE_INDEX ((u32)~0) |
#define | tcp_scoreboard_trace_add(_tc, _ack) |
#define | TCP_BTS_INVALID_INDEX ((u32)~0) |
#define | tcp_fastrecovery_on(tc) (tc)->flags |= TCP_CONN_FAST_RECOVERY |
#define | tcp_fastrecovery_off(tc) (tc)->flags &= ~TCP_CONN_FAST_RECOVERY |
#define | tcp_recovery_on(tc) (tc)->flags |= TCP_CONN_RECOVERY |
#define | tcp_recovery_off(tc) (tc)->flags &= ~TCP_CONN_RECOVERY |
#define | tcp_in_fastrecovery(tc) ((tc)->flags & TCP_CONN_FAST_RECOVERY) |
#define | tcp_in_recovery(tc) ((tc)->flags & (TCP_CONN_RECOVERY)) |
#define | tcp_in_slowstart(tc) (tc->cwnd < tc->ssthresh) |
#define | tcp_disconnect_pending(tc) ((tc)->flags & TCP_CONN_DCNT_PENDING) |
#define | tcp_disconnect_pending_on(tc) ((tc)->flags |= TCP_CONN_DCNT_PENDING) |
#define | tcp_disconnect_pending_off(tc) ((tc)->flags &= ~TCP_CONN_DCNT_PENDING) |
#define | tcp_fastrecovery_first(tc) ((tc)->flags & TCP_CONN_FRXT_FIRST) |
#define | tcp_fastrecovery_first_on(tc) ((tc)->flags |= TCP_CONN_FRXT_FIRST) |
#define | tcp_fastrecovery_first_off(tc) ((tc)->flags &= ~TCP_CONN_FRXT_FIRST) |
#define | tcp_in_cong_recovery(tc) |
#define | tcp_csum_offload(tc) (!((tc)->cfg_flags & TCP_CFG_F_NO_CSUM_OFFLOAD)) |
#define | tcp_zero_rwnd_sent(tc) ((tc)->flags & TCP_CONN_ZERO_RWND_SENT) |
#define | tcp_zero_rwnd_sent_on(tc) (tc)->flags |= TCP_CONN_ZERO_RWND_SENT |
#define | tcp_zero_rwnd_sent_off(tc) (tc)->flags &= ~TCP_CONN_ZERO_RWND_SENT |
#define | tcp_error(n, s) TCP_ERROR_##n, |
#define | tcp_cfg tcp_main.cfg |
#define | tcp_node_index(node_id, is_ip4) ((is_ip4) ? tcp4_##node_id##_node.index : tcp6_##node_id##_node.index) |
#define | tcp_trajectory_add_start(b, start) |
#define | seq_lt(_s1, _s2) ((i32)((_s1)-(_s2)) < 0) |
#define | seq_leq(_s1, _s2) ((i32)((_s1)-(_s2)) <= 0) |
#define | seq_gt(_s1, _s2) ((i32)((_s1)-(_s2)) > 0) |
#define | seq_geq(_s1, _s2) ((i32)((_s1)-(_s2)) >= 0) |
#define | seq_max(_s1, _s2) (seq_gt((_s1), (_s2)) ? (_s1) : (_s2)) |
#define | timestamp_lt(_t1, _t2) ((i32)((_t1)-(_t2)) < 0) |
#define | timestamp_leq(_t1, _t2) ((i32)((_t1)-(_t2)) <= 0) |
#define | tcp_validate_txf_size(_tc, _a) |
Enumerations | |
enum | tcp_cfg_flag_bits_ { TCP_CFG_N_FLAG_BITS } |
enum | tcp_cfg_flag_ { TCP_CFG_N_FLAGS } |
enum | tcp_connection_flag_bits_ { TCP_CONN_N_FLAG_BITS } |
enum | tcp_connection_flag_ { TCP_CONN_N_FLAGS } |
enum | tcp_bts_flags_ { TCP_BTS_IS_RXT = 1, TCP_BTS_IS_APP_LIMITED = 1 << 1, TCP_BTS_IS_SACKED = 1 << 2, TCP_BTS_IS_RXT_LOST = 1 << 3 } |
enum | tcp_cc_event_ { TCP_CC_EVT_START_TX } |
#define foreach_tcp_cfg_flag |
#define foreach_tcp_connection_flag |
TCP connection flags.
#define foreach_tcp_fsm_state |
TCP FSM state definitions as per RFC793.
#define foreach_tcp_timer |
#define seq_max | ( | _s1, | |
_s2 | |||
) | (seq_gt((_s1), (_s2)) ? (_s1) : (_s2)) |
#define tcp_csum_offload | ( | tc | ) | (!((tc)->cfg_flags & TCP_CFG_F_NO_CSUM_OFFLOAD)) |
#define tcp_disconnect_pending | ( | tc | ) | ((tc)->flags & TCP_CONN_DCNT_PENDING) |
#define tcp_disconnect_pending_off | ( | tc | ) | ((tc)->flags &= ~TCP_CONN_DCNT_PENDING) |
#define tcp_disconnect_pending_on | ( | tc | ) | ((tc)->flags |= TCP_CONN_DCNT_PENDING) |
#define TCP_ESTABLISH_TIME (60 * THZ) /* Connection establish timeout */ |
#define tcp_fastrecovery_first | ( | tc | ) | ((tc)->flags & TCP_CONN_FRXT_FIRST) |
#define tcp_fastrecovery_first_off | ( | tc | ) | ((tc)->flags &= ~TCP_CONN_FRXT_FIRST) |
#define tcp_fastrecovery_first_on | ( | tc | ) | ((tc)->flags |= TCP_CONN_FRXT_FIRST) |
#define tcp_fastrecovery_off | ( | tc | ) | (tc)->flags &= ~TCP_CONN_FAST_RECOVERY |
#define tcp_fastrecovery_on | ( | tc | ) | (tc)->flags |= TCP_CONN_FAST_RECOVERY |
#define tcp_in_cong_recovery | ( | tc | ) |
#define tcp_in_fastrecovery | ( | tc | ) | ((tc)->flags & TCP_CONN_FAST_RECOVERY) |
#define tcp_in_recovery | ( | tc | ) | ((tc)->flags & (TCP_CONN_RECOVERY)) |
#define TCP_MAX_SACK_BLOCKS 256 |
#define tcp_node_index | ( | node_id, | |
is_ip4 | |||
) | ((is_ip4) ? tcp4_##node_id##_node.index : tcp6_##node_id##_node.index) |
#define tcp_recovery_off | ( | tc | ) | (tc)->flags &= ~TCP_CONN_RECOVERY |
#define tcp_recovery_on | ( | tc | ) | (tc)->flags |= TCP_CONN_RECOVERY |
#define TCP_RTO_BOFF_MAX 8 /* Max number of retries before reset */ |
#define TCP_RTO_MAX 60 * THZ /* Min max RTO (60s) as per RFC6298 */ |
#define TCP_RTO_MIN 0.2 * THZ /* Min RTO (200ms) - lower than standard */ |
#define TCP_RTO_SYN_RETRIES 3 /* SYN retries without doubling RTO */ |
#define TCP_TO_TIMER_TICK TCP_TICK*10 |
#define tcp_validate_txf_size | ( | _tc, | |
_a | |||
) |
#define tcp_zero_rwnd_sent | ( | tc | ) | ((tc)->flags & TCP_CONN_ZERO_RWND_SENT) |
#define tcp_zero_rwnd_sent_off | ( | tc | ) | (tc)->flags &= ~TCP_CONN_ZERO_RWND_SENT |
#define tcp_zero_rwnd_sent_on | ( | tc | ) | (tc)->flags |= TCP_CONN_ZERO_RWND_SENT |
typedef struct _sack_scoreboard_hole sack_scoreboard_hole_t |
typedef struct _sack_scoreboard sack_scoreboard_t |
typedef struct _scoreboard_trace_elt scoreboard_trace_elt_t |
typedef struct tcp_bt_sample_ tcp_bt_sample_t |
typedef enum tcp_bts_flags_ tcp_bts_flags_t |
typedef struct tcp_byte_tracker_ tcp_byte_tracker_t |
typedef enum _tcp_cc_ack_t tcp_cc_ack_t |
typedef struct _tcp_cc_algorithm tcp_cc_algorithm_t |
typedef enum _tcp_cc_algorithm_type tcp_cc_algorithm_type_e |
typedef enum tcp_cc_event_ tcp_cc_event_t |
typedef enum tcp_cfg_flag_bits_ tcp_cfg_flag_bits_e |
typedef enum tcp_cfg_flag_ tcp_cfg_flags_e |
typedef struct tcp_configuration_ tcp_configuration_t |
typedef enum tcp_connection_flag_bits_ tcp_connection_flag_bits_e |
typedef enum tcp_connection_flag_ tcp_connection_flags_e |
typedef struct _tcp_connection tcp_connection_t |
typedef enum _tcp_error tcp_error_t |
typedef struct tcp_errors_ tcp_errors_t |
typedef struct tcp_iss_seed_ tcp_iss_seed_t |
typedef struct _tcp_lookup_dispatch tcp_lookup_dispatch_t |
typedef struct _tcp_main tcp_main_t |
typedef struct tcp_rate_sample_ tcp_rate_sample_t |
typedef enum _tcp_state tcp_state_t |
typedef enum _tcp_timers tcp_timers_e |
typedef struct tcp_worker_ctx_ tcp_worker_ctx_t |
enum tcp_bts_flags_ |
enum tcp_cc_event_ |
enum tcp_cfg_flag_ |
enum tcp_cfg_flag_bits_ |
enum tcp_connection_flag_ |
void newreno_rcv_cong_ack | ( | tcp_connection_t * | tc, |
tcp_cc_ack_t | ack_type, | ||
tcp_rate_sample_t * | rs | ||
) |
void scoreboard_clear | ( | sack_scoreboard_t * | sb | ) |
Definition at line 949 of file tcp_input.c.
void scoreboard_clear_reneging | ( | sack_scoreboard_t * | sb, |
u32 | start, | ||
u32 | end | ||
) |
Definition at line 968 of file tcp_input.c.
sack_scoreboard_hole_t* scoreboard_first_hole | ( | sack_scoreboard_t * | sb | ) |
sack_scoreboard_hole_t* scoreboard_get_hole | ( | sack_scoreboard_t * | sb, |
u32 | index | ||
) |
void scoreboard_init | ( | sack_scoreboard_t * | sb | ) |
void scoreboard_init_rxt | ( | sack_scoreboard_t * | sb, |
u32 | snd_una | ||
) |
Definition at line 927 of file tcp_input.c.
sack_scoreboard_hole_t* scoreboard_last_hole | ( | sack_scoreboard_t * | sb | ) |
sack_scoreboard_hole_t* scoreboard_next_hole | ( | sack_scoreboard_t * | sb, |
sack_scoreboard_hole_t * | hole | ||
) |
sack_scoreboard_hole_t* scoreboard_next_rxt_hole | ( | sack_scoreboard_t * | sb, |
sack_scoreboard_hole_t * | start, | ||
u8 | have_unsent, | ||
u8 * | can_rescue, | ||
u8 * | snd_limited | ||
) |
Figure out the next hole to retransmit.
Follows logic proposed in RFC6675 Sec. 4, NextSeg()
Definition at line 867 of file tcp_input.c.
sack_scoreboard_hole_t* scoreboard_prev_hole | ( | sack_scoreboard_t * | sb, |
sack_scoreboard_hole_t * | hole | ||
) |
void tcp_api_reference | ( | void | ) |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
void tcp_bt_check_app_limited | ( | tcp_connection_t * | tc | ) |
void tcp_bt_cleanup | ( | tcp_connection_t * | tc | ) |
void tcp_bt_flush_samples | ( | tcp_connection_t * | tc | ) |
void tcp_bt_init | ( | tcp_connection_t * | tc | ) |
int tcp_bt_is_sane | ( | tcp_byte_tracker_t * | bt | ) |
void tcp_bt_sample_delivery_rate | ( | tcp_connection_t * | tc, |
tcp_rate_sample_t * | rs | ||
) |
void tcp_bt_track_rxt | ( | tcp_connection_t * | tc, |
u32 | start, | ||
u32 | end | ||
) |
void tcp_bt_track_tx | ( | tcp_connection_t * | tc, |
u32 | len | ||
) |
|
inlinestatic |
|
inlinestatic |
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 | ) |
void tcp_cc_algo_register | ( | tcp_cc_algorithm_type_e | type, |
const tcp_cc_algorithm_t * | vft | ||
) |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
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.
vm | vlib_main_t pointer |
start | first ipv4 address in the source address range |
end | last ipv4 address in the source address range |
table_id | VRF / table ID, 0 for the default FIB |
Definition at line 1850 of file tcp.c.
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.
vm | vlib_main_t pointer |
start | first ipv6 address in the source address range |
end | last ipv6 address in the source address range |
table_id | VRF / table ID, 0 for the default FIB |
Definition at line 1938 of file tcp.c.
|
inlinestatic |
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_cleanup | ( | tcp_connection_t * | tc | ) |
void tcp_connection_close | ( | tcp_connection_t * | tc | ) |
Begin connection closing procedure.
If at the end the connection is not in CLOSED state, it is not removed. Instead, we rely on on TCP to advance through state machine to either 1) LAST_ACK (passive close) whereby when the last ACK is received tcp_connection_del is called. This notifies session of the delete and calls cleanup. 2) TIME_WAIT (active close) whereby after 2MSL the 2MSL timer triggers and cleanup is called.
N.B. Half-close connections are not supported
Definition at line 402 of file tcp.c.
void tcp_connection_del | ( | tcp_connection_t * | tc | ) |
Connection removal.
This should be called only once connection enters CLOSED state. Note that it notifies the session of the removal event, so if the goal is to just remove the connection, call tcp_connection_cleanup instead.
Definition at line 292 of file tcp.c.
void tcp_connection_free | ( | tcp_connection_t * | tc | ) |
|
inlinestatic |
|
inlinestatic |
void tcp_connection_init_vars | ( | tcp_connection_t * | tc | ) |
Initialize tcp connection variables.
Should be called after having received a msg from the peer, i.e., a SYN or a SYNACK, such that connection options have already been exchanged.
Definition at line 724 of file tcp.c.
void tcp_connection_reset | ( | tcp_connection_t * | tc | ) |
|
inlinestatic |
void tcp_connection_timers_init | ( | tcp_connection_t * | tc | ) |
void tcp_connection_timers_reset | ( | tcp_connection_t * | tc | ) |
void tcp_connection_tx_pacer_reset | ( | tcp_connection_t * | tc, |
u32 | window, | ||
u32 | start_bucket | ||
) |
void tcp_connection_tx_pacer_update | ( | tcp_connection_t * | tc | ) |
|
inlinestatic |
|
inlinestatic |
int tcp_fastrecovery_prr_snd_space | ( | tcp_connection_t * | tc | ) |
Estimate send space using proportional rate reduction (RFC6937)
Definition at line 1803 of file tcp_output.c.
|
inlinestatic |
void tcp_flush_frames_to_output | ( | tcp_worker_ctx_t * | wrk | ) |
Flush v4 and v6 tcp and ip-lookup tx frames for thread index.
Definition at line 1002 of file tcp_output.c.
|
inlinestatic |
|
inlinestatic |
int tcp_half_open_connection_cleanup | ( | tcp_connection_t * | tc | ) |
Try to cleanup half-open connection.
If called from a thread that doesn't own tc, the call won't have any effect.
tc | - connection to be cleaned up |
Definition at line 211 of file tcp.c.
|
inlinestatic |
void tcp_init_snd_vars | ( | tcp_connection_t * | tc | ) |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
fib_node_index_t tcp_lookup_rmt_in_fib | ( | tcp_connection_t * | tc | ) |
|
inlinestatic |
void tcp_make_fin | ( | tcp_connection_t * | tc, |
vlib_buffer_t * | b | ||
) |
Convert buffer to FIN-ACK.
Definition at line 566 of file tcp_output.c.
void tcp_make_synack | ( | tcp_connection_t * | ts, |
vlib_buffer_t * | b | ||
) |
Convert buffer to SYN-ACK.
Definition at line 601 of file tcp_output.c.
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
void tcp_program_ack | ( | tcp_connection_t * | tc | ) |
Definition at line 1181 of file tcp_output.c.
void tcp_program_dupack | ( | tcp_connection_t * | tc | ) |
Definition at line 1191 of file tcp_output.c.
void tcp_program_retransmit | ( | tcp_connection_t * | tc | ) |
Definition at line 1203 of file tcp_output.c.
void tcp_punt_unknown | ( | vlib_main_t * | vm, |
u8 | is_ip4, | ||
u8 | is_add | ||
) |
void tcp_rcv_sacks | ( | tcp_connection_t * | tc, |
u32 | ack | ||
) |
Definition at line 1003 of file tcp_input.c.
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
u32 tcp_sack_list_bytes | ( | tcp_connection_t * | tc | ) |
u8* tcp_scoreboard_replay | ( | u8 * | s, |
tcp_connection_t * | tc, | ||
u8 | verbose | ||
) |
void tcp_send_ack | ( | tcp_connection_t * | tc | ) |
Definition at line 1162 of file tcp_output.c.
void tcp_send_fin | ( | tcp_connection_t * | tc | ) |
Send FIN.
Definition at line 1012 of file tcp_output.c.
void tcp_send_reset | ( | tcp_connection_t * | tc | ) |
Build and set reset packet for connection.
Definition at line 858 of file tcp_output.c.
void tcp_send_reset_w_pkt | ( | tcp_connection_t * | tc, |
vlib_buffer_t * | pkt, | ||
u32 | thread_index, | ||
u8 | is_ip4 | ||
) |
Send reset without reusing existing buffer.
It extracts connection info out of original packet
Definition at line 775 of file tcp_output.c.
void tcp_send_syn | ( | tcp_connection_t * | tc | ) |
Send SYN.
Builds a SYN packet for a half-open connection and sends it to ipx_lookup. The packet is not forwarded through tcpx_output to avoid doing lookups in the half_open pool.
Definition at line 924 of file tcp_output.c.
void tcp_send_synack | ( | tcp_connection_t * | tc | ) |
Definition at line 959 of file tcp_output.c.
void tcp_send_window_update_ack | ( | tcp_connection_t * | tc | ) |
Send window update ack.
Ensures that it will be sent only once, after a zero rwnd has been advertised in a previous ack, and only if rwnd has grown beyond a configurable value.
Definition at line 1234 of file tcp_output.c.
int tcp_session_custom_tx | ( | void * | conn, |
u32 | max_burst_size | ||
) |
Definition at line 2178 of file tcp_output.c.
u32 tcp_session_push_header | ( | transport_connection_t * | tconn, |
vlib_buffer_t * | b | ||
) |
Definition at line 1134 of file tcp_output.c.
|
inlinestatic |
u32 tcp_snd_space | ( | tcp_connection_t * | tc | ) |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
void tcp_update_burst_snd_vars | ( | tcp_connection_t * | tc | ) |
Update burst send vars.
This should only be called when doing bursts
Definition at line 387 of file tcp_output.c.
void tcp_update_rto | ( | tcp_connection_t * | tc | ) |
void tcp_update_sack_list | ( | tcp_connection_t * | tc, |
u32 | start, | ||
u32 | end | ||
) |
Build SACK list as per RFC2018.
Makes sure the first block contains the segment that generated the current ACK and the following ones are the ones most recently reported in SACK blocks.
tc | TCP connection for which the SACK list is updated |
start | Start sequence number of the newest SACK block |
end | End sequence of the newest SACK block |
Definition at line 1762 of file tcp_input.c.
|
inlinestatic |
Push TCP header to buffer.
b | - buffer to write the header to |
sp_net | - source port net order |
dp_net | - destination port net order |
seq | - sequence number host order |
ack | - ack number host order |
tcp_hdr_opts_len | - header and options length in bytes |
flags | - header flags |
wnd | - window size |
Definition at line 1293 of file tcp.h.
|
inlinestatic |
Push TCP header to buffer.
vm | - vlib_main |
b | - buffer to write the header to |
sp_net | - source port net order |
dp_net | - destination port net order |
seq | - sequence number net order |
ack | - ack number net order |
tcp_hdr_opts_len | - header and options length in bytes |
flags | - header flags |
wnd | - window size |
Definition at line 1256 of file tcp.h.
|
inlinestatic |
clib_error_t* vnet_tcp_enable_disable | ( | vlib_main_t * | vm, |
u8 | is_en | ||
) |
format_function_t format_tcp_flags |
format_function_t format_tcp_rcv_sacks |
format_function_t format_tcp_sacks |
format_function_t format_tcp_state |
vlib_node_registration_t tcp4_established_node |
(constructor) VLIB_REGISTER_NODE (tcp4_established_node)
Definition at line 2264 of file tcp_input.c.
vlib_node_registration_t tcp4_input_node |
(constructor) VLIB_REGISTER_NODE (tcp4_input_node)
Definition at line 3775 of file tcp_input.c.
vlib_node_registration_t tcp4_listen_node |
(constructor) VLIB_REGISTER_NODE (tcp4_listen_node)
Definition at line 3349 of file tcp_input.c.
vlib_node_registration_t tcp4_output_node |
(constructor) VLIB_REGISTER_NODE (tcp4_output_node)
Definition at line 2479 of file tcp_output.c.
vlib_node_registration_t tcp4_rcv_process_node |
(constructor) VLIB_REGISTER_NODE (tcp4_rcv_process_node)
Definition at line 3146 of file tcp_input.c.
vlib_node_registration_t tcp4_syn_sent_node |
(constructor) VLIB_REGISTER_NODE (tcp4_syn_sent_node)
Definition at line 2713 of file tcp_input.c.
vlib_node_registration_t tcp6_established_node |
(constructor) VLIB_REGISTER_NODE (tcp6_established_node)
Definition at line 2283 of file tcp_input.c.
vlib_node_registration_t tcp6_input_node |
(constructor) VLIB_REGISTER_NODE (tcp6_input_node)
Definition at line 3795 of file tcp_input.c.
vlib_node_registration_t tcp6_listen_node |
(constructor) VLIB_REGISTER_NODE (tcp6_listen_node)
Definition at line 3368 of file tcp_input.c.
vlib_node_registration_t tcp6_output_node |
(constructor) VLIB_REGISTER_NODE (tcp6_output_node)
Definition at line 2499 of file tcp_output.c.
vlib_node_registration_t tcp6_rcv_process_node |
(constructor) VLIB_REGISTER_NODE (tcp6_rcv_process_node)
Definition at line 3165 of file tcp_input.c.
vlib_node_registration_t tcp6_syn_sent_node |
(constructor) VLIB_REGISTER_NODE (tcp6_syn_sent_node)
Definition at line 2732 of file tcp_input.c.
tcp_main_t tcp_main |
timer_expiration_handler tcp_timer_delack_handler |
timer_expiration_handler tcp_timer_persist_handler |
timer_expiration_handler tcp_timer_retransmit_handler |
timer_expiration_handler tcp_timer_retransmit_syn_handler |