Testing Setup of kernel 2.6.18-rc4

From Wiki

Jump to: navigation, search

This page contains testing setup for 2.6.18-rc4 kernel

Testbed

Setup

  1. Download kernel 2.6.18-rc4 and CUBIC v2.0 patch or CUBIC v2.1 patch and install them on sender 1 and 2.
 wget http://www.kernel.org/pub/linux/kernel/v2.6/testing/linux-2.6.18-rc4.tar.gz
 patch -p1 < CUBIC patch
  1. Install FreeBSD and our dummynet modifications on router 1-2. For more details, see Dummynet Installation
  1. At sender 1-2 and receiver 1-2, increase the maximum socket buffer size. For example, if the maximum is 64 Mbytes, you can set MAXBUF to 67108864.
 # we only touch the maximum TCP buffer size
 # so, normal users don't complain about this
 sysctl -w net.core.rmem_max=$MAXBUF
 sysctl -w net.core.wmem_max=$MAXBUF
 sysctl -w net.ipv4.tcp_rmem="4096 87380 $MAXBUF"
 sysctl -w net.ipv4.tcp_wmem="4096 65536 $MAXBUF"
  1. Think about the case when the receiver is not tuned while the sender is tuned


  1. At sender 1-2 and receiver 1-2, Set the ring buffer size to 4096 and disable TSO for a highspeed interface being tested. For example, set INF to eth1, MAXBACKLOG to 3000, RX_RING to 4096, and TSO_ON to 'off'.
 sysctl -w net.ipv4.tcp_no_metrics_save=1
 sysctl -w net.core.netdev_max_backlog=$MAXBACKLOG
 ifconfig $INF txqueuelen $MAXBACKLOG
 # rx and tx ring buffer size
 ethtool -G $INF rx $RX_RING
 ethtool -G $INF tx $TX_RING
 # tso on/off
 ethtool -K $INF tso $TSO_ON
  1. Download iperf ( local copy) and apply the Zopt patch.
 tar vxfz iperf-1.7.0-source.tar.gz
 patch -p1 < iperf-1.7.0-Zopt.patch 
  1. Make sure all high-speed protocols being tested are loaded to the kernel
 modprobe tcp_cubic
 modprobe tcp_htcp
 modprobe tcp_highspeed
  1. run the iperf with a large buffer size on the receiver 1-2
 iperf -s -w 64M
  1. Calculate the BDP and run the iperf on the sender 1-2. You can specify a congestion control algorithm for the flow. In the example, we choose a CUBIC flow.
 iperf -c client_address -Z cubic -w BDP -i 5 -p 8000 -t 600


Personal tools