Bug 23242

Summary: Need a special way tune TCP IPv6->IPv4 fallback timeout
Product: Networking Reporter: Guillaume Leclanche (guillaume)
Component: IPV6Assignee: Hideaki YOSHIFUJI (yoshfuji)
Status: RESOLVED INVALID    
Severity: enhancement CC: alan
Priority: P1    
Hardware: All   
OS: Linux   
Kernel Version: 2.6.36 Subsystem:
Regression: No Bisected commit-id:

Description Guillaume Leclanche 2010-11-18 17:52:09 UTC
When applications call the connect() function, if AAAA record is returned and correct routing is present, the system will start a TCP connection over IPv6.

However, if the host is finally unreachable, the system waits until the TCP connection attempt fails, that is roughly 3 min (5 retries, backoff, well, you know that).

Afaik, the only way to tune this timeout of 3 mins in the kernel is the tcp_syn_retries sysctl (RTO tuning not available in Linux TCP). By setting the value to 2, you can reduce the delay to ~10s which is more acceptable, and still 3 SYN are sent.

In order not to modify uselessly the TCP parameters for standard IPv4 connections at the same time, it would be necessary to have a *separate* parameter-set to decrease the v6->v4 fallback delay.