Re: [PATCH 0/3][v2] tcp: fix ICMP-RTO war
From: David Miller <davem@davemloft.net>
Date: 2010-02-01 07:33:25
From: Damian Lukowski <redacted> Date: Fri, 29 Jan 2010 23:15:51 +0100
This patches fix the current RTO calculation routine, when srtt and rttvar are zero, yielding an RTO of zero Under some circumstances, TCPs srtt and rttvar are zero, yielding a calculated RTO of zero. This is particularly unfortunate for ICMP based RTO recalculation as introduced in f1ecd5d9e736660 (Revert Backoff [v3]: Revert RTO on ICMP destination unreachable), as it results in RTO retransmission flooding. Thanks to Ilpo Jarvinen for providing debug patches and to Denys Fedoryshchenko for reporting and testing. Signed-off-by: Damian Lukowski <redacted>
I still haven't seen a detailed enough analysis of why these tiny RTOs can come to exist in the first place. Please show me a list of events, function by function, the value of relevant variables and per-socket TCP state, in the TCP stack, that show how this ends up happening. Thanks for all of your work on this so far.