1# Native TAP ethernet driver configuration options
2
3# Copyright (c) 2018 Intel Corporation
4# SPDX-License-Identifier: Apache-2.0
5
6menuconfig ETH_NATIVE_TAP
7	bool "Native TAP Ethernet driver"
8	depends on ARCH_POSIX
9	select ETH_NATIVE_POSIX_BACKWARDS_COMPAT_MENU
10	help
11	  Enable native_sim TAP ethernet driver. Note, this driver is run inside
12	  a process in your host system.
13
14if ETH_NATIVE_TAP
15
16config ETH_NATIVE_TAP_INTERFACE_COUNT
17	int "Number of network interfaces created"
18	default ETH_NATIVE_POSIX_INTERFACE_COUNT
19	range 1 32
20	help
21	  By default only one network interface is created. It is possible
22	  to create multiple interfaces in certain use cases. For example if
23	  multiple ports are defined in gPTP or PTP, then multiple network interfaces
24	  must be created here.
25
26config ETH_NATIVE_TAP_DRV_NAME
27	string "Ethernet driver name"
28	default ETH_NATIVE_POSIX_DRV_NAME
29	help
30	  This option sets the driver name and name of the network interface
31	  in your host system. If there are multiple network interfaces defined,
32	  then this value is used as a prefix and the interface names will be
33	  zeth0, zeth1, etc.
34
35config ETH_NATIVE_TAP_DEV_NAME
36	string "Host ethernet TUN/TAP device name"
37	default ETH_NATIVE_POSIX_DEV_NAME
38	help
39	  This option sets the TUN/TAP device name in your host system.
40
41config ETH_NATIVE_TAP_PTP_CLOCK
42	bool "PTP clock driver support"
43	default ETH_NATIVE_POSIX_PTP_CLOCK
44	select PTP_CLOCK
45	depends on NET_GPTP || PTP
46	help
47	  Enable PTP clock support.
48
49config ETH_NATIVE_TAP_RANDOM_MAC
50	bool "Random MAC address"
51	depends on ENTROPY_GENERATOR
52	default ETH_NATIVE_POSIX_RANDOM_MAC
53	help
54	  Generate a random MAC address dynamically.
55
56config ETH_NATIVE_TAP_VLAN_TAG_STRIP
57	bool "Strip VLAN tag from Rx frames"
58	default ETH_NATIVE_POSIX_VLAN_TAG_STRIP
59	depends on NET_VLAN
60	help
61	  Native TAP ethernet driver will strip of VLAN tag from
62	  Rx Ethernet frames and sets tag information in net packet
63	  metadata.
64
65config ETH_NATIVE_TAP_MAC_ADDR
66	string "MAC address for the interface"
67	default ETH_NATIVE_POSIX_MAC_ADDR
68	depends on !ETH_NATIVE_TAP_RANDOM_MAC
69	help
70	  Specify a MAC address for the ethernet interface in the form of
71	  six hex 8-bit chars separated by colons (e.g.:
72	  aa:33:cc:22:e2:c0). The default is an empty string, which
73	  means the code will make 00:00:5E:00:53:XX, where XX will be
74	  random.
75
76config ETH_NATIVE_TAP_RX_TIMEOUT
77	int "Ethernet RX timeout"
78	default ETH_NATIVE_POSIX_RX_TIMEOUT
79	range 1 100
80	help
81	  Native TAP ethernet driver repeatedly checks for new data.
82	  Specify how long the thread sleeps between these checks if no new data
83	  available.
84
85endif # ETH_NATIVE_TAP
86
87
88config ETH_NATIVE_POSIX
89	bool "Native POSIX Ethernet driver (deprecated)"
90	depends on ARCH_POSIX
91	select DEPRECATED
92	select ETH_NATIVE_TAP
93	select ETH_NATIVE_POSIX_BACKWARDS_COMPAT_MENU
94	help
95	  Deprecated, use ETH_NATIVE_TAP instead
96
97menuconfig ETH_NATIVE_POSIX_BACKWARDS_COMPAT_MENU
98	bool "Native POSIX Ethernet driver options (deprecated)"
99	depends on ARCH_POSIX
100
101if ETH_NATIVE_POSIX_BACKWARDS_COMPAT_MENU
102
103config ETH_NATIVE_POSIX_INTERFACE_COUNT
104	int "Number of network interfaces created (deprecated)"
105	default NET_GPTP_NUM_PORTS if NET_GPTP
106	default PTP_NUM_PORTS if PTP
107	default 1
108	range 1 32
109	help
110	  Deprecated, use ETH_NATIVE_TAP_INTERFACE_COUNT instead
111
112config ETH_NATIVE_POSIX_DRV_NAME
113	string "Ethernet driver name (deprecated)"
114	default "zeth"
115	help
116	  Deprecated, use ETH_NATIVE_TAP_DRV_NAME instead
117
118config ETH_NATIVE_POSIX_DEV_NAME
119	string "Host ethernet TUN/TAP device name (deprecated)"
120	default "/dev/net/tun"
121	help
122	  Deprecated, use ETH_NATIVE_TAP_DEV_NAME instead
123
124config ETH_NATIVE_POSIX_PTP_CLOCK
125	bool "PTP clock driver support (deprecated)"
126	default y if NET_GPTP || PTP
127	depends on NET_GPTP || PTP
128	help
129	  Deprecated, use ETH_NATIVE_TAP_PTP_CLOCK instead
130
131config ETH_NATIVE_POSIX_RANDOM_MAC
132	bool "Random MAC address (deprecated)"
133	depends on ENTROPY_GENERATOR
134	default y
135	help
136	  Deprecated, use ETH_NATIVE_TAP_RANDOM_MAC instead
137
138config ETH_NATIVE_POSIX_VLAN_TAG_STRIP
139	bool "Strip VLAN tag from Rx frames (deprecated)"
140	depends on NET_VLAN
141	help
142	  Deprecated, use ETH_NATIVE_TAP_VLAN_TAG_STRIP instead
143
144config ETH_NATIVE_POSIX_MAC_ADDR
145	string "MAC address for the interface (deprecated)"
146	default ""
147	depends on !ETH_NATIVE_POSIX_RANDOM_MAC
148	help
149	  Deprecated, use ETH_NATIVE_TAP_MAC_ADDR instead
150
151config ETH_NATIVE_POSIX_RX_TIMEOUT
152	int "Ethernet RX timeout (deprecated)"
153	default 1 if NET_GPTP
154	default 50
155	range 1 100
156	help
157	  Deprecated, use ETH_NATIVE_TAP_DEV_NAME instead
158
159endif # ETH_NATIVE_POSIX_BACKWARDS_COMPAT
160