xref: /iperf/test_commands.sh (revision e919e8c2)
1d7e699e3SBrian Tierney#!/bin/sh
2d7e699e3SBrian Tierney#
3d7e699e3SBrian Tierney# This is a set of commands to run and verify they work before doing a new release.
4d7e699e3SBrian Tierney# Eventually they should also use the -J flag to generate JSON output, and a program should
5d7e699e3SBrian Tierney# be written to check the output.
6d7e699e3SBrian Tierney# Be sure to test both client and server on Linux, BSD, and OSX
7d7e699e3SBrian Tierney#
8d7e699e3SBrian Tierney
9d7e699e3SBrian Tierneyif [ $# -ne 1 ]
10d7e699e3SBrian Tierneythen
11*ae2fac39Sa1346054  echo "Usage: `basename "$0"` hostname"
12d7e699e3SBrian Tierney  exit $E_BADARGS
13d7e699e3SBrian Tierneyfi
14d7e699e3SBrian Tierney
15d7e699e3SBrian Tierneyset -x
16d7e699e3SBrian Tierney
17d7e699e3SBrian Tierneyhost=$1
18d7e699e3SBrian Tierney
19d7e699e3SBrian Tierney# basic testing
20*ae2fac39Sa1346054./src/iperf3 -c "$host" -V -t 5 -T "test1"
21*ae2fac39Sa1346054./src/iperf3 -c "$host" -u -V -t 5
22d7e699e3SBrian Tierney# omit mode
23*ae2fac39Sa1346054./src/iperf3 -c "$host" -i .3 -O 2 -t 5
24d7e699e3SBrian Tierney# JSON mode
25*ae2fac39Sa1346054./src/iperf3 -c "$host" -i 1 -J -t 5
26d7e699e3SBrian Tierney# force V4
27*ae2fac39Sa1346054./src/iperf3 -c "$host" -4 -t 5
28*ae2fac39Sa1346054./src/iperf3 -c "$host" -4 -u -t 5
29d7e699e3SBrian Tierney# force V6
30*ae2fac39Sa1346054./src/iperf3 -c "$host" -6 -t 5
31*ae2fac39Sa1346054./src/iperf3 -c "$host" -6 -u -t 5
3226a6e72eSBruce A. Mah# FQ rate
33*ae2fac39Sa1346054./src/iperf3 -c "$host" -V -t 5 --fq-rate 5m
34*ae2fac39Sa1346054./src/iperf3 -c "$host" -u -V -t 5 --fq-rate 5m
3526a6e72eSBruce A. Mah# SCTP
36*ae2fac39Sa1346054./src/iperf3 -c "$host" --sctp -V -t 5
37d7e699e3SBrian Tierney# parallel streams
38*ae2fac39Sa1346054./src/iperf3 -c "$host" -P 3 -t 5
39*ae2fac39Sa1346054./src/iperf3 -c "$host" -u -P 3 -t 5
40d7e699e3SBrian Tierney# reverse mode
41*ae2fac39Sa1346054./src/iperf3 -c "$host" -P 2 -t 5 -R
42*ae2fac39Sa1346054./src/iperf3 -c "$host" -u -P 2 -t 5 -R
4326a6e72eSBruce A. Mah# bidirectional mode
44*ae2fac39Sa1346054./src/iperf3 -c "$host" -P 2 -t 5 --bidir
45*ae2fac39Sa1346054./src/iperf3 -c "$host" -u -P 2 -t 5 --bidir
46d7e699e3SBrian Tierney# zero copy
47*ae2fac39Sa1346054./src/iperf3 -c "$host" -Z -t 5
48*ae2fac39Sa1346054./src/iperf3 -c "$host" -Z -t 5 -R
49d7e699e3SBrian Tierney# window size
50*ae2fac39Sa1346054./src/iperf3 -c "$host" -t 5 -w 8M
51d7e699e3SBrian Tierney# -n flag
52*ae2fac39Sa1346054./src/iperf3 -c "$host" -n 5M
53*ae2fac39Sa1346054./src/iperf3 -c "$host" -n 5M -u -b1G
54b818ef51SBruce A. Mah# -n flag with -R
55*ae2fac39Sa1346054./src/iperf3 -c "$host" -n 5M -R
56*ae2fac39Sa1346054./src/iperf3 -c "$host" -n 5M -u -b1G -R
57d7e699e3SBrian Tierney# conflicting -n -t flags
58*ae2fac39Sa1346054./src/iperf3 -c "$host" -n 5M -t 5
59d7e699e3SBrian Tierney# -k mode
60*ae2fac39Sa1346054./src/iperf3 -c "$host" -k 1K
61*ae2fac39Sa1346054./src/iperf3 -c "$host" -k 1K -u -b1G
62b818ef51SBruce A. Mah# -k mode with -R
63*ae2fac39Sa1346054./src/iperf3 -c "$host" -k 1K -R
64*ae2fac39Sa1346054./src/iperf3 -c "$host" -k 1K -u -b1G -R
65d7e699e3SBrian Tierney# CPU affinity
66*ae2fac39Sa1346054./src/iperf3 -c "$host" -A 2/2
67*ae2fac39Sa1346054./src/iperf3 -c "$host" -A 2/2 -u -b1G
68d7e699e3SBrian Tierney# Burst mode
69*ae2fac39Sa1346054./src/iperf3 -c "$host" -u -b1G/100
70d7e699e3SBrian Tierney# change MSS
71*ae2fac39Sa1346054./src/iperf3 -c "$host" -M 1000 -V
72dd050572SBrian Tierney# test congestion control option (linux only)
73*ae2fac39Sa1346054./src/iperf3 -c "$host" -C reno -V
74