+.\" Copyright (c) 2012 Apple Inc. All rights reserved.
+.\"
+.\" @APPLE_OSREFERENCE_LICENSE_HEADER_START@
+.\"
+.\" This file contains Original Code and/or Modifications of Original Code
+.\" as defined in and that are subject to the Apple Public Source License
+.\" Version 2.0 (the 'License'). You may not use this file except in
+.\" compliance with the License. The rights granted to you under the License
+.\" may not be used to create, or enable the creation or redistribution of,
+.\" unlawful or unlicensed copies of an Apple operating system, or to
+.\" circumvent, violate, or enable the circumvention or violation of, any
+.\" terms of an Apple operating system software license agreement.
+.\"
+.\" Please obtain a copy of the License at
+.\" http://www.opensource.apple.com/apsl/ and read it before using this file.
+.\"
+.\" The Original Code and all software distributed under the License are
+.\" distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+.\" EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+.\" INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+.\" FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+.\" Please see the License for the specific language governing rights and
+.\" limitations under the License.
+.\"
+.\" @APPLE_OSREFERENCE_LICENSE_HEADER_END@
+.\"
.\" Copyright (c) 1985, 1991, 1993
.\" The Regents of the University of California. All rights reserved.
.\"
.\" 2. Redistributions in binary form must reproduce the above copyright
.\" notice, this list of conditions and the following disclaimer in the
.\" documentation and/or other materials provided with the distribution.
-.\" 3. All advertising materials mentioning features or use of this software
-.\" must display the following acknowledgement:
-.\" This product includes software developed by the University of
-.\" California, Berkeley and its contributors.
.\" 4. Neither the name of the University nor the names of its contributors
.\" may be used to endorse or promote products derived from this software
.\" without specific prior written permission.
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
.\" SUCH DAMAGE.
.\"
-.\" @(#)arp.8 8.2 (Berkeley) 4/27/95
+.\" @(#)arp.8 8.1 (Berkeley) 6/6/93
+.\" $FreeBSD: src/usr.sbin/arp/arp.8,v 1.25.2.1 2008/04/25 16:38:14 sam Exp $
.\"
-.Dd April 27, 1995
+.Dd March 18, 2008
.Dt ARP 8
-.Os BSD 4.3
+.Os
.Sh NAME
.Nm arp
.Nd address resolution display and control
.Sh SYNOPSIS
-.Nm arp
+.Nm
+.Op Fl n
+.Op Fl i Ar interface
.Ar hostname
-.Nm arp
+.Nm
+.Op Fl n
+.Op Fl i Ar interface
+.Op Fl l
.Fl a
-.Nm arp
+.Nm
.Fl d Ar hostname
-.Nm arp
+.Op Cm pub
+.Op Cm ifscope interface
+.Nm
+.Fl d
+.Op Fl i Ar interface
+.Fl a
+.Nm
.Fl s Ar hostname ether_addr
-.Op Ar temp
-.Op Ar pub
-.Nm arp
+.Op Cm temp
+.Op Cm reject
+.Op Cm blackhole
+.Op Cm pub Op Cm only
+.Op Cm ifscope interface
+.Nm
+.Fl S Ar hostname ether_addr
+.Op Cm temp
+.Op Cm reject
+.Op Cm blackhole
+.Op Cm pub Op Cm only
+.Op Cm ifscope interface
+.Nm
.Fl f Ar filename
.Sh DESCRIPTION
The
-.Nm arp
-program displays and modifies the Internet-to-Ethernet address translation
+.Nm
+utility displays and modifies the Internet-to-Ethernet address translation
tables used by the address resolution protocol
.Pq Xr arp 4 .
With no flags, the program displays the current
using Internet dot notation.
.Pp
Available options:
-.Bl -tag -width Ds
+.Bl -tag -width indent
.It Fl a
-The program displays all of the current
+The program displays or deletes all of the current
.Tn ARP
entries.
.It Fl d
with the
.Fl d
flag.
+If the
+.Cm pub
+keyword is specified, only the
+.Dq published
+.Tn ARP
+entry
+for this host will be deleted.
+If the
+.Cm ifscope
+keyword is specified, the entry specific to the interface will be deleted.
+.Pp
+Alternatively, the
+.Fl d
+flag may be combined with the
+.Fl a
+flag to delete all entries.
+.It Fl i Ar interface
+Limit the operation scope to the
+.Tn ARP
+entries on
+.Ar interface .
+Applicable only to the following operations:
+display one, display all, delete all.
+.It Fl l
+Show link-layer reachability information.
+.It Fl n
+Show network addresses as numbers (normally
+.Nm
+attempts to display addresses symbolically).
.It Fl s Ar hostname ether_addr
Create an
.Tn ARP
entry for the host called
.Ar hostname
-with the Ethernet address
+with the Ethernet address
.Ar ether_addr .
The Ethernet address is given as six hex bytes separated by colons.
The entry will be permanent unless the word
-.Ar temp
-is given in the command.
+.Cm temp
+is given in the command.
If the word
-.Ar pub
-is given, the entry will be "published"; i.e., this system will
+.Cm pub
+is given, the entry will be
+.Dq published ;
+i.e., this system will
act as an
.Tn ARP
server,
-responding to requests for
+responding to requests for
.Ar hostname
even though the host address is not its own.
-.It Fl f
-Causes the file
+In this case the
+.Ar ether_addr
+can be given as
+.Cm auto
+in which case the interfaces on this host will be examined,
+and if one of them is found to occupy the same subnet, its
+Ethernet address will be used.
+If the
+.Cm only
+keyword is also specified, this will create a
+.Dq "published (proxy only)"
+entry.
+This type of entry is created automatically if
+.Nm
+detects that a routing table entry for
+.Ar hostname
+already exists.
+.Pp
+If the
+.Cm reject
+keyword is specified the entry will be marked so that traffic to
+the host will be discarded and the sender will be notified the
+host is unreachable.
+The
+.Cm blackhole
+keyword is similar in that traffic is discarded but the sender is
+not notified.
+These can be used to block external traffic to a host without
+using a firewall.
+.Pp
+If the
+.Cm ifscope
+keyword is specified, the entry will set with an additional property that
+strictly associate the entry to the interface. This allows
+for the presence of mutiple entries with the same destination
+on different interfaces.
+.It Fl S Ar hostname ether_addr
+Is just like
+.Fl s
+except any existing
+.Tn ARP
+entry for this host will be deleted first.
+.It Fl f Ar filename
+Cause the file
.Ar filename
to be read and multiple entries to be set in the
.Tn ARP
-tables. Entries
+tables.
+Entries
in the file should be of the form
.Pp
-.Bd -filled -offset indent -compact
+.Bd -ragged -offset indent -compact
.Ar hostname ether_addr
-.Op Ar temp
-.Op Ar pub
+.Op Cm temp
+.Op Cm pub Op Cm only
+.Op Cm ifscope interface
.Ed
.Pp
with argument meanings as given above.
+Leading whitespace and empty lines are ignored.
+A
+.Ql #
+character will mark the rest of the line as a comment.
+.It Fl x
+Show extended link-layer reachability information in addition to that shown by
+the
+.Fl l
+flag.
.El
.Sh SEE ALSO
.Xr inet 3 ,
.Xr arp 4 ,
-.Xr ifconfig 8
+.Xr ifconfig 8 ,
+.Xr ndp 8
.Sh HISTORY
The
.Nm
-command appeared in
+utility appeared in
.Bx 4.3 .