#
# For a description of the syntax of this configuration file,
# see the file kconfig-language.txt in the NuttX tools repository.
#
menu "ARP Configuration"
config NET_ARP
bool "Address Resolution Protocol"
default y
select MM_IOB
depends on NET_ETHERNET && NET_IPv4
---help---
This setting is currently overridden by logic in include/nuttx/net
if NET_ARP
config NET_ARPTAB_SIZE
int "ARP table size"
default 16
---help---
The size of the ARP table (in entries).
config NET_ARP_MAXAGE
int "Max ARP entry age"
default 120
---help---
The maximum age of ARP table entries measured in deciseconds. The
default value of 120 corresponds to 20 minutes (BSD default).
config NET_ARP_MAXAGE_UNREACHABLE
int "Max unreachable ARP entry age"
default 1
---help---
The maximum age of unreachable ARP table entries measured in
deciseconds. During unreachable period not send a retry ARP
request for the same destination.
config NET_ARP_IPIN
bool "ARP address harvesting"
default n
---help---
Harvest IP/MAC address mappings from the ARP table from incoming
IP packets. If this option is selected, CONFIG_NET_ARTAB_SIZE
should be large enough to hold the hosts on the network.
This option is NOT recommended on busy networks with many remote
hosts. On such networks the ARP table will be full most of the
time and the MAC addresses that you want will get flushed from
the table often.
config NET_ARP_GRATUITOUS
bool "Gratuitous ARP address accept"
default n
---help---
Accept IP/MAC address mappings from the ARP table from incoming
Gratuitous ARP packets. If this option is selected,
CONFIG_NET_ARTAB_SIZE should be large enough to hold the hosts
on the network.
config NET_ARP_SEND
bool "ARP send"
default !NET_ARP_SEND_QUEUE
---help---
Enable logic to send ARP requests if the target IP address mapping
does not appear in the ARP table.
config NET_ARP_SEND_QUEUE
bool "Iob queue in arp entry support"
default n
depends on IOB_NCHAINS > 0
---help---
Enable queue iob to arp entry when arp_out failed to wait for arp
finished, then resend queue iobs.
if NET_ARP_SEND || NET_ARP_SEND_QUEUE
config ARP_SEND_MAXTRIES
int "ARP send retries"
default 5
---help---
Send the ARP request this number of times before giving up and
deciding that the target IP address is non reachable.
config ARP_SEND_DELAYMSEC
int "ARP re-send delay"
default 20
---help---
Wait this number of milliseconds after sending the ARP request
before checking if the IP address mapping is present in the ARP
table. This time should be related to the maximum round trip time
on the network since it is basically the time from when an ARP
request is sent until the response is received.
config NET_ARP_PREALLOC_STATES
int "Preallocated ARP send states"
default 2
---help---
Number of ARP send states (all tasks).
This number of connections will be pre-allocated during system boot.
If dynamic connections allocation is enabled, more connections may
be allocated at a later time, as the system needs them. Else this
will be the maximum number of connections available to the system
at all times.
Set to 0 to disable (and rely only on dynamic allocations).
config NET_ARP_ALLOC_STATES
int "Dynamic ARP send states allocation"
default 1
---help---
Dynamic memory allocations for ARP send states.
When set to 0 all dynamic allocations are disabled.
When set to 1 a new connection will be allocated every time,
and it will be free'd when no longer needed.
Setting this to 2 or more will allocate the connections in
batches (with batch size equal to this config). When a
connection is no longer needed, it will be returned to the
free connections pool, and it will never be deallocated!
config NET_ARP_MAX_STATES
int "Maximum number of ARP/IP connections"
default 0
depends on NET_ARP_ALLOC_STATES > 0
---help---
If dynamic connections allocation is selected (NET_ARP_ALLOC_STATES > 0)
this will limit the number of connections that can be allocated.
This is useful in case the system is under very heavy load (or
under attack), ensuring that the heap will not be exhausted.
endif # NET_ARP_SEND
config NET_ARP_DUMP
bool "Dump ARP packet header"
default n
depends on DEBUG_NET_INFO
---help---
Dump ARP packets to the SYSLOG device.
config NET_ARP_ACD
bool "Support of ARP address Address Conflict Detection"
default n
depends on NET_ARP_SEND
---help---
Enable Support of ARP address Address Conflict Detection
endif # NET_ARP
endmenu # ARP Configuration