On Fri, Oct 06, 2006 at 09:57:53AM +0100, Brett Parker wrote:
On Fri, Oct 06, 2006 at 09:47:50AM +0100, cl@isbd.net wrote:
On Fri, Oct 06, 2006 at 09:40:09AM +0100, Brett Parker wrote:
OK - alarm bells just went off in my head... just a simple, really easy question here... is this a 2.6.17 kernel? If so, can you try the following: echo 0 > /proc/sys/net/ipv4/tcp_window_scaling
It's a 2.6.18 kernel (rc5 I think), but the above *does* fix the problem - what arcane art is that?! :-)
Brilliant, thanks.
OK - the basic problem is that in the 2.6.17 kernel the window scaling was actually "fixed" to conform to the specification, and now uses a percentage of available ram for the window sizes... the unfortunate part is that half the routers in the world are completely broken wrt the spec, which is a pain...
So, the "long term" fix for now is to add to /etc/sysctl.conf the following:
net.ipv4.tcp_rmem=4096 87380 174760 net.ipv4.tcp_wmem=4096 16384 131072
Which are the old defaults for the window sizes.
To test that you can do: sysctl -w net.ipv4.tcp_rmem="4096 87380 174760" sysctl -w net.ipv4.tcp_wmem="4096 16384 131072" sysctl -w net.ipv4.tcp_window_scaling=1
If you want to check that these are set, cat the corresponding files in /proc/sys, so for example: cat /proc/sys/net/ipv4/tcp_window_scaling
And check that's back to 1, and the other 2 are set as I've put in here... and long live the tcp connection :)
Excellent, thank you, I've done all that now and I'm just doing a reboot remotely - I'm not totally convinced it'll come back up for me to check now but that doesn't really matter.
I'm expecting this sort of problem really, I'm pushing the edge of drivers available in Linux which is why I'm using a 2.6.18 kernel, the SuSE 10.2 alpha (it'll be beta very soon I think) was one of the few that has the drivers I want in it.
I'm fairly sure that 2.6.18 has been released, Noodles probably knows better than I... *looks at kernel.org* - yup, it's been released, 2006-09-20 was the release date :)
Yes, I know that, but there's no distribution with the released version of the 2.6.18 kernel in it yet - at least not a 'major' distribution. I need to get something up and running in order to enable me to build a released 2.6.18 kernel.
While I've been waffling away here the system *has* rebooted successfully and now I can make TCP connections to the outside world!
:-) Thanks very much indeed.