#
# 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
	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_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_SEND
	bool "ARP send"
	default n
	---help---
		Enable logic to send ARP requests if the target IP address mapping
		does not appear in the ARP table.

if NET_ARP_SEND

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.

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.

endif # NET_ARP
endmenu # ARP Configuration