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:
cfgpointer 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