netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Eric Dumazet <eric.dumazet@gmail.com>
To: Ang Way Chuang <wcang79@gmail.com>
Cc: netdev@vger.kernel.org
Subject: Re: TCP throughput drops sharply around MTU of 180 bytes
Date: Sat, 14 Nov 2009 10:12:44 +0100	[thread overview]
Message-ID: <4AFE748C.3050100@gmail.com> (raw)
In-Reply-To: <4AFE6FF0.3030101@gmail.com>

Eric Dumazet a écrit :
> 
> Oh well, this reminds me TCP_MAXSEG doesnt work as expected...

Oops, this problem I had few years ago was fixed last year in 2.6.27, sorry ...

commit f5fff5dc8a7a3f395b0525c02ba92c95d42b7390
Author: Tom Quetchenbach <virtualphtn@gmail.com>
Date:   Sun Sep 21 00:21:51 2008 -0700

    tcp: advertise MSS requested by user

    I'm trying to use the TCP_MAXSEG option to setsockopt() to set the MSS
    for both sides of a bidirectional connection.

    man tcp says: "If this option is set before connection establishment, it
    also changes the MSS value announced to the other end in the initial
    packet."

    However, the kernel only uses the MTU/route cache to set the advertised
    MSS. That means if I set the MSS to, say, 500 before calling connect(),
    I will send at most 500-byte packets, but I will still receive 1500-byte
    packets in reply.

    This is a bug, either in the kernel or the documentation.

    This patch (applies to latest net-2.6) reduces the advertised value to
    that requested by the user as long as setsockopt() is called before
    connect() or accept(). This seems like the behavior that one would
    expect as well as that which is documented.

    I've tried to make sure that things that depend on the advertised MSS
    are set correctly.

    Signed-off-by: Tom Quetchenbach <virtualphtn@gmail.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>




  reply	other threads:[~2009-11-14  9:12 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-11-14  8:28 TCP throughput drops sharply around MTU of 180 bytes Ang Way Chuang
2009-11-14  8:53 ` Eric Dumazet
2009-11-14  9:12   ` Eric Dumazet [this message]
2009-11-14  9:24     ` Ang Way Chuang
2009-11-14  9:57       ` Eric Dumazet
2009-11-14 10:19         ` Eric Dumazet
  -- strict thread matches above, loose matches on Subject: below --
2009-11-14  8:48 Ang Way Chuang

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=4AFE748C.3050100@gmail.com \
    --to=eric.dumazet@gmail.com \
    --cc=netdev@vger.kernel.org \
    --cc=wcang79@gmail.com \
    /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).