xref: /linux/tools/testing/selftests/net/packetdrill/tcp_close_close-on-syn-sent.pkt (revision 0ad9617c78acbc71373fb341a6f75d4012b01d69)
1// SPDX-License-Identifier: GPL-2.0
2// Test to make sure no RST is being sent when close()
3// is called on a socket with SYN_SENT state.
4
5`./defaults.sh`
6
7    0 socket(..., SOCK_STREAM, IPPROTO_TCP) = 3
8   +0 fcntl(3, F_SETFL, O_RDWR|O_NONBLOCK) = 0
9
10   +0 connect(3, ..., ...) = -1 EINPROGRESS (Operation now in progress)
11   +0 > S 0:0(0) <...>
12
13// Application decideds to close the socket in SYN_SENT state
14// Make sure no RST is sent after close().
15   +0 close(3) = 0
16
17// Receive syn-ack to trigger the send side packet examination:
18// If a RESET were sent right after close(), it would have failed with
19// a mismatched timestamp.
20  +.1 < S. 0:0(0) ack 1 win 32000 <mss 1460,nop,wscale 7>
21   +0 > R 1:1(0)
22