[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-Id: <20100221.181029.71107197.davem@davemloft.net>
Date: Sun, 21 Feb 2010 18:10:29 -0800 (PST)
From: David Miller <davem@...emloft.net>
To: ilpo.jarvinen@...sinki.fi
Cc: damian@....rwth-aachen.de, netdev@...r.kernel.org
Subject: Re: [PATCH][v4] tcp: fix ICMP-RTO war
From: "Ilpo Järvinen" <ilpo.jarvinen@...sinki.fi>
Date: Tue, 16 Feb 2010 14:45:25 +0200 (EET)
> On Wed, 10 Feb 2010, Damian Lukowski wrote:
>
>> @@ -5783,12 +5783,10 @@ int tcp_rcv_state_process(struct sock *sk, struct sk_buff *skb,
>>
>> /* tcp_ack considers this ACK as duplicate
>> * and does not calculate rtt.
>> - * Fix it at least with timestamps.
>> + * Force it here.
>> */
>> - if (tp->rx_opt.saw_tstamp &&
>> - tp->rx_opt.rcv_tsecr && !tp->srtt)
>> - tcp_ack_saw_tstamp(sk, 0);
>> -
>> + tcp_ack_update_rtt(sk, 0, 0);
>> +
>
> ...Here a zero seq_rtt is given to RTT estimator (it will be effective
> only in the case w/o timestamps, TS case recalculates it from the stored
> timestamps). Maybe we could use some field (timestamp related one comes to
> my mind) in request sock to get a real RTT estimate for non-timestamp case
> too. ...It seems possible to me, though tricky because the request_sock is
> no longer that easily available here so some parameter passing would be
> needed.
Agreed.
But even more simply I think we should make even the current
tcp_ack_update_rtt() call here conditional on at least
tp->srtt being zero.
Damian do you at least agree with that?
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Powered by blists - more mailing lists