All of lore.kernel.org
 help / color / mirror / Atom feed
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.
>
>

  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.se \
    --cc=anna.brunstrom@kau.se \
    --cc=eric.dumazet@gmail.com \
    --cc=mohammad.rajiullah@kau.se \
    --cc=nanditad@google.com \
    --cc=ncardwell@google.com \
    --cc=netdev@vger.kernel.org \
    --cc=sergei.shtylyov@cogentembedded.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.