doc: net: Add more info for Arm FVP user mode networking
Added more detailed information about Arm FVP user mode networking and how to use it. Signed-off-by: Huifeng Zhang <Huifeng.Zhang@arm.com>
This commit is contained in:
parent
dcd2778525
commit
2080bd702b
2 changed files with 62 additions and 0 deletions
51
doc/connectivity/networking/armfvp_user_networking_setup.rst
Normal file
51
doc/connectivity/networking/armfvp_user_networking_setup.rst
Normal file
|
@ -0,0 +1,51 @@
|
||||||
|
.. _networking_with_armfvp:
|
||||||
|
|
||||||
|
Networking with Arm FVP User Mode
|
||||||
|
#################################
|
||||||
|
|
||||||
|
.. contents::
|
||||||
|
:local:
|
||||||
|
:depth: 2
|
||||||
|
|
||||||
|
This page is intended to serve as a starting point for anyone interested in
|
||||||
|
using Arm FVP user mode networking with Zephyr.
|
||||||
|
|
||||||
|
Introduction
|
||||||
|
*************
|
||||||
|
|
||||||
|
User mode networking emulates a built-in IP router and DHCP server, and routes
|
||||||
|
TCP and UDP traffic between the guest and host. It uses the user mode socket
|
||||||
|
layer of the host to communicate with other hosts. This allows the use of
|
||||||
|
a significant number of IP network services without requiring administrative
|
||||||
|
privileges, or the installation of a separate driver on the host on which
|
||||||
|
the model is running.
|
||||||
|
|
||||||
|
By default, Arm FVP uses the ``172.20.51.0/24`` network and runs a gateway at
|
||||||
|
``172.20.51.254``. This gateway also functions as a DHCP server for the GOS,
|
||||||
|
allowing it to be automatically assigned with an IP address ``172.20.51.1``.
|
||||||
|
|
||||||
|
More details about Arm FVP user mode networking can be obtained from here:
|
||||||
|
https://developer.arm.com/documentation/100964/latest/Introduction-to-Fast-Models/User-mode-networking
|
||||||
|
|
||||||
|
Using Arm FVP User Mode Networking with Zephyr
|
||||||
|
***********************************************
|
||||||
|
|
||||||
|
Arm FVP user mode networking can be enabled in any applications and it doesn't
|
||||||
|
need any configurations on the host system. This feature has been enabled in
|
||||||
|
DHCPv4 client sample.
|
||||||
|
See :ref:`Sample DHCPv4 client application <dhcpv4-client-sample>`
|
||||||
|
|
||||||
|
Limitations
|
||||||
|
*************
|
||||||
|
|
||||||
|
* You can use TCP and UDP over IP, but not ICMP (ping).
|
||||||
|
* User mode networking does not support forwarding UDP ports on the host to
|
||||||
|
the model.
|
||||||
|
* You can only use DHCP within the private network.
|
||||||
|
* You can only make inward connections by mapping TCP ports on the host to
|
||||||
|
the model. This is common to all implementations that provide host
|
||||||
|
connectivity using NAT.
|
||||||
|
* Operations that require privileged source ports, for example NFS in its
|
||||||
|
default configuration, do not work.
|
||||||
|
* If setup fails, or the parameter syntax is incorrect, there is no error
|
||||||
|
reporting.
|
|
@ -14,6 +14,7 @@ Networking with the host system
|
||||||
qemu_user_setup.rst
|
qemu_user_setup.rst
|
||||||
networking_with_multiple_instances.rst
|
networking_with_multiple_instances.rst
|
||||||
qemu_802154_setup.rst
|
qemu_802154_setup.rst
|
||||||
|
armfvp_user_networking_setup.rst
|
||||||
|
|
||||||
While developing networking software, it is usually necessary to connect and
|
While developing networking software, it is usually necessary to connect and
|
||||||
exchange data with the host system like a Linux desktop computer.
|
exchange data with the host system like a Linux desktop computer.
|
||||||
|
@ -42,6 +43,16 @@ possible:
|
||||||
limitations including performance which makes it less valuable for practical
|
limitations including performance which makes it less valuable for practical
|
||||||
purposes. See :ref:`networking_with_user_qemu` for details.
|
purposes. See :ref:`networking_with_user_qemu` for details.
|
||||||
|
|
||||||
|
* Arm FVP (User Mode Networking).
|
||||||
|
|
||||||
|
* User mode networking emulates a built-in IP router and DHCP server, and
|
||||||
|
routes TCP and UDP traffic between the guest and host. It uses the user mode
|
||||||
|
socket layer of the host to communicate with other hosts. This allows
|
||||||
|
the use of a significant number of IP network services without requiring
|
||||||
|
administrative privileges, or the installation of a separate driver on
|
||||||
|
the host on which the model is running. See :ref:`networking_with_armfvp`
|
||||||
|
for details.
|
||||||
|
|
||||||
* native_posix board.
|
* native_posix board.
|
||||||
|
|
||||||
* The Zephyr instance can be executed as a user space process in the host
|
* The Zephyr instance can be executed as a user space process in the host
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue