zephyr/drivers/net/Kconfig
Jukka Rissanen 7fdebb5a91 drivers: net: ppp: Add packet capture support
User is able to enable packet capture for low level HDLC data
frames received from and sent to network. This data can sent to
remote system for analysis. The captured data is encapsulated
into Linux cooked mode SLL packets.

Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
2024-04-04 17:02:11 +02:00

276 lines
7 KiB
Plaintext

# Misc network drivers configuration options
# SPDX-License-Identifier: Apache-2.0
menuconfig NET_DRIVERS
bool "Network drivers"
if NET_DRIVERS
#
# PPP options
#
menuconfig NET_PPP
bool "Point-to-point (PPP) UART based driver"
depends on NET_L2_PPP
depends on NET_NATIVE
select RING_BUFFER
select CRC
select UART_MUX if GSM_MUX
if NET_PPP
config NET_PPP_ASYNC_UART
bool "Asynchronous UART API is used"
depends on UART_ASYNC_API
depends on !GSM_MUX
config NET_PPP_DRV_NAME
string "PPP Driver name"
default "ppp"
help
This option sets the driver name
config NET_PPP_MTU_MRU
int "PPP MTU and MRU"
default 1500
help
This options sets MTU and MRU for PPP link.
config NET_PPP_UART_BUF_LEN
int "Buffer length when reading from UART"
default 8
help
This options sets the size of the UART buffer where data
is being read to.
config NET_PPP_RINGBUF_SIZE
int "PPP ring buffer size"
default 256
help
PPP ring buffer size when passing data from RX ISR to worker
thread that will pass the data to IP stack.
config NET_PPP_RX_STACK_SIZE
int "Size of the stack allocated for receiving data from modem"
default 768
help
Sets the stack size which will be used by the PPP RX workqueue.
config NET_PPP_RX_PRIORITY
int "RX workqueue thread priority"
default 7
help
Sets the priority of the RX workqueue thread.
config NET_PPP_VERIFY_FCS
bool "Verify that received FCS is valid"
default y
help
If you have a reliable link, then it might make sense
to disable this as it takes some time to verify the received
packet.
config NET_PPP_CAPTURE
bool "Capture received PPP packets"
depends on NET_CAPTURE_COOKED_MODE
help
This enables PPP packet capture. One needs to configure the
packet capturing in core network stack to send the captured packets
to outside system. This requires a non-PPP network connection
where the captured packets are sent for processing. Note that you
cannot use the PPP connection to sending packets as that would
lead recursion.
config NET_PPP_CAPTURE_BUF_SIZE
int "Capture buffer for storing full PPP packets"
depends on NET_PPP_CAPTURE
default 1500
help
The captured PPP frames are temporarily stored into this buffer.
config PPP_MAC_ADDR
string "MAC address for the interface"
help
Specify a MAC address for the PPP 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 PPP_CLIENT_CLIENTSERVER
bool "Reply to the request CLIENT with CLIENTSERVER"
help
This is only necessary if a ppp connection should be
established with a Microsoft Windows PC.
config PPP_NET_IF_NO_AUTO_START
bool "Disable PPP interface auto-start"
help
This option allows user to disable autostarting of the PPP interface
immediately after initialization.
if NET_PPP_ASYNC_UART
config NET_PPP_ASYNC_UART_TX_BUF_LEN
int "Length of the UART TX buffer to which data is written."
default 2048
config NET_PPP_ASYNC_UART_TX_TIMEOUT
int "The timeout for UART transfers in milliseconds, or 0 for no timeout."
default 0
config NET_PPP_ASYNC_UART_RX_RECOVERY_TIMEOUT
int "UART RX recovery timeout in milliseconds"
default 200
help
The time that UART RX is in disabled state in case
when we cannot receive more data from UART.
config NET_PPP_ASYNC_UART_RX_ENABLE_TIMEOUT
int "A timeout for uart_rx_enable() in milliseconds"
default 100
endif # NET_PPP_ASYNC_UART
module = NET_PPP
module-dep = LOG
module-str = Log level for ppp driver
module-help = Sets log level for ppp driver.
source "subsys/net/Kconfig.template.log_config.net"
endif # NET_PPP
#
# SLIP options
#
menuconfig SLIP
bool "SLIP driver" if !QEMU_TARGET
depends on NET_NATIVE
select UART_PIPE
select UART_INTERRUPT_DRIVEN
if SLIP
config SLIP_DRV_NAME
string "SLIP Driver name"
default "slip"
help
This option sets the driver name
module = SLIP
module-dep = LOG
module-str = Log level for slip driver
module-help = Sets log level for slip driver.
source "subsys/net/Kconfig.template.log_config.net"
config SLIP_STATISTICS
bool "SLIP network connection statistics"
help
This option enables statistics support for SLIP driver.
config SLIP_TAP
bool "Use TAP interface to host"
default y
help
In TAP the Ethernet frames are transferred over SLIP.
config SLIP_MAC_ADDR
string "MAC address for the interface"
help
Specify a MAC address for the SLIP 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.
endif
#
# Net loopback options
#
menuconfig NET_LOOPBACK
bool "Net loopback driver"
select NET_L2_DUMMY
if NET_LOOPBACK
config NET_LOOPBACK_SIMULATE_PACKET_DROP
bool "Controlable packet drop"
help
Enable interface to have a controlable packet drop rate, only for
testing, should not be enabled for normal applications
config NET_LOOPBACK_MTU
int "MTU for loopback interface"
default 576
help
This option sets the MTU for loopback interface.
module = NET_LOOPBACK
module-dep = LOG
module-str = Log level for network loopback driver
module-help = Sets log level for network loopback driver.
source "subsys/net/Kconfig.template.log_config.net"
endif
#
# CAN bus network driver options
#
menuconfig NET_CANBUS
bool "Controller Area Network (CAN) bus network driver"
help
Enable the CAN bus network driver. This driver provides a network interface on top of the
CAN controller driver API.
if NET_CANBUS
module = NET_CANBUS
module-dep = LOG
module-str = Log level for CAN bus network driver
module-help = Sets log level CAN bus network driver.
source "subsys/net/Kconfig.template.log_config.net"
config NET_CANBUS_INIT_PRIORITY
int "CAN bus network device init priority"
default 81
help
CAN bus network device initialization priority.
The priority needs to be lower than the network stack and higher than the CAN controller
driver.
endif # NET_CAN
#
# Native simulator offloaded sockets
#
menuconfig NET_NATIVE_OFFLOADED_SOCKETS
bool "Native Simulator offloaded sockets"
depends on ARCH_POSIX
depends on NATIVE_LIBRARY
depends on NET_SOCKETS_OFFLOAD
help
Offloaded sockets for Native Simulator utilize host BSD sockets API (like socket(),
connect(), send(), recvfrom(), etc.) in order to provide networking capability.
This driver main advantage is that it is possible to use this driver without any
additional setup on the host side, unlike with the native TAP Ethernet driver.
if NET_NATIVE_OFFLOADED_SOCKETS
config NET_NATIVE_OFFLOADED_SOCKETS_EPOLL_WAIT_INTERVAL
int "Interval between epoll_wait() calls (in simulated microseconds)"
default 1000
help
Number of simulated microseconds before next epoll_wait() call, when there were no pending
events detected.
Decrease that value when lower network traffic latency is expected, at the expense of more
CPU processing overhead.
endif # NET_NATIVE_OFFLOADED_SOCKETS
endif # NET_DRIVERS