mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2025-08-15 21:56:21 +00:00

Same as initial tests, import verbatim from github.com/google/packetdrill, aside from: - update `source ./defaults.sh` path to adjust for flat dir - add SPDX headers - remove author statements if any - drop blank lines at EOF (new) Also import set_sysctls.py, which many scripts depend on to set sysctls and then restore them later. This is no longer strictly needed for namespacified sysctl. But not all sysctls are namespacified, and doesn't hurt if they are. Signed-off-by: Willem de Bruijn <willemb@google.com> Acked-by: Matthieu Baerts (NGI0) <matttbe@kernel.org> Link: https://patch.msgid.link/20240912005317.1253001-3-willemdebruijn.kernel@gmail.com Signed-off-by: Jakub Kicinski <kuba@kernel.org>
31 lines
1.1 KiB
Plaintext
31 lines
1.1 KiB
Plaintext
// SPDX-License-Identifier: GPL-2.0
|
|
// Minimal client-side zerocopy test
|
|
|
|
`./defaults.sh`
|
|
|
|
0 socket(..., SOCK_STREAM, IPPROTO_TCP) = 4
|
|
+0 setsockopt(4, SOL_SOCKET, SO_ZEROCOPY, [1], 4) = 0
|
|
+0...0 connect(4, ..., ...) = 0
|
|
|
|
+0 > S 0:0(0) <mss 1460,sackOK,TS val 0 ecr 0,nop,wscale 8>
|
|
+0 < S. 0:0(0) ack 1 win 32792 <mss 1000,sackOK,nop,nop,nop,wscale 7>
|
|
+0 > . 1:1(0) ack 1
|
|
|
|
+0 send(4, ..., 4000, MSG_ZEROCOPY) = 4000
|
|
+0 > P. 1:4001(4000) ack 1
|
|
+0 < . 1:1(0) ack 4001 win 257
|
|
|
|
+0 recvmsg(4, {msg_name(...)=...,
|
|
msg_iov(1)=[{...,0}],
|
|
msg_flags=MSG_ERRQUEUE,
|
|
msg_control=[
|
|
{cmsg_level=CMSG_LEVEL_IP,
|
|
cmsg_type=CMSG_TYPE_RECVERR,
|
|
cmsg_data={ee_errno=0,
|
|
ee_origin=SO_EE_ORIGIN_ZEROCOPY,
|
|
ee_type=0,
|
|
ee_code=SO_EE_CODE_ZEROCOPY_COPIED,
|
|
ee_info=0,
|
|
ee_data=0}}
|
|
]}, MSG_ERRQUEUE) = 0
|