1# IPv4 Options 2 3# Copyright (c) 2016 Intel Corporation. 4# SPDX-License-Identifier: Apache-2.0 5 6menuconfig NET_IPV4 7 bool "IPv4" 8 help 9 Enable IPv4 support. If this is enabled then the device is 10 able to send and receive IPv4 network packets. 11 12if NET_IPV4 13 14config NET_INITIAL_TTL 15 int "Initial IPv4 time to live value for unicast packets" 16 default 64 17 range 0 $(UINT8_MAX) 18 help 19 The value should normally be > 0. The device receiving the IPv4 20 packet will decrement the value and will drop the packet if the TTL 21 value is 0. When sending, the packet is dropped before transmitting 22 to network if TTL is 0. 23 24config NET_INITIAL_MCAST_TTL 25 int "Initial IPv4 time to live value for multicast packets" 26 default 1 27 range 0 $(UINT8_MAX) 28 help 29 The value should normally be > 0. The device receiving the IPv4 30 packet will decrement the value and will drop the packet if the TTL 31 value is 0. When sending, the packet is dropped before transmitting 32 to network if TTL is 0. 33 The default is 1 (same as in Linux) which means that multicast packets 34 don't leave the local network unless the application explicitly 35 requests it. 36 37config NET_IF_MAX_IPV4_COUNT 38 int "Max number of IPv4 network interfaces in the system" 39 default NET_VLAN_COUNT if NET_VLAN 40 default 2 if NET_LOOPBACK 41 default 1 42 help 43 This tells how many network interfaces there will be in the system 44 that will have IPv4 enabled. 45 46config NET_IF_UNICAST_IPV4_ADDR_COUNT 47 int "Max number of unicast IPv4 addresses per network interface" 48 default 2 if NET_IPV4_AUTO 49 default 2 if NET_LOOPBACK 50 default 1 51 52config NET_IF_MCAST_IPV4_ADDR_COUNT 53 int "Max number of multicast IPv4 addresses per network interface" 54 default 2 if NET_IPV4_IGMP 55 default 1 56 57config NET_IF_MCAST_IPV4_SOURCE_COUNT 58 int "Max number of IPv4 sources per mcast address to be included or excluded" 59 default 1 60 61config NET_ICMPV4_ACCEPT_BROADCAST 62 bool "Accept broadcast ICMPv4 echo-request" 63 help 64 If set, then respond to ICMPv4 echo-request that is sent to 65 broadcast address. 66 67config NET_IPV4_ACCEPT_ZERO_BROADCAST 68 bool "Accept 0.0.0.0 broadcast destination address" 69 help 70 If set, then accept UDP packets destined to non-standard 71 0.0.0.0 broadcast address as described in RFC 1122 ch. 3.3.6 72 73config NET_IPV4_IGMP 74 bool "Internet Group Management Protocol (IGMPv2) support" 75 select NET_IPV4_HDR_OPTIONS 76 help 77 The value depends on your network needs. IGMP should normally be 78 enabled if IPv4 multicast support is needed. Currently we support 79 IGMPv2 and earlier versions. This requires IPv4 header support 80 because IP Router Alert option must be sent. 81 See RFC 2236 for details. 82 83config NET_IPV4_IGMPV3 84 bool "Internet Group Management Protocol version 3 (IGMPv3) support" 85 depends on NET_IPV4_IGMP 86 help 87 Use IGMPv3 for managing the multicast groups. 88 89config NET_IPV4_ACD 90 bool "Activate IPv4 address conflict detection (RFC 5227)" 91 depends on NET_ARP 92 help 93 Activate IPv4 address conflict detection specified in RFC 5227. 94 The conflict detection is based on ARP probes/announcements. 95 96config NET_IPV4_AUTO 97 bool "IPv4 autoconfiguration [EXPERIMENTAL]" 98 depends on NET_ARP 99 select EXPERIMENTAL 100 select NET_IPV4_ACD 101 select NET_MGMT 102 select NET_MGMT_EVENT 103 select NET_MGMT_EVENT_INFO 104 help 105 Enables IPv4 auto IP address configuration (see RFC 3927) 106 107config NET_IPV4_HDR_OPTIONS 108 bool "IPv4 Header options support" 109 help 110 Enables IPv4 header options support. Current support for only 111 ICMPv4 Echo request. Only RecordRoute and Timestamp are handled. 112 113config NET_IPV4_FRAGMENT 114 bool "Support IPv4 fragmentation" 115 help 116 IPv4 fragmentation is disabled by default. This limits incoming and 117 outgoing packets to the MTU (1500 bytes for Ethernet). If you enable 118 fragmentation support, please increase amount of RX data buffers so 119 that larger packets can be received. 120 121config NET_IPV4_FRAGMENT_MAX_COUNT 122 int "How many packets to reassemble at a time" 123 range 1 16 124 default 1 125 depends on NET_IPV4_FRAGMENT 126 help 127 How many fragmented IPv4 packets can be waiting reassembly 128 simultaneously. You may need to increase the network buffer 129 count. 130 131config NET_IPV4_FRAGMENT_MAX_PKT 132 int "How many fragments can be handled to reassemble a packet" 133 default 2 134 depends on NET_IPV4_FRAGMENT 135 help 136 Incoming fragments are stored in per-packet queue before being 137 reassembled. This value defines the number of fragments that 138 can be handled at the same time to reassemble a single packet. 139 140 You can increase this value if you expect packets with more 141 than two fragments. 142 143config NET_IPV4_FRAGMENT_TIMEOUT 144 int "How long to wait for fragments to be received" 145 range 1 60 146 default 5 147 depends on NET_IPV4_FRAGMENT 148 help 149 How long to wait for IPv4 fragment to arrive before the reassembly 150 will timeout. This value is in seconds. 151 152module = NET_IPV4 153module-dep = NET_LOG 154module-str = Log level for core IPv4 155module-help = Enables core IPv4 code to output debug messages. 156source "subsys/net/Kconfig.template.log_config.net" 157 158module = NET_ICMPV4 159module-dep = NET_LOG 160module-str = Log level for ICMPv4 161module-help = Enables ICMPv4 code to output debug messages. 162source "subsys/net/Kconfig.template.log_config.net" 163 164#if NET_IPV4_ACD 165module = NET_IPV4_ACD 166module-dep = NET_LOG 167module-str = Log level for IPv4 address conflict detection 168module-help = Enables IPv4 address conflict detection debug messages. 169source "subsys/net/Kconfig.template.log_config.net" 170#endif 171 172if NET_IPV4_AUTO 173module = NET_IPV4_AUTO 174module-dep = NET_LOG 175module-str = Log level for IPv4 autoconf client 176module-help = Enable debug diagnostic from IPv4 autoconf client. 177source "subsys/net/Kconfig.template.log_config.net" 178endif # NET_IPV4_AUTO 179 180endif # NET_IPV4 181