Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
ARP(4)			    Kernel Interfaces Manual			ARP(4)

NAME
       arp -- Address Resolution Protocol

SYNOPSIS
       device ether

DESCRIPTION
       The  Address  Resolution	 Protocol (ARP)	is used	to dynamically map be-
       tween Protocol Addresses	(such as IP addresses) and Local  Network  Ad-
       dresses	(such as Ethernet addresses).  This implementation maps	IP ad-
       dresses to Ethernet addresses.  It is used by all the  Ethernet	inter-
       face drivers.

       ARP  caches  Internet-Ethernet address mappings.	 When an interface re-
       quests a	mapping	for an address not in the cache, ARP queues  the  mes-
       sage which requires the mapping and broadcasts a	message	on the associ-
       ated  network  requesting  the  address mapping.	 If a response is pro-
       vided, the new mapping is cached	and any	pending	message	 is  transmit-
       ted.   ARP will queue at	most net.link.ether.inet.maxhold packets while
       waiting for a response to a mapping request;  only  the	most  recently
       ``transmitted''	packets	are kept.  If the target host does not respond
       after several requests, the host	is considered to be down  allowing  an
       error to	be returned to transmission attempts.  Further demand for this
       mapping causes ARP request retransmissions, that	are ratelimited	to one
       packet  per second.  The	error is EHOSTDOWN for a non-responding	desti-
       nation host, and	EHOSTUNREACH for a non-responding router.

       The ARP cache is	stored in per-interface	link-level table.

       ARP entries may be added, deleted or changed with the  arp(8)  utility.
       Manually-added  entries	may  be	 temporary  or	permanent,  and	may be
       "published", in which case the system will respond to ARP requests  for
       that host as if it were the target of the request.

       In  the past, ARP was used to negotiate the use of a trailer encapsula-
       tion.  This is no longer	supported.

       ARP watches passively for hosts impersonating the local host  (i.e.,  a
       host  which responds to an ARP mapping request for the local host's ad-
       dress).

       Proxy ARP is a feature whereby the local	host will respond to  requests
       for addresses other than	itself,	with its own address.  Normally, proxy
       ARP in FreeBSD is set up	on a host-by-host basis	using the arp(8) util-
       ity,  by	 adding	an entry for each host inside a	given subnet for which
       proxying	of ARP requests	is desired.  However, the "proxy all"  feature
       causes the local	host to	act as a proxy for all hosts reachable through
       some  other  network interface, different from the one the request came
       in from.	 It may	be enabled  by	setting	 the  sysctl(8)	 MIB  variable
       net.link.ether.inet.proxyall to 1.

MIB Variables
       The  ARP	 protocol  implements  a  number  of configurable variables in
       net.link.ether.inet branch of the sysctl(3) MIB.

       allow_multicast		 Install ARP entries with  the	multicast  bit
				 set in	the hardware address.  Installing such
				 entries  is  an  RFC 1812 violation, but some
				 proprietary load balancing techniques require
				 routers to do so.  Turned off by default.

       garp_rexmit_count	 Retransmit gratuitous ARP (GARP) packets when
				 an IPv4 address is added to an	interface.   A
				 GARP  is  always transmitted when an IPv4 ad-
				 dress is added	to an interface.   A  non-zero
				 value	causes	the GARP packet	to be retrans-
				 mitted	the stated number of times.   The  in-
				 terval	 between  retransmissions  is  doubled
				 each time, so	the  retransmission  intervals
				 are:  {1,  2,	4, 8, 16, ...} (seconds).  The
				 default value of zero means only the  initial
				 GARP  is sent;	no additional GARP packets are
				 retransmitted.	 The maximum value is sixteen.

				 The default behavior of a single GARP	packet
				 is  usually  sufficient.   However,  a	single
				 GARP might be dropped or lost in some circum-
				 stances.  This	is particularly	harmful	when a
				 shared	 address  is  passed  between  cluster
				 nodes.	  Neighbors  on	the network link might
				 then work with	a stale	 ARP  cache  and  send
				 packets destined for that address to the node
				 that  previously  owned  the  address,	 which
				 might not respond.

       log_arp_movements	 Log movements of IP addresses from one	 hard-
				 ware  address	to another.  See "DIAGNOSTICS"
				 below.	 Turned	on by default.

       log_arp_permanent_modify	 Log attempts by a remote  host	 to  modify  a
				 permanent  ARP	 entry.	 See "DIAGNOSTICS" be-
				 low.  Turned on by default.

       log_arp_wrong_iface	 Log attempts to insert	an ARP entry on	an in-
				 terface when the IP network to	which the  ad-
				 dress	belongs	is connected to	another	inter-
				 face.	See "DIAGNOSTICS" below.  Turned on by
				 default.

       max_log_per_second	 Limit the number of remotely  triggered  log-
				 ging events to	a configured value per second.
				 Default is 1 log message per second.

       max_age			 How  long  an	ARP entry is held in the cache
				 until it needs	to be refreshed.   Default  is
				 1200 seconds.

       maxhold			 How  many  packets  to	 hold in the per-entry
				 output	queue while the	 entry	is  being  re-
				 solved.  Default is 16	packets.

       maxtries			 Number	 of  retransmits before	a host is con-
				 sidered down and an error is  returned.   De-
				 fault is 5 tries.

       proxyall			 Enables ARP proxying.	Turned off by default.

       wait			 Lifetime of an	incomplete ARP entry.  Default
				 is 20 seconds.

