summaryrefslogtreecommitdiffstats
path: root/share/doc/iso/wiscman/arp.4p
diff options
context:
space:
mode:
Diffstat (limited to 'share/doc/iso/wiscman/arp.4p')
-rw-r--r--share/doc/iso/wiscman/arp.4p118
1 files changed, 118 insertions, 0 deletions
diff --git a/share/doc/iso/wiscman/arp.4p b/share/doc/iso/wiscman/arp.4p
new file mode 100644
index 0000000..f0fe2a0
--- /dev/null
+++ b/share/doc/iso/wiscman/arp.4p
@@ -0,0 +1,118 @@
+.\" Copyright (c) 1983 Regents of the University of California.
+.\" All rights reserved. The Berkeley software License Agreement
+.\" specifies the terms and conditions for redistribution.
+.\"
+.\" @(#)arp.4p 6.2 (Berkeley) 5/15/86
+.\"
+.TH ARP 4P "May 15, 1986"
+.UC 5
+.SH NAME
+arp \- Address Resolution Protocol
+.SH SYNOPSIS
+.B "pseudo-device ether"
+.SH DESCRIPTION
+ARP is a protocol used to dynamically map between DARPA Internet
+and 10Mb/s Ethernet addresses. It is
+used by all the 10Mb/s Ethernet interface drivers.
+It is not specific to Internet protocols or to 10Mb/s Ethernet,
+but this implementation currently supports only that combination.
+.PP
+ARP caches Internet-Ethernet address mappings. When an interface
+requests a mapping for an address not in the cache, ARP queues the
+message which requires the mapping and broadcasts
+a message on the associated network requesting the address mapping.
+If a response is provided, the new mapping is cached and any pending
+message is transmitted.
+ARP will queue
+at most one packet while waiting for a mapping request to be responded to;
+only the most recently ``transmitted'' packet is kept.
+.PP
+To facilitate communications with systems which do not use ARP,
+.IR ioctl \^s
+are provided to enter and delete entries in the Internet-to-Ethernet tables.
+Usage:
+.LP
+.nf
+.ft B
+ #include <sys/ioctl.h>
+ #include <sys/socket.h>
+ #include <net/if.h>
+ struct arpreq arpreq;
+
+ ioctl(s, SIOCSARP, (caddr_t)&arpreq);
+ ioctl(s, SIOCGARP, (caddr_t)&arpreq);
+ ioctl(s, SIOCDARP, (caddr_t)&arpreq);
+.fi
+.ft R
+Each ioctl takes the same structure as an argument.
+SIOCSARP sets an ARP entry, SIOCGARP gets an ARP entry, and SIOCDARP
+deletes an ARP entry. These ioctls may be applied to any socket descriptor
+.I s,
+but only by the super-user.
+The
+.I arpreq
+structure contains:
+.LP
+.RS
+.ta \w'#define\ \ 'u +\w'ATF_USETRAILERS\ \ 'u +\w'0x08\ \ \ \ 'u
+.nf
+/*
+ * ARP ioctl request
+ */
+struct arpreq {
+ struct sockaddr arp_pa; /* protocol address */
+ struct sockaddr arp_ha; /* hardware address */
+ int arp_flags; /* flags */
+};
+/* arp_flags field values */
+#define ATF_COM 0x02 /* completed entry (arp_ha valid) */
+#define ATF_PERM 0x04 /* permanent entry */
+#define ATF_PUBL 0x08 /* publish (respond for other host) */
+#define ATF_USETRAILERS 0x10 /* send trailer packets to host */
+.fi
+.RE
+.LP
+The address family for the
+.I arp_pa
+sockaddr must be AF_INET; for the
+.I arp_ha
+sockaddr it must be AF_UNSPEC.
+The only flag bits which may be written are ATF_PERM, ATF_PUBL
+and ATF_USETRAILERS.
+ATF_PERM causes the entry to be permanent if the ioctl call succeeds.
+The peculiar nature of the ARP tables may cause the ioctl to fail if more
+than 8 (permanent) Internet host addresses hash to the same slot.
+ATF_PUBL specifies that the ARP code should respond to ARP requests for the
+indicated host coming from other machines. This allows a host to act as an
+``ARP server,'' which may be useful in convincing an ARP-only machine to talk
+to a non-ARP machine.
+.PP
+ARP is also used to negotiate the use of trailer IP encapsulations;
+trailers are an alternate encapsulation used to allow efficient packet
+alignment for large packets despite variable-sized headers.
+Hosts which wish to receive trailer encapsulations so indicate
+by sending gratuitous ARP translation replies along with replies
+to IP requests; they are also sent in reply to IP translation replies.
+The negotiation is thus fully symmetrical, in that either or both hosts
+may request trailers.
+The ATF_USETRAILERS flag is used to record the receipt of such a reply,
+and enables the transmission of trailer packets to that host.
+.PP
+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 address).
+.SH DIAGNOSTICS
+.B "duplicate IP address!! sent from ethernet address: %x:%x:%x:%x:%x:%x."
+ARP has discovered another host on the local network which responds to
+mapping requests for its own Internet address.
+.SH SEE ALSO
+ec(4), de(4), il(4), inet(4F), arp(8C), ifconfig(8C)
+.br
+``An Ethernet Address Resolution Protocol,'' RFC826, Dave Plummer,
+Network Information Center, SRI.
+.br
+``Trailer Encapsulations,'' RFC893, S.J. Leffler and M.J. Karels,
+Network Information Center, SRI.
+.SH BUGS
+ARP packets on the Ethernet use only 42 bytes of data; however, the smallest
+legal Ethernet packet is 60 bytes (not including CRC).
+Some systems may not enforce the minimum packet size, others will.
OpenPOWER on IntegriCloud