netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Gerrit Renker <gerrit@erg.abdn.ac.uk>
To: netdev@vger.kernel.org
Subject: [RFC][PATCH 1/1] TCP: update initial windows according to RFC 5681
Date: Mon, 30 Aug 2010 07:27:34 +0200	[thread overview]
Message-ID: <20100830052734.GB5332@gerrit.erg.abdn.ac.uk> (raw)

This is an update to the earlier DCCP 5-patch set, sent separately in case this
question is a contentious issue. 

However, it does look as if the newer RFC 5681 is indeed the normative case for 
the RFC 3390 initial window value. 

If there are no objections, I would like to submit this as an update for net-2.6.

>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Patch <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
TCP: use initial window from RFC 5681

This updates the use of larger initial windows, as originally specified in 
RFC 3390, to use the newer IW values specified in RFC 5681, section 3.1.

The changes made in RFC 5681 are:
 a) the setting now is more clearly specified in units of segments (as the
    comments  by John Heffner emphasized, this was not very clear in RFC 3390);
 b) for connections with 1095 < SMSS <= 2190 there is now a change:
    - RFC 3390 says that IW <= 4380,
    - RFC 5681 says that IW = 3 * SMSS <= 6570.

Since RFC 3390 is older and "only" proposed standard, whereas the newer RFC 5681
is already draft standard, it seems preferable to use the newer IW variant.

Signed-off-by: Gerrit Renker <gerrit@erg.abdn.ac.uk>
---
 include/net/tcp.h |   10 ++--------
 1 file changed, 2 insertions(+), 8 deletions(-)

--- a/include/net/tcp.h
+++ b/include/net/tcp.h
@@ -791,17 +791,11 @@ static inline __u32 tcp_current_ssthresh
 
 /*
  * Convert RFC 3390 larger initial window into an equivalent number of packets.
- *
- * John Heffner states:
- *
- *	The RFC specifies a window of no more than 4380 bytes
- *	unless 2*MSS > 4380.  Reading the pseudocode in the RFC
- *	is a bit misleading because they use a clamp at 4380 bytes
- *	rather than a multiplier in the relevant range.
+ * This is based on the numbers specified in RFC 5681, 3.1.
  */
 static inline u32 rfc3390_bytes_to_packets(const u32 smss)
 {
-	return smss <= 1095 ? 4 : (smss > 1460 ? 2 : 3);
+	return smss <= 1095 ? 4 : (smss > 2190 ? 2 : 3);
 }
 
 extern void tcp_enter_cwr(struct sock *sk, const int set_ssthresh);


             reply	other threads:[~2010-08-30  5:27 UTC|newest]

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-08-30  5:27 Gerrit Renker [this message]
2010-08-30 20:51 ` [RFC][PATCH 1/1] TCP: update initial windows according to RFC 5681 David Miller

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=20100830052734.GB5332@gerrit.erg.abdn.ac.uk \
    --to=gerrit@erg.abdn.ac.uk \
    --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).