# 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 && EXTERNAL_LIBC 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 , default is zeth -f|--file , 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. config ETH_NATIVE_POSIX_RX_TIMEOUT int "Ethernet RX timeout" default 1 if NET_GPTP default 50 range 1 100 help Native posix ethernet driver repeatedly checks for new data. Specify how long the thread sleeps between these checks if no new data available. endif # ETH_NATIVE_POSIX