version 1.1, 2016/10/18 13:28:17
|
version 1.1.1.3, 2023/09/27 11:14:54
|
Line 1
|
Line 1
|
#!/bin/sh |
#!/bin/sh |
# |
# |
# This is a set of commands to run and verify they work before doing a new release. |
# 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 | # Eventually they should also use the -J flag to generate JSON output, and a program should |
# be written to check the output. |
# be written to check the output. |
# Be sure to test both client and server on Linux, BSD, and OSX |
# Be sure to test both client and server on Linux, BSD, and OSX |
# |
# |
|
|
if [ $# -ne 1 ] |
if [ $# -ne 1 ] |
then |
then |
echo "Usage: `basename $0` hostname" | echo "Usage: `basename "$0"` hostname" |
exit $E_BADARGS |
exit $E_BADARGS |
fi |
fi |
|
|
Line 17 set -x
|
Line 17 set -x
|
host=$1 |
host=$1 |
|
|
# basic testing |
# basic testing |
./src/iperf3 -c $host -V -t 5 -T "test1" | ./src/iperf3 -c "$host" -V -t 5 -T "test1" |
./src/iperf3 -c $host -u -V -t 5 | ./src/iperf3 -c "$host" -u -V -t 5 |
# omit mode |
# omit mode |
./src/iperf3 -c $host -i .3 -O 2 -t 5 | ./src/iperf3 -c "$host" -i .3 -O 2 -t 5 |
# JSON mode |
# JSON mode |
./src/iperf3 -c $host -i 1 -J -t 5 | ./src/iperf3 -c "$host" -i 1 -J -t 5 |
# force V4 |
# force V4 |
./src/iperf3 -c $host -4 -t 5 | ./src/iperf3 -c "$host" -4 -t 5 |
./src/iperf3 -c $host -4 -u -t 5 | ./src/iperf3 -c "$host" -4 -u -t 5 |
# force V6 |
# force V6 |
./src/iperf3 -c $host -6 -t 5 | ./src/iperf3 -c "$host" -6 -t 5 |
./src/iperf3 -c $host -6 -u -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 |
# parallel streams |
./src/iperf3 -c $host -P 3 -t 5 | ./src/iperf3 -c "$host" -P 3 -t 5 |
./src/iperf3 -c $host -u -P 3 -t 5 | ./src/iperf3 -c "$host" -u -P 3 -t 5 |
# reverse mode |
# reverse mode |
./src/iperf3 -c $host -P 2 -t 5 -R | ./src/iperf3 -c "$host" -P 2 -t 5 -R |
./src/iperf3 -c $host -u -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 |
# zero copy |
./src/iperf3 -c $host -Z -t 5 | ./src/iperf3 -c "$host" -Z -t 5 |
./src/iperf3 -c $host -Z -t 5 -R | ./src/iperf3 -c "$host" -Z -t 5 -R |
# window size |
# window size |
./src/iperf3 -c $host -t 5 -w 8M | ./src/iperf3 -c "$host" -t 5 -w 8M |
# -n flag |
# -n flag |
./src/iperf3 -c $host -n 5M | ./src/iperf3 -c "$host" -n 5M |
./src/iperf3 -c $host -n 5M -u -b1G | ./src/iperf3 -c "$host" -n 5M -u -b1G |
| # -n flag with -R |
| ./src/iperf3 -c "$host" -n 5M -R |
| ./src/iperf3 -c "$host" -n 5M -u -b1G -R |
# conflicting -n -t flags |
# conflicting -n -t flags |
./src/iperf3 -c $host -n 5M -t 5 | ./src/iperf3 -c "$host" -n 5M -t 5 |
# -k mode |
# -k mode |
./src/iperf3 -c $host -k 1K | ./src/iperf3 -c "$host" -k 1K |
./src/iperf3 -c $host -k 1K -u -b1G | ./src/iperf3 -c "$host" -k 1K -u -b1G |
| # -k mode with -R |
| ./src/iperf3 -c "$host" -k 1K -R |
| ./src/iperf3 -c "$host" -k 1K -u -b1G -R |
# CPU affinity |
# CPU affinity |
./src/iperf3 -c $host -A 2/2 | ./src/iperf3 -c "$host" -A 2/2 |
./src/iperf3 -c $host -A 2/2 -u -b1G | ./src/iperf3 -c "$host" -A 2/2 -u -b1G |
# Burst mode |
# Burst mode |
./src/iperf3 -c $host -u -b1G/100 | ./src/iperf3 -c "$host" -u -b1G/100 |
# change MSS |
# change MSS |
./src/iperf3 -c $host -M 1000 -V | ./src/iperf3 -c "$host" -M 1000 -V |
# test congestion control option (linux only) |
# test congestion control option (linux only) |
./src/iperf3 -c $host -C reno -V | ./src/iperf3 -c "$host" -C reno -V |
| |
| |