Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

selftest: packetdrill: Refine tcp_fastopen_server_reset-after-disconnect.pkt.

These changes are applied to follow the imported packetdrill tests.

* Call setsockopt(TCP_FASTOPEN)
* Remove unnecessary accept() delay
* Add assertion for TCP states
* Rename to tcp_fastopen_server_trigger-rst-reconnect.pkt.

Signed-off-by: Kuniyuki Iwashima <kuniyu@google.com>
Reviewed-by: Willem de Bruijn <willemb@google.com>
Link: https://patch.msgid.link/20250927213022.1850048-12-kuniyu@google.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>

authored by

Kuniyuki Iwashima and committed by
Jakub Kicinski
be90c7b3 21f7fb31

+7 -3
+7 -3
tools/testing/selftests/net/packetdrill/tcp_fastopen_server_reset-after-disconnect.pkt tools/testing/selftests/net/packetdrill/tcp_fastopen_server_trigger-rst-reconnect.pkt
··· 1 1 // SPDX-License-Identifier: GPL-2.0 2 2 `./defaults.sh 3 - ./set_sysctls.py /proc/sys/net/ipv4/tcp_fastopen=0x602 /proc/sys/net/ipv4/tcp_timestamps=0` 3 + ./set_sysctls.py /proc/sys/net/ipv4/tcp_timestamps=0` 4 4 5 5 0 socket(..., SOCK_STREAM|SOCK_NONBLOCK, IPPROTO_TCP) = 3 6 6 +0 setsockopt(3, SOL_SOCKET, SO_REUSEADDR, [1], 4) = 0 7 7 +0 bind(3, ..., ...) = 0 8 8 +0 listen(3, 1) = 0 9 + +0 setsockopt(3, SOL_TCP, TCP_FASTOPEN, [1], 4) = 0 9 10 10 - +0 < S 0:10(10) win 32792 <mss 1460,nop,nop,sackOK> 11 + +0 < S 0:10(10) win 32792 <mss 1460,nop,nop,sackOK,nop,nop,FO TFO_COOKIE> 11 12 +0 > S. 0:0(0) ack 11 win 65535 <mss 1460,nop,nop,sackOK> 12 13 13 14 // sk->sk_state is TCP_SYN_RECV 14 - +.1 accept(3, ..., ...) = 4 15 + +0 accept(3, ..., ...) = 4 16 + +0 %{ assert tcpi_state == TCP_SYN_RECV, tcpi_state }% 15 17 16 18 // tcp_disconnect() sets sk->sk_state to TCP_CLOSE 17 19 +0 connect(4, AF_UNSPEC, ...) = 0 18 20 +0 > R. 1:1(0) ack 11 win 65535 21 + +0 %{ assert tcpi_state == TCP_CLOSE, tcpi_state }% 19 22 20 23 // connect() sets sk->sk_state to TCP_SYN_SENT 21 24 +0 fcntl(4, F_SETFL, O_RDWR|O_NONBLOCK) = 0 22 25 +0 connect(4, ..., ...) = -1 EINPROGRESS (Operation is now in progress) 23 26 +0 > S 0:0(0) win 65535 <mss 1460,nop,nop,sackOK,nop,wscale 8> 27 + +0 %{ assert tcpi_state == TCP_SYN_SENT, tcpi_state }% 24 28 25 29 // tp->fastopen_rsk must be NULL 26 30 +1 > S 0:0(0) win 65535 <mss 1460,nop,nop,sackOK,nop,wscale 8>