zephyr/samples/net/ipv4_autoconf
Robert Lubos fd2fa54aa7 samples: net: Add Wi-Fi snippet support for networking samples
Make use of wifi-ipv4 snippet in several networking samples.

Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
2024-10-08 16:58:20 +02:00
..
boards hwmv2: Introduce Hardware model version 2 and convert devices 2024-03-02 16:56:33 -05:00
src samples: net: Add Wi-Fi snippet support for networking samples 2024-10-08 16:58:20 +02:00
CMakeLists.txt samples: net: Add Wi-Fi snippet support for networking samples 2024-10-08 16:58:20 +02:00
README.rst samples: net: Add Wi-Fi snippet support for networking samples 2024-10-08 16:58:20 +02:00
prj.conf
sample.yaml samples: net: Add Wi-Fi snippet support for networking samples 2024-10-08 16:58:20 +02:00

README.rst

.. zephyr:code-sample:: ipv4-autoconf
   :name: IPv4 autoconf client
   :relevant-api: networking net_if net_context net_mgmt

   Perform IPv4 autoconfiguration and self-assign a random IPv4 address

Overview
********

This sample application starts a IPv4 autoconf and self-assigns
a random IPv4 address in the 169.254.0.0/16 range, it defends
the IPv4 address and resolves IPv4 conflicts if multiple
parties try to allocate an identical address.

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

- :ref:`networking_with_host`

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

These are instructions for how to use this sample application running
on a :ref:`frdm_k64f` board to configure a link local IPv4 address and
connect to a Linux host.

Connect ethernet cable from a :ref:`Freedom-K64F board <frdm_k64f>` to a Linux
host machine and check for new interfaces.

Running Avahi client in Linux Host
==================================

Assign a IPv4 link local address to the interface in the Linux system

.. code-block:: console

   $ avahi-autoipd --force-bind -D eth0


FRDM_K64F
=========

Build Zephyr the ``samples/net/ipv4_autoconf`` application using these
steps:

.. zephyr-app-commands::
   :zephyr-app: samples/net/ipv4_autoconf
   :host-os: unix
   :board: frdm_k64f
   :goals: build flash
   :compact:

Once IPv4 LL has completed probing and announcement, details are shown like this:

.. code-block:: console

   $ sudo screen /dev/ttyACM0 115200

.. code-block:: console

   [ipv4ll] [INF] main: Run ipv4 autoconf client
   [ipv4ll] [INF] handler: Your address: 169.254.218.128

Note that the IP address may change at each self assignment.

To verify the Zephyr application is running and has configured an IP address
type:

.. code-block:: console

   $ ping -I eth1 169.254.218.128

Wi-Fi
=====

The IPv4 Wi-Fi support can be enabled in the sample with
:ref:`Wi-Fi snippet <snippet-wifi-ipv4>`.