Boot Linux faster!

Check our new training course

Boot Linux faster!

Check our new training course
and Creative Commons CC-BY-SA
lecture and lab materials

Bootlin logo

Elixir Cross Referencer

# Kconfig.ipv6 - IPv6 Options

#
# Copyright (c) 2016 Intel Corporation.
#
# SPDX-License-Identifier: Apache-2.0
#

menuconfig NET_IPV6
	bool "IPv6"
	default y
	help
	  Enable IPv6 support. This should be selected by default as there
	  is limited set of network bearers provided that support IPv4.

if NET_IPV6

config NET_IF_MAX_IPV6_COUNT
	int "Max number of IPv6 network interfaces in the system"
	default BT_MAX_CONN if NET_L2_BT
	default NET_VLAN_COUNT if NET_VLAN
	default 1
	help
	  This tells how many network interfaces there will be in the system
	  that will have IPv6 enabled.

config NET_IF_UNICAST_IPV6_ADDR_COUNT
	int "Max number of unicast IPv6 addresses per network interface"
	default 2

config NET_IF_MCAST_IPV6_ADDR_COUNT
	int "Max number of multicast IPv6 addresses per network interface"
	default 3

config NET_IF_IPV6_PREFIX_COUNT
	int "Max number of IPv6 prefixes per network interface"
	default 2

config NET_INITIAL_HOP_LIMIT
	int "Initial hop limit for a connection"
	default 64
	help
	  The value should be > 0

config NET_IPV6_MAX_NEIGHBORS
	int "How many IPv6 neighbors are supported"
	default 8
	range 1 254
	help
	  The value depends on your network needs.

config NET_IPV6_FRAGMENT
	bool "Support IPv6 fragmentation"
	help
	  IPv6 fragmentation is disabled by default. This saves memory and
	  should not cause issues normally as we support anyway the minimum
	  length IPv6 packets (1280 bytes). If you enable fragmentation
	  support, please increase amount of RX data buffers so that larger
	  than 1280 byte packets can be received.

config NET_IPV6_FRAGMENT_MAX_COUNT
	int "How many packets to reassemble at a time"
	range 1 16
	default 1
	depends on NET_IPV6_FRAGMENT
	help
	  How many fragmented IPv6 packets can be waiting reassembly
	  simultaneously. Each fragment count might use up to 1280 bytes
	  of memory so you need to plan this and increase the network buffer
	  count.

config NET_IPV6_FRAGMENT_TIMEOUT
	int "How long to wait the fragments to receive"
	range 1 60
	default 5
	depends on NET_IPV6_FRAGMENT
	help
	  How long to wait for IPv6 fragment to arrive before the reassembly
	  will timeout. RFC 2460 chapter 4.5 tells to wait for 60 seconds but
	  this might be too long in memory constrained devices. This value
	  is in seconds.

config NET_IPV6_MLD
	bool "Multicast Listener Discovery support"
	default y
	help
	  The value depends on your network needs. MLD should normally
	  be active. Currently we support only MLDv2. See RFC 3810 for
	  details.

config NET_IPV6_NBR_CACHE
	bool "Neighbor cache"
	default y
	help
	  The value depends on your network needs. Neighbor cache should
	  normally be active.

config NET_IPV6_ND
	bool "Activate neighbor discovery"
	depends on NET_IPV6_NBR_CACHE
	default y
	help
	  The value depends on your network needs. ND should normally
	  be active.

config NET_IPV6_DAD
	bool "Activate duplicate address detection"
	depends on NET_IPV6_NBR_CACHE
	default y
	help
	  The value depends on your network needs. DAD should normally
	  be active.

config NET_IPV6_RA_RDNSS
	bool "Support RA RDNSS option"
	depends on NET_IPV6_ND
	default y
	help
	  Support Router Advertisement Recursive DNS Server option.
	  See RFC 6106 for details. The value depends on your network needs.

config NET_6LO
	bool "Enable 6lowpan IPv6 Compression library"
	default y if NET_L2_IEEE802154
	help
	  6lowpan compression and fragmentation. It is enabled by default
	  if 802.15.4 is present, since using IPv6 on it requires it.

config NET_6LO_CONTEXT
	bool "Enable 6lowpan context based compression"
	depends on NET_6LO
	help
	  Enables 6lowpan context based compression based on information
	  received in RA(Router Advertisement) message.

config NET_MAX_6LO_CONTEXTS
	int "Number of supported 6CO (6lowpan contexts options)"
	depends on NET_6LO_CONTEXT
	default 1
	range 1 16
	help
	  6lowpan context options table size. The value depends on your
	  network and memory consumption. More 6CO options uses more memory.

if NET_6LO
module = NET_6LO
module-dep = NET_LOG
module-str = Log level for 6LoWPAN library
module-help = Enables 6LoWPAN code to output debug messages.
source "subsys/net/Kconfig.template.log_config.net"
endif # NET_6LO

module = NET_IPV6
module-dep = NET_LOG
module-str = Log level for core IPv6
module-help = Enables core IPv6 code to output debug messages.
source "subsys/net/Kconfig.template.log_config.net"

module = NET_ICMPV6
module-dep = NET_LOG
module-str = Log level for ICMPv6
module-help = Enables ICMPv6 code to output debug messages.
source "subsys/net/Kconfig.template.log_config.net"

module = NET_IPV6_NBR_CACHE
module-dep = NET_LOG
module-str = Log level for IPv6 neighbor cache
module-help = Enables IPv6 Neighbor Cache code to output debug messages.
source "subsys/net/Kconfig.template.log_config.net"

endif # NET_IPV6