1# IPv6 Options 2 3# Copyright (c) 2016 Intel Corporation. 4# SPDX-License-Identifier: Apache-2.0 5 6menuconfig NET_IPV6 7 bool "IPv6" 8 default y 9 help 10 Enable IPv6 support. This should be selected by default as there 11 is limited set of network bearers provided that support IPv4. 12 13if NET_IPV6 14 15config NET_IF_MAX_IPV6_COUNT 16 int "Max number of IPv6 network interfaces in the system" 17 default BT_MAX_CONN if NET_L2_BT 18 default NET_VLAN_COUNT if NET_VLAN 19 default 1 20 help 21 This tells how many network interfaces there will be in the system 22 that will have IPv6 enabled. 23 24config NET_IF_UNICAST_IPV6_ADDR_COUNT 25 int "Max number of unicast IPv6 addresses per network interface" 26 default 6 if NET_L2_OPENTHREAD 27 default 2 28 29config NET_IF_MCAST_IPV6_ADDR_COUNT 30 int "Max number of multicast IPv6 addresses per network interface" 31 default 8 if NET_L2_OPENTHREAD 32 default 3 33 34config NET_IF_IPV6_PREFIX_COUNT 35 int "Max number of IPv6 prefixes per network interface" 36 default 2 37 38config NET_INITIAL_HOP_LIMIT 39 int "Initial hop limit for a connection" 40 default 64 41 help 42 The value should be > 0 43 44config NET_IPV6_MAX_NEIGHBORS 45 int "How many IPv6 neighbors are supported" 46 default 8 47 range 1 254 48 help 49 The value depends on your network needs. 50 51config NET_IPV6_FRAGMENT 52 bool "Support IPv6 fragmentation" 53 help 54 IPv6 fragmentation is disabled by default. This saves memory and 55 should not cause issues normally as we support anyway the minimum 56 length IPv6 packets (1280 bytes). If you enable fragmentation 57 support, please increase amount of RX data buffers so that larger 58 than 1280 byte packets can be received. 59 60config NET_IPV6_FRAGMENT_MAX_COUNT 61 int "How many packets to reassemble at a time" 62 range 1 16 63 default 1 64 depends on NET_IPV6_FRAGMENT 65 help 66 How many fragmented IPv6 packets can be waiting reassembly 67 simultaneously. Each fragment count might use up to 1280 bytes 68 of memory so you need to plan this and increase the network buffer 69 count. 70 71config NET_IPV6_FRAGMENT_MAX_PKT 72 int "How many fragments can be handled to reassemble a packet" 73 default 2 74 depends on NET_IPV6_FRAGMENT 75 help 76 Incoming fragments are stored in per-packet queue before being 77 reassembled. This value defines the number of fragments that 78 can be handled at the same time to reassemble a single packet. 79 80 We do not have to accept IPv6 packets larger than 1500 bytes 81 (RFC 2460 ch 5). This means that we should receive everything 82 within the first two fragments. The first one being 1280 bytes and 83 the second one 220 bytes. 84 85 You can increase this value if you expect packets with more 86 than two fragments. 87 88config NET_IPV6_FRAGMENT_TIMEOUT 89 int "How long to wait the fragments to receive" 90 range 1 60 91 default 5 92 depends on NET_IPV6_FRAGMENT 93 help 94 How long to wait for IPv6 fragment to arrive before the reassembly 95 will timeout. RFC 2460 chapter 4.5 tells to wait for 60 seconds but 96 this might be too long in memory constrained devices. This value 97 is in seconds. 98 99config NET_IPV6_MLD 100 bool "Multicast Listener Discovery support" 101 default y 102 help 103 The value depends on your network needs. MLD should normally 104 be active. Currently we support only MLDv2. See RFC 3810 for 105 details. 106 107config NET_IPV6_NBR_CACHE 108 bool "Neighbor cache" 109 default y 110 help 111 The value depends on your network needs. Neighbor cache should 112 normally be active. 113 114config NET_IPV6_ND 115 bool "Activate neighbor discovery" 116 depends on NET_IPV6_NBR_CACHE 117 default y 118 help 119 The value depends on your network needs. ND should normally 120 be active. 121 122config NET_IPV6_DAD 123 bool "Activate duplicate address detection" 124 depends on NET_IPV6_NBR_CACHE 125 default y 126 help 127 The value depends on your network needs. DAD should normally 128 be active. 129 130config NET_IPV6_RA_RDNSS 131 bool "Support RA RDNSS option" 132 depends on NET_IPV6_ND 133 default y 134 help 135 Support Router Advertisement Recursive DNS Server option. 136 See RFC 6106 for details. The value depends on your network needs. 137 138config NET_6LO 139 bool "Enable 6lowpan IPv6 Compression library" 140 default y if NET_L2_IEEE802154 141 help 142 6lowpan compression and fragmentation. It is enabled by default 143 if 802.15.4 is present, since using IPv6 on it requires it. 144 145config NET_6LO_CONTEXT 146 bool "Enable 6lowpan context based compression" 147 depends on NET_6LO 148 help 149 Enables 6lowpan context based compression based on information 150 received in RA(Router Advertisement) message. 151 152config NET_MAX_6LO_CONTEXTS 153 int "Number of supported 6CO (6lowpan contexts options)" 154 depends on NET_6LO_CONTEXT 155 default 1 156 range 1 16 157 help 158 6lowpan context options table size. The value depends on your 159 network and memory consumption. More 6CO options uses more memory. 160 161if NET_6LO 162module = NET_6LO 163module-dep = NET_LOG 164module-str = Log level for 6LoWPAN library 165module-help = Enables 6LoWPAN code to output debug messages. 166source "subsys/net/Kconfig.template.log_config.net" 167endif # NET_6LO 168 169module = NET_IPV6 170module-dep = NET_LOG 171module-str = Log level for core IPv6 172module-help = Enables core IPv6 code to output debug messages. 173source "subsys/net/Kconfig.template.log_config.net" 174 175module = NET_ICMPV6 176module-dep = NET_LOG 177module-str = Log level for ICMPv6 178module-help = Enables ICMPv6 code to output debug messages. 179source "subsys/net/Kconfig.template.log_config.net" 180 181module = NET_IPV6_NBR_CACHE 182module-dep = NET_LOG 183module-str = Log level for IPv6 neighbor cache 184module-help = Enables IPv6 Neighbor Cache code to output debug messages. 185source "subsys/net/Kconfig.template.log_config.net" 186 187endif # NET_IPV6 188