netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Alex Bergmann <alex@linlab.net>
To: Eric Dumazet <eric.dumazet@gmail.com>
Cc: "H.K. Jerry Chu" <hkjerry.chu@gmail.com>,
	davem@davemloft.net, netdev@vger.kernel.org,
	linux-kernel@vger.kernel.org
Subject: Re: [PATCH 1/1] tcp: Wrong timeout for SYN segments
Date: Thu, 23 Aug 2012 14:37:27 +0200	[thread overview]
Message-ID: <50362407.9070805@linlab.net> (raw)
In-Reply-To: <1345724123.5904.756.camel@edumazet-glaptop>

On 08/23/2012 02:15 PM, Eric Dumazet wrote:
> On Thu, 2012-08-23 at 13:58 +0200, Alex Bergmann wrote:
>> On 08/22/2012 06:41 PM, H.K. Jerry Chu wrote:
> 
>>> This issue occurred to me right after I submitted the patch for RFC6298.
>>> I did not commit any more change because RFC compliance aside, 180secs
>>> just seem like eternity in the Internet age.
>>>
>>> (See my past post on this at
>>> http://marc.info/?l=linux-netdev&m=130759078118866&w=2)
>>
>> Okay, I missed that post during my search about the current situation.
> 
> I would suggest to increase TCP_SYN_RETRIES from 5 to 6.
> 
> 180 secs is eternity, but 31 secs is too small.
> 
> Can you repost a v2, only changing TCP_SYN_RETRIES ?

I hope the description is good enough.

Alex


>From be551f82499112e4775b6d579d58967510b6d492 Mon Sep 17 00:00:00 2001
From: Alexander Bergmann <alex@linlab.net>
Date: Thu, 23 Aug 2012 14:33:35 +0200
Subject: [PATCH 1/1] tcp: Increase timeout for SYN segments

Commit 9ad7c049 changed the initRTO from 3secs to 1sec in accordance to
RFC6298 (former RFC2988bis). This reduced the time till the last SYN
retransmission packet gets sent from 93secs to 31secs.

RFC1122 is stating that the retransmission should be done for at least 3
minutes, but this seems to be quite high.[1]

This patch increases the value of TCP_SYN_RETRIES to the value of 6,
providing a retransmission window of 63secs.

[1] RFC 1122 - 4.2.3.5 TCP Connection Failures

Signed-off-by: Alexander Bergmann <alex@linlab.net>
---
 include/net/tcp.h |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/include/net/tcp.h b/include/net/tcp.h
index 1f000ff..f309e93 100644
--- a/include/net/tcp.h
+++ b/include/net/tcp.h
@@ -98,7 +98,7 @@ extern void tcp_time_wait(struct sock *sk, int state, int timeo);
                                 * 15 is ~13-30min depending on RTO.
                                 */
 
-#define TCP_SYN_RETRIES         5      /* number of times to retry active opening a
+#define TCP_SYN_RETRIES         6      /* number of times to retry active opening a
                                 * connection: ~180sec is RFC minimum   */
 
 #define TCP_SYNACK_RETRIES 5   /* number of times to retry passive opening a
-- 
1.7.8.6

  parent reply	other threads:[~2012-08-23 12:37 UTC|newest]

Thread overview: 31+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-08-21 23:29 [PATCH 1/1] tcp: Wrong timeout for SYN segments Alex Bergmann
2012-08-22  8:06 ` Eric Dumazet
2012-08-22  8:48   ` Alex Bergmann
2012-08-22  8:58     ` Eric Dumazet
2012-08-22  9:29       ` Alex Bergmann
2012-08-22  9:59         ` Eric Dumazet
2012-08-22 10:03           ` Eric Dumazet
2012-08-22 17:29             ` H.K. Jerry Chu
2012-08-22 16:44 ` H.K. Jerry Chu
     [not found] ` <CAFbMe2M7ekc94bQk7vTS1LhScPd49VZ-zKOCUXhqwxXtL-nkuA@mail.gmail.com>
2012-08-23 11:58   ` Alex Bergmann
2012-08-23 12:15     ` Eric Dumazet
2012-08-23 12:35       ` David Laight
2012-08-23 12:51         ` Eric Dumazet
2012-08-23 12:37       ` Alex Bergmann [this message]
2012-08-23 12:49         ` Eric Dumazet
2012-08-24 12:17           ` Alex Bergmann
2012-08-24 17:42           ` David Miller
2012-08-25  8:48             ` Alexander Bergmann
2012-08-25  9:01               ` Eric Dumazet
2012-08-28  8:44               ` Carsten Wolff
     [not found]                 ` <1346414260.2591.8.camel@edumazet-glaptop>
2012-08-31 12:48                   ` Alexander Bergmann
2012-08-31 13:25                     ` Eric Dumazet
2012-08-31 19:42                       ` David Miller
2012-08-31 19:47                         ` David Miller
2012-08-29  4:34               ` H.K. Jerry Chu
2012-08-29  8:51                 ` Eric Dumazet
2012-08-29 17:25                   ` H.K. Jerry Chu
2012-08-30 13:12                     ` Eric Dumazet
2012-08-30 16:45                       ` David Miller
2012-08-30 18:04                         ` H.K. Jerry Chu
2012-08-30 17:59                       ` H.K. Jerry Chu

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=50362407.9070805@linlab.net \
    --to=alex@linlab.net \
    --cc=davem@davemloft.net \
    --cc=eric.dumazet@gmail.com \
    --cc=hkjerry.chu@gmail.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=netdev@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).