1# Misc network drivers configuration options
2# SPDX-License-Identifier: Apache-2.0
3
4menuconfig NET_DRIVERS
5	bool "Network drivers"
6
7if NET_DRIVERS
8
9#
10# PPP options
11#
12menuconfig NET_PPP
13	bool "Point-to-point (PPP) UART based driver"
14	depends on NET_L2_PPP
15	depends on NET_NATIVE
16	select RING_BUFFER
17	select CRC
18	select UART_MUX if GSM_MUX
19
20if NET_PPP
21
22config NET_PPP_ASYNC_UART
23	bool "Asynchronous UART API is used"
24	depends on UART_ASYNC_API
25	depends on !GSM_MUX
26
27config NET_PPP_DRV_NAME
28	string "PPP Driver name"
29	default "ppp"
30	help
31	  This option sets the driver name
32
33config NET_PPP_MTU_MRU
34	int "PPP MTU and MRU"
35	default 1500
36	help
37	  This options sets MTU and MRU for PPP link.
38
39config NET_PPP_UART_BUF_LEN
40	int "Buffer length when reading from UART"
41	default 8
42	help
43	  This options sets the size of the UART buffer where data
44	  is being read to.
45
46config NET_PPP_RINGBUF_SIZE
47	int "PPP ring buffer size"
48	default 256
49	help
50	  PPP ring buffer size when passing data from RX ISR to worker
51	  thread that will pass the data to IP stack.
52
53config NET_PPP_RX_STACK_SIZE
54	int "Size of the stack allocated for receiving data from modem"
55	default 768
56	help
57	  Sets the stack size which will be used by the PPP RX workqueue.
58
59config NET_PPP_RX_PRIORITY
60	int "RX workqueue thread priority"
61	default 7
62	help
63	  Sets the priority of the RX workqueue thread.
64
65config NET_PPP_VERIFY_FCS
66	bool "Verify that received FCS is valid"
67	default y
68	help
69	  If you have a reliable link, then it might make sense
70	  to disable this as it takes some time to verify the received
71	  packet.
72
73config PPP_MAC_ADDR
74	string "MAC address for the interface"
75	help
76	  Specify a MAC address for the PPP interface in the form of
77	  six hex 8-bit chars separated by colons (e.g.:
78	  aa:33:cc:22:e2:c0).  The default is an empty string, which
79	  means the code will make 00:00:5E:00:53:XX, where XX will be
80	  random.
81
82config PPP_CLIENT_CLIENTSERVER
83	bool "Reply to the request CLIENT with CLIENTSERVER"
84	help
85	  This is only necessary if a ppp connection should be
86	  established with a Microsoft Windows PC.
87
88config PPP_NET_IF_NO_AUTO_START
89	bool "Disable PPP interface auto-start"
90	help
91	  This option allows user to disable autostarting of the PPP interface
92	  immediately after initialization.
93
94if NET_PPP_ASYNC_UART
95
96config NET_PPP_ASYNC_UART_TX_BUF_LEN
97	int "Length of the UART TX buffer to which data is written."
98	default 2048
99
100config NET_PPP_ASYNC_UART_TX_TIMEOUT
101	int "The timeout for UART transfers in milliseconds, or 0 for no timeout."
102	default 0
103
104config NET_PPP_ASYNC_UART_RX_RECOVERY_TIMEOUT
105	int "UART RX recovery timeout in milliseconds"
106	default 200
107	help
108	  The time that UART RX is in disabled state in case
109	  when we cannot receive more data from UART.
110
111config NET_PPP_ASYNC_UART_RX_ENABLE_TIMEOUT
112	int "A timeout for uart_rx_enable() in milliseconds"
113	default 100
114
115endif # NET_PPP_ASYNC_UART
116
117module = NET_PPP
118module-dep = LOG
119module-str = Log level for ppp driver
120module-help = Sets log level for ppp driver.
121source "subsys/net/Kconfig.template.log_config.net"
122
123endif # NET_PPP
124
125#
126# SLIP options
127#
128menuconfig SLIP
129	bool "SLIP driver" if !QEMU_TARGET
130	depends on NET_NATIVE
131	select UART_PIPE
132	select UART_INTERRUPT_DRIVEN
133
134if SLIP
135
136config SLIP_DRV_NAME
137	string "SLIP Driver name"
138	default "slip"
139	help
140	  This option sets the driver name
141
142module = SLIP
143module-dep = LOG
144module-str = Log level for slip driver
145module-help = Sets log level for slip driver.
146source "subsys/net/Kconfig.template.log_config.net"
147
148config SLIP_STATISTICS
149	bool "SLIP network connection statistics"
150	help
151	  This option enables statistics support for SLIP driver.
152
153config SLIP_TAP
154	bool "Use TAP interface to host"
155	default y
156	select NET_L2_ETHERNET
157	help
158	  In TAP the Ethernet frames are transferred over SLIP.
159
160config SLIP_MAC_ADDR
161	string "MAC address for the interface"
162	help
163	  Specify a MAC address for the SLIP interface in the form of
164	  six hex 8-bit chars separated by colons (e.g.:
165	  aa:33:cc:22:e2:c0).  The default is an empty string, which
166	  means the code will make 00:00:5E:00:53:XX, where XX will be
167	  random.
168
169endif
170
171#
172# Net loopback options
173#
174menuconfig NET_LOOPBACK
175	bool "Net loopback driver"
176	select NET_L2_DUMMY
177
178if NET_LOOPBACK
179
180config NET_LOOPBACK_SIMULATE_PACKET_DROP
181	bool "Controlable packet drop"
182	help
183	  Enable interface to have a controlable packet drop rate, only for
184	  testing, should not be enabled for normal applications
185
186config NET_LOOPBACK_MTU
187	int "MTU for loopback interface"
188	default 576
189	help
190	  This option sets the MTU for loopback interface.
191
192module = NET_LOOPBACK
193module-dep = LOG
194module-str = Log level for network loopback driver
195module-help = Sets log level for network loopback driver.
196source "subsys/net/Kconfig.template.log_config.net"
197
198endif
199
200#
201# CAN bus network driver options
202#
203menuconfig NET_CANBUS
204	bool "Controller Area Network (CAN) bus network driver"
205	help
206	  Enable the CAN bus network driver. This driver provides a network interface on top of the
207	  CAN controller driver API.
208
209if NET_CANBUS
210
211module = NET_CANBUS
212module-dep = LOG
213module-str = Log level for CAN bus network driver
214module-help = Sets log level CAN bus network driver.
215source "subsys/net/Kconfig.template.log_config.net"
216
217config NET_CANBUS_INIT_PRIORITY
218	int "CAN bus network device init priority"
219	default 81
220	help
221	  CAN bus network device initialization priority.
222
223	  The priority needs to be lower than the network stack and higher than the CAN controller
224	  driver.
225
226endif # NET_CAN
227
228endif # NET_DRIVERS
229