#!/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 # FQ rate ./src/iperf3 -c $host -V -t 5 --fq-rate 5m ./src/iperf3 -c $host -u -V -t 5 --fq-rate 5m # SCTP ./src/iperf3 -c $host --sctp -V -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 # bidirectional mode ./src/iperf3 -c $host -P 2 -t 5 --bidir ./src/iperf3 -c $host -u -P 2 -t 5 --bidir # 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 # test congestion control option (linux only) ./src/iperf3 -c $host -C reno -V