DIAGNOSTICS
       arp:  %x:%x:%x:%x:%x:%x	is using my IP address %d.%d.%d.%d on %s!  ARP
       has discovered another host on the local	network	which responds to map-
       ping requests for its own Internet address with	a  different  Ethernet
       address,	 generally indicating that two hosts are attempting to use the
       same Internet address.

       arp: link address is broadcast for IP address  %d.%d.%d.%d!    ARP  re-
       quested	information for	a host,	and received an	answer indicating that
       the host's ethernet address is the ethernet  broadcast  address.	  This
       indicates a misconfigured or broken device.

       arp:  %d.%d.%d.%d  moved	from %x:%x:%x:%x:%x:%x to %x:%x:%x:%x:%x:%x on
       %s  ARP had a cached value for the ethernet address of  the  referenced
       host,  but  received  a	reply indicating that the host is at a new ad-
       dress.  This can	happen normally	when host hardware  addresses  change,
       or  when	a mobile node arrives or leaves	the local subnet.  It can also
       indicate	a problem with proxy ARP.  This	message	can only be issued  if
       the  sysctl net.link.ether.inet.log_arp_movements is set	to 1, which is
       the system's default behaviour.

       arpresolve: can't allocate llinfo for %d.%d.%d.%d  The  route  for  the
       referenced  host	points to a device upon	which ARP is required, but ARP
       was unable to allocate a	routing	table entry  in	 which	to  store  the
       host's MAC address.  This usually points	to a misconfigured routing ta-
       ble.  It	can also occur if the kernel cannot allocate memory.

       arp: %d.%d.%d.%d	is on if0 but got reply	from %x:%x:%x:%x:%x:%x on if1
       Physical	 connections  exist to the same	logical	IP network on both if0
       and if1.	 It can	also occur if an entry already exists in the ARP cache
       for the IP address above, and the cable has been	disconnected from if0,
       then reconnected	to if1.	 This message can only be issued if the	sysctl
       net.link.ether.inet.log_arp_wrong_iface is set to 1, which is the  sys-
       tem's default behaviour.

       arp:   %x:%x:%x:%x:%x:%x	  attempts   to	 modify	 permanent  entry  for
       %d.%d.%d.%d on %s  ARP has received an ARP reply	that attempts to over-
       write a permanent entry in the local ARP	table.	This error  will  only
       be logged if the	sysctl net.link.ether.inet.log_arp_permanent_modify is
       set to 1, which is the system's default behaviour.

       arp: %x:%x:%x:%x:%x:%x is multicast  Kernel refused to install an entry
       with multicast hardware address.	 If you	really want such addresses be-
       ing  installed, set the sysctl net.link.ether.inet.allow_multicast to a
       positive	value.

SEE ALSO
       inet(4),	route(4), arp(8), ifconfig(8), route(8), sysctl(8)

       Plummer,	D., "RFC826", An Ethernet Address Resolution Protocol.

       Leffler,	S.J.  and Karels, M.J.,	"RFC893", Trailer Encapsulations.

FreeBSD	14.3			October	7, 2016				ARP(4)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=arp&sektion=4&manpath=FreeBSD+14.3-RELEASE+and+Ports>

home | help