I've read that 2.6.33+ allows setting custom cwnd.
- if the IW is 10 by default (for all distros? only some?)
- how does one view what the current IW is on a particular compiled kernel?
references:
|
I've read that 2.6.33+ allows setting custom cwnd.
references: |
||||
|
|
|
As of Linux kernel version 2.6.38 (released March 2011) the receive window was increased to 10 segments to make sure that a low value will not become a bottleneck for any senders that implement IW10. The initial congestion window, respectively, was afterwards increased to 10 segments in kernel version 2.6.39 (released May 2011). As a side note kernel version 3.0 was released in the end of July 2011. You can see the source code at http://lxr.linux.no/#linux+v2.6.38/include/net/tcp.h#L64 and http://lxr.linux.no/#linux+v2.6.39/include/net/tcp.h#L199. Latest desktop distributions (released Q4/2011) such as Ubuntu/Kubuntu/... and Fedora use kernel versions 3.x with 3.1.5 being the latest at the moment. Stable server distributions adopt much slower newer kernels and software in general. For example, Debian stable 6.0.3 released in October 2011 goes with kernel version 2.6.32-38 while Red Hat Enterprise Linux 6.x and CentOS 6.x use kernel versions 2.6.32 to 2.6.34. Edit: The article that says the first version with IW10 support is 2.6.33 is wrong. I went through the source code of many kernel versions some time before writing this answer. Versions 2.6.38 and 2.6.39 were the first ones I found to respectively increase the receive and congestion windows. Moreover, the change logs confirm it - see http://kernelnewbies.org/Linux_2_6_38 and http://kernelnewbies.org/Linux_2_6_39. |
|||||||
|
|
You should look closer at code demonstrated in your first link: net/ipv4/tcp_output.c
In newer kernels (since 21 Dec 2010) constant defined in include/net/tcp.h
So to put it simple: support initial window == 10 depends on kernel version and patches applied by your distribution, For Linux <= PS. You can tune this variable per route via
PS. IW10 is only one of Google proposed enchantments to TCP |
|||||||||||||
|