From dd3d313e5af51ab5491a5b5da7d189a356fff777 Mon Sep 17 00:00:00 2001 From: Shivansh Rai <shivanshrai84@gmail.com> Date: Fri, 25 Mar 2016 02:30:05 +0600 Subject: [PATCH] Test for establishing a connection after a reset --- .../bsd/tcp/listen/listen-incoming-ack.pkt | 23 +++++++++++++++++++ 1 file changed, 23 insertions(+) create mode 100644 gtests/net/packetdrill/tests/bsd/tcp/listen/listen-incoming-ack.pkt diff --git a/gtests/net/packetdrill/tests/bsd/tcp/listen/listen-incoming-ack.pkt b/gtests/net/packetdrill/tests/bsd/tcp/listen/listen-incoming-ack.pkt new file mode 100644 index 00000000..f2a83d63 --- /dev/null +++ b/gtests/net/packetdrill/tests/bsd/tcp/listen/listen-incoming-ack.pkt @@ -0,0 +1,23 @@ +// Test behavior when a listener gets an incoming packet from new sender on a +// non-established session that doesn't have a SYN bit set but has an ACK bit set. +// Listener should send a RESET. +// Checking if we can establish a connection with the system after a +// connection reset + +0.000 socket(..., SOCK_STREAM, IPPROTO_TCP) = 3 +0.000 setsockopt(3, SOL_SOCKET, SO_REUSEADDR, [1], 4) = 0 +0.000 bind(3, ..., ...) = 0 +0.000 listen(3, 1) = 0 + +0.100 < . 0:0(0) win 65535 <mss 1460,sackOK,nop,nop,nop,wscale 7> +0.100 > R 0:0(0) win 0 + +// Now make sure that when a valid SYN arrives shortly thereafter +// (with the same address 4-tuple) we can still successfully establish +// a connection. + +0.200 < S 0:0(0) win 65535 <mss 1460 ,sackOK,nop,nop,nop,wscale 7> +0.200 > S. 0:0(0) ack 1 <...> + +0.300 < . 1:1(0) ack 1 win 65535 +0.300 accept(3, ..., ...) = 4 -- GitLab