linux/tools/testing/selftests/net/packetdrill/tcp_close_close-on-syn-sent.pkt
Soham Chakradeo 88395c071f selftests/net: packetdrill: import tcp/ecn, tcp/close, tcp/sack, tcp/tcp_info
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

Same test process as previous tests. Both with and without debug mode.
Recording the steps once:

make mrproper
vng --build \
--config tools/testing/selftests/net/packetdrill/config \
--config kernel/configs/debug.config
vng -v --run . --user root --cpus 4 -- \
make -C tools/testing/selftests TARGETS=net/packetdrill run_tests

Signed-off-by: Willem de Bruijn <willemb@google.com>
Signed-off-by: Soham Chakradeo <sohamch@google.com>
Link: https://patch.msgid.link/20241217185203.297935-2-sohamch.kernel@gmail.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
2024-12-18 10:05:28 -08:00

22 lines
709 B
Plaintext

// SPDX-License-Identifier: GPL-2.0
// Test to make sure no RST is being sent when close()
// is called on a socket with SYN_SENT state.
`./defaults.sh`
0 socket(..., SOCK_STREAM, IPPROTO_TCP) = 3
+0 fcntl(3, F_SETFL, O_RDWR|O_NONBLOCK) = 0
+0 connect(3, ..., ...) = -1 EINPROGRESS (Operation now in progress)
+0 > S 0:0(0) <...>
// Application decideds to close the socket in SYN_SENT state
// Make sure no RST is sent after close().
+0 close(3) = 0
// Receive syn-ack to trigger the send side packet examination:
// If a RESET were sent right after close(), it would have failed with
// a mismatched timestamp.
+.1 < S. 0:0(0) ack 1 win 32000 <mss 1460,nop,wscale 7>
+0 > R 1:1(0)