52 lines
2.0 KiB
ReStructuredText
52 lines
2.0 KiB
ReStructuredText
.. _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.
|