Skip to main content

iPerf3 on Fortigates

(2021-06-16)

Limited iPerf3 on Fortigates

# diag traffictest client-intf port1        <----- Define FortiGate port.
# diag traffictest server-intf port1        <----- Define FortiGate port.
# diag traffictest port 5209                <----- Define iPerf3 port running on the iPerf3 server.
# diag traffictest run -c 45.154.168.155    <----- Upload test to server 45.154.168.155
# diag traffictest run -R -c 45.154.168.155 <----- Download test from server 45.154.168.155
# diag traffictest run -c 45.154.168.155 -P 4 <--- Upload to server with 4 parallel data streams

The server doesn't really work, so it is best if you do this as a client on the fortigate.

LAB-FW-01 # diag traffictest run 
[-h/arg] Help/Multi-Arguments for client

LAB-FW-01 # diag traffictest run -h
-f, --format [kmgKMG] format to report: Kbits, Mbits, KBytes, MBytes
-i, --interval # seconds between periodic bandwidth reports
-F, --file name xmit/recv the specified file
-A, --affinity n/n,m set CPU affinity
-V, --verbose more detailed output
-J, --json output in JSON format
-d, --debug emit debugging output
-v, --version show version information and quit
-h, --help show this message and quit
-b, --bandwidth #[KMG][/#] target bandwidth in bits/sec (0 for unlimited)
(default 1 Mbit/sec for UDP, unlimited for TCP)
(optional slash and packet count for burst mode)
-t, --time # time in seconds to transmit for (default 10 secs)
-n, --bytes #[KMG] number of bytes to transmit (instead of -t)
-k, --blockcount #[KMG] number of blocks (packets) to transmit (instead of -t or -n)
-l, --len #[KMG] length of buffer to read or write
(default 128 KB for TCP, 8 KB for UDP)
-P, --parallel # number of parallel client streams to run
-R, --reverse run in reverse mode (server sends, client receives)
-w, --window #[KMG] TCP window size (socket buffer size)
-C, --linux-congestion <algo> set TCP congestion control algorithm (Linux only)
-M, --set-mss # set TCP maximum segment size (MTU - 40 bytes)
-N, --nodelay set TCP no delay, disabling Nagle's Algorithm
-4, --version4 only use IPv4
-6, --version6 only use IPv6
-S, --tos N set the IP 'type of service'
-L, --flowlabel N set the IPv6 flow label (only supported on Linux)
-Z, --zerocopy use a 'zero copy' method of sending data
-O, --omit N omit the first n seconds
-T, --title str prefix every output line with this string
--get-server-output get results from server