aboutsummaryrefslogtreecommitdiffstats
path: root/sys
diff options
context:
space:
mode:
authorAndrey Konovalov <andreyknvl@google.com>2017-02-09 17:05:47 +0100
committerAndrey Konovalov <andreyknvl@google.com>2017-02-10 14:05:03 +0100
commitcd0380f9a285dcaf6ce998b3f2334b71e24d0a3d (patch)
treeb4f7f46538268996a09c49367160288c5335c370 /sys
parent95ea6c804ae3d51cd06343e5657e0a564ec64134 (diff)
sys: improve tcp sockopts
Diffstat (limited to 'sys')
-rw-r--r--sys/socket_inet_tcp.txt34
-rw-r--r--sys/socket_inet_tcp_amd64.const16
-rw-r--r--sys/socket_inet_tcp_arm64.const16
-rw-r--r--sys/socket_inet_tcp_ppc64le.const16
4 files changed, 67 insertions, 15 deletions
diff --git a/sys/socket_inet_tcp.txt b/sys/socket_inet_tcp.txt
index 3a8552162..e3cb449ae 100644
--- a/sys/socket_inet_tcp.txt
+++ b/sys/socket_inet_tcp.txt
@@ -7,32 +7,36 @@ include <linux/tcp.h>
resource sock_tcp[sock_in]
-socket$tcp(domain const[AF_INET], type const[SOCK_STREAM], proto const[0]) sock_tcp
-socketpair$tcp(domain const[AF_INET], type const[SOCK_STREAM], proto const[0], fds ptr[out, tcp_pair])
-
tcp_pair {
f0 sock_tcp
f1 sock_tcp
}
-resource sock_tcp6[sock_in6]
+socket$tcp(domain const[AF_INET], type const[SOCK_STREAM], proto const[0]) sock_tcp
+socketpair$tcp(domain const[AF_INET], type const[SOCK_STREAM], proto const[0], fds ptr[out, tcp_pair])
-socket$tcp6(domain const[AF_INET6], type const[SOCK_STREAM], proto const[0]) sock_tcp6
-socketpair$tcp6(domain const[AF_INET6], type const[SOCK_STREAM], proto const[0], fds ptr[out, tcp6_pair])
+resource sock_tcp6[sock_in6]
tcp6_pair {
f0 sock_tcp6
f1 sock_tcp6
}
-sockopt_opt_tcp_int = TCP_CORK, TCP_DEFER_ACCEPT, TCP_KEEPCNT, TCP_KEEPIDLE, TCP_KEEPINTVL, TCP_LINGER2, TCP_MAXSEG, TCP_NODELAY, TCP_QUICKACK, TCP_SYNCNT, TCP_WINDOW_CLAMP
+socket$tcp6(domain const[AF_INET6], type const[SOCK_STREAM], proto const[0]) sock_tcp6
+socketpair$tcp6(domain const[AF_INET6], type const[SOCK_STREAM], proto const[0], fds ptr[out, tcp6_pair])
+
+# Generic TCP socket options
+
+tcp_option_types_int = TCP_NODELAY, TCP_MAXSEG, TCP_CORK, TCP_KEEPIDLE, TCP_KEEPINTVL, TCP_KEEPCNT, TCP_SYNCNT, TCP_LINGER2, TCP_DEFER_ACCEPT, TCP_WINDOW_CLAMP, TCP_QUICKACK, TCP_THIN_LINEAR_TIMEOUTS, TCP_THIN_DUPACK, TCP_USER_TIMEOUT, TCP_REPAIR, TCP_REPAIR_QUEUE, TCP_QUEUE_SEQ, TCP_FASTOPEN, TCP_TIMESTAMP, TCP_NOTSENT_LOWAT, TCP_SAVE_SYN
+
+tcp_option_types_buf = TCP_INFO, TCP_CONGESTION, TCP_MD5SIG, TCP_REPAIR_OPTIONS, TCP_CC_INFO, TCP_SAVED_SYN, TCP_REPAIR_WINDOW
-getsockopt$tcp_int(fd sock_tcp, level const[IPPROTO_TCP], optname flags[sockopt_opt_tcp_int], optval ptr[out, int32], optlen ptr[inout, len[optval, int32]])
-setsockopt$tcp_int(fd sock_tcp, level const[IPPROTO_TCP], optname flags[sockopt_opt_tcp_int], optval ptr[in, int32], optlen len[optval])
-getsockopt$tcp6_int(fd sock_tcp6, level const[IPPROTO_TCP], optname flags[sockopt_opt_tcp_int], optval ptr[out, int32], optlen ptr[inout, len[optval, int32]])
-setsockopt$tcp6_int(fd sock_tcp6, level const[IPPROTO_TCP], optname flags[sockopt_opt_tcp_int], optval ptr[in, int32], optlen len[optval])
+getsockopt$tcp_int(fd sock_tcp, level const[IPPROTO_TCP], optname flags[tcp_option_types_int], optval ptr[out, int32], optlen ptr[inout, len[optval, int32]])
+setsockopt$tcp_int(fd sock_tcp, level const[IPPROTO_TCP], optname flags[tcp_option_types_int], optval ptr[in, int32], optlen len[optval])
+getsockopt$tcp6_int(fd sock_tcp6, level const[IPPROTO_TCP], optname flags[tcp_option_types_int], optval ptr[out, int32], optlen ptr[inout, len[optval, int32]])
+setsockopt$tcp6_int(fd sock_tcp6, level const[IPPROTO_TCP], optname flags[tcp_option_types_int], optval ptr[in, int32], optlen len[optval])
-getsockopt$tcp_buf(fd sock_tcp, level const[IPPROTO_TCP], optname const[TCP_INFO], optval buffer[out], optlen ptr[inout, len[optval, int32]])
-setsockopt$tcp_buf(fd sock_tcp, level const[IPPROTO_TCP], optname const[TCP_INFO], optval buffer[in], optlen len[optval])
-getsockopt$tcp6_buf(fd sock_tcp6, level const[IPPROTO_TCP], optname const[TCP_INFO], optval buffer[out], optlen ptr[inout, len[optval, int32]])
-setsockopt$tcp6_buf(fd sock_tcp6, level const[IPPROTO_TCP], optname const[TCP_INFO], optval buffer[in], optlen len[optval])
+getsockopt$tcp_buf(fd sock_tcp, level const[IPPROTO_TCP], optname flags[tcp_option_types_buf], optval buffer[out], optlen ptr[inout, len[optval, int32]])
+setsockopt$tcp_buf(fd sock_tcp, level const[IPPROTO_TCP], optname flags[tcp_option_types_buf], optval buffer[in], optlen len[optval])
+getsockopt$tcp6_buf(fd sock_tcp6, level const[IPPROTO_TCP], optname flags[tcp_option_types_buf], optval buffer[out], optlen ptr[inout, len[optval, int32]])
+setsockopt$tcp6_buf(fd sock_tcp6, level const[IPPROTO_TCP], optname flags[tcp_option_types_buf], optval buffer[in], optlen len[optval])
diff --git a/sys/socket_inet_tcp_amd64.const b/sys/socket_inet_tcp_amd64.const
index bcc80c944..c91e484b6 100644
--- a/sys/socket_inet_tcp_amd64.const
+++ b/sys/socket_inet_tcp_amd64.const
@@ -3,17 +3,33 @@ AF_INET = 2
AF_INET6 = 10
IPPROTO_TCP = 6
SOCK_STREAM = 1
+TCP_CC_INFO = 26
+TCP_CONGESTION = 13
TCP_CORK = 3
TCP_DEFER_ACCEPT = 9
+TCP_FASTOPEN = 23
TCP_INFO = 11
TCP_KEEPCNT = 6
TCP_KEEPIDLE = 4
TCP_KEEPINTVL = 5
TCP_LINGER2 = 8
TCP_MAXSEG = 2
+TCP_MD5SIG = 14
TCP_NODELAY = 1
+TCP_NOTSENT_LOWAT = 25
+TCP_QUEUE_SEQ = 21
TCP_QUICKACK = 12
+TCP_REPAIR = 19
+TCP_REPAIR_OPTIONS = 22
+TCP_REPAIR_QUEUE = 20
+TCP_REPAIR_WINDOW = 29
+TCP_SAVED_SYN = 28
+TCP_SAVE_SYN = 27
TCP_SYNCNT = 7
+TCP_THIN_DUPACK = 17
+TCP_THIN_LINEAR_TIMEOUTS = 16
+TCP_TIMESTAMP = 24
+TCP_USER_TIMEOUT = 18
TCP_WINDOW_CLAMP = 10
__NR_getsockopt = 55
__NR_setsockopt = 54
diff --git a/sys/socket_inet_tcp_arm64.const b/sys/socket_inet_tcp_arm64.const
index 602973c6c..90b7b1a89 100644
--- a/sys/socket_inet_tcp_arm64.const
+++ b/sys/socket_inet_tcp_arm64.const
@@ -3,17 +3,33 @@ AF_INET = 2
AF_INET6 = 10
IPPROTO_TCP = 6
SOCK_STREAM = 1
+TCP_CC_INFO = 26
+TCP_CONGESTION = 13
TCP_CORK = 3
TCP_DEFER_ACCEPT = 9
+TCP_FASTOPEN = 23
TCP_INFO = 11
TCP_KEEPCNT = 6
TCP_KEEPIDLE = 4
TCP_KEEPINTVL = 5
TCP_LINGER2 = 8
TCP_MAXSEG = 2
+TCP_MD5SIG = 14
TCP_NODELAY = 1
+TCP_NOTSENT_LOWAT = 25
+TCP_QUEUE_SEQ = 21
TCP_QUICKACK = 12
+TCP_REPAIR = 19
+TCP_REPAIR_OPTIONS = 22
+TCP_REPAIR_QUEUE = 20
+TCP_REPAIR_WINDOW = 29
+TCP_SAVED_SYN = 28
+TCP_SAVE_SYN = 27
TCP_SYNCNT = 7
+TCP_THIN_DUPACK = 17
+TCP_THIN_LINEAR_TIMEOUTS = 16
+TCP_TIMESTAMP = 24
+TCP_USER_TIMEOUT = 18
TCP_WINDOW_CLAMP = 10
__NR_getsockopt = 209
__NR_setsockopt = 208
diff --git a/sys/socket_inet_tcp_ppc64le.const b/sys/socket_inet_tcp_ppc64le.const
index 5557148f5..e4187f236 100644
--- a/sys/socket_inet_tcp_ppc64le.const
+++ b/sys/socket_inet_tcp_ppc64le.const
@@ -3,17 +3,33 @@ AF_INET = 2
AF_INET6 = 10
IPPROTO_TCP = 6
SOCK_STREAM = 1
+TCP_CC_INFO = 26
+TCP_CONGESTION = 13
TCP_CORK = 3
TCP_DEFER_ACCEPT = 9
+TCP_FASTOPEN = 23
TCP_INFO = 11
TCP_KEEPCNT = 6
TCP_KEEPIDLE = 4
TCP_KEEPINTVL = 5
TCP_LINGER2 = 8
TCP_MAXSEG = 2
+TCP_MD5SIG = 14
TCP_NODELAY = 1
+TCP_NOTSENT_LOWAT = 25
+TCP_QUEUE_SEQ = 21
TCP_QUICKACK = 12
+TCP_REPAIR = 19
+TCP_REPAIR_OPTIONS = 22
+TCP_REPAIR_QUEUE = 20
+TCP_REPAIR_WINDOW = 29
+TCP_SAVED_SYN = 28
+TCP_SAVE_SYN = 27
TCP_SYNCNT = 7
+TCP_THIN_DUPACK = 17
+TCP_THIN_LINEAR_TIMEOUTS = 16
+TCP_TIMESTAMP = 24
+TCP_USER_TIMEOUT = 18
TCP_WINDOW_CLAMP = 10
__NR_getsockopt = 340
__NR_setsockopt = 339