xref: /freebsd/usr.sbin/arp/arp.4 (revision 6311b38feebcbf3464740e188c9d50b161d9de6b)
184e59eb5SGarrett Wollman.\" Copyright (c) 1985, 1986, 1988, 1994
284e59eb5SGarrett Wollman.\"	The Regents of the University of California.  All rights reserved.
384e59eb5SGarrett Wollman.\"
484e59eb5SGarrett Wollman.\" Redistribution and use in source and binary forms, with or without
584e59eb5SGarrett Wollman.\" modification, are permitted provided that the following conditions
684e59eb5SGarrett Wollman.\" are met:
784e59eb5SGarrett Wollman.\" 1. Redistributions of source code must retain the above copyright
884e59eb5SGarrett Wollman.\"    notice, this list of conditions and the following disclaimer.
984e59eb5SGarrett Wollman.\" 2. Redistributions in binary form must reproduce the above copyright
1084e59eb5SGarrett Wollman.\"    notice, this list of conditions and the following disclaimer in the
1184e59eb5SGarrett Wollman.\"    documentation and/or other materials provided with the distribution.
1284e59eb5SGarrett Wollman.\" 3. All advertising materials mentioning features or use of this software
1384e59eb5SGarrett Wollman.\"    must display the following acknowledgement:
1484e59eb5SGarrett Wollman.\"	This product includes software developed by the University of
1584e59eb5SGarrett Wollman.\"	California, Berkeley and its contributors.
1684e59eb5SGarrett Wollman.\" 4. Neither the name of the University nor the names of its contributors
1784e59eb5SGarrett Wollman.\"    may be used to endorse or promote products derived from this software
1884e59eb5SGarrett Wollman.\"    without specific prior written permission.
1984e59eb5SGarrett Wollman.\"
2084e59eb5SGarrett Wollman.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
2184e59eb5SGarrett Wollman.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
2284e59eb5SGarrett Wollman.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
2384e59eb5SGarrett Wollman.\" ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
2484e59eb5SGarrett Wollman.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
2584e59eb5SGarrett Wollman.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
2684e59eb5SGarrett Wollman.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
2784e59eb5SGarrett Wollman.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
2884e59eb5SGarrett Wollman.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
2984e59eb5SGarrett Wollman.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
3084e59eb5SGarrett Wollman.\" SUCH DAMAGE.
3184e59eb5SGarrett Wollman.\"
3284e59eb5SGarrett Wollman.\"	@(#)arp4.4	6.5 (Berkeley) 4/18/94
3397d92980SPeter Wemm.\" $FreeBSD$
3484e59eb5SGarrett Wollman.\"
356311b38fSBruce M Simpson.Dd June 16, 2004
3684e59eb5SGarrett Wollman.Dt ARP 4
37a4c37c81SRuslan Ermilov.Os
3884e59eb5SGarrett Wollman.Sh NAME
3984e59eb5SGarrett Wollman.Nm arp
4084e59eb5SGarrett Wollman.Nd Address Resolution Protocol
4184e59eb5SGarrett Wollman.Sh SYNOPSIS
422dab76f7SRuslan Ermilov.Cd "device ether"
4384e59eb5SGarrett Wollman.Sh DESCRIPTION
448a4e4849SJeroen Ruigrok van der WervenThe Address Resolution Protocol (ARP) is used to dynamically
458a4e4849SJeroen Ruigrok van der Wervenmap between Protocol Addresses (such as IP addresses) and
468a4e4849SJeroen Ruigrok van der WervenLocal Network Addresses (such as Ethernet addresses).
478a4e4849SJeroen Ruigrok van der WervenThis implementation maps IP addresses to Ethernet,
488a4e4849SJeroen Ruigrok van der WervenARCnet,
498a4e4849SJeroen Ruigrok van der Wervenor Token Ring addresses.
508a4e4849SJeroen Ruigrok van der WervenIt is used by all the Ethernet interface drivers.
5184e59eb5SGarrett Wollman.Pp
5284e59eb5SGarrett WollmanARP caches Internet-Ethernet address mappings.
5384e59eb5SGarrett WollmanWhen an interface requests a mapping for an address not in the cache,
5484e59eb5SGarrett WollmanARP queues the message which requires the mapping and broadcasts
5584e59eb5SGarrett Wollmana message on the associated network requesting the address mapping.
5684e59eb5SGarrett WollmanIf a response is provided, the new mapping is cached and any pending
5784e59eb5SGarrett Wollmanmessage is transmitted.
5884e59eb5SGarrett WollmanARP will queue at most one packet while waiting for a response to a
5984e59eb5SGarrett Wollmanmapping request;
6084e59eb5SGarrett Wollmanonly the most recently ``transmitted'' packet is kept.
6184e59eb5SGarrett WollmanIf the target host does not respond after several requests,
6284e59eb5SGarrett Wollmanthe host is considered to be down for a short period (normally 20 seconds),
6384e59eb5SGarrett Wollmanallowing an error to be returned to transmission attempts during this
6484e59eb5SGarrett Wollmaninterval.
6584e59eb5SGarrett WollmanThe error is
66b92a189eSRuslan Ermilov.Er EHOSTDOWN
6784e59eb5SGarrett Wollmanfor a non-responding destination host, and
68b92a189eSRuslan Ermilov.Er EHOSTUNREACH
6984e59eb5SGarrett Wollmanfor a non-responding router.
7084e59eb5SGarrett Wollman.Pp
7184e59eb5SGarrett WollmanThe ARP cache is stored in the system routing table as
7284e59eb5SGarrett Wollmandynamically-created host routes.
7384e59eb5SGarrett WollmanThe route to a directly-attached Ethernet network is installed as a
7484e59eb5SGarrett Wollman.Dq cloning
7584e59eb5SGarrett Wollmanroute (one with the
7684e59eb5SGarrett Wollman.Li RTF_CLONING
7784e59eb5SGarrett Wollmanflag set),
7884e59eb5SGarrett Wollmancausing routes to individual hosts on that network to be created on
7984e59eb5SGarrett Wollmandemand.
8084e59eb5SGarrett WollmanThese routes time out periodically (normally 20 minutes after validated;
8184e59eb5SGarrett Wollmanentries are not validated when not in use).
8284e59eb5SGarrett WollmanAn entry for a host which is not responding is a
8384e59eb5SGarrett Wollman.Dq reject
8484e59eb5SGarrett Wollmanroute (one with the
8584e59eb5SGarrett Wollman.Li RTF_REJECT
8684e59eb5SGarrett Wollmanflag set).
8784e59eb5SGarrett Wollman.Pp
8884e59eb5SGarrett WollmanARP entries may be added, deleted or changed with the
8984e59eb5SGarrett Wollman.Xr arp 8
9084e59eb5SGarrett Wollmanutility.
9184e59eb5SGarrett WollmanManually-added entries may be temporary or permanent,
9284e59eb5SGarrett Wollmanand may be
9384e59eb5SGarrett Wollman.Dq published ,
9484e59eb5SGarrett Wollmanin which case the system will respond to ARP requests for that host
9584e59eb5SGarrett Wollmanas if it were the target of the request.
9684e59eb5SGarrett Wollman.Pp
9784e59eb5SGarrett WollmanIn the past,
9884e59eb5SGarrett WollmanARP was used to negotiate the use of a trailer encapsulation.
9984e59eb5SGarrett WollmanThis is no longer supported.
10084e59eb5SGarrett Wollman.Pp
10184e59eb5SGarrett WollmanARP watches passively for hosts impersonating the local host (i.e. a host
10284e59eb5SGarrett Wollmanwhich responds to an ARP mapping request for the local host's address).
103cc090be0SBruce M Simpson.Pp
104cc090be0SBruce M SimpsonProxy ARP is a feature whereby the local host will respond to requests
105cc090be0SBruce M Simpsonfor addresses other than itself, with its own address.
106cc090be0SBruce M SimpsonNormally, proxy ARP in
107cc090be0SBruce M Simpson.Fx
108cc090be0SBruce M Simpsonis set up on a host-by-host basis using the
1096311b38fSBruce M Simpson.Xr arp 8
110cc090be0SBruce M Simpsonutility, by adding an entry for each host inside a given subnet for
111cc090be0SBruce M Simpsonwhich proxying of ARP requests is desired.
112cc090be0SBruce M SimpsonHowever, the
113cc090be0SBruce M Simpson.Dq "proxy all"
114cc090be0SBruce M Simpsonfeature causes the local host to act as a proxy for
115cc090be0SBruce M Simpson.Em all
116cc090be0SBruce M Simpsonhosts.
117cc090be0SBruce M SimpsonIt may be enabled by setting the
118cc090be0SBruce M Simpson.Xr sysctl 8
119cc090be0SBruce M SimpsonMIB variable
120cc090be0SBruce M Simpson.Va net.link.ether.inet.proxyall
121cc090be0SBruce M Simpsonto 1.
12284e59eb5SGarrett Wollman.Sh DIAGNOSTICS
12331a32280SBill Fenner.Em "arp: %x:%x:%x:%x:%x:%x is using my IP address %d.%d.%d.%d!" :
12484e59eb5SGarrett WollmanARP has discovered another host on the local network which responds to
12584e59eb5SGarrett Wollmanmapping requests for its own Internet address with a different Ethernet
12684e59eb5SGarrett Wollmanaddress, generally indicating that two hosts are attempting to use the
12784e59eb5SGarrett Wollmansame Internet address.
12831a32280SBill Fenner.Pp
12931a32280SBill Fenner.Em "arp: ether address is broadcast for IP address %d.%d.%d.%d!" :
13031a32280SBill FennerARP requested information for a host, and received an answer indicating
13131a32280SBill Fennerthat the host's ethernet address is the ethernet broadcast address.
13231a32280SBill FennerThis indicates a misconfigured or broken device.
13331a32280SBill Fenner.Pp
13431a32280SBill Fenner.Em "arp: %d.%d.%d.%d moved from %x:%x:%x:%x:%x:%x to %x:%x:%x:%x:%x:%x" :
13531a32280SBill FennerARP had a cached value for the ethernet address of the referenced host,
1360cc7c160SBruce M Simpsonbut received a reply indicating that the host is at a new address.
1370cc7c160SBruce M SimpsonThis can happen normally when host hardware addresses change,
1380cc7c160SBruce M Simpsonor when a mobile node arrives or leaves the local subnet.
1390cc7c160SBruce M SimpsonIt can also indicate a problem with proxy ARP.
1401e709b6fSBruce M SimpsonThis message can only be issued if the sysctl
14143039b7dSBruce M Simpson.Va net.link.ether.inet.log_arp_movements
1421e709b6fSBruce M Simpsonis set to 1, which is the system's default behaviour.
14331a32280SBill Fenner.Pp
14431a32280SBill Fenner.Em "arpresolve: can't allocate llinfo for %d.%d.%d.%d" :
14531a32280SBill FennerThe route for the referenced host points to a device upon which ARP is
14631a32280SBill Fennerrequired, but ARP was unable to allocate a routing table entry in which
1470cc7c160SBruce M Simpsonto store the host's MAC address.
1480cc7c160SBruce M SimpsonThis usually points to a misconfigured routing table.
1490cc7c160SBruce M SimpsonIt can also occur if the kernel cannot allocate memory.
1504cd8d8d5SBruce M Simpson.Pp
1514cd8d8d5SBruce M Simpson.Em "arp: %d.%d.%d.%d is on if0 but got reply from %x:%x:%x:%x:%x:%x on if1" :
1524cd8d8d5SBruce M SimpsonPhysical connections exist to the same logical IP network on both if0 and if1.
1534cd8d8d5SBruce M SimpsonIt can also occur if an entry already exists in the ARP cache for the IP
1544cd8d8d5SBruce M Simpsonaddress above, and the cable has been disconnected from if0, then reconnected
1554cd8d8d5SBruce M Simpsonto if1.
1564cd8d8d5SBruce M SimpsonThis message can only be issued if the sysctl
15743039b7dSBruce M Simpson.Va net.link.ether.inet.log_arp_wrong_iface
1584cd8d8d5SBruce M Simpsonis set to 1, which is the system's default behaviour.
15984e59eb5SGarrett Wollman.Sh SEE ALSO
16084e59eb5SGarrett Wollman.Xr inet 4 ,
16184e59eb5SGarrett Wollman.Xr route 4 ,
16284e59eb5SGarrett Wollman.Xr arp 8 ,
16384e59eb5SGarrett Wollman.Xr ifconfig 8 ,
1641e709b6fSBruce M Simpson.Xr route 8 ,
1651e709b6fSBruce M Simpson.Xr sysctl 8
16684e59eb5SGarrett Wollman.Rs
16784e59eb5SGarrett Wollman.%A Plummer, D.
16884e59eb5SGarrett Wollman.%B "An Ethernet Address Resolution Protocol"
16984e59eb5SGarrett Wollman.%T RFC826
17084e59eb5SGarrett Wollman.Re
17184e59eb5SGarrett Wollman.Rs
17284e59eb5SGarrett Wollman.%A Leffler, S.J.
17384e59eb5SGarrett Wollman.%A Karels, M.J.
17484e59eb5SGarrett Wollman.%B "Trailer Encapsulations
17584e59eb5SGarrett Wollman.%T RFC893
17684e59eb5SGarrett Wollman.Re
177