zephyr/net/ip/Kconfig

333 lines
8.4 KiB
Plaintext

# networking.kconf - Generic networking configuration options
#
# Copyright (c) 2015 Intel Corporation.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#
#
# Networking options
#
menuconfig NETWORKING
bool
prompt "Generic networking support"
select NANO_TIMEOUTS
select NANO_TIMERS
default n
help
This option enabled generic networking support.
if NETWORKING
config NET_BUF_RX_SIZE
int "Number of network buffers to use when receiving data"
default 1
help
Each network buffer will contain one received IPv6 or IPv4 packet.
Each buffer will occupy 1280 bytes of memory.
config NET_BUF_TX_SIZE
int "Number of network buffers to use when sending data"
default 2
help
Each network buffer will contain one sent IPv6 or IPv4 packet.
Each buffer will occupy 1280 bytes of memory.
choice
prompt "Internet Protocol version"
depends on NETWORKING
help
The IP stack can either support IPv6 or IPv4 but
not both at the same time. The IPv6 support should
be selected by default as there is limited set of
network bearers provided that support IPv4.
default NETWORKING_WITH_IPV6
config NETWORKING_WITH_IPV6
bool "IPv6"
help
Choose this if unsure.
config NETWORKING_WITH_IPV4
bool "IPv4"
help
Legacy IP.
endchoice
config NETWORKING_STATISTICS
bool
prompt "Enable IP statistics gathering"
depends on NETWORKING
default n
help
This is only for debugging the network. Do not activate
this in live system! The option uses memory and slows
down IP packet processing.
if NETWORKING_WITH_IPV6
config NETWORKING_IPV6_NO_ND
bool
prompt "Disable IPv6 neighbor discovery"
depends on NETWORKING
depends on NETWORKING_WITH_IPV6
default y
help
Normally ND should be enabled but in order to simplify
the network setup, it is currently turned off.
endif
config NETWORKING_WITH_RPL
bool
prompt "Enable RPL (ripple) IPv6 mesh routing protocol"
depends on NETWORKING && NETWORKING_WITH_IPV6
default n
help
Enable RPL (RFC 6550) IPv6 Routing Protocol for
Low-Power and Lossy Networks.
config RPL_STATS
bool
prompt "Enable RPL statistics"
depends on NETWORKING_WITH_RPL
select NETWORKING_STATISTICS
default n
help
Enable RPL statistics support.
config RPL_PROBING
bool
prompt "Enable RPL probing"
depends on NETWORKING_WITH_RPL
default n
help
Enable RPL probing support. When enabled, probes will be sent
periodically to keep parent link estimates up to date.
choice
prompt "Objective function"
depends on NETWORKING_WITH_RPL
help
The objective function to use. All RPL nodes in a DODAG
must use the same OF.
The default is MRHOF, see RFC 6719 for details.
Other alternative is OF0, see RFC 6552 for details.
default RPL_WITH_MRHOF
config RPL_WITH_MRHOF
bool "Minimum Rank with Hysteresis, RFC 6719"
help
Choose this (MRHOF) if unsure.
config RPL_WITH_OF0
bool "OF Zero, RFC 6552"
help
Objective function zero (OF0).
endchoice
config NETWORKING_WITH_LOGGING
bool
prompt "Enable logging of the uIP stack"
depends on NETWORKING
default n
help
Enable packet and uIP stack logging
config NETWORKING_WITH_LOOPBACK
bool
prompt "Enable loopback driver"
depends on NETWORKING
default n
help
Enable a simple loopback driver that installs
IPv6 loopback addresses into routing table and
neighbor cache. All packets transmitted are
looped back to the receiving fifo/fiber.
choice
prompt "Wired networking support"
depends on NETWORKING
default NETWORKING_NO_WIRED
config NETWORKING_NO_WIRED
bool "No wired network driver"
help
Do not enable any wired network driver. It is still
possible to select other types of network drivers if
this option is selected.
config NETWORKING_UART
bool "Network UART/slip driver"
select UART_SIMPLE
help
Enable UART driver for passing IPv6 packets using slip.
This requires running tunslip6 tool in host. See README
file at net/ip/contiki/tools directory for details.
config ETHERNET
bool "Ethernet drivers"
help
Include Ethernet drivers in system config. This
option enables Ethernet support in the core network
subsystem, but it is necessary to also select a
specific Ethernet device driver.
endchoice
config NETWORKING_DEBUG_UART
bool
prompt "Network UART driver debug"
depends on NETWORKING_UART && NETWORKING_WITH_LOGGING
default n
help
This option enables debug support for network UART
driver.
config ETHERNET_DEBUG
bool
prompt "Network Ethernet driver debug"
depends on NETWORKING_WITH_LOGGING
default n
help
This option enables debug support for Ethernet drivers.
config NETWORKING_WITH_15_4
bool
prompt "Enable 802.15.4 driver"
depends on NETWORKING && NETWORKING_WITH_IPV6
default n
help
Enable 802.15.4 driver that receives the IPv6 packet,
does header compression on it and writes it to the
802.15.4 stack Tx FIFO. The 802.15.4 Tx fiber will pick up
the header compressed IPv6 6lowpan packet and fragment
it into suitable chunks ready to be sent to the 802.15.4
hw driver
config NETWORKING_WITH_15_4_PAN_ID
hex
prompt "IEEE 802.15.4 PAN id/address"
depends on NETWORKING_WITH_15_4
default 0xabcd
help
All the 802.15.4 devices that want to connect to each
other need to have same PAN id (address).
Default PAN id is 0xABCD
choice
prompt "802.15.4 Radio Driver"
depends on NETWORKING && NETWORKING_WITH_15_4
default n
help
The 802.15.4 layer can either support loopback within
or loopback with uart but not both at the same time.
config NETWORKING_WITH_15_4_LOOPBACK
bool
prompt "Enable 802.15.4 loopback radio driver"
help
Enable 802.15.4 loopback radio driver that receives
the 802.15.4 frame and put it back 802.15.4 Rx Fifo.
config NETWORKING_WITH_15_4_LOOPBACK_UART
bool
prompt "Enable 802.15.4 loopback radio uart driver"
select UART_SIMPLE
help
Enable 802.15.4 loopback radio driver that sends
802.15.4 frames out of qemu through uart and receive
frames through uart. This way one can test 802.15.4 frames
between two qemus
endchoice
config NETWORKING_WITH_6LOWPAN
bool
prompt "Enable 6LoWPAN (IPv6 compression) in the uIP stack"
depends on NETWORKING
depends on NETWORKING_WITH_15_4
default n
help
Enable 6LoWPAN in uIP stack
config NET_15_4_LOOPBACK_NUM
int
prompt "Number of times loopback runs"
depends on NETWORKING_WITH_15_4_LOOPBACK || NETWORKING_WITH_15_4_LOOPBACK_UART
default 0
help
Number of times loopback runs, 0 means infinite.
config NET_SANITY_TEST
bool
prompt "Enable networking sanity test"
depends on NETWORKING
default n
help
Enable networking sanity tests. Network sanity test
verification and test report submission will fall under
this config.
choice
prompt "6LoWPAN compression method"
depends on NETWORKING_WITH_6LOWPAN
help
Select the compression method that is used in 6LoWPAN.
default 6LOWPAN_COMPRESSION_IPV6
config 6LOWPAN_COMPRESSION_IPV6
bool "No compression"
help
Choose this if unsure.
config 6LOWPAN_COMPRESSION_IPHC
bool "IP header compression"
help
IP header compression
endchoice
config TINYDTLS
bool
prompt "Enable tinyDTLS support."
depends on NETWORKING
default n
help
Enable tinyDTLS support so that applications can use it.
This is needed at least in CoAP.
config TINYDTLS_DEBUG
bool
prompt "Enable tinyDTLS debugging support."
depends on TINYDTLS
default n
help
Enable tinyDTLS debugging support.
config ER_COAP
bool
prompt "Enable Erbium CoAP engine support."
depends on NETWORKING
default n
help
Enable Erbium CoAP engine support so that applications can use it.
config ER_COAP_WITH_DTLS
bool
prompt "Use DTLS in CoAP"
depends on ER_COAP
select TINYDTLS
default n
help
Make CoAP engine use DTLS. Note that if you activate DTLS, you
are not able to send or receive non-DTLS CoAP messages, and
vice versa.
config ER_COAP_CLIENT
bool
prompt "Enable CoAP client support"
depends on ER_COAP
default n
help
Compile in client CoAP support.
endif