…
|
||
---|---|---|
.. | ||
boards | ||
src | ||
CMakeLists.txt | ||
README.rst | ||
prj.conf | ||
sample.yaml |
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