zephyr/samples/net/sockets/txtime
Jukka Rissanen c95f61f688 samples: net: txtime: Do not run qemu_x86 with twister
The txtime can be run manually with qemu_x86 but it is enough
to have native_sim compiled with twister.

Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
2024-06-29 05:50:04 -04:00
..
boards samples: net: txtime: Add support for native_sim board 2024-06-29 05:50:04 -04:00
src samples: net: txtime: The option type should be int 2024-06-29 05:50:04 -04:00
CMakeLists.txt
Kconfig
README.rst
overlay-e1000.conf samples: net: txtime: Add e1000 overlay for qemu_x86 2024-06-29 05:50:04 -04:00
overlay-vlan.conf
prj.conf
sample.yaml samples: net: txtime: Do not run qemu_x86 with twister 2024-06-29 05:50:04 -04:00

README.rst

.. zephyr:code-sample:: so_txtime
   :name: UDP sender using SO_TXTIME
   :relevant-api: bsd_sockets ethernet

   Control the transmission time of a packet using SO_TXTIME socket option.

Overview
********

This sample is a simple UDP sender/receiver which will set the
SO_TXTIME socket option and expects the Ethernet driver to send
the data when the TX time is expected. The application requires
that the board has PTP clock support. A simulated PTP clock is
provided for qemu_x86 board. Also frdm_k64f and sam_e70_xplained/same70q21 boards
are supported. Other mcux or gmac Ethernet driver based boards should
work too.
User can control how long the application should wait between packets sent by
setting :kconfig:option:`CONFIG_NET_SAMPLE_PACKET_INTERVAL` option.
Also the TXTIME value can be specified in the config file by setting the
:kconfig:option:`CONFIG_NET_SAMPLE_PACKET_TXTIME` option. In this case the value is
used as an offset from the current time.

Building and Running
********************

When the application is run, it starts to send UDP packets. You can start
``echo-server`` application from `net-tools`_ project to catch these and
send the data back to this application. Optionally you can set
:kconfig:option:`CONFIG_NET_SAMPLE_PACKET_SOCKET` option, which makes the application
to create an ``AF_PACKET`` type socket. In this case, the ``echo-server``
application cannot be used as a peer.

This sample can be built and executed on qemu_x86 board as
described in :ref:`networking_with_host`.

.. _`net-tools`: https://github.com/zephyrproject-rtos/net-tools