![]() |
FD.io VPP
v20.09-64-g4f7b92f0a
Vector Packet Processing
|
Include dependency graph for tcp_types.h:
This graph shows which files directly or indirectly include this file: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_ |
Macros | |
| #define | TCP_TICK 0.000001 |
| TCP tick period (s) More... | |
| #define | THZ (u32) (1/TCP_TICK) |
| TCP tick frequency. More... | |
| #define | TCP_TSTP_TICK 0.001 |
| Timestamp tick (s) More... | |
| #define | TCP_TSTP_HZ (u32) (1/TCP_TSTP_TICK) |
| Timestamp freq. More... | |
| #define | TCP_PAWS_IDLE (24 * 86400 * TCP_TSTP_HZ) |
| 24 days More... | |
| #define | TCP_TSTP_TO_HZ (u32) (TCP_TSTP_TICK * THZ) |
| #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 255 |
| Max number of SACK blocks stored. More... | |
| #define | TCP_INVALID_SACK_HOLE_INDEX ((u32)~0) |
| #define | TCP_MAX_SACK_REORDER 300 |
| #define | TCP_BTS_INVALID_INDEX ((u32)~0) |
| #define | rst_state snd_wl1 |
| #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 |
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 } |
Functions | |
| static void | tcp_cong_recovery_off (tcp_connection_t *tc) |
| static tcp_connection_t * | tcp_get_connection_from_transport (transport_connection_t *tconn) |
| #define foreach_tcp_cfg_flag |
Connection configuration flags.
Definition at line 97 of file tcp_types.h.
| #define foreach_tcp_connection_flag |
TCP connection flags.
Definition at line 121 of file tcp_types.h.
| #define foreach_tcp_fsm_state |
TCP FSM state definitions as per RFC793.
Definition at line 45 of file tcp_types.h.
| #define foreach_tcp_timer |
TCP timers.
Definition at line 67 of file tcp_types.h.
| #define rst_state snd_wl1 |
Definition at line 393 of file tcp_types.h.
| #define TCP_ALWAYS_ACK 1 |
On/off delayed acks.
Definition at line 41 of file tcp_types.h.
| #define TCP_BTS_INVALID_INDEX ((u32)~0) |
Definition at line 199 of file tcp_types.h.
| #define TCP_CC_DATA_SZ 24 |
Definition at line 35 of file tcp_types.h.
| #define tcp_csum_offload | ( | tc | ) | (!((tc)->cfg_flags & TCP_CFG_F_NO_CSUM_OFFLOAD)) |
Definition at line 439 of file tcp_types.h.
| #define tcp_disconnect_pending | ( | tc | ) | ((tc)->flags & TCP_CONN_DCNT_PENDING) |
Definition at line 422 of file tcp_types.h.
| #define tcp_disconnect_pending_off | ( | tc | ) | ((tc)->flags &= ~TCP_CONN_DCNT_PENDING) |
Definition at line 424 of file tcp_types.h.
| #define tcp_disconnect_pending_on | ( | tc | ) | ((tc)->flags |= TCP_CONN_DCNT_PENDING) |
Definition at line 423 of file tcp_types.h.
| #define TCP_DUPACK_THRESHOLD 3 |
Definition at line 39 of file tcp_types.h.
| #define TCP_ESTABLISH_TIME (60 * THZ) /* Connection establish timeout */ |
Definition at line 94 of file tcp_types.h.
| #define tcp_fastrecovery_first | ( | tc | ) | ((tc)->flags & TCP_CONN_FRXT_FIRST) |
Definition at line 425 of file tcp_types.h.
| #define tcp_fastrecovery_first_off | ( | tc | ) | ((tc)->flags &= ~TCP_CONN_FRXT_FIRST) |
Definition at line 427 of file tcp_types.h.
| #define tcp_fastrecovery_first_on | ( | tc | ) | ((tc)->flags |= TCP_CONN_FRXT_FIRST) |
Definition at line 426 of file tcp_types.h.
| #define tcp_fastrecovery_off | ( | tc | ) | (tc)->flags &= ~TCP_CONN_FAST_RECOVERY |
Definition at line 416 of file tcp_types.h.
| #define tcp_fastrecovery_on | ( | tc | ) | (tc)->flags |= TCP_CONN_FAST_RECOVERY |
Definition at line 415 of file tcp_types.h.
| #define TCP_FIB_RECHECK_PERIOD 1 * THZ |
Recheck every 1s.
Definition at line 33 of file tcp_types.h.
| #define tcp_in_cong_recovery | ( | tc | ) |
Definition at line 429 of file tcp_types.h.
| #define tcp_in_fastrecovery | ( | tc | ) | ((tc)->flags & TCP_CONN_FAST_RECOVERY) |
Definition at line 419 of file tcp_types.h.
| #define tcp_in_recovery | ( | tc | ) | ((tc)->flags & (TCP_CONN_RECOVERY)) |
Definition at line 420 of file tcp_types.h.
| #define tcp_in_slowstart | ( | tc | ) | (tc->cwnd < tc->ssthresh) |
Definition at line 421 of file tcp_types.h.
| #define TCP_INVALID_SACK_HOLE_INDEX ((u32)~0) |
Definition at line 154 of file tcp_types.h.
| #define TCP_IW_N_SEGMENTS 10 |
Definition at line 40 of file tcp_types.h.
| #define TCP_MAX_GSO_SZ 65536 |
Definition at line 36 of file tcp_types.h.
| #define TCP_MAX_OPTION_SPACE 40 |
Definition at line 34 of file tcp_types.h.
| #define TCP_MAX_SACK_BLOCKS 255 |
Max number of SACK blocks stored.
Definition at line 153 of file tcp_types.h.
| #define TCP_MAX_SACK_REORDER 300 |
Definition at line 155 of file tcp_types.h.
| #define TCP_PAWS_IDLE (24 * 86400 * TCP_TSTP_HZ) |
24 days
Definition at line 30 of file tcp_types.h.
| #define tcp_recovery_off | ( | tc | ) | (tc)->flags &= ~TCP_CONN_RECOVERY |
Definition at line 418 of file tcp_types.h.
| #define tcp_recovery_on | ( | tc | ) | (tc)->flags |= TCP_CONN_RECOVERY |
Definition at line 417 of file tcp_types.h.
| #define TCP_RTO_BOFF_MAX 8 /* Max number of retries before reset */ |
Definition at line 93 of file tcp_types.h.
| #define TCP_RTO_INIT 1 * THZ /* Initial retransmit timer */ |
Definition at line 92 of file tcp_types.h.
| #define TCP_RTO_MAX 60 * THZ /* Min max RTO (60s) as per RFC6298 */ |
Definition at line 88 of file tcp_types.h.
| #define TCP_RTO_MIN 0.2 * THZ /* Min RTO (200ms) - lower than standard */ |
Definition at line 89 of file tcp_types.h.
| #define TCP_RTO_SYN_RETRIES 3 /* SYN retries without doubling RTO */ |
Definition at line 91 of file tcp_types.h.
| #define TCP_RTT_MAX 30 * THZ /* 30s (probably too much) */ |
Definition at line 90 of file tcp_types.h.
| #define TCP_RXT_MAX_BURST 10 |
Definition at line 37 of file tcp_types.h.
| #define TCP_SCOREBOARD_TRACE (0) |
Definition at line 152 of file tcp_types.h.
| #define TCP_TICK 0.000001 |
TCP tick period (s)
Definition at line 25 of file tcp_types.h.
| #define TCP_TIMER_HANDLE_INVALID ((u32) ~0) |
Definition at line 81 of file tcp_types.h.
| #define TCP_TIMER_TICK 0.1 |
Timer tick in seconds.
Definition at line 83 of file tcp_types.h.
| #define TCP_TO_TIMER_TICK TCP_TICK*10 |
Factor for converting ticks to timer ticks.
Definition at line 84 of file tcp_types.h.
| #define TCP_TSTP_HZ (u32) (1/TCP_TSTP_TICK) |
Timestamp freq.
Definition at line 29 of file tcp_types.h.
| #define TCP_TSTP_TICK 0.001 |
Timestamp tick (s)
Definition at line 28 of file tcp_types.h.
| #define TCP_TSTP_TO_HZ (u32) (TCP_TSTP_TICK * THZ) |
Definition at line 31 of file tcp_types.h.
| #define TCP_USE_SACKS 1 |
Disable only for testing.
Definition at line 42 of file tcp_types.h.
| #define tcp_zero_rwnd_sent | ( | tc | ) | ((tc)->flags & TCP_CONN_ZERO_RWND_SENT) |
Definition at line 441 of file tcp_types.h.
| #define tcp_zero_rwnd_sent_off | ( | tc | ) | (tc)->flags &= ~TCP_CONN_ZERO_RWND_SENT |
Definition at line 443 of file tcp_types.h.
| #define tcp_zero_rwnd_sent_on | ( | tc | ) | (tc)->flags |= TCP_CONN_ZERO_RWND_SENT |
Definition at line 442 of file tcp_types.h.
TCP tick frequency.
Definition at line 26 of file tcp_types.h.
| 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 |
Definition at line 256 of file tcp_types.h.
| 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 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 struct tcp_errors_ tcp_errors_t |
| typedef struct tcp_rate_sample_ tcp_rate_sample_t |
| typedef enum _tcp_state tcp_state_t |
| typedef tw_timer_wheel_16t_2w_512sl_t tcp_timer_wheel_t |
Definition at line 451 of file tcp_types.h.
| typedef enum _tcp_timers tcp_timers_e |
| enum tcp_bts_flags_ |
| Enumerator | |
|---|---|
| TCP_BTS_IS_RXT | |
| TCP_BTS_IS_APP_LIMITED | |
| TCP_BTS_IS_SACKED | |
| TCP_BTS_IS_RXT_LOST | |
Definition at line 201 of file tcp_types.h.
| enum tcp_cc_event_ |
| Enumerator | |
|---|---|
| TCP_CC_EVT_START_TX | |
Definition at line 265 of file tcp_types.h.
| enum tcp_cfg_flag_ |
| Enumerator | |
|---|---|
| TCP_CFG_N_FLAGS | |
Definition at line 112 of file tcp_types.h.
| enum tcp_cfg_flag_bits_ |
| Enumerator | |
|---|---|
| TCP_CFG_N_FLAG_BITS | |
Definition at line 104 of file tcp_types.h.
| enum tcp_connection_flag_ |
| Enumerator | |
|---|---|
| TCP_CONN_N_FLAGS | |
Definition at line 144 of file tcp_types.h.
| Enumerator | |
|---|---|
| TCP_CONN_N_FLAG_BITS | |
Definition at line 136 of file tcp_types.h.
|
inlinestatic |
|
inlinestatic |