Re: [PATCH 1/1] tcp: Wrong timeout for SYN segments

From: Eric Dumazet
Date: Wed Aug 22 2012 - 06:00:00 EST


On Wed, 2012-08-22 at 11:29 +0200, Alex Bergmann wrote:

> Actual 6 SYN frames are sent. The initial one and 5 retries.
>

first one had a t0 + 0 delay. How can it count ???

> The kernel is waiting another 32 seconds for a SYN+ACK and then gives
> the ETIMEDOUT back to userspace.
>
> Do you mean that we have to send another SYN packet after the 3 minutes?
>

First SYN is not a retransmit

R2 = time_of_last_SYN - time_of_initial_SYN (t0) = 31

If you read RFC it states :

"In particular, R2 for a SYN segment MUST
be set large enough to provide retransmission of the segment
for at least 3 minutes."


That means that the last _retransmit_ MUST happen after 180 seconds.

And not :

Send all the restransmits at t0 + 1, then wait 180 seconds before giving
connect() a timeout indication.



--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/