I tried to extent the initial TCP congestion windows used inside the slow start of any TCP connexions.<br />
<br />
I used the ip route commands like :<br />
ip route change 192.168.1.0/24 dev eth0 proto static scope link src 192.168.1.27 initcwnd 35<br />
ip route change default via 192.168.1.1 dev eth0 proto static initcwnd 35<br />
<br />
Ip route show results after this settings :<br />
192.168.1.0/24 dev eth0 proto static scope link src 192.168.1.27 initcwnd 35<br />
169.254.0.0/16 dev eth0 scope link <br />
default via 192.168.1.1 dev eth0 proto static initcwnd 35<br />
<br />
This problem was initially seen using http protocol (apache) but i reproduced it using a simple program i created to measure this cwnd.<br />
<br />
The first time i run this server, the snd_cwnd stays at 2.<br />
Without touching any other things, the second time i run this server, the snd_cwnd is 35 like i set it using ip route.<br />
<br />
This seems to have a link with the routing cache of linux, because if i run an "ip route flush cache" between all run of my application, the snd_cwnd stays at 2.<br />
<br />
Any idea ?<br />
<br />
This seems to be solved in Centos 6. I am currently using the kernel :<br />
<br />
Linux localhost.localdomain 2.6.18-308.16.1.el5 <a href="http://bugs.centos.org/view.php?id=1">0000001</a> SMP Tue Oct 2 22:01:43 EDT 2012 x86_64 x86_64 x86_64 GNU/Linux
↧