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_TEST | Determines 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_LEN | Determines the maximum buffer length used to transmit and receive. The default value of 8192 is a good starting point. | Any integer value. |
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_RETRY | Define server maximum number of retries on accept. | Any integer value. |
IPERF_CFG_SERVER_ACCEPT_MAX_DLY_MS | Define server delay between retries on accept . | Any integer value. |
IPERF_CFG_SERVER_ACCEPT_MAX_TIMEOUT_MS | Configure server maximum inactivity time on accept. | Any integer value. |
IPERF_CFG_SERVER_TCP_RX_MAX_TIMEOUT_MS | Configure 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. |
Client Configuration
Constant | Description | Possible Values |
---|---|---|
IPERF_CFG_CLIENT_EN | Determine 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_RETRY | Configure 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_MS | Configure client maximum inactivity time on connect. | Any integer value. |
IPERF_CFG_CLIENT_TCP_TX_MAX_TIMEOUT_MS | Configure client maximum inactivity time on TCP Tx. | Any integer value. |