Thanks for the help. I have been trying to get netperf to work correctly under linux. It depends on getsockopt returning a value that represents the window size of the connection. Since getsockeopt was giving it a value that too large by a factor of two it was setting it buffer incorrectly. Which was causing poor performance, yes it matters. Bill Jones At 10:51 AM 4/2/01 -0700, David S. Miller wrote: >William L. Jones writes: > > The reason this is important is on long distance transfers the send > > and receive window shuld be set to RTT(round trip time)*BW(Maxium > > bandwidth) between the two sites. Any large value can, and does, > > cause tail dropping. A smaller value and you never get the maxium > > bandwidth. > >You should not half the number you send to the kernel. > >The kernel is doubling the number you give it because this SO_SNDBUF >value also accounts for the size of internal buffer structures used to >keep track of the socket send data _as well_ as the data bytes >themselves. > >There have been many threads about this, whether it is good or >bad, etc. but the long and short of it is that the behavior is >not going to change. > > > Could some one please fix or at least document it in the setsockopt > > man page. > >I believe Andi Klein did update the man page in the last few >months to at least mention something about this. > >Later, >David S. Miller >davem@redhat.com - : send the line "unsubscribe linux-net" in the body of a message to majordomo@vger.kernel.org