TCP Westwood+

This page is the repository of TCP Westwood+ Linux kernel 2.4 patches. After patching your kernel, you need to compile it again enabling "IP :TCP Westwood support" in the "Networking Options". I suggest not to enable " IP : TCP Westwood statistics" (used just for collecting statistics by using a user-space tool suite I coded named westwood-utils) and "IP : TCP Westwood debug" (which currently does nothing).

After compiling, TCP Westwood+ is not enabled by default but you need to do it through the sysctl tcp_westwood.

echo 1 > /proc/sys/net/ipv4/tcp_westwood

By echoing 0 and 1 in this sysctl, you may switch between TCP classical implementation and Westwood+ one.

As you could see, there are two different flavours of the patch : the "stable" ones and the "test" ones. There's a really little difference between these two series. In fact, the "test" patches avoid introducing instructions in the Linux TCP implementation. Unfortunately, it could lead to few problems if we try to switch from NewReno to Westwood+ during a data transfer. In fact, the socket related to this data transfer could find an uninitialized read/write spinlock. If you're conscious of it you can use these patches but I suggest to use "stable" ones which avoid this behaviour.

Size 5.8k
MD5 checksum 2b48ed870e0178aab1353a88454e95d9

Size 5.8k
MD5 checksum 71e3f86c7147bfcca011972a96b62579

Size 5.8k
MD5 checksum 8a2b2187a38e1dcc442c9ae05cedffb9

Size 5.8k
MD5 checksum 25cc946ca2ccdf2c1ce7d8867ea80d61

Size 5.8k
MD5 checksum 24c53c4e1193b8582cd71c31c99ad0cb

Size 5.8k
MD5 checksum 489011754cd589c6560fcd0c885cbc6d

Size 5.9k
MD5 checksum 47f38d0fc6d3035c1a691286d86ce13b

Size 5.9k
MD5 checksum c41ef6eb3fe7da082bf09ae1a3e59e3f