Module Configuration

μC/IPerf is configurable at compile time via approximately half a dozen #defines in an application’s iperf_cfg.h files. μC/IPerf uses #defines because they allow code and data sizes to be scaled at compile time based on enabled features and the configured number of network objects. In other words, this allows the ROM and RAM footprints of μC/IPerf to be adjusted based on the application requirements.

Most of the #defines should be configured with the default configuration values. Another small handful of values may likely never change because there is currently only one configuration choice available. This leaves a few values that should be configured with values that may deviate from the default configuration.

General Configuration

 

Constant
Description
Possible Values
IPERF_CFG_Q_SIZE

Determines the maximum number of tests that can be started and/or running at any given time. The default value of 2 is sufficient.

Any integer value.
IPERF_CFG_MAX_NBR_TESTDetermines the maximum number of tests of the ring array holding the tests results. The value of this configuration should be equal or greater than the queue size (IPERF_CFG_Q_SIZE).Any integer value.
IPERF_CFG_BANDWIDTH_CALC_EN

Determines whether the code and data space used to keep track of bandwidth is included. Performance will be better if another task is used to calculate the bandwidth.

DEF_ENABLED or DEF_DISABLED
IPERF_CFG_CPU_USAGE_MAX_CALC_EN 

Determines whether the code and data space used to keep track of maximum CPU usage is included.

DEF_ENABLED or DEF_DISABLED
IPERF_CFG_BUF_LENDetermines the maximum buffer length used to transmit and receive. The default value of 8192 is a good starting point.Any integer value.

 

Table - General Configuration

Server Configuration 

 

Constant
Description
Possible Values
IPERF_CFG_SERVER_EN Determine if the code for IPerf server is included.DEF_ENABLED or DEF_DISABLED
IPERF_CFG_SERVER_ACCEPT_MAX_RETRYDefine server maximum number of retries on accept.Any integer value.
IPERF_CFG_SERVER_ACCEPT_MAX_DLY_MSDefine server delay between retries on accept .Any integer value.
IPERF_CFG_SERVER_ACCEPT_MAX_TIMEOUT_MSConfigure server maximum inactivity time on accept.Any integer value.
IPERF_CFG_SERVER_TCP_RX_MAX_TIMEOUT_MSConfigure server maximum inactivity time on TCP Rx.Any integer value.
IPERF_CFG_SERVER_UDP_RX_MAX_TIMEOUT_MS Configure server maximum inactivity time on UDP Rx.Any integer value.

 

Table - Server Configuration

Client Configuration 

 

Constant
Description
Possible Values
IPERF_CFG_CLIENT_ENDetermine if the code for IPerf server is included. DEF_ENABLED or DEF_DISABLED
IPERF_CFG_CLIENT_BIND_EN 

Determines whether the code to bind socket client to the same port used by the server is included.

DEF_ENABLED or DEF_DISABLED
IPERF_CFG_CLIENT_CONN_MAX_RETRYConfigure client maximum of retries on connect.Any integer value.
IPERF_CFG_CLIENT_CONN_MAX_DLY_MS Configure client delay between retries on connect. Any integer value.
IPERF_CFG_CLIENT_CONN_MAX_TIMEOUT_MSConfigure client maximum inactivity time on connect.Any integer value.
IPERF_CFG_CLIENT_TCP_TX_MAX_TIMEOUT_MSConfigure client maximum inactivity time on TCP Tx.Any integer value.

 

Table - Client Configuration