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 mThe 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 mBidirectional UDP test
Simultaneous UDP send and receive
iperf3 -c 192.0.2.10 -p 5201 -u --bidir -b 25M -t 30 -f mFlag reference
| Option | Purpose |
|---|---|
-R | Reverse traffic direction; server sends test data. |
--bidir | Send test traffic in both directions simultaneously. |
-u | Select UDP test traffic. |
-P 4 | Configure four test streams per direction in bidirectional mode. |
-b 25M | Set 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.