blob: 4026ebdb80546793135737cc84392530cd423c93 [file] [log] [blame]
Brian Tierneyd7e699e2013-12-20 14:46:24 -08001#!/bin/sh
2#
3# This is a set of commands to run and verify they work before doing a new release.
a1346054e919e8c2021-09-03 13:24:55 +00004# Eventually they should also use the -J flag to generate JSON output, and a program should
Brian Tierneyd7e699e2013-12-20 14:46:24 -08005# be written to check the output.
6# Be sure to test both client and server on Linux, BSD, and OSX
7#
8
9if [ $# -ne 1 ]
10then
a1346054ae2fac32021-09-03 13:48:55 +000011 echo "Usage: `basename "$0"` hostname"
Brian Tierneyd7e699e2013-12-20 14:46:24 -080012 exit $E_BADARGS
13fi
14
15set -x
16
17host=$1
18
19# basic testing
a1346054ae2fac32021-09-03 13:48:55 +000020./src/iperf3 -c "$host" -V -t 5 -T "test1"
21./src/iperf3 -c "$host" -u -V -t 5
Brian Tierneyd7e699e2013-12-20 14:46:24 -080022# omit mode
a1346054ae2fac32021-09-03 13:48:55 +000023./src/iperf3 -c "$host" -i .3 -O 2 -t 5
Brian Tierneyd7e699e2013-12-20 14:46:24 -080024# JSON mode
a1346054ae2fac32021-09-03 13:48:55 +000025./src/iperf3 -c "$host" -i 1 -J -t 5
Brian Tierneyd7e699e2013-12-20 14:46:24 -080026# force V4
a1346054ae2fac32021-09-03 13:48:55 +000027./src/iperf3 -c "$host" -4 -t 5
28./src/iperf3 -c "$host" -4 -u -t 5
Brian Tierneyd7e699e2013-12-20 14:46:24 -080029# force V6
a1346054ae2fac32021-09-03 13:48:55 +000030./src/iperf3 -c "$host" -6 -t 5
31./src/iperf3 -c "$host" -6 -u -t 5
Bruce A. Mah26a6e722020-06-08 13:57:26 -070032# FQ rate
a1346054ae2fac32021-09-03 13:48:55 +000033./src/iperf3 -c "$host" -V -t 5 --fq-rate 5m
34./src/iperf3 -c "$host" -u -V -t 5 --fq-rate 5m
Bruce A. Mah26a6e722020-06-08 13:57:26 -070035# SCTP
a1346054ae2fac32021-09-03 13:48:55 +000036./src/iperf3 -c "$host" --sctp -V -t 5
Brian Tierneyd7e699e2013-12-20 14:46:24 -080037# parallel streams
a1346054e919e8c2021-09-03 13:24:55 +000038./src/iperf3 -c "$host" -P 3 -t 5
a1346054ae2fac32021-09-03 13:48:55 +000039./src/iperf3 -c "$host" -u -P 3 -t 5
Brian Tierneyd7e699e2013-12-20 14:46:24 -080040# reverse mode
a1346054ae2fac32021-09-03 13:48:55 +000041./src/iperf3 -c "$host" -P 2 -t 5 -R
42./src/iperf3 -c "$host" -u -P 2 -t 5 -R
Bruce A. Mah26a6e722020-06-08 13:57:26 -070043# bidirectional mode
a1346054ae2fac32021-09-03 13:48:55 +000044./src/iperf3 -c "$host" -P 2 -t 5 --bidir
45./src/iperf3 -c "$host" -u -P 2 -t 5 --bidir
Brian Tierneyd7e699e2013-12-20 14:46:24 -080046# zero copy
a1346054e919e8c2021-09-03 13:24:55 +000047./src/iperf3 -c "$host" -Z -t 5
a1346054ae2fac32021-09-03 13:48:55 +000048./src/iperf3 -c "$host" -Z -t 5 -R
Brian Tierneyd7e699e2013-12-20 14:46:24 -080049# window size
a1346054e919e8c2021-09-03 13:24:55 +000050./src/iperf3 -c "$host" -t 5 -w 8M
Brian Tierneyd7e699e2013-12-20 14:46:24 -080051# -n flag
a1346054e919e8c2021-09-03 13:24:55 +000052./src/iperf3 -c "$host" -n 5M
a1346054ae2fac32021-09-03 13:48:55 +000053./src/iperf3 -c "$host" -n 5M -u -b1G
Bruce A. Mahb818ef52020-09-18 10:16:21 -070054# -n flag with -R
a1346054ae2fac32021-09-03 13:48:55 +000055./src/iperf3 -c "$host" -n 5M -R
56./src/iperf3 -c "$host" -n 5M -u -b1G -R
Brian Tierneyd7e699e2013-12-20 14:46:24 -080057# conflicting -n -t flags
a1346054ae2fac32021-09-03 13:48:55 +000058./src/iperf3 -c "$host" -n 5M -t 5
Brian Tierneyd7e699e2013-12-20 14:46:24 -080059# -k mode
a1346054e919e8c2021-09-03 13:24:55 +000060./src/iperf3 -c "$host" -k 1K
a1346054ae2fac32021-09-03 13:48:55 +000061./src/iperf3 -c "$host" -k 1K -u -b1G
Bruce A. Mahb818ef52020-09-18 10:16:21 -070062# -k mode with -R
a1346054ae2fac32021-09-03 13:48:55 +000063./src/iperf3 -c "$host" -k 1K -R
64./src/iperf3 -c "$host" -k 1K -u -b1G -R
Brian Tierneyd7e699e2013-12-20 14:46:24 -080065# CPU affinity
a1346054ae2fac32021-09-03 13:48:55 +000066./src/iperf3 -c "$host" -A 2/2
67./src/iperf3 -c "$host" -A 2/2 -u -b1G
Brian Tierneyd7e699e2013-12-20 14:46:24 -080068# Burst mode
a1346054ae2fac32021-09-03 13:48:55 +000069./src/iperf3 -c "$host" -u -b1G/100
Brian Tierneyd7e699e2013-12-20 14:46:24 -080070# change MSS
a1346054ae2fac32021-09-03 13:48:55 +000071./src/iperf3 -c "$host" -M 1000 -V
Brian Tierneydd050572013-12-20 15:05:21 -080072# test congestion control option (linux only)
a1346054ae2fac32021-09-03 13:48:55 +000073./src/iperf3 -c "$host" -C reno -V