Iperf3

Run iperf3 in client mode against a remote server and assert against the bandwidth summary. The iperf3 binary must be installed on the DUT, and an iperf3 -s peer must be reachable. The FirmwareCI base image does not include it.

AttributeTypeRequiredDefaultDescription
cmdconstYesiperf3Command Name
namestringYesName to uniquely identify the teststep. This name will show up in reports, logs and the WebUI
transportTransportObjectYesAdditional transport options
optionsOptionsObjectNoAdditional command options (default timeout 2m)
parametersIperf3OptionsYesOptions passed into the iperf3 cmd

Iperf3 Options

AttributeTypeRequiredDefaultDescription
args[]stringYesRaw arguments passed to iperf3. Must include -c <host> (client mode); server mode is out of scope. -J auto-added.
expectIperf3ExpectNoPer-metric assertions. See Expect Comparator Syntax.

Iperf3 Expect Options

Assertions run against end.sum_received (TCP) or end.sum (UDP).

AttributeTypeRequiredDescription
BitsPerSecondstringNoThroughput in bits per second
BytesstringNoTotal bytes transferred
SecondsstringNoTest duration in seconds
RetransmitsstringNoRetransmit count (TCP only; absent for UDP)

Iperf3 Example

cmd: iperf3
name: Throughput to lab server
transport: *transport
parameters:
  args: [-c, 10.0.0.5, -t, "10"]
  expect:
    BitsPerSecond: ">900000000"
    Retransmits: "<10"