zephyr/samples/net/zperf
Gerard Marull-Paretas d4a67e321b samples, tests: remove usage of space-separated lists
Convert them to native YAML lists. Support for space-separated
lists was deprecated in Twister a long time ago.

Signed-off-by: Gerard Marull-Paretas <gerard.marull@nordicsemi.no>
2024-12-04 14:14:53 -05:00
..
boards drivers: nxp_enet: Deprecate ETH_MCUX 2024-04-18 11:18:31 +02:00
src samples: net: zperf: Add USB CDC NCM support 2024-10-17 15:38:00 -04:00
CMakeLists.txt samples: net: zperf: Add USB CDC NCM support 2024-10-17 15:38:00 -04:00
Kconfig samples: net: zperf: Add USB CDC NCM support 2024-10-17 15:38:00 -04:00
overlay-802154-subg.conf samples: net: zperf: Add subg overlay 2024-04-12 11:54:55 +02:00
overlay-loopback.conf samples: net: zperf: Add loopback overlay 2022-10-21 13:15:05 +02:00
overlay-netusb.conf samples: Explicitly disable boot USB device support init at boot 2023-01-10 12:21:10 +01:00
overlay-usbd_next.conf samples: net: zperf: Add USB CDC NCM support 2024-10-17 15:38:00 -04:00
prj.conf net: Deprecate CONFIG_NET_SOCKETS_POLL_MAX 2024-10-14 13:01:51 +02:00
README.rst samples: net: zperf: Optimize configuration for better performance 2024-07-06 17:03:01 +02:00
sample.yaml samples, tests: remove usage of space-separated lists 2024-12-04 14:14:53 -05:00
usbd_next_ecm.overlay samples: zperf: add overlays for USBD CDC ECM implementation 2023-05-11 11:26:54 +02:00
usbd_next_ncm.overlay samples: net: zperf: Add USB CDC NCM support 2024-10-17 15:38:00 -04:00

.. zephyr:code-sample:: zperf
   :name: zperf: Network Traffic Generator
   :relevant-api: net_config

   Use the zperf shell utility to evaluate network bandwidth.

Description
***********

The zperf sample demonstrates the :ref:`zperf shell utility <zperf>`, which
allows to evaluate network bandwidth.

Features
*********

- Compatible with iPerf_2.0.5. Note that in newer iPerf versions,
  an error message like this is printed and the server reported statistics
  are missing.

.. code-block:: console

   LAST PACKET NOT RECEIVED!!!

- Client or server mode allowed without need to modify the source code.

Supported Boards
****************

zperf is board-agnostic. However, to run the zperf sample application,
the target platform must provide a network interface supported by Zephyr.

This sample application has been tested on the following platforms:

- Freedom Board (FRDM K64F)
- QEMU x86
- Arm FVP BaseR AEMv8-R
- ARM BASE RevC AEMv8A Fixed Virtual Platforms

For best performance, the sample configures a lot of network packets and buffers.
Because of this, the sample's RAM requirements are quite large. In case the
sample does not fit into target platform RAM, reduce the following configs:

.. code-block:: cfg

   CONFIG_NET_PKT_RX_COUNT=40
   CONFIG_NET_PKT_TX_COUNT=40
   CONFIG_NET_BUF_RX_COUNT=160
   CONFIG_NET_BUF_TX_COUNT=160

Requirements
************

- iPerf 2.0.5 installed on the host machine
- Supported board

Depending on the network technology chosen, extra steps may be required
to setup the network environment.

Usage
*****

See :ref:`zperf library documentation <zperf>` for more information about
the library usage.