zephyr/samples/net/zperf
Robert Lubos 125f1f593e samples: net: zperf: Fix sample performance issues
Sockets service thread need to be cooperative for best performance.

Enable CACHE_MANAGEMENT as some boards don't do it by default, it has
devastating impact on the performance as well.

Finally, increase FDS count, so that uploads still work when both TCP
and UDP receiver are enabled.

Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
2024-06-27 08:47:26 -04:00
..
boards drivers: nxp_enet: Deprecate ETH_MCUX 2024-04-18 11:18:31 +02:00
src
CMakeLists.txt samples: net: zperf: allow networking code to be relocated to RAM 2024-01-26 12:57:02 +01:00
Kconfig samples: net: zperf: allow networking code to be relocated to RAM 2024-01-26 12:57:02 +01:00
overlay-802154-subg.conf samples: net: zperf: Add subg overlay 2024-04-12 11:54:55 +02:00
overlay-loopback.conf
overlay-netusb.conf
overlay-usbd_next_ecm.conf
prj.conf samples: net: zperf: Fix sample performance issues 2024-06-27 08:47:26 -04:00
README.rst
sample.yaml boards: nxp: Support NXP ENET_1G on mimxrt1170_evk 2024-06-06 20:08:27 -04:00
usbd_next_ecm.overlay

.. 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

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.