If VLAN count is set to 0, then only priority tagged VLAN frames that have tag value 0 can be received. Also this means that VLAN interfaces are not created which can save memory if you do not need to receive any other VLAN frames than those tagged with value 0. Fixes #84023 Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
205 lines
6.2 KiB
Plaintext
205 lines
6.2 KiB
Plaintext
# 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_IF_MAX_IPV4_COUNT
|
|
int "Max number of IPv4 network interfaces in the system"
|
|
default NET_VLAN_COUNT if NET_VLAN && NET_VLAN_COUNT > 0
|
|
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_IPV4_DEFAULT_NETMASK
|
|
int "The default netmask length for registered IPv4 addresses"
|
|
range 1 32
|
|
default 24
|
|
help
|
|
The default netmask length for the registered IPv4 addresses.
|
|
The application can set a custom netmask with
|
|
net_if_ipv4_set_netmask_by_addr() API if needed.
|
|
|
|
if NET_NATIVE_IPV4
|
|
|
|
config NET_INITIAL_TTL
|
|
int "Initial IPv4 time to live value for unicast packets"
|
|
default 64
|
|
range 0 $(UINT8_MAX)
|
|
help
|
|
The value should normally be > 0. The device receiving the IPv4
|
|
packet will decrement the value and will drop the packet if the TTL
|
|
value is 0. When sending, the packet is dropped before transmitting
|
|
to network if TTL is 0.
|
|
|
|
config NET_INITIAL_MCAST_TTL
|
|
int "Initial IPv4 time to live value for multicast packets"
|
|
default 1
|
|
range 0 $(UINT8_MAX)
|
|
help
|
|
The value should normally be > 0. The device receiving the IPv4
|
|
packet will decrement the value and will drop the packet if the TTL
|
|
value is 0. When sending, the packet is dropped before transmitting
|
|
to network if TTL is 0.
|
|
The default is 1 (same as in Linux) which means that multicast packets
|
|
don't leave the local network unless the application explicitly
|
|
requests it.
|
|
|
|
config NET_IF_MCAST_IPV4_SOURCE_COUNT
|
|
int "Max number of IPv4 sources per mcast address to be included or excluded"
|
|
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 (IGMPv2) 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_IPV4_IGMPV3
|
|
bool "Internet Group Management Protocol version 3 (IGMPv3) support"
|
|
depends on NET_IPV4_IGMP
|
|
help
|
|
Use IGMPv3 for managing the multicast groups.
|
|
|
|
config NET_IPV4_ACD
|
|
bool "Activate IPv4 address conflict detection (RFC 5227)"
|
|
depends on NET_ARP
|
|
help
|
|
Activate IPv4 address conflict detection specified in RFC 5227.
|
|
The conflict detection is based on ARP probes/announcements.
|
|
|
|
config NET_IPV4_AUTO
|
|
bool "IPv4 autoconfiguration [EXPERIMENTAL]"
|
|
depends on NET_ARP
|
|
select EXPERIMENTAL
|
|
select NET_IPV4_ACD
|
|
select NET_MGMT
|
|
select NET_MGMT_EVENT
|
|
select NET_MGMT_EVENT_INFO
|
|
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.
|
|
|
|
config NET_IPV4_PMTU
|
|
bool "IPv4 Path MTU Discovery"
|
|
help
|
|
Enables IPv4 Path MTU Discovery (see RFC 1191)
|
|
|
|
config NET_IPV4_PMTU_DESTINATION_CACHE_ENTRIES
|
|
int "Number of IPv4 PMTU destination cache entries"
|
|
default 3
|
|
depends on NET_IPV4_PMTU
|
|
help
|
|
How many PMTU entries we can track for each destination address.
|
|
|
|
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_IPV4_ACD
|
|
module = NET_IPV4_ACD
|
|
module-dep = NET_LOG
|
|
module-str = Log level for IPv4 address conflict detection
|
|
module-help = Enables IPv4 address conflict detection debug messages.
|
|
source "subsys/net/Kconfig.template.log_config.net"
|
|
#endif
|
|
|
|
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_NATIVE_IPV4
|
|
endif # NET_IPV4
|