Changeset View
Changeset View
Standalone View
Standalone View
head/sys/netinet/tcp_var.h
Show First 20 Lines • Show All 247 Lines • ▼ Show 20 Lines | /* SACK related state */ | ||||
u_int t_keepintvl; /* interval between keepalives */ | u_int t_keepintvl; /* interval between keepalives */ | ||||
u_int t_keepcnt; /* number of keepalives before close */ | u_int t_keepcnt; /* number of keepalives before close */ | ||||
u_int t_tsomax; /* TSO total burst length limit in bytes */ | u_int t_tsomax; /* TSO total burst length limit in bytes */ | ||||
u_int t_tsomaxsegcount; /* TSO maximum segment count */ | u_int t_tsomaxsegcount; /* TSO maximum segment count */ | ||||
u_int t_tsomaxsegsize; /* TSO maximum segment size in bytes */ | u_int t_tsomaxsegsize; /* TSO maximum segment size in bytes */ | ||||
u_int t_pmtud_saved_maxopd; /* pre-blackhole MSS */ | u_int t_pmtud_saved_maxopd; /* pre-blackhole MSS */ | ||||
u_int t_flags2; /* More tcpcb flags storage */ | u_int t_flags2; /* More tcpcb flags storage */ | ||||
#if defined(_KERNEL) && defined(TCP_RFC7413) | |||||
uint32_t t_ispare[6]; /* 5 UTO, 1 TBD */ | |||||
uint64_t t_tfo_cookie; /* TCP Fast Open cookie */ | |||||
#else | |||||
uint32_t t_ispare[8]; /* 5 UTO, 3 TBD */ | uint32_t t_ispare[8]; /* 5 UTO, 3 TBD */ | ||||
#endif | |||||
struct tcp_function_block *t_fb;/* TCP function call block */ | struct tcp_function_block *t_fb;/* TCP function call block */ | ||||
void *t_fb_ptr; /* Pointer to t_fb specific data */ | void *t_fb_ptr; /* Pointer to t_fb specific data */ | ||||
#if defined(_KERNEL) && defined(TCP_RFC7413) | |||||
unsigned int *t_tfo_pending; /* TCP Fast Open pending counter */ | |||||
void *t_pspare2[1]; /* 1 TCP_SIGNATURE */ | |||||
#else | |||||
void *t_pspare2[2]; /* 1 TCP_SIGNATURE, 1 TBD */ | void *t_pspare2[2]; /* 1 TCP_SIGNATURE, 1 TBD */ | ||||
#endif | |||||
#if defined(_KERNEL) && defined(TCPPCAP) | #if defined(_KERNEL) && defined(TCPPCAP) | ||||
struct mbufq t_inpkts; /* List of saved input packets. */ | struct mbufq t_inpkts; /* List of saved input packets. */ | ||||
struct mbufq t_outpkts; /* List of saved output packets. */ | struct mbufq t_outpkts; /* List of saved output packets. */ | ||||
#ifdef _LP64 | #ifdef _LP64 | ||||
uint64_t _pad[0]; /* all used! */ | uint64_t _pad[0]; /* all used! */ | ||||
#else | #else | ||||
uint64_t _pad[2]; /* 2 are available */ | uint64_t _pad[2]; /* 2 are available */ | ||||
#endif /* _LP64 */ | #endif /* _LP64 */ | ||||
Show All 29 Lines | |||||
#define TF_FORCEDATA 0x800000 /* force out a byte */ | #define TF_FORCEDATA 0x800000 /* force out a byte */ | ||||
#define TF_TSO 0x1000000 /* TSO enabled on this connection */ | #define TF_TSO 0x1000000 /* TSO enabled on this connection */ | ||||
#define TF_TOE 0x2000000 /* this connection is offloaded */ | #define TF_TOE 0x2000000 /* this connection is offloaded */ | ||||
#define TF_ECN_PERMIT 0x4000000 /* connection ECN-ready */ | #define TF_ECN_PERMIT 0x4000000 /* connection ECN-ready */ | ||||
#define TF_ECN_SND_CWR 0x8000000 /* ECN CWR in queue */ | #define TF_ECN_SND_CWR 0x8000000 /* ECN CWR in queue */ | ||||
#define TF_ECN_SND_ECE 0x10000000 /* ECN ECE in queue */ | #define TF_ECN_SND_ECE 0x10000000 /* ECN ECE in queue */ | ||||
#define TF_CONGRECOVERY 0x20000000 /* congestion recovery mode */ | #define TF_CONGRECOVERY 0x20000000 /* congestion recovery mode */ | ||||
#define TF_WASCRECOVERY 0x40000000 /* was in congestion recovery */ | #define TF_WASCRECOVERY 0x40000000 /* was in congestion recovery */ | ||||
#define TF_FASTOPEN 0x80000000 /* TCP Fast Open indication */ | |||||
#define IN_FASTRECOVERY(t_flags) (t_flags & TF_FASTRECOVERY) | #define IN_FASTRECOVERY(t_flags) (t_flags & TF_FASTRECOVERY) | ||||
#define ENTER_FASTRECOVERY(t_flags) t_flags |= TF_FASTRECOVERY | #define ENTER_FASTRECOVERY(t_flags) t_flags |= TF_FASTRECOVERY | ||||
#define EXIT_FASTRECOVERY(t_flags) t_flags &= ~TF_FASTRECOVERY | #define EXIT_FASTRECOVERY(t_flags) t_flags &= ~TF_FASTRECOVERY | ||||
#define IN_CONGRECOVERY(t_flags) (t_flags & TF_CONGRECOVERY) | #define IN_CONGRECOVERY(t_flags) (t_flags & TF_CONGRECOVERY) | ||||
#define ENTER_CONGRECOVERY(t_flags) t_flags |= TF_CONGRECOVERY | #define ENTER_CONGRECOVERY(t_flags) t_flags |= TF_CONGRECOVERY | ||||
#define EXIT_CONGRECOVERY(t_flags) t_flags &= ~TF_CONGRECOVERY | #define EXIT_CONGRECOVERY(t_flags) t_flags &= ~TF_CONGRECOVERY | ||||
▲ Show 20 Lines • Show All 43 Lines • ▼ Show 20 Lines | |||||
struct tcpopt { | struct tcpopt { | ||||
u_int64_t to_flags; /* which options are present */ | u_int64_t to_flags; /* which options are present */ | ||||
#define TOF_MSS 0x0001 /* maximum segment size */ | #define TOF_MSS 0x0001 /* maximum segment size */ | ||||
#define TOF_SCALE 0x0002 /* window scaling */ | #define TOF_SCALE 0x0002 /* window scaling */ | ||||
#define TOF_SACKPERM 0x0004 /* SACK permitted */ | #define TOF_SACKPERM 0x0004 /* SACK permitted */ | ||||
#define TOF_TS 0x0010 /* timestamp */ | #define TOF_TS 0x0010 /* timestamp */ | ||||
#define TOF_SIGNATURE 0x0040 /* TCP-MD5 signature option (RFC2385) */ | #define TOF_SIGNATURE 0x0040 /* TCP-MD5 signature option (RFC2385) */ | ||||
#define TOF_SACK 0x0080 /* Peer sent SACK option */ | #define TOF_SACK 0x0080 /* Peer sent SACK option */ | ||||
#define TOF_MAXOPT 0x0100 | #define TOF_FASTOPEN 0x0100 /* TCP Fast Open (TFO) cookie */ | ||||
#define TOF_MAXOPT 0x0200 | |||||
u_int32_t to_tsval; /* new timestamp */ | u_int32_t to_tsval; /* new timestamp */ | ||||
u_int32_t to_tsecr; /* reflected timestamp */ | u_int32_t to_tsecr; /* reflected timestamp */ | ||||
u_char *to_sacks; /* pointer to the first SACK blocks */ | u_char *to_sacks; /* pointer to the first SACK blocks */ | ||||
u_char *to_signature; /* pointer to the TCP-MD5 signature */ | u_char *to_signature; /* pointer to the TCP-MD5 signature */ | ||||
u_char *to_tfo_cookie; /* pointer to the TFO cookie */ | |||||
u_int16_t to_mss; /* maximum segment size */ | u_int16_t to_mss; /* maximum segment size */ | ||||
u_int8_t to_wscale; /* window scaling */ | u_int8_t to_wscale; /* window scaling */ | ||||
u_int8_t to_nsacks; /* number of SACK blocks */ | u_int8_t to_nsacks; /* number of SACK blocks */ | ||||
u_int8_t to_tfo_len; /* TFO cookie length */ | |||||
u_int32_t to_spare; /* UTO */ | u_int32_t to_spare; /* UTO */ | ||||
}; | }; | ||||
/* | /* | ||||
* Flags for tcp_dooptions. | * Flags for tcp_dooptions. | ||||
*/ | */ | ||||
#define TO_SYN 0x01 /* parse SYN-only options */ | #define TO_SYN 0x01 /* parse SYN-only options */ | ||||
▲ Show 20 Lines • Show All 473 Lines • Show Last 20 Lines |