In article <000e01be0438$8d39fce0$[EMAIL PROTECTED]>,
"Jeff Schmidt" <[EMAIL PROTECTED]> writes:
> Hi:
> Kernel 2.1.126:

> In <net/tcp.h> :: tcp_select_initial_window() I see the following:

>         /* NOTE: offering an initial window larger than 32767
>          * will break some buggy TCP stacks. We try to be nice.
>          * If we are not window scaling, then this truncates
>          * our initial window offering to 32k. There should also
>          * be a sysctl option to stop being nice.
>          */

> However, I can't seem to find the sysctl to "stop being nice."  What is the
> procedure to allow a large (scaled) initial window?  I don't know the stack
> code too well, but it looks like there's more to it than just adjusting the
> few lines following the above comment.

The comment only applies to the unscaled window part. 32k limits you
assuming scale max scale 14 to a maximum effective window of 512MB - that
should be enough for most uses.

Here the relevant part from the upcomming network manpage rewrite (from tcp.4):        
 To  use  the  window scaling option effectively the
       default send and receive buffers  have  to  be  increased.
       This    can    be   either   done   globally   using   the
       net.core.wmen_default and  net.core.rmem_default  sysctls,
       or on a per socket basis using the SO_SNDBUF and SO_RCVBUF
       socket options. The maximum  size  that  can  be  set  per
       socket  is  limited  by  the  global net.core.rmem_max and
       net.core.wmem_max sysctls.

So just increase the receive socket buffer and everything will be fine.


-Andi
-
To unsubscribe from this list: send the line "unsubscribe linux-net" in
the body of a message to [EMAIL PROTECTED]

Reply via email to