Logo tcpw.png

Linux Implementation

TCP Westwood+ has been implemented in the Linux kernel and it is included in the official Linux kernel from the release 2.6.3-rc1 and in the 2.4 kernels in the release 2.4.26-pre1.

How to select/deselect TCP Westwood+ congestion control

If you have a 2.6.x kernel with x>3 or a 2.4.x kernel with x>26 TCP Westwood+ support is compiled in the kernel. All you have to do to use TCP Westwood+ congestion control is to activate it through a sysctl call.

Instructions for kernels < 2.6.13

As root user issue the following command

  sysctl -w net.ipv4.tcp_westwood=1

or:

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

If you want to use TCP Westwood+ as your default congestion control algorithm just edit /etc/sysctl.conf and add the line:

  net.ipv4.tcp_westwood=1

To switch off TCP Westwood congestion control just run one of the above commands with 0 instead of 1.

Instructions for kernels>=2.6.13

Since the linux kernel 2.6.13 the congestion control layer has been rewritten in modules. In order to use TCP Westwood+ you have to compile it either as a module or in the kernel and then issuing as root user:

  sysctl -w net.ipv4.tcp_congestion_control=westwood

or:

  echo "westwood" > /proc/sys/net/ipv4/tcp_congestion_control

If you want to use TCP Westwood+ as the default congestion control algorithm just edit /etc/sysctl.conf and add the line:

  net.ipv4.tcp_congestion_control=westwood

This page is mantained by Luca De Cicco, please send feedback to ldecicco at gmail DOT com