4.3.2) IPerf

Overview

iPerf3 is a common networking measurement tool with a variety of options, allowing for testing bandwidth, delay, and packet loss on IP enabled links. iPerf3 can test either TCP or UDP links. For a successful test the Experimenter needs to set the two end measurements in client-server pairs, and start the server side first.

Location

The sample code for initiating a iPerf traffic is located in:

/root/Profiles/ProfileScripts/Traffic/Samples/startIperfServer.sh

and

/root/Profiles/ProfileScripts/Traffic/Samples/startIperfClient.sh

By default, a TCP client server using iPerf3 is being setup for five minutes.

According to the instructions for running sample applications, the best way to use iPerf is to copy the script to the startTraffic.sh script (again, in client-server pairs):

$cp /root/Profiles/ProfileScripts/Traffic/Samples/startIperfServer.sh /root/Profiles/ProfileScripts/Traffic/startTraffic.sh

Edit the iPerf scripts in  /root/Profiles/ProfileScripts/Traffic/Samples/startIperfClient.sh  and ./startIperfServer.sh to change the duration, destination, traffic type, or any of the many options available for this tool.

The current client script is setup to first verify the reachability of the destination IP address before starting the traffic.


Potential Pitfall

The iPerf server needs to be setup before the iPerf client for the measurement to succeed. 

Additionally, the IP address of the server has to be reachable from the client for the measurement to initiate. To ensure that the measurement starts only after the radio module initialized the network interface the ./startIperfClient.sh script first attempts to ping the IP address of the server, and only upon success it starts the measurement.