BuildCMD.io
Build commands. Skip the syntax.
iPerf3 testing guide

iPerf3 Reverse & Bidirectional Tests

Learn iPerf3 reverse and simultaneous bidirectional testing with -R and --bidir, including example TCP and UDP commands and traffic direction.

Traffic direction is separate from client/server role

The iPerf3 process using -c initiates the test as the client. By default the client sends test traffic to the server. With -R, the server sends to the client. With --bidir, both endpoints send test traffic simultaneously.

Reverse-direction TCP test

Server → client (-R)

iperf3 -c 192.0.2.10 -p 5201 -R -t 30 -f m

The client still initiates and controls this test, but the server becomes the test-data sender.

Simultaneous bidirectional TCP test

Both directions simultaneously (--bidir)

iperf3 -c 192.0.2.10 -p 5201 --bidir -P 4 -t 30 -f m

--bidir does not run an upload test and then a download test sequentially. It tests in both directions at the same time. With -P 4, iPerf3 creates four test streams in each direction.

Reverse-direction UDP test

Server sends UDP at 50 Mbps

iperf3 -c 192.0.2.10 -p 5201 -u -R -b 50M -t 30 -f m

Bidirectional UDP test

Simultaneous UDP send and receive

iperf3 -c 192.0.2.10 -p 5201 -u --bidir -b 25M -t 30 -f m

Flag reference

OptionPurpose
-RReverse traffic direction; server sends test data.
--bidirSend test traffic in both directions simultaneously.
-uSelect UDP test traffic.
-P 4Configure four test streams per direction in bidirectional mode.
-b 25MSet a 25 Mbit/s target per stream; in bidirectional mode this applies in each direction.
Not every older iPerf3 installation supports --bidir. Check the local version and the remote server’s compatibility if a bidirectional command is rejected.