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 time to live for a connection" 16 default 64 17 help 18 The value should be > 0 19 20config NET_IF_MAX_IPV4_COUNT 21 int "Max number of IPv4 network interfaces in the system" 22 default NET_VLAN_COUNT if NET_VLAN 23 default 2 if NET_LOOPBACK 24 default 1 25 help 26 This tells how many network interfaces there will be in the system 27 that will have IPv4 enabled. 28 29config NET_IF_UNICAST_IPV4_ADDR_COUNT 30 int "Max number of unicast IPv4 addresses per network interface" 31 default 2 if NET_IPV4_AUTO 32 default 2 if NET_LOOPBACK 33 default 1 34 35config NET_IF_MCAST_IPV4_ADDR_COUNT 36 int "Max number of multicast IPv4 addresses per network interface" 37 default 2 if NET_IPV4_IGMP 38 default 1 39 40config NET_ICMPV4_ACCEPT_BROADCAST 41 bool "Accept broadcast ICMPv4 echo-request" 42 help 43 If set, then respond to ICMPv4 echo-request that is sent to 44 broadcast address. 45 46config NET_IPV4_ACCEPT_ZERO_BROADCAST 47 bool "Accept 0.0.0.0 broadcast destination address" 48 help 49 If set, then accept UDP packets destined to non-standard 50 0.0.0.0 broadcast address as described in RFC 1122 ch. 3.3.6 51 52config NET_IPV4_IGMP 53 bool "Internet Group Management Protocol (IGMP) support" 54 select NET_IPV4_HDR_OPTIONS 55 help 56 The value depends on your network needs. IGMP should normally be 57 enabled if IPv4 multicast support is needed. Currently we support 58 IGMPv2 and earlier versions. This requires IPv4 header support 59 because IP Router Alert option must be sent. 60 See RFC 2236 for details. 61 62config NET_DHCPV4 63 bool "DHCPv4 client" 64 select NET_MGMT 65 select NET_MGMT_EVENT 66 depends on NET_UDP 67 68config NET_DHCPV4_INITIAL_DELAY_MAX 69 int "Maximum time out for initial discover request" 70 depends on NET_DHCPV4 71 default 10 72 range 2 10 73 help 74 As per RFC2131 4.1.1, we wait a random period between 75 1 and 10 seconds before sending the initial discover. 76 77config NET_DHCPV4_OPTION_CALLBACKS 78 bool "Option callbacks" 79 depends on NET_DHCPV4 80 help 81 If set, custom callbacks for arbitrary DHCP options 82 can be added. These can be used to support otherwise 83 DHCP options not used by the rest of the system. 84 85config NET_IPV4_AUTO 86 bool "IPv4 autoconfiguration [EXPERIMENTAL]" 87 depends on NET_ARP 88 select EXPERIMENTAL 89 help 90 Enables IPv4 auto IP address configuration (see RFC 3927) 91 92config NET_IPV4_HDR_OPTIONS 93 bool "IPv4 Header options support" 94 help 95 Enables IPv4 header options support. Current support for only 96 ICMPv4 Echo request. Only RecordRoute and Timestamp are handled. 97 98config NET_IPV4_FRAGMENT 99 bool "Support IPv4 fragmentation" 100 help 101 IPv4 fragmentation is disabled by default. This limits incoming and 102 outgoing packets to the MTU (1500 bytes for Ethernet). If you enable 103 fragmentation support, please increase amount of RX data buffers so 104 that larger packets can be received. 105 106config NET_IPV4_FRAGMENT_MAX_COUNT 107 int "How many packets to reassemble at a time" 108 range 1 16 109 default 1 110 depends on NET_IPV4_FRAGMENT 111 help 112 How many fragmented IPv4 packets can be waiting reassembly 113 simultaneously. You may need to increase the network buffer 114 count. 115 116config NET_IPV4_FRAGMENT_MAX_PKT 117 int "How many fragments can be handled to reassemble a packet" 118 default 2 119 depends on NET_IPV4_FRAGMENT 120 help 121 Incoming fragments are stored in per-packet queue before being 122 reassembled. This value defines the number of fragments that 123 can be handled at the same time to reassemble a single packet. 124 125 You can increase this value if you expect packets with more 126 than two fragments. 127 128config NET_IPV4_FRAGMENT_TIMEOUT 129 int "How long to wait for fragments to be received" 130 range 1 60 131 default 5 132 depends on NET_IPV4_FRAGMENT 133 help 134 How long to wait for IPv4 fragment to arrive before the reassembly 135 will timeout. This value is in seconds. 136 137module = NET_IPV4 138module-dep = NET_LOG 139module-str = Log level for core IPv4 140module-help = Enables core IPv4 code to output debug messages. 141source "subsys/net/Kconfig.template.log_config.net" 142 143module = NET_ICMPV4 144module-dep = NET_LOG 145module-str = Log level for ICMPv4 146module-help = Enables ICMPv4 code to output debug messages. 147source "subsys/net/Kconfig.template.log_config.net" 148 149if NET_DHCPV4 150module = NET_DHCPV4 151module-dep = NET_LOG 152module-str = Log level for DHCPv4 client 153module-help = Enable debug diagnostic from DHCPV4 client. 154source "subsys/net/Kconfig.template.log_config.net" 155endif # NET_DHCPV4 156 157if NET_IPV4_AUTO 158module = NET_IPV4_AUTO 159module-dep = NET_LOG 160module-str = Log level for IPv4 autoconf client 161module-help = Enable debug diagnostic from IPv4 autoconf client. 162source "subsys/net/Kconfig.template.log_config.net" 163endif # NET_IPV4_AUTO 164 165endif # NET_IPV4 166