Files
board-mate/esp32-thread/open-thread/managed_components/espressif__iperf/api.md
2025-12-24 16:07:10 +01:00

9.0 KiB

API Reference

Header files

File iperf.h

Structures and Types

Type Name
struct iperf_cfg_t
Iperf Configuration.
typedef void(* iperf_hook_func_t
enum iperf_output_format_t
Iperf output report format.
enum iperf_status_t
Iperf status.
enum iperf_traffic_type_t
Iperf traffic type.

Functions

Type Name
void iperf_register_hook_func (iperf_hook_func_t func)
Registers iperf traffic start/stop hook function.
esp_err_t iperf_start (iperf_cfg_t *cfg)
Iperf traffic start with given config.
esp_err_t iperf_stop (void)
Iperf traffic stop.

Macros

Type Name
define IPERF_DEFAULT_INTERVAL 3
define IPERF_DEFAULT_IPV4_UDP_TX_LEN CONFIG_IPERF_DEF_IPV4_UDP_TX_BUFFER_LEN
define IPERF_DEFAULT_IPV6_UDP_TX_LEN CONFIG_IPERF_DEF_IPV6_UDP_TX_BUFFER_LEN
define IPERF_DEFAULT_NO_BW_LIMIT -1
define IPERF_DEFAULT_PORT 5001
define IPERF_DEFAULT_TCP_RX_LEN CONFIG_IPERF_DEF_TCP_RX_BUFFER_LEN
define IPERF_DEFAULT_TCP_TX_LEN CONFIG_IPERF_DEF_TCP_TX_BUFFER_LEN
define IPERF_DEFAULT_TIME 30
define IPERF_DEFAULT_UDP_RX_LEN CONFIG_IPERF_DEF_UDP_RX_BUFFER_LEN
define IPERF_FLAG_CLIENT (1)
define IPERF_FLAG_CLR (cfg, flag) ((cfg) &= (~(flag)))
define IPERF_FLAG_SERVER (1 << 1)
define IPERF_FLAG_SET (cfg, flag) ((cfg) |= (flag))
define IPERF_FLAG_TCP (1 << 2)
define IPERF_FLAG_UDP (1 << 3)
define IPERF_IPV4_ENABLED LWIP_IPV4
define IPERF_IPV6_ENABLED LWIP_IPV6
define IPERF_IP_TYPE_IPV4 0
define IPERF_IP_TYPE_IPV6 1
define IPERF_MAX_DELAY 64
define IPERF_REPORT_TASK_NAME "iperf_report"
define IPERF_REPORT_TASK_PRIORITY CONFIG_IPERF_REPORT_TASK_PRIORITY
define IPERF_REPORT_TASK_STACK 4096
define IPERF_SOCKET_ACCEPT_TIMEOUT 5
define IPERF_SOCKET_RX_TIMEOUT CONFIG_IPERF_SOCKET_RX_TIMEOUT
define IPERF_SOCKET_TCP_TX_TIMEOUT CONFIG_IPERF_SOCKET_TCP_TX_TIMEOUT
define IPERF_TRAFFIC_TASK_NAME "iperf_traffic"
define IPERF_TRAFFIC_TASK_PRIORITY CONFIG_IPERF_TRAFFIC_TASK_PRIORITY
define IPERF_TRAFFIC_TASK_STACK 4096
define IPERF_TRANS_TYPE_TCP 0
define IPERF_TRANS_TYPE_UDP 1
define app_register_iperf_hook_func iperf_register_hook_func

Structures and Types Documentation

struct iperf_cfg_t

Iperf Configuration.

Variables:

  • union iperf_cfg_t::@0 @1

  • union iperf_cfg_t::@2 @3

  • int32_t bw_lim
    bandwidth limit in Mbits/s

  • uint32_t destination_ip4
    destination ipv4

  • char * destination_ip6
    destination ipv6

  • uint16_t dport
    destination port

  • uint32_t flag
    iperf flag

  • iperf_output_format_t format
    output format, K(bits/s), M(bits/s)

  • uint32_t interval
    report interval in secs

  • uint16_t len_send_buf
    send buffer length in bytes

  • uint32_t source_ip4
    source ipv4

  • char * source_ip6
    source ipv6

  • uint16_t sport
    source port

  • uint32_t time
    total send time in secs

  • uint8_t type
    address type, ipv4 or ipv6

typedef iperf_hook_func_t

typedef void(* iperf_hook_func_t) (iperf_traffic_type_t type, iperf_status_t status);

enum iperf_output_format_t

Iperf output report format.

enum iperf_output_format_t {
    MBITS_PER_SEC,
    KBITS_PER_SEC
};

enum iperf_status_t

Iperf status.

enum iperf_status_t {
    IPERF_STARTED,
    IPERF_STOPPED
};

enum iperf_traffic_type_t

Iperf traffic type.

enum iperf_traffic_type_t {
    IPERF_TCP_SERVER,
    IPERF_TCP_CLIENT,
    IPERF_UDP_SERVER,
    IPERF_UDP_CLIENT
};

Functions Documentation

function iperf_register_hook_func

Registers iperf traffic start/stop hook function.

void iperf_register_hook_func (
    iperf_hook_func_t func
) 

function iperf_start

Iperf traffic start with given config.

esp_err_t iperf_start (
    iperf_cfg_t *cfg
) 

Parameters:

  • cfg pointer to traffic config structure

Returns:

ESP_OK on success

function iperf_stop

Iperf traffic stop.

esp_err_t iperf_stop (
    void
) 

Returns:

ESP_OK on success

Macros Documentation

define IPERF_DEFAULT_INTERVAL

#define IPERF_DEFAULT_INTERVAL 3

define IPERF_DEFAULT_IPV4_UDP_TX_LEN

#define IPERF_DEFAULT_IPV4_UDP_TX_LEN CONFIG_IPERF_DEF_IPV4_UDP_TX_BUFFER_LEN

define IPERF_DEFAULT_IPV6_UDP_TX_LEN

#define IPERF_DEFAULT_IPV6_UDP_TX_LEN CONFIG_IPERF_DEF_IPV6_UDP_TX_BUFFER_LEN

define IPERF_DEFAULT_NO_BW_LIMIT

#define IPERF_DEFAULT_NO_BW_LIMIT -1

define IPERF_DEFAULT_PORT

#define IPERF_DEFAULT_PORT 5001

define IPERF_DEFAULT_TCP_RX_LEN

#define IPERF_DEFAULT_TCP_RX_LEN CONFIG_IPERF_DEF_TCP_RX_BUFFER_LEN

define IPERF_DEFAULT_TCP_TX_LEN

#define IPERF_DEFAULT_TCP_TX_LEN CONFIG_IPERF_DEF_TCP_TX_BUFFER_LEN

define IPERF_DEFAULT_TIME

#define IPERF_DEFAULT_TIME 30

define IPERF_DEFAULT_UDP_RX_LEN

#define IPERF_DEFAULT_UDP_RX_LEN CONFIG_IPERF_DEF_UDP_RX_BUFFER_LEN

define IPERF_FLAG_CLIENT

#define IPERF_FLAG_CLIENT (1)

define IPERF_FLAG_CLR

#define IPERF_FLAG_CLR (
    cfg,
    flag
) ((cfg) &= (~(flag)))

