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 19if NET_PPP 20 21config NET_PPP_ASYNC_UART 22 bool "Asynchronous UART API is used" 23 depends on UART_ASYNC_API 24 25config NET_PPP_DRV_NAME 26 string "PPP Driver name" 27 default "ppp" 28 help 29 This option sets the driver name 30 31config NET_PPP_MTU_MRU 32 int "PPP MTU and MRU" 33 default 1500 34 help 35 This options sets MTU and MRU for PPP link. 36 37config NET_PPP_UART_BUF_LEN 38 int "Buffer length when reading from UART" 39 default 8 40 help 41 This options sets the size of the UART buffer where data 42 is being read to. 43 44config NET_PPP_RINGBUF_SIZE 45 int "PPP ring buffer size" 46 default 256 47 help 48 PPP ring buffer size when passing data from RX ISR to worker 49 thread that will pass the data to IP stack. 50 51config NET_PPP_RX_STACK_SIZE 52 int "Size of the stack allocated for receiving data from modem" 53 default 768 54 help 55 Sets the stack size which will be used by the PPP RX workqueue. 56 57config NET_PPP_RX_PRIORITY 58 int "RX workqueue thread priority" 59 default 7 60 help 61 Sets the priority of the RX workqueue thread. 62 63config NET_PPP_VERIFY_FCS 64 bool "Verify that received FCS is valid" 65 default y 66 help 67 If you have a reliable link, then it might make sense 68 to disable this as it takes some time to verify the received 69 packet. 70 71config NET_PPP_CAPTURE 72 bool "Capture received PPP packets" 73 depends on NET_CAPTURE_COOKED_MODE 74 help 75 This enables PPP packet capture. One needs to configure the 76 packet capturing in core network stack to send the captured packets 77 to outside system. This requires a non-PPP network connection 78 where the captured packets are sent for processing. Note that you 79 cannot use the PPP connection to sending packets as that would 80 lead recursion. 81 82config NET_PPP_CAPTURE_BUF_SIZE 83 int "Capture buffer for storing full PPP packets" 84 depends on NET_PPP_CAPTURE 85 default 1500 86 help 87 The captured PPP frames are temporarily stored into this buffer. 88 89config PPP_MAC_ADDR 90 string "MAC address for the interface" 91 help 92 Specify a MAC address for the PPP interface in the form of 93 six hex 8-bit chars separated by colons (e.g.: 94 aa:33:cc:22:e2:c0). The default is an empty string, which 95 means the code will make 00:00:5E:00:53:XX, where XX will be 96 random. 97 98config PPP_CLIENT_CLIENTSERVER 99 bool "Reply to the request CLIENT with CLIENTSERVER" 100 help 101 This is only necessary if a ppp connection should be 102 established with a Microsoft Windows PC. 103 104config PPP_NET_IF_NO_AUTO_START 105 bool "Disable PPP interface auto-start" 106 help 107 This option allows user to disable autostarting of the PPP interface 108 immediately after initialization. 109 110if NET_PPP_ASYNC_UART 111 112config NET_PPP_ASYNC_UART_TX_BUF_LEN 113 int "Length of the UART TX buffer to which data is written." 114 default 2048 115 116config NET_PPP_ASYNC_UART_TX_TIMEOUT 117 int "The timeout for UART transfers in milliseconds, or 0 for no timeout." 118 default 0 119 120config NET_PPP_ASYNC_UART_RX_RECOVERY_TIMEOUT 121 int "UART RX recovery timeout in milliseconds" 122 default 200 123 help 124 The time that UART RX is in disabled state in case 125 when we cannot receive more data from UART. 126 127config NET_PPP_ASYNC_UART_RX_ENABLE_TIMEOUT 128 int "A timeout for uart_rx_enable() in milliseconds" 129 default 100 130 131endif # NET_PPP_ASYNC_UART 132 133module = NET_PPP 134module-dep = LOG 135module-str = Log level for ppp driver 136module-help = Sets log level for ppp driver. 137source "subsys/net/Kconfig.template.log_config.net" 138 139endif # NET_PPP 140 141# 142# SLIP options 143# 144menuconfig SLIP 145 bool "SLIP driver" if !QEMU_TARGET 146 depends on NET_NATIVE 147 select UART_PIPE 148 select UART_INTERRUPT_DRIVEN 149 150if SLIP 151 152config SLIP_DRV_NAME 153 string "SLIP Driver name" 154 default "slip" 155 help 156 This option sets the driver name 157 158module = SLIP 159module-dep = LOG 160module-str = Log level for slip driver 161module-help = Sets log level for slip driver. 162source "subsys/net/Kconfig.template.log_config.net" 163 164config SLIP_STATISTICS 165 bool "SLIP network connection statistics" 166 help 167 This option enables statistics support for SLIP driver. 168 169config SLIP_TAP 170 bool "Use TAP interface to host" 171 default y 172 help 173 In TAP the Ethernet frames are transferred over SLIP. 174 175config SLIP_MAC_ADDR 176 string "MAC address for the interface" 177 help 178 Specify a MAC address for the SLIP interface in the form of 179 six hex 8-bit chars separated by colons (e.g.: 180 aa:33:cc:22:e2:c0). The default is an empty string, which 181 means the code will make 00:00:5E:00:53:XX, where XX will be 182 random. 183 184endif 185 186# 187# Net loopback options 188# 189menuconfig NET_LOOPBACK 190 bool "Net loopback driver" 191 select NET_L2_DUMMY 192 193if NET_LOOPBACK 194 195config NET_LOOPBACK_SIMULATE_PACKET_DROP 196 bool "Controlable packet drop" 197 help 198 Enable interface to have a controlable packet drop rate, only for 199 testing, should not be enabled for normal applications 200 201config NET_LOOPBACK_MTU 202 int "MTU for loopback interface" 203 default 576 204 help 205 This option sets the MTU for loopback interface. 206 207module = NET_LOOPBACK 208module-dep = LOG 209module-str = Log level for network loopback driver 210module-help = Sets log level for network loopback driver. 211source "subsys/net/Kconfig.template.log_config.net" 212 213endif 214 215# 216# CAN bus network driver options 217# 218menuconfig NET_CANBUS 219 bool "Controller Area Network (CAN) bus network driver" 220 help 221 Enable the CAN bus network driver. This driver provides a network interface on top of the 222 CAN controller driver API. 223 224if NET_CANBUS 225 226module = NET_CANBUS 227module-dep = LOG 228module-str = Log level for CAN bus network driver 229module-help = Sets log level CAN bus network driver. 230source "subsys/net/Kconfig.template.log_config.net" 231 232config NET_CANBUS_INIT_PRIORITY 233 int "CAN bus network device init priority" 234 default 81 235 help 236 CAN bus network device initialization priority. 237 238 The priority needs to be lower than the network stack and higher than the CAN controller 239 driver. 240 241endif # NET_CAN 242 243# 244# Native simulator offloaded sockets 245# 246 247menuconfig NET_NATIVE_OFFLOADED_SOCKETS 248 bool "Native Simulator offloaded sockets" 249 depends on ARCH_POSIX 250 depends on NATIVE_LIBRARY 251 depends on NET_SOCKETS_OFFLOAD 252 help 253 Offloaded sockets for Native Simulator utilize host BSD sockets API (like socket(), 254 connect(), send(), recvfrom(), etc.) in order to provide networking capability. 255 256 This driver main advantage is that it is possible to use this driver without any 257 additional setup on the host side, unlike with the native TAP Ethernet driver. 258 259if NET_NATIVE_OFFLOADED_SOCKETS 260 261config NET_NATIVE_OFFLOADED_SOCKETS_EPOLL_WAIT_INTERVAL 262 int "Interval between epoll_wait() calls (in simulated microseconds)" 263 default 1000 264 help 265 Number of simulated microseconds before next epoll_wait() call, when there were no pending 266 events detected. 267 268 Decrease that value when lower network traffic latency is expected, at the expense of more 269 CPU processing overhead. 270 271endif # NET_NATIVE_OFFLOADED_SOCKETS 272 273endif # NET_DRIVERS 274