# 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. config NETWORKING_UART bool prompt "Network UART/slip driver" depends on NETWORKING select UART_SIMPLE default n 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 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 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 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