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]