| .. _throughput-server-sample: |
| |
| Throughput Server |
| ################# |
| |
| Overview |
| ******** |
| |
| The throughput-server sample application for Zephyr implements a UDP server |
| that complements the throughput-client tool from Zephyr `net-tools`_ repository. |
| The throughput-server listens for incoming IPv4 or IPv6 packets (sent by the |
| throughput-client) and optionally sends the packets back. |
| Note that it makes sense to use this sample (only) with high-performance |
| bearer like Ethernet. |
| |
| The source code for this sample application can be found at: |
| :file:`samples/net/throughput_server`. |
| |
| Building and Running |
| ******************** |
| |
| The application can be used on multiple boards and with different bearers. |
| Emulation using QEMU is not recommended because the ethernet connection in |
| QEMU is done using a serial port with SLIP, so it is very slow. |
| |
| There are configuration files for different boards and setups in the |
| throughput-server directory: |
| |
| - :file:`prj_frdm_k64f.conf` |
| Use this for FRDM-K64F board with built-in ethernet. |
| |
| Build throughput-server sample application like this: |
| |
| .. zephyr-app-commands:: |
| :zephyr-app: samples/net/throughput_server |
| :board: <board to use> |
| :conf: <config file to use> |
| :goals: build |
| :compact: |
| |
| Make will select the default configuration file based on the BOARD you |
| specified to CMake. |
| |
| Note that shell support is not activated in the throughput-server so that |
| we can save some memory and have as many net_buf's configured in the system |
| as possible. |
| |
| Running throughput-client in Linux Host |
| ======================================= |
| |
| In this example, the throughput-server is run on a board and throughput-client |
| is run on a Linux host. The throughput-client can be found at the `net-tools`_ |
| project. |
| |
| Open a terminal window and type: |
| |
| .. code-block:: console |
| |
| $ cd net-tools |
| $ ./throughput-client -F -s 200 2001:db8::1 |
| |
| Note that throughput-server must be running on the device under test before you |
| start the throughput-client application in a host terminal window. |
| |
| .. _`net-tools`: https://github.com/zephyrproject-rtos/net-tools |