129 lines
4.5 KiB
Plaintext
129 lines
4.5 KiB
Plaintext
# Native posix ethernet driver configuration options
|
|
|
|
# Copyright (c) 2018 Intel Corporation
|
|
# SPDX-License-Identifier: Apache-2.0
|
|
|
|
menuconfig ETH_NATIVE_POSIX
|
|
bool "Native Posix Ethernet driver"
|
|
depends on ARCH_POSIX
|
|
help
|
|
Enable native posix ethernet driver. Note, this driver is run inside
|
|
a process in your host system.
|
|
|
|
if ETH_NATIVE_POSIX
|
|
config ETH_NATIVE_POSIX_STARTUP_AUTOMATIC
|
|
bool "Start network interface automatically"
|
|
help
|
|
If set, the native_posix ethernet driver will set up the network
|
|
interface, requiring ``zephyr.exe`` to be run with root privileges
|
|
(needed to create and configure the TAP device).
|
|
If not set (the default and recommended way), the network interface
|
|
must be set up manually using ``net-setup.sh`` (from the net-tools
|
|
project repo). The ``zephyr.exe`` program can then be run as a
|
|
non-root user.
|
|
|
|
if ETH_NATIVE_POSIX_STARTUP_AUTOMATIC
|
|
|
|
config ETH_NATIVE_POSIX_SETUP_SCRIPT
|
|
string "Host setup script"
|
|
default "${ZEPHYR_BASE}/samples/net/eth_native_posix/net_setup_host"
|
|
help
|
|
This option sets the name of the script that is run when the host TAP
|
|
network interface is created. The script should setup IP addresses
|
|
etc. for the host TAP network interface.
|
|
The default script accepts following options:
|
|
-i|--interface <network interface name>, default is zeth
|
|
-f|--file <config file name>, default is net_setup_host.conf
|
|
If needed, you can add these options to this script name option.
|
|
Note that the driver will add -i option with the value of
|
|
CONFIG_ETH_NATIVE_POSIX_DRV_NAME option to the end of the options
|
|
list when calling the host setup script.
|
|
|
|
config ETH_NATIVE_POSIX_STARTUP_SCRIPT
|
|
string "Host startup script"
|
|
default ""
|
|
help
|
|
This option sets the name of the script that is run when the host TAP
|
|
network interface is created and setup script has been run.
|
|
The startup script could launch e.g., wireshark to capture
|
|
the network traffic for the freshly started network interface.
|
|
Note that the network interface name CONFIG_ETH_NATIVE_POSIX_DRV_NAME
|
|
is appended at the end of this startup script name.
|
|
Example script for starting wireshark is provided in
|
|
${ZEPHYR_BASE}/samples/net/eth_native_posix/net_start_wireshark.sh
|
|
file.
|
|
|
|
config ETH_NATIVE_POSIX_STARTUP_SCRIPT_USER
|
|
string "Username to run the host startup script"
|
|
default ""
|
|
help
|
|
By default the startup script is run as a root user. Set here the
|
|
username to run the script if running it as a root user is not
|
|
desired. Note that this setting is only for startup script and not
|
|
for the setup script. The setup script needs to be run always as
|
|
a root user.
|
|
|
|
endif # ETH_NATIVE_POSIX_STARTUP_AUTOMATIC
|
|
|
|
config ETH_NATIVE_POSIX_INTERFACE_COUNT
|
|
int "Number of network interfaces created"
|
|
default NET_GPTP_NUM_PORTS if NET_GPTP
|
|
default 1
|
|
range 1 32
|
|
help
|
|
By default only one network interface is created. It is possible
|
|
to create multiple interfaces in certain use cases. For example if
|
|
multiple ports are defined in gPTP, then multiple network interfaces
|
|
must be created here.
|
|
|
|
config ETH_NATIVE_POSIX_DRV_NAME
|
|
string "Ethernet driver name"
|
|
default "zeth"
|
|
help
|
|
This option sets the driver name and name of the network interface
|
|
in your host system. If there are multiple network interfaces defined,
|
|
then this value is used as a prefix and the interface names will be
|
|
zeth0, zeth1, etc.
|
|
|
|
config ETH_NATIVE_POSIX_DEV_NAME
|
|
string "Host ethernet TUN/TAP device name"
|
|
default "/dev/net/tun"
|
|
help
|
|
This option sets the TUN/TAP device name in your host system.
|
|
|
|
config ETH_NATIVE_POSIX_PTP_CLOCK
|
|
bool "PTP clock driver support"
|
|
default y if NET_GPTP
|
|
select PTP_CLOCK
|
|
depends on NET_GPTP
|
|
help
|
|
Enable PTP clock support.
|
|
|
|
config ETH_NATIVE_POSIX_RANDOM_MAC
|
|
bool "Random MAC address"
|
|
depends on ENTROPY_GENERATOR
|
|
default y
|
|
help
|
|
Generate a random MAC address dynamically.
|
|
|
|
config ETH_NATIVE_POSIX_VLAN_TAG_STRIP
|
|
bool "Strip VLAN tag from Rx frames"
|
|
depends on NET_VLAN
|
|
help
|
|
Native posix ethernet driver will strip of VLAN tag from
|
|
Rx Ethernet frames and sets tag information in net packet
|
|
metadata.
|
|
|
|
config ETH_NATIVE_POSIX_MAC_ADDR
|
|
string "MAC address for the interface"
|
|
default ""
|
|
depends on !ETH_NATIVE_POSIX_RANDOM_MAC
|
|
help
|
|
Specify a MAC address for the ethernet interface in the form of
|
|
six hex 8-bit chars separated by colons (e.g.:
|
|
aa:33:cc:22:e2:c0). The default is an empty string, which
|
|
means the code will make 00:00:5E:00:53:XX, where XX will be
|
|
random.
|
|
|
|
endif # ETH_NATIVE_POSIX
|