diff options
Diffstat (limited to 'include/netinet/tcp.h')
| -rw-r--r-- | include/netinet/tcp.h | 42 | 
1 files changed, 38 insertions, 4 deletions
| diff --git a/include/netinet/tcp.h b/include/netinet/tcp.h index 584af2f5..fad1d844 100644 --- a/include/netinet/tcp.h +++ b/include/netinet/tcp.h @@ -38,6 +38,7 @@  #define TCP_FASTOPEN_NO_COOKIE 34  #define TCP_ZEROCOPY_RECEIVE   35  #define TCP_INQ          36 +#define TCP_TX_DELAY     37  #define TCP_CM_INQ TCP_INQ @@ -72,6 +73,15 @@ enum {  	TCP_NLA_SND_SSTHRESH,  	TCP_NLA_DELIVERED,  	TCP_NLA_DELIVERED_CE, +	TCP_NLA_BYTES_SENT, +	TCP_NLA_BYTES_RETRANS, +	TCP_NLA_DSACK_DUPS, +	TCP_NLA_REORD_SEEN, +	TCP_NLA_SRTT, +	TCP_NLA_TIMEOUT_REHASH, +	TCP_NLA_BYTES_NOTSENT, +	TCP_NLA_EDT, +	TCP_NLA_TTL,  };  #if defined(_GNU_SOURCE) || defined(_BSD_SOURCE) @@ -92,7 +102,6 @@ enum {  #include <sys/types.h>  #include <sys/socket.h>  #include <stdint.h> -#include <endian.h>  typedef uint32_t tcp_seq; @@ -176,6 +185,13 @@ struct tcphdr {  #define TCP_CA_Recovery		3  #define TCP_CA_Loss		4 +enum tcp_fastopen_client_fail { +	TFO_STATUS_UNSPEC, +	TFO_COOKIE_UNAVAILABLE, +	TFO_DATA_NOT_ACKED, +	TFO_SYN_RETRANSMITTED, +}; +  struct tcp_info {  	uint8_t tcpi_state;  	uint8_t tcpi_ca_state; @@ -184,7 +200,7 @@ struct tcp_info {  	uint8_t tcpi_backoff;  	uint8_t tcpi_options;  	uint8_t tcpi_snd_wscale : 4, tcpi_rcv_wscale : 4; -	uint8_t tcpi_delivery_rate_app_limited : 1; +	uint8_t tcpi_delivery_rate_app_limited : 1, tcpi_fastopen_client_fail : 2;  	uint32_t tcpi_rto;  	uint32_t tcpi_ato;  	uint32_t tcpi_snd_mss; @@ -225,18 +241,25 @@ struct tcp_info {  	uint64_t tcpi_sndbuf_limited;  	uint32_t tcpi_delivered;  	uint32_t tcpi_delivered_ce; +	uint64_t tcpi_bytes_sent; +	uint64_t tcpi_bytes_retrans; +	uint32_t tcpi_dsack_dups; +	uint32_t tcpi_reord_seen; +	uint32_t tcpi_rcv_ooopack; +	uint32_t tcpi_snd_wnd;  };  #define TCP_MD5SIG_MAXKEYLEN    80 -#define TCP_MD5SIG_FLAG_PREFIX  1 +#define TCP_MD5SIG_FLAG_PREFIX  0x1 +#define TCP_MD5SIG_FLAG_IFINDEX 0x2  struct tcp_md5sig {  	struct sockaddr_storage tcpm_addr;  	uint8_t tcpm_flags;  	uint8_t tcpm_prefixlen;  	uint16_t tcpm_keylen; -	uint32_t __tcpm_pad; +	int tcpm_ifindex;  	uint8_t tcpm_key[TCP_MD5SIG_MAXKEYLEN];  }; @@ -260,10 +283,21 @@ struct tcp_repair_window {  	uint32_t rcv_wup;  }; +#define TCP_RECEIVE_ZEROCOPY_FLAG_TLB_CLEAN_HINT 0x1 +  struct tcp_zerocopy_receive {  	uint64_t address;  	uint32_t length;  	uint32_t recv_skip_hint; +	uint32_t inq; +	int32_t err; +	uint64_t copybuf_address; +	int32_t copybuf_len; +	uint32_t flags; +	uint64_t msg_control; +	uint64_t msg_controllen; +	uint32_t msg_flags; +	uint32_t reserved;  };  #endif | 
