Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 22 Oct 2013 10:01:07 +0200
From:      Andre Oppermann <andre@freebsd.org>
To:        Colin Percival <cperciva@freebsd.org>,  Julian Elischer <julian@freebsd.org>, freebsd-net@freebsd.org
Subject:   Re: LRO causing stretch ACK violations interacts badly with delayed ACKing
Message-ID:  <526630C3.4090008@freebsd.org>
In-Reply-To: <52659569.8090301@freebsd.org>
References:  <52605EC9.6090406@freebsd.org> <526478D0.1000601@freebsd.org> <5264869E.4000308@freebsd.org> <5265450C.1060601@freebsd.org> <526558D2.3010505@freebsd.org> <52658726.4030106@freebsd.org> <52658A79.6070705@freebsd.org> <52659569.8090301@freebsd.org>

next in thread | previous in thread | raw e-mail | index | archive | help
On 21.10.2013 22:58, Colin Percival wrote:
> On 10/21/13 13:11, Andre Oppermann wrote:
>> On 21.10.2013 21:57, Andre Oppermann wrote:
>>> This is an excellent observation!  Our tcp doesn't know about LRO
>>> and I prepared the mbuf header to carry information about the number
>>> of merged LRO segments.  That's not done yet again.  However a small
>>> heuristic in tcp_input looking for segment > mss should be sufficient
>>> for now.  Let me have a look at patching it into a suitable place.
>>
>> Please check out the patch below.  Haven't tested it myself yet though.
>
> Yes, this works:
>> 00:00:00.000000 IP 10.148.229.78.24405 > 176.32.98.166.443: Flags [S], seq 3220740500, win 65535, options [mss 1460,nop,wscale 6,sackOK,TS val 350742 ecr 0], length 0
>> 00:00:00.000613 IP 176.32.98.166.443 > 10.148.229.78.24405: Flags [S.], seq 1783557911, ack 3220740501, win 8190, options [mss 1460,nop,wscale 6], length 0
>> 00:00:00.000657 IP 10.148.229.78.24405 > 176.32.98.166.443: Flags [.], ack 1, win 1026, length 0
>> 00:00:00.001842 IP 176.32.98.166.443 > 10.148.229.78.24405: Flags [.], ack 1, win 127, length 0
>> 00:00:00.032269 IP 10.148.229.78.24405 > 176.32.98.166.443: Flags [P.], seq 1:318, ack 1, win 1026, length 317
>> 00:00:00.033080 IP 176.32.98.166.443 > 10.148.229.78.24405: Flags [.], ack 318, win 108, length 0
>> 00:00:00.033115 IP 176.32.98.166.443 > 10.148.229.78.24405: Flags [.], seq 1:4097, ack 318, win 108, length 4096
>> 00:00:00.033129 IP 10.148.229.78.24405 > 176.32.98.166.443: Flags [.], ack 4097, win 962, length 0
>
> Please commit this fix and get it merged for 10.0-RELEASE!

I committed it to my staging branch pending review:
  http://svnweb.freebsd.org/changeset/base/256879

It should go into HEAD later this week and the MFC to 10.x then depends
on re@'s take on it.

-- 
Andre




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?526630C3.4090008>