From: Per Hurtig <per.hurtig@kau•se>
To: Eric Dumazet <eric.dumazet@gmail•com>
Cc: "Nandita Dukkipati" <nanditad@google•com>,
Netdev <netdev@vger•kernel.org>,
"Anna Brunström" <anna.brunstrom@kau•se>,
mohammad.rajiullah@kau•se, "Neal Cardwell" <ncardwell@google•com>,
"Sergei Shtylyov" <sergei.shtylyov@cogentembedded•com>
Subject: Re: [PATCH] tcp: fixing TLP's FIN recovery
Date: Mon, 09 Jun 2014 16:42:49 +0200 [thread overview]
Message-ID: <5395C7E9.4050406@kau.se> (raw)
In-Reply-To: <1402324388.3645.359.camel@edumazet-glaptop2.roam.corp.google.com>
Tried to run the script, but I don't have the "common/defaults" and the
test scripts from the git repository fails on all TCP tests for Linux.
The results I listed in the enclosed packet traces are from two real
machines communicating with each other (with fresh net-next kernels and
TLP without the zero probe check), so I tend to rely more on those
results.
Cheers,
Per
On mån 9 jun 2014 16:33:08, Eric Dumazet wrote:
> On Mon, 2014-06-09 at 15:13 +0200, Per Hurtig wrote:
>>>
>> Yes, it needs a SACK that covers one "sequence number", which a FIN
>> does. I don't see why it shouldn't generate a SACK? See below for some
>> packet dumps.
>
> I cooked following packetdrill test :
>
> $ cat tlp-10pkt-fin.pkt
> `../common/defaults.sh`
> // Establish a connection.
> 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 < S 0:0(0) win 32792 <mss 1000,sackOK,nop,nop,nop,wscale 7>
> 0.100 > S. 0:0(0) ack 1 <mss 1460,nop,nop,sackOK,nop,wscale 6>
> 0.200 < . 1:1(0) ack 1 win 257
> 0.200 accept(3, ..., ...) = 4
>
> // Send 8 MSS.
> 0.200 write(4, ..., 8000) = 8000
> +.000 > P. 1:8001(8000) ack 1
> +.000 close(4) = 0
> +.000 > F. 8001:8001(0) ack 1
>
> // Receiver ACKs 7 packets
> 0.300 < . 1:1(0) ack 7001 win 257
> // check if TLP re-sends the FIN
> 0.500 > F. 8001:8001(0) ack 1
> 0.600 < . 1:1(0) ack 7001 win 257 <sack 8001:8001,nop,nop>
> // check if fast restransmit is correctly triggered.
> 0.600 > P. 7001:8001(1000) ack 1
>
> # ../packetdrill tlp-10pkt-fin.pkt
> tlp-10pkt-fin.pkt:26: error handling packet: timing error: expected
> outbound packet at 0.600000 sec but happened at 1.099761 sec
> script packet: 0.600000 P. 7001:8001(1000) ack 1
> actual packet: 1.099761 P. 7001:8001(1000) ack 1 win 457
>
> So it looks like fast retransmit is not triggered.
>
>
next prev parent reply other threads:[~2014-06-09 14:42 UTC|newest]
Thread overview: 28+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-06-06 18:46 tcp: fixing TLP's FIN recovery Per Hurtig
2014-06-06 19:07 ` Eric Dumazet
2014-06-07 11:10 ` [PATCH] " Per Hurtig
2014-06-07 13:56 ` Sergei Shtylyov
2014-06-07 14:34 ` Per Hurtig
2014-06-08 2:58 ` Eric Dumazet
2014-06-08 7:41 ` Per Hurtig
2014-06-08 16:35 ` Eric Dumazet
2014-06-09 7:04 ` Nandita Dukkipati
2014-06-09 7:02 ` Nandita Dukkipati
2014-06-09 13:13 ` Per Hurtig
2014-06-09 14:33 ` Eric Dumazet
2014-06-09 14:39 ` Eric Dumazet
2014-06-09 14:42 ` Per Hurtig [this message]
2014-06-09 15:04 ` Eric Dumazet
2014-06-09 15:56 ` Per Hurtig
2014-06-09 16:15 ` Eric Dumazet
2014-06-09 16:24 ` Eric Dumazet
2014-06-09 18:33 ` Eric Dumazet
2014-06-12 14:21 ` Weiping Pan
2014-06-12 14:32 ` Eric Dumazet
2014-06-12 15:08 ` [PATCH v2 1/1] " Per Hurtig
2014-06-12 15:28 ` Eric Dumazet
2014-06-12 17:36 ` Nandita Dukkipati
2014-06-12 17:46 ` Neal Cardwell
2014-06-12 18:06 ` David Miller
2014-10-07 15:03 ` Josh Hunt
2014-10-07 20:17 ` David Miller
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=5395C7E9.4050406@kau.se \
--to=per.hurtig@kau$(echo .)se \
--cc=anna.brunstrom@kau$(echo .)se \
--cc=eric.dumazet@gmail$(echo .)com \
--cc=mohammad.rajiullah@kau$(echo .)se \
--cc=nanditad@google$(echo .)com \
--cc=ncardwell@google$(echo .)com \
--cc=netdev@vger$(echo .)kernel.org \
--cc=sergei.shtylyov@cogentembedded$(echo .)com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox