You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
51 lines
2.0 KiB
51 lines
2.0 KiB
.. _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 :zephyr:code-sample:`dhcpv4-client` sample application. |
|
|
|
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.
|
|
|