From 7841d8b1babc796e48daf138d80288c2ba1c6ea2 Mon Sep 17 00:00:00 2001 From: Dmitry Vyukov Date: Thu, 21 Oct 2021 14:09:14 +0200 Subject: sys/linux: extend tcp_zerocopy_receive struct It has been extended in the kernel, see: https://elixir.bootlin.com/linux/v5.15-rc6/source/include/uapi/linux/tcp.h#L348 --- sys/linux/socket_inet_tcp.txt | 13 ++++++++++++- sys/linux/socket_inet_tcp.txt.const | 1 + 2 files changed, 13 insertions(+), 1 deletion(-) (limited to 'sys') diff --git a/sys/linux/socket_inet_tcp.txt b/sys/linux/socket_inet_tcp.txt index aea321e6b..b59c47e2f 100644 --- a/sys/linux/socket_inet_tcp.txt +++ b/sys/linux/socket_inet_tcp.txt @@ -44,9 +44,20 @@ getsockopt$inet6_tcp_TCP_ZEROCOPY_RECEIVE(fd sock_tcp6, level const[IPPROTO_TCP] tcp_zerocopy_receive { address vma64 length len[address, int32] - recv_skip_hint const[0, int32] + recv_skip_hint int32 (out) + inq int32 (out) + err int32 (out) + copybuf_address ptr64[out, array[int8]] + copybuf_len bytesize[copybuf_address, int32] + flags flags[tcp_zerocopy_receive_flags, int32] + msg_control ptr64[out, array[int8]] + msg_controllen bytesize[msg_control, int64] + msg_flags int32 (out) + reserved const[0, int32] } +tcp_zerocopy_receive_flags = TCP_RECEIVE_ZEROCOPY_FLAG_TLB_CLEAN_HINT + # Specific TCP socket options # TODO: use TCP_SAVED_SYN to extract sequence numbers diff --git a/sys/linux/socket_inet_tcp.txt.const b/sys/linux/socket_inet_tcp.txt.const index 167f58a3f..38324a93e 100644 --- a/sys/linux/socket_inet_tcp.txt.const +++ b/sys/linux/socket_inet_tcp.txt.const @@ -37,6 +37,7 @@ TCP_NOTSENT_LOWAT = 25 TCP_NO_QUEUE = 0 TCP_QUEUE_SEQ = 21 TCP_QUICKACK = 12 +TCP_RECEIVE_ZEROCOPY_FLAG_TLB_CLEAN_HINT = 1 TCP_RECV_QUEUE = 1 TCP_REPAIR = 19 TCP_REPAIR_OFF = 0 -- cgit mrf-deployment