From ac1af87e1d26c476833de272f7ad484ad12fa67c Mon Sep 17 00:00:00 2001 From: Szabolcs Nagy Date: Tue, 21 Aug 2018 22:27:57 +0000 Subject: update netinet/tcp.h for linux v4.18 add packet delivery info to tcp_info, new in linux commit feb5f2ec646483fb66f9ad7218b1aad2a93a2a5c add TCP_ZEROCOPY_RECEIVE socket option for zerocopy receive, new in linux commit 05255b823a6173525587f29c4e8f1ca33fd7677d add TCP_INQ socket option and TCP_CM_INQ cmsg to get in-queue bytes in cmsg upon read, new in linux commit b75eba76d3d72e2374fac999926dafef2997edd2 add TCP_REPAIR_* to fix repair socket window probe patch, new in linux commit 31048d7aedf31bf0f69c54a662944632f29d82f2 --- include/netinet/tcp.h | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) (limited to 'include') diff --git a/include/netinet/tcp.h b/include/netinet/tcp.h index 1e2acfbf..584af2f5 100644 --- a/include/netinet/tcp.h +++ b/include/netinet/tcp.h @@ -36,6 +36,10 @@ #define TCP_MD5SIG_EXT 32 #define TCP_FASTOPEN_KEY 33 #define TCP_FASTOPEN_NO_COOKIE 34 +#define TCP_ZEROCOPY_RECEIVE 35 +#define TCP_INQ 36 + +#define TCP_CM_INQ TCP_INQ #define TCP_ESTABLISHED 1 #define TCP_SYN_SENT 2 @@ -66,6 +70,8 @@ enum { TCP_NLA_SNDQ_SIZE, TCP_NLA_CA_STATE, TCP_NLA_SND_SSTHRESH, + TCP_NLA_DELIVERED, + TCP_NLA_DELIVERED_CE, }; #if defined(_GNU_SOURCE) || defined(_BSD_SOURCE) @@ -217,6 +223,8 @@ struct tcp_info { uint64_t tcpi_busy_time; uint64_t tcpi_rwnd_limited; uint64_t tcpi_sndbuf_limited; + uint32_t tcpi_delivered; + uint32_t tcpi_delivered_ce; }; #define TCP_MD5SIG_MAXKEYLEN 80 @@ -240,6 +248,10 @@ struct tcp_diag_md5sig { uint8_t tcpm_key[TCP_MD5SIG_MAXKEYLEN]; }; +#define TCP_REPAIR_ON 1 +#define TCP_REPAIR_OFF 0 +#define TCP_REPAIR_OFF_NO_WP -1 + struct tcp_repair_window { uint32_t snd_wl1; uint32_t snd_wnd; @@ -248,6 +260,12 @@ struct tcp_repair_window { uint32_t rcv_wup; }; +struct tcp_zerocopy_receive { + uint64_t address; + uint32_t length; + uint32_t recv_skip_hint; +}; + #endif #endif -- cgit v1.2.1