123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778 |
- From 847a793b1528c0a48d7ae61d3ca89379c2f66112 Mon Sep 17 00:00:00 2001
- From: Szabolcs Nagy <nsz@port70.net>
- Date: Tue, 21 Aug 2018 22:27:57 +0000
- Subject: [PATCH 1/8] 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(+)
- 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
- --
- 2.17.1
|