blob: a16e025a948295ebb301d048ddad572f062b9ad3 [file] [log] [blame]
# IPv4 Options
# Copyright (c) 2016 Intel Corporation.
# SPDX-License-Identifier: Apache-2.0
menuconfig NET_IPV4
bool "IPv4"
help
Enable IPv4 support. If this is enabled then the device is
able to send and receive IPv4 network packets.
if NET_IPV4
config NET_INITIAL_TTL
int "Initial time to live for a connection"
default 64
help
The value should be > 0
config NET_IF_MAX_IPV4_COUNT
int "Max number of IPv4 network interfaces in the system"
default NET_VLAN_COUNT if NET_VLAN
default 2 if NET_LOOPBACK
default 1
help
This tells how many network interfaces there will be in the system
that will have IPv4 enabled.
config NET_IF_UNICAST_IPV4_ADDR_COUNT
int "Max number of unicast IPv4 addresses per network interface"
default 2 if NET_IPV4_AUTO
default 2 if NET_LOOPBACK
default 1
config NET_IF_MCAST_IPV4_ADDR_COUNT
int "Max number of multicast IPv4 addresses per network interface"
default 2 if NET_IPV4_IGMP
default 1
config NET_ICMPV4_ACCEPT_BROADCAST
bool "Accept broadcast ICMPv4 echo-request"
help
If set, then respond to ICMPv4 echo-request that is sent to
broadcast address.
config NET_IPV4_ACCEPT_ZERO_BROADCAST
bool "Accept 0.0.0.0 broadcast destination address"
help
If set, then accept UDP packets destined to non-standard
0.0.0.0 broadcast address as described in RFC 1122 ch. 3.3.6
config NET_IPV4_IGMP
bool "Internet Group Management Protocol (IGMP) support"
select NET_IPV4_HDR_OPTIONS
help
The value depends on your network needs. IGMP should normally be
enabled if IPv4 multicast support is needed. Currently we support
IGMPv2 and earlier versions. This requires IPv4 header support
because IP Router Alert option must be sent.
See RFC 2236 for details.
config NET_DHCPV4
bool "DHCPv4 client"
select NET_MGMT
select NET_MGMT_EVENT
depends on NET_UDP
config NET_DHCPV4_INITIAL_DELAY_MAX
int "Maximum time out for initial discover request"
depends on NET_DHCPV4
default 10
range 2 10
help
As per RFC2131 4.1.1, we wait a random period between
1 and 10 seconds before sending the initial discover.
config NET_DHCPV4_OPTION_CALLBACKS
bool "Option callbacks"
depends on NET_DHCPV4
help
If set, custom callbacks for arbitrary DHCP options
can be added. These can be used to support otherwise
DHCP options not used by the rest of the system.
config NET_IPV4_AUTO
bool "IPv4 autoconfiguration [EXPERIMENTAL]"
depends on NET_ARP
select EXPERIMENTAL
help
Enables IPv4 auto IP address configuration (see RFC 3927)
config NET_IPV4_HDR_OPTIONS
bool "IPv4 Header options support"
help
Enables IPv4 header options support. Current support for only
ICMPv4 Echo request. Only RecordRoute and Timestamp are handled.
config NET_IPV4_FRAGMENT
bool "Support IPv4 fragmentation"
help
IPv4 fragmentation is disabled by default. This limits incoming and
outgoing packets to the MTU (1500 bytes for Ethernet). If you enable
fragmentation support, please increase amount of RX data buffers so
that larger packets can be received.
config NET_IPV4_FRAGMENT_MAX_COUNT
int "How many packets to reassemble at a time"
range 1 16
default 1
depends on NET_IPV4_FRAGMENT
help
How many fragmented IPv4 packets can be waiting reassembly
simultaneously. You may need to increase the network buffer
count.
config NET_IPV4_FRAGMENT_MAX_PKT
int "How many fragments can be handled to reassemble a packet"
default 2
depends on NET_IPV4_FRAGMENT
help
Incoming fragments are stored in per-packet queue before being
reassembled. This value defines the number of fragments that
can be handled at the same time to reassemble a single packet.
You can increase this value if you expect packets with more
than two fragments.
config NET_IPV4_FRAGMENT_TIMEOUT
int "How long to wait for fragments to be received"
range 1 60
default 5
depends on NET_IPV4_FRAGMENT
help
How long to wait for IPv4 fragment to arrive before the reassembly
will timeout. This value is in seconds.
module = NET_IPV4
module-dep = NET_LOG
module-str = Log level for core IPv4
module-help = Enables core IPv4 code to output debug messages.
source "subsys/net/Kconfig.template.log_config.net"
module = NET_ICMPV4
module-dep = NET_LOG
module-str = Log level for ICMPv4
module-help = Enables ICMPv4 code to output debug messages.
source "subsys/net/Kconfig.template.log_config.net"
if NET_DHCPV4
module = NET_DHCPV4
module-dep = NET_LOG
module-str = Log level for DHCPv4 client
module-help = Enable debug diagnostic from DHCPV4 client.
source "subsys/net/Kconfig.template.log_config.net"
endif # NET_DHCPV4
if NET_IPV4_AUTO
module = NET_IPV4_AUTO
module-dep = NET_LOG
module-str = Log level for IPv4 autoconf client
module-help = Enable debug diagnostic from IPv4 autoconf client.
source "subsys/net/Kconfig.template.log_config.net"
endif # NET_IPV4_AUTO
endif # NET_IPV4