2013-12-21 02:46:24 +04:00
|
|
|
#!/bin/sh
|
|
|
|
#
|
|
|
|
# This is a set of commands to run and verify they work before doing a new release.
|
|
|
|
# Eventually they should also use the -J flag to generate JSON output, and a program should
|
|
|
|
# be written to check the output.
|
|
|
|
# Be sure to test both client and server on Linux, BSD, and OSX
|
|
|
|
#
|
|
|
|
|
|
|
|
if [ $# -ne 1 ]
|
|
|
|
then
|
|
|
|
echo "Usage: `basename $0` hostname"
|
|
|
|
exit $E_BADARGS
|
|
|
|
fi
|
|
|
|
|
|
|
|
set -x
|
|
|
|
|
|
|
|
host=$1
|
|
|
|
|
|
|
|
# basic testing
|
|
|
|
./src/iperf3 -c $host -V -t 5 -T "test1"
|
|
|
|
./src/iperf3 -c $host -u -V -t 5
|
|
|
|
# omit mode
|
|
|
|
./src/iperf3 -c $host -i .3 -O 2 -t 5
|
|
|
|
# JSON mode
|
|
|
|
./src/iperf3 -c $host -i 1 -J -t 5
|
|
|
|
# force V4
|
|
|
|
./src/iperf3 -c $host -4 -t 5
|
|
|
|
./src/iperf3 -c $host -4 -u -t 5
|
|
|
|
# force V6
|
|
|
|
./src/iperf3 -c $host -6 -t 5
|
|
|
|
./src/iperf3 -c $host -6 -u -t 5
|
|
|
|
# parallel streams
|
|
|
|
./src/iperf3 -c $host -P 3 -t 5
|
|
|
|
./src/iperf3 -c $host -u -P 3 -t 5
|
|
|
|
# reverse mode
|
|
|
|
./src/iperf3 -c $host -P 2 -t 5 -R
|
|
|
|
./src/iperf3 -c $host -u -P 2 -t 5 -R
|
|
|
|
# zero copy
|
|
|
|
./src/iperf3 -c $host -Z -t 5
|
|
|
|
./src/iperf3 -c $host -Z -t 5 -R
|
|
|
|
# window size
|
|
|
|
./src/iperf3 -c $host -t 5 -w 8M
|
|
|
|
# -n flag
|
|
|
|
./src/iperf3 -c $host -n 5M
|
|
|
|
./src/iperf3 -c $host -n 5M -u -b1G
|
|
|
|
# conflicting -n -t flags
|
|
|
|
./src/iperf3 -c $host -n 5M -t 5
|
|
|
|
# -k mode
|
|
|
|
./src/iperf3 -c $host -k 1K
|
|
|
|
./src/iperf3 -c $host -k 1K -u -b1G
|
|
|
|
# CPU affinity
|
|
|
|
./src/iperf3 -c $host -A 2/2
|
|
|
|
./src/iperf3 -c $host -A 2/2 -u -b1G
|
|
|
|
# Burst mode
|
|
|
|
./src/iperf3 -c $host -u -b1G/100
|
|
|
|
# change MSS
|
|
|
|
./src/iperf3 -c $host -M 1000 -V
|
2013-12-21 03:05:21 +04:00
|
|
|
# test congestion control option (linux only)
|
|
|
|
./src/iperf3 -c $host -C reno -V
|
2013-12-21 02:46:24 +04:00
|
|
|
|
|
|
|
|