1# Copyright (c) 2022 Nordic Semiconductor ASA 2# Copyright (c) 2023 Arm Limited (or its affiliates). All rights reserved. 3# SPDX-License-Identifier: Apache-2.0 4 5menuconfig NET_ZPERF 6 bool "zperf library" 7 select NET_CONTEXT_RCVTIMEO if NET_NATIVE_UDP 8 select NET_SOCKETS 9 help 10 This option enables zperf library, which allows to generate 11 network traffic and evaluate network bandwidth in conjunction 12 with other devices running zperf or a desktop running the 13 iperf2 utility. 14 15if NET_ZPERF 16 17config NET_ZPERF_LEGACY_HEADER_COMPAT 18 bool "Legacy iperf UDP header format" 19 help 20 iperf 2.0.10 (2017) updated the UDP header format in a 21 backwards incompatible manner that cannot be automatically 22 detected. This option reverts the header format for use with 23 iperf version 2.0.9 and earlier. 24 25config ZPERF_SESSION_PER_THREAD 26 bool "Run each session in a separate thread" 27 select EVENTS 28 help 29 Each session is started in its own thread. This means 30 that the system will use more memory because multiple 31 stack frames are needed, so this is not enabled by default. 32 User is also able to set each thread priority separately and 33 the ZPERF_WORK_Q_THREAD_PRIORITY is a default value if thread 34 priority is not set when starting the session. 35 36config ZPERF_WORK_Q_THREAD_PRIORITY 37 int "zperf work queue thread priority" 38 default NUM_PREEMPT_PRIORITIES 39 help 40 Priority of the thread that handles zperf work queue. 41 42config ZPERF_WORK_Q_STACK_SIZE 43 int "zperf work queue thread stack size" 44 default 2048 45 help 46 Stack size of the thread that handles zperf work queue. 47 48module = NET_ZPERF 49module-dep = NET_LOG 50module-str = Log level for zperf 51module-help = Enable debug message of zperf library. 52source "subsys/net/Kconfig.template.log_config.net" 53 54config NET_ZPERF_MAX_PACKET_SIZE 55 int "Maximum packet size" 56 default 1064 57 help 58 Upper size limit for packets sent by zperf. Default allows for a 1kB 59 payload with the 40 byte iperf UDP client header. 60 61config NET_ZPERF_SERVER 62 bool "zperf server support" 63 select NET_SOCKETS_SERVICE 64 help 65 Support running a zperf server for testing downloads from the application 66 67config NET_ZPERF_MAX_SESSIONS 68 int "Maximum number of zperf sessions" 69 depends on NET_ZPERF_SERVER 70 default 4 71 help 72 Upper size limit for connections handled by zperf. 73 74config NET_ZPERF_UDP_REPORT_RETANSMISSION_COUNT 75 int "Maximum number of UDP upload report retransmissions" 76 depends on NET_UDP 77 range 0 16 78 default 4 79 help 80 Maximum number of retries zperf will take to retrieve the UDP upload 81 report from the server. `0` means the report will not be requested 82 at all, which is useful for testing purposes. 83 84 85endif 86