netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: John Heffner <jheffner@psc.edu>
To: lists@andyfurniss.entadsl.com
Cc: netdev@vger.kernel.org
Subject: Re: Controlling TCP window size
Date: Tue, 16 May 2006 14:48:04 -0400	[thread overview]
Message-ID: <446A1E64.7040006@psc.edu> (raw)
In-Reply-To: <446A1BC8.5060609@andyfurniss.entadsl.com>

Andy Furniss wrote:
> John Heffner wrote:
>> Andy Furniss wrote:
>>
>>>
>>> I've been doing some testing of my new wan connection and noticed 
>>> that when I specify a window with ip route it still changes after a 
>>> while.
>>
>>
>> Looks like this is occurring in 
>> net/ipv4/tcp_input.c:tcp_rcv_space_adjust().
>>
>> The problem really is that the window_clamp variable is overloaded. 
>> It's used as a kind of cache for rcvbuf -> window conversion, but also 
>> as a user-settable bound in window size.  On examination, it looks 
>> like this is also broken (in that window size won't increase) if a 
>> user does a setsockopt(SO_RCVBUF).  Can we make window_clamp a true 
>> clamp?  Then we can get rid of the hack of raising it in 
>> tcp_rcv_space_adjust().  I can cook up a patch if interested.
>>
>>   -John
>>
> 
> Thanks - I did get an answer off list (probably accidently?) to the 
> effect that I shouldn't rely on ip route to limit window as it's only a 
> hint and would make more sense if I wanted it to start really big.

I guess the other problem is that it's not well defined. :)  As it 
stands now though it's nearly useless if you have tcp_moderate_rcvbuf 
turned on.


> Playing with r_mem etc is the way to go to hard limit.

This will work, but is not available per-route or per-socket.  The 
purpose is really different.

   -John


  reply	other threads:[~2006-05-16 18:48 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2006-05-16 11:06 Controlling TCP window size Andy Furniss
2006-05-16 18:28 ` John Heffner
2006-05-16 18:36   ` Andy Furniss
2006-05-16 18:48     ` John Heffner [this message]
2006-05-16 23:01   ` David S. 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=446A1E64.7040006@psc.edu \
    --to=jheffner@psc.edu \
    --cc=lists@andyfurniss.entadsl.com \
    --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).