Re: fix TCP roundtrip time update code

David Mosberger
2003-06-03T18:32:00Z

>>>>> On 03 Jun 2003 19:41:11 +0200, Martin Josefsson <gandalf@wlug.westbo.se> said:

Martin> (trimmed CC line and added netdev) On Tue, 2003-06-03 at
Martin> 17:52, David Mosberger wrote:
>> One of those very-hard-to-track-down, trivial-to-fix kind of
>> problems: without this patch, TCP roundtrip time measurements
>> will corrupt the routing cache's RTT estimates under heavy
>> network load (the bug causes RTAX_RTT to go negative, but since
>> its type is u32, you end up with a huge positive value...). From
>> there on, later TCP connections quickly will go south.

>> The typo was introduced 8 months ago in v1.29 of the file by the
>> patch entitled "Cleanup DST metrics and abstrct MSS/PMTU
>> further".

Martin> I tested this patch and it looks like it has cured my
Martin> mysterious TCP stalls.

Yes, this sounds reasonable. I wasn't very clear on this point, but
"by going south" I meant that TCP is starting to misbehave. In
particular, you'll likely end up with the kernel aborting ESTABLISHED
TCP connections with extreme prejudice (and in violation of the TCP
protocol), because it thought that it had been unable to communicate
with the remote end for a _very_ long time. The net effect typically
is that you end up with one end having a connection that's in the
ESTABLISHED state and the other end having no trace of that
connection.

--david