35#ifndef _NETINET_TCP_H_
36#define _NETINET_TCP_H_
43typedef u_int32_t tcp_seq;
45#define tcp6_seq tcp_seq
57#if BYTE_ORDER == LITTLE_ENDIAN
61#if BYTE_ORDER == BIG_ENDIAN
75#define TH_FLAGS (TH_FIN|TH_SYN|TH_RST|TH_PUSH|TH_ACK|TH_URG|TH_ECE|TH_CWR)
76#define PRINT_TH_FLAGS "\20\1FIN\2SYN\3RST\4PUSH\5ACK\6URG\7ECE\10CWR\11AE"
83#define PADTCPOLEN(len) ((((len) / 4) + !!((len) % 4)) * 4)
91#define TCPOPT_MAXSEG 2
92#define TCPOLEN_MAXSEG 4
93#define TCPOPT_WINDOW 3
94#define TCPOLEN_WINDOW 3
95#define TCPOPT_SACK_PERMITTED 4
96#define TCPOLEN_SACK_PERMITTED 2
98#define TCPOLEN_SACKHDR 2
100#define TCPOPT_TIMESTAMP 8
101#define TCPOLEN_TIMESTAMP 10
102#define TCPOLEN_TSTAMP_APPA (TCPOLEN_TIMESTAMP+2)
103#define TCPOPT_SIGNATURE 19
104#define TCPOLEN_SIGNATURE 18
105#define TCPOPT_FAST_OPEN 34
106#define TCPOLEN_FAST_OPEN_EMPTY 2
108#define MAX_TCPOPTLEN 40
111#define MAX_SACK_BLKS 6
112#define TCP_MAX_SACK 4
145#define TCP_MINMSS 216
147#define TCP_MAXWIN 65535
148#define TTCP_CLIENT_SND_WND 4096
150#define TCP_MAX_WINSHIFT 14
152#define TCP_MAXBURST 4
154#define TCP_MAXHLEN (0xf<<2)
155#define TCP_MAXOLEN (TCP_MAXHLEN - sizeof(struct tcphdr))
158#define TCP_FASTOPEN_MIN_COOKIE_LEN 4
159#define TCP_FASTOPEN_MAX_COOKIE_LEN 16
160#define TCP_FASTOPEN_PSK_LEN 16
179#define TCP_LOGDUMP 37
180#define TCP_LOGDUMPID 38
182#define TCP_TXTLS_ENABLE 39
183#define TCP_TXTLS_MODE 40
184#define TCP_RXTLS_ENABLE 41
185#define TCP_RXTLS_MODE 42
186#define TCP_IWND_NB 43
187#define TCP_IWND_NSEG 44
188#define TCP_LOGID_CNT 46
189#define TCP_LOG_TAG 47
190#define TCP_USER_LOG 48
191#define TCP_CONGESTION 64
192#define TCP_CCALGOOPT 65
193#define TCP_MAXUNACKTIME 68
194#define TCP_MAXPEAKRATE 69
195#define TCP_IDLE_REDUCE 70
196#define TCP_REMOTE_UDP_ENCAPS_PORT 71
198#define TCP_FIN_IS_RST 73
199#define TCP_LOG_LIMIT 74
200#define TCP_SHARED_CWND_ALLOWED 75
201#define TCP_PROC_ACCOUNTING 76
202#define TCP_USE_CMP_ACKS 77
203#define TCP_PERF_INFO 78
205#define TCP_KEEPINIT 128
206#define TCP_KEEPIDLE 256
207#define TCP_KEEPINTVL 512
208#define TCP_KEEPCNT 1024
209#define TCP_FASTOPEN 1025
210#define TCP_PCAP_OUT 2048
211#define TCP_PCAP_IN 4096
212#define TCP_FUNCTION_BLK 8192
213#define TCP_FUNCTION_ALIAS 8193
215#define TCP_REUSPORT_LB_NUMA 1026
216#define TCP_RACK_MBUF_QUEUE 1050
217#define TCP_RACK_PROP 1051
218#define TCP_RACK_TLP_REDUCE 1052
219#define TCP_RACK_PACE_REDUCE 1053
220#define TCP_RACK_PACE_MAX_SEG 1054
221#define TCP_RACK_PACE_ALWAYS 1055
222#define TCP_RACK_PROP_RATE 1056
223#define TCP_RACK_PRR_SENDALOT 1057
224#define TCP_RACK_MIN_TO 1058
225#define TCP_RACK_EARLY_RECOV 1059
226#define TCP_RACK_EARLY_SEG 1060
227#define TCP_RACK_REORD_THRESH 1061
228#define TCP_RACK_REORD_FADE 1062
229#define TCP_RACK_TLP_THRESH 1063
230#define TCP_RACK_PKT_DELAY 1064
231#define TCP_RACK_TLP_INC_VAR 1065
232#define TCP_BBR_IWINTSO 1067
233#define TCP_BBR_RECFORCE 1068
234#define TCP_BBR_STARTUP_PG 1069
235#define TCP_BBR_DRAIN_PG 1070
236#define TCP_BBR_RWND_IS_APP 1071
237#define TCP_BBR_PROBE_RTT_INT 1072
238#define TCP_BBR_ONE_RETRAN 1073
239#define TCP_BBR_STARTUP_LOSS_EXIT 1074
240#define TCP_BBR_USE_LOWGAIN 1075
241#define TCP_BBR_LOWGAIN_THRESH 1076
242#define TCP_BBR_TSLIMITS 1076
243#define TCP_BBR_LOWGAIN_HALF 1077
244#define TCP_BBR_PACE_OH 1077
245#define TCP_BBR_LOWGAIN_FD 1078
246#define TCP_BBR_HOLD_TARGET 1078
247#define TCP_BBR_USEDEL_RATE 1079
248#define TCP_BBR_MIN_RTO 1080
249#define TCP_BBR_MAX_RTO 1081
250#define TCP_BBR_REC_OVER_HPTS 1082
251#define TCP_BBR_UNLIMITED 1083
252#define TCP_BBR_ALGORITHM 1083
253#define TCP_BBR_DRAIN_INC_EXTRA 1084
254#define TCP_BBR_STARTUP_EXIT_EPOCH 1085
255#define TCP_BBR_PACE_PER_SEC 1086
256#define TCP_BBR_PACE_DEL_TAR 1087
257#define TCP_BBR_PACE_SEG_MAX 1088
258#define TCP_BBR_PACE_SEG_MIN 1089
259#define TCP_BBR_PACE_CROSS 1090
260#define TCP_RACK_IDLE_REDUCE_HIGH 1092
261#define TCP_RACK_MIN_PACE 1093
262#define TCP_RACK_MIN_PACE_SEG 1094
263#define TCP_RACK_GP_INCREASE 1094
264#define TCP_RACK_TLP_USE 1095
265#define TCP_BBR_ACK_COMP_ALG 1096
266#define TCP_BBR_TMR_PACE_OH 1096
267#define TCP_BBR_EXTRA_GAIN 1097
268#define TCP_RACK_DO_DETECTION 1097
269#define TCP_BBR_RACK_RTT_USE 1098
270#define TCP_BBR_RETRAN_WTSO 1099
271#define TCP_DATA_AFTER_CLOSE 1100
272#define TCP_BBR_PROBE_RTT_GAIN 1101
273#define TCP_BBR_PROBE_RTT_LEN 1102
274#define TCP_BBR_SEND_IWND_IN_TSO 1103
275#define TCP_BBR_USE_RACK_RR 1104
276#define TCP_BBR_USE_RACK_CHEAT TCP_BBR_USE_RACK_RR
277#define TCP_BBR_HDWR_PACE 1105
278#define TCP_BBR_UTTER_MAX_TSO 1106
279#define TCP_BBR_EXTRA_STATE 1107
280#define TCP_BBR_FLOOR_MIN_TSO 1108
281#define TCP_BBR_MIN_TOPACEOUT 1109
282#define TCP_BBR_TSTMP_RAISES 1110
283#define TCP_BBR_POLICER_DETECT 1111
284#define TCP_BBR_RACK_INIT_RATE 1112
285#define TCP_RACK_RR_CONF 1113
286#define TCP_RACK_CHEAT_NOT_CONF_RATE TCP_RACK_RR_CONF
287#define TCP_RACK_GP_INCREASE_CA 1114
288#define TCP_RACK_GP_INCREASE_SS 1115
289#define TCP_RACK_GP_INCREASE_REC 1116
290#define TCP_RACK_FORCE_MSEG 1117
291#define TCP_RACK_PACE_RATE_CA 1118
292#define TCP_RACK_PACE_RATE_SS 1119
293#define TCP_RACK_PACE_RATE_REC 1120
294#define TCP_NO_PRR 1122
295#define TCP_RACK_NONRXT_CFG_RATE 1123
296#define TCP_SHARED_CWND_ENABLE 1124
297#define TCP_TIMELY_DYN_ADJ 1125
298#define TCP_RACK_NO_PUSH_AT_MAX 1126
299#define TCP_RACK_PACE_TO_FILL 1127
300#define TCP_SHARED_CWND_TIME_LIMIT 1128
301#define TCP_RACK_PROFILE 1129
302#define TCP_HDWR_RATE_CAP 1130
303#define TCP_PACING_RATE_CAP 1131
304#define TCP_HDWR_UP_ONLY 1132
305#define TCP_RACK_ABC_VAL 1133
306#define TCP_REC_ABC_VAL 1134
307#define TCP_RACK_MEASURE_CNT 1135
308#define TCP_DEFER_OPTIONS 1136
309#define TCP_FAST_RSM_HACK 1137
310#define TCP_RACK_PACING_BETA 1138
311#define TCP_RACK_PACING_BETA_ECN 1139
312#define TCP_RACK_TIMER_SLOP 1140
313#define TCP_RACK_DSACK_OPT 1141
314#define TCP_RACK_ENABLE_HYSTART 1142
316#define TCP_VENDOR SO_VENDOR
318#define TCP_CA_NAME_MAX 16
320#define TCPI_OPT_TIMESTAMPS 0x01
321#define TCPI_OPT_SACK 0x02
322#define TCPI_OPT_WSCALE 0x04
323#define TCPI_OPT_ECN 0x08
324#define TCPI_OPT_TOE 0x10
325#define TCPI_OPT_TFO 0x20
328#define TCP_LOG_ID_LEN 64
344 u_int8_t __tcpi_ca_state;
345 u_int8_t __tcpi_retransmits;
346 u_int8_t __tcpi_probes;
347 u_int8_t __tcpi_backoff;
348 u_int8_t tcpi_options;
349 u_int8_t tcpi_snd_wscale:4,
353 u_int32_t __tcpi_ato;
354 u_int32_t tcpi_snd_mss;
355 u_int32_t tcpi_rcv_mss;
357 u_int32_t __tcpi_unacked;
358 u_int32_t __tcpi_sacked;
359 u_int32_t __tcpi_lost;
360 u_int32_t __tcpi_retrans;
361 u_int32_t __tcpi_fackets;
364 u_int32_t __tcpi_last_data_sent;
365 u_int32_t __tcpi_last_ack_sent;
366 u_int32_t tcpi_last_data_recv;
367 u_int32_t __tcpi_last_ack_recv;
370 u_int32_t __tcpi_pmtu;
371 u_int32_t __tcpi_rcv_ssthresh;
373 u_int32_t tcpi_rttvar;
374 u_int32_t tcpi_snd_ssthresh;
375 u_int32_t tcpi_snd_cwnd;
376 u_int32_t __tcpi_advmss;
377 u_int32_t __tcpi_reordering;
379 u_int32_t __tcpi_rcv_rtt;
380 u_int32_t tcpi_rcv_space;
383 u_int32_t tcpi_snd_wnd;
384 u_int32_t tcpi_snd_bwnd;
385 u_int32_t tcpi_snd_nxt;
386 u_int32_t tcpi_rcv_nxt;
387 u_int32_t tcpi_toe_tid;
388 u_int32_t tcpi_snd_rexmitpack;
389 u_int32_t tcpi_rcv_ooopack;
390 u_int32_t tcpi_snd_zerowin;
393 u_int32_t __tcpi_pad[26];
403 uint8_t psk[TCP_FASTOPEN_PSK_LEN];
406#define TCP_FUNCTION_NAME_LEN_MAX 32
414#define TCP_TLS_MODE_NONE 0
415#define TCP_TLS_MODE_SW 1
416#define TCP_TLS_MODE_IFNET 2
417#define TCP_TLS_MODE_TOE 3
422#define TLS_SET_RECORD_TYPE 1
423#define TLS_GET_RECORD 2
428#define VOI_TCP_TXPB 0
429#define VOI_TCP_RETXPB 1
430#define VOI_TCP_FRWIN 2
431#define VOI_TCP_LCWIN 3
433#define VOI_TCP_CSIG 5
434#define VOI_TCP_GPUT 6
435#define VOI_TCP_CALCFRWINDIFF 7
436#define VOI_TCP_GPUT_ND 8
437#define VOI_TCP_ACKLEN 9
439#define TCP_REUSPORT_LB_NUMA_NODOM (-2)
440#define TCP_REUSPORT_LB_NUMA_CURDOM (-1)
char function_set_name[TCP_FUNCTION_NAME_LEN_MAX]
#define TCP_FUNCTION_NAME_LEN_MAX