blob: dcf4572b42623da12f2e22d4da4eb8006f380239 [file] [log] [blame]
# Copyright (c) 2022 Nordic Semiconductor ASA
# Copyright (c) 2023 Arm Limited (or its affiliates). All rights reserved.
# SPDX-License-Identifier: Apache-2.0
menuconfig NET_ZPERF
bool "zperf library"
select NET_CONTEXT_RCVTIMEO if NET_NATIVE_UDP
select NET_SOCKETS
help
This option enables zperf library, which allows to generate
network traffic and evaluate network bandwidth in conjunction
with other devices running zperf or a desktop running the
iperf2 utility.
if NET_ZPERF
config NET_ZPERF_LEGACY_HEADER_COMPAT
bool "Legacy iperf UDP header format"
help
iperf 2.0.10 (2017) updated the UDP header format in a
backwards incompatible manner that cannot be automatically
detected. This option reverts the header format for use with
iperf version 2.0.9 and earlier.
config ZPERF_SESSION_PER_THREAD
bool "Run each session in a separate thread"
select EVENTS
help
Each session is started in its own thread. This means
that the system will use more memory because multiple
stack frames are needed, so this is not enabled by default.
User is also able to set each thread priority separately and
the ZPERF_WORK_Q_THREAD_PRIORITY is a default value if thread
priority is not set when starting the session.
config ZPERF_WORK_Q_THREAD_PRIORITY
int "zperf work queue thread priority"
default NUM_PREEMPT_PRIORITIES
help
Priority of the thread that handles zperf work queue.
config ZPERF_WORK_Q_STACK_SIZE
int "zperf work queue thread stack size"
default 2048
help
Stack size of the thread that handles zperf work queue.
module = NET_ZPERF
module-dep = NET_LOG
module-str = Log level for zperf
module-help = Enable debug message of zperf library.
source "subsys/net/Kconfig.template.log_config.net"
config NET_ZPERF_MAX_PACKET_SIZE
int "Maximum packet size"
default 1064
help
Upper size limit for packets sent by zperf. Default allows for a 1kB
payload with the 40 byte iperf UDP client header.
config NET_ZPERF_SERVER
bool "zperf server support"
select NET_SOCKETS_SERVICE
help
Support running a zperf server for testing downloads from the application
config NET_ZPERF_MAX_SESSIONS
int "Maximum number of zperf sessions"
depends on NET_ZPERF_SERVER
default 4
help
Upper size limit for connections handled by zperf.
config NET_ZPERF_UDP_REPORT_RETANSMISSION_COUNT
int "Maximum number of UDP upload report retransmissions"
depends on NET_UDP
range 0 16
default 4
help
Maximum number of retries zperf will take to retrieve the UDP upload
report from the server. `0` means the report will not be requested
at all, which is useful for testing purposes.
endif