define IPERF_FLAG_SERVER

#define IPERF_FLAG_SERVER (1 << 1)

define IPERF_FLAG_SET

#define IPERF_FLAG_SET (
    cfg,
    flag
) ((cfg) |= (flag))

define IPERF_FLAG_TCP

#define IPERF_FLAG_TCP (1 << 2)

define IPERF_FLAG_UDP

#define IPERF_FLAG_UDP (1 << 3)

define IPERF_IPV4_ENABLED

#define IPERF_IPV4_ENABLED LWIP_IPV4

define IPERF_IPV6_ENABLED

#define IPERF_IPV6_ENABLED LWIP_IPV6

define IPERF_IP_TYPE_IPV4

#define IPERF_IP_TYPE_IPV4 0

define IPERF_IP_TYPE_IPV6

#define IPERF_IP_TYPE_IPV6 1

define IPERF_MAX_DELAY

#define IPERF_MAX_DELAY 64

define IPERF_REPORT_TASK_NAME

#define IPERF_REPORT_TASK_NAME "iperf_report"

define IPERF_REPORT_TASK_PRIORITY

#define IPERF_REPORT_TASK_PRIORITY CONFIG_IPERF_REPORT_TASK_PRIORITY

define IPERF_REPORT_TASK_STACK

#define IPERF_REPORT_TASK_STACK 4096

define IPERF_SOCKET_ACCEPT_TIMEOUT

#define IPERF_SOCKET_ACCEPT_TIMEOUT 5

define IPERF_SOCKET_RX_TIMEOUT

#define IPERF_SOCKET_RX_TIMEOUT CONFIG_IPERF_SOCKET_RX_TIMEOUT

define IPERF_SOCKET_TCP_TX_TIMEOUT

#define IPERF_SOCKET_TCP_TX_TIMEOUT CONFIG_IPERF_SOCKET_TCP_TX_TIMEOUT

define IPERF_TRAFFIC_TASK_NAME

#define IPERF_TRAFFIC_TASK_NAME "iperf_traffic"

define IPERF_TRAFFIC_TASK_PRIORITY

#define IPERF_TRAFFIC_TASK_PRIORITY CONFIG_IPERF_TRAFFIC_TASK_PRIORITY

define IPERF_TRAFFIC_TASK_STACK

#define IPERF_TRAFFIC_TASK_STACK 4096

define IPERF_TRANS_TYPE_TCP

#define IPERF_TRANS_TYPE_TCP 0

define IPERF_TRANS_TYPE_UDP

#define IPERF_TRANS_TYPE_UDP 1

define app_register_iperf_hook_func

#define app_register_iperf_hook_func iperf_register_hook_func