Subject: Re: [Bugme-new] [Bug 18952] New: The mount of SYN retries is not equal to /proc/sys/net/ipv4/tcp_syn_retries

From: Yuri Chislov <[email-masked]>
Date: Mon, 27 Sep 2010 10:07:06 +0200

It looks like the behavior changed in 2.6.32. 2.6.32 and up, uses some 
calculation instead of a direct definition of the retries number, that makes it 
harder to achieve the necessary system behavior.

 The default behavior of the system changed completely
(the old default connect timeout was ~ 180 seconds, while the new one is ~21 
sec). 

The new behavior invalidates the kernel documentation and tcp man page.

It's not possible to set a connect timeout > 25 sec in the applications while 
using the default values in /proc. 

>>From my view point is regression.

On Saturday, September 25, 2010 05:05:57 am David Miller wrote:
> tcp_syn_retries is not an exact calculation.
> 
> It is input into a calculation which estimates how long that many
> retransmits (with suitable backoff applied) will take, and that time
> estimte in turn determines the time limit for when we'll kill the
> connection attempt.
> 
> Feel free to update the documentation in
> Documentation/networking/ip-sysctl.txt to more closely match the
> behavior.
> 
> The logic is in net/ipv4/tcp_timer.c:retransmits_timed_out().