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 "Buffer length from where the write to async UART is done"
98	default 2048
99	help
100	  This options sets the size of the UART TX buffer where data
101	  is being written from to UART.
102
103config NET_PPP_ASYNC_UART_RX_RECOVERY_TIMEOUT
104	int "UART RX recovery timeout in milliseconds"
105	default 200
106	help
107	  The time that UART RX is in disabled state in case
108	  when we cannot receive more data from UART.
109
110config NET_PPP_ASYNC_UART_RX_ENABLE_TIMEOUT
111	int "A timeout for uart_rx_enable() in milliseconds"
112	default 100
113
114config NET_PPP_ASYNC_UART_TX_TIMEOUT
115	int "A timeout for uart_tx() in milliseconds"
116	default 100
117
118endif # NET_PPP_ASYNC_UART
119
120module = NET_PPP
121module-dep = LOG
122module-str = Log level for ppp driver
123module-help = Sets log level for ppp driver.
124source "subsys/net/Kconfig.template.log_config.net"
125
126endif # NET_PPP
127
128#
129# SLIP options
130#
131menuconfig SLIP
132	bool "SLIP driver" if !QEMU_TARGET
133	depends on NET_NATIVE
134	select UART_PIPE
135	select UART_INTERRUPT_DRIVEN
136
137if SLIP
138
139config SLIP_DRV_NAME
140	string "SLIP Driver name"
141	default "slip"
142	help
143	  This option sets the driver name
144
145module = SLIP
146module-dep = LOG
147module-str = Log level for slip driver
148module-help = Sets log level for slip driver.
149source "subsys/net/Kconfig.template.log_config.net"
150
151config SLIP_STATISTICS
152	bool "SLIP network connection statistics"
153	help
154	  This option enables statistics support for SLIP driver.
155
156config SLIP_TAP
157	bool "Use TAP interface to host"
158	default y
159	select NET_L2_ETHERNET
160	help
161	  In TAP the Ethernet frames are transferred over SLIP.
162
163config SLIP_MAC_ADDR
164	string "MAC address for the interface"
165	help
166	  Specify a MAC address for the SLIP interface in the form of
167	  six hex 8-bit chars separated by colons (e.g.:
168	  aa:33:cc:22:e2:c0).  The default is an empty string, which
169	  means the code will make 00:00:5E:00:53:XX, where XX will be
170	  random.
171
172endif
173
174#
175# Net loopback options
176#
177menuconfig NET_LOOPBACK
178	bool "Net loopback driver"
179	select NET_L2_DUMMY
180
181if NET_LOOPBACK
182
183config NET_LOOPBACK_SIMULATE_PACKET_DROP
184	bool "Controlable packet drop"
185	help
186	  Enable interface to have a controlable packet drop rate, only for
187	  testing, should not be enabled for normal applications
188
189config NET_LOOPBACK_MTU
190	int "MTU for loopback interface"
191	default 576
192	help
193	  This option sets the MTU for loopback interface.
194
195module = NET_LOOPBACK
196module-dep = LOG
197module-str = Log level for network loopback driver
198module-help = Sets log level for network loopback driver.
199source "subsys/net/Kconfig.template.log_config.net"
200
201endif
202
203#
204# CAN bus network driver options
205#
206menuconfig NET_CANBUS
207	bool "Controller Area Network (CAN) bus network driver"
208	help
209	  Enable the CAN bus network driver. This driver provides a network interface on top of the
210	  CAN controller driver API.
211
212if NET_CANBUS
213
214module = NET_CANBUS
215module-dep = LOG
216module-str = Log level for CAN bus network driver
217module-help = Sets log level CAN bus network driver.
218source "subsys/net/Kconfig.template.log_config.net"
219
220config NET_CANBUS_INIT_PRIORITY
221	int "CAN bus network device init priority"
222	default 81
223	help
224	  CAN bus network device initialization priority.
225
226	  The priority needs to be lower than the network stack and higher than the CAN controller
227	  driver.
228
229endif # NET_CAN
230
231endif # NET_DRIVERS
232