Subject: Re: TCP not triggering a fast retransmit?

From: Ben Hutchings <[email-masked]>
Date: Wed, 30 Jun 2010 22:03:49 +0100

On Wed, 2010-06-30 at 11:04 -0700, Ivan Novick wrote:
> Hello all,
> 
> Attached is a packet capture from my application that is running on
> RedHat Enterprise Linux 5.4
> 
> I am seeing a Retransmission timeout but I was hoping this case would
> go into fast retransmit and not RTO.
> 
> I am wondering why did the sender not send more data?  If the sender
> was to send more data and extend the window then it would seem the
> duplicate acks or SACKS should trigger fast retransmit.
[...]

In that packet capture I see TCP payload lengths which are 2, 3 and 4
times the usual MSS of 1448 bytes, which implies that GRO or LRO is in
use.  In RHEL 5.4 the TCP stack does not ACK often enough in this case
because it is missing this change:

commit ff9b5e0f08cb650d113eef0c654f931c0a7ae730
Author: Herbert Xu <[email-masked]>
Date:   Thu Aug 31 15:11:02 2006 -0700

    [TCP]: Fix rcv mss estimate for LRO

Ben.

-- 
Ben Hutchings, Senior Software Engineer, Solarflare Communications
Not speaking for my employer; that's the marketing department's job.
They asked us to note that Solarflare product names are trademarked.