From d4826e3f0ad642b6f918f3b33263584442ef3679 Mon Sep 17 00:00:00 2001 From: glebius Date: Fri, 25 Nov 2005 14:40:38 +0000 Subject: [PATCH] MFC 1.18 - 1.21: - Document last change to ARP behavior. - Document several undocumented sysctl variables. - Fix spelling of few diagnostics. - Improve the documentation of "proxyall" knob, somewhat: we do not proxy for hosts that are reachable through the same interface the request came in from. This feature is mainly for hosts reachable through some P2P link, e.g. the gif(4) tunnel. --- usr.sbin/arp/arp.4 | 41 +++++++++++++++++++++++++++++------------ 1 file changed, 29 insertions(+), 12 deletions(-) diff --git a/usr.sbin/arp/arp.4 b/usr.sbin/arp/arp.4 index ec513a86384b..ddc0471fea69 100644 --- a/usr.sbin/arp/arp.4 +++ b/usr.sbin/arp/arp.4 @@ -28,7 +28,7 @@ .\" @(#)arp4.4 6.5 (Berkeley) 4/18/94 .\" $FreeBSD$ .\" -.Dd June 16, 2004 +.Dd November 24, 2005 .Dt ARP 4 .Os .Sh NAME @@ -55,9 +55,10 @@ ARP will queue at most one packet while waiting for a response to a mapping request; only the most recently ``transmitted'' packet is kept. If the target host does not respond after several requests, -the host is considered to be down for a short period (normally 20 seconds), -allowing an error to be returned to transmission attempts during this -interval. +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 .Er EHOSTDOWN for a non-responding destination host, and @@ -75,11 +76,6 @@ causing routes to individual hosts on that network to be created on demand. These routes time out periodically (normally 20 minutes after validated; entries are not validated when not in use). -An entry for a host which is not responding is a -.Dq reject -route (one with the -.Li RTF_REJECT -flag set). .Pp ARP entries may be added, deleted or changed with the .Xr arp 8 @@ -109,12 +105,33 @@ However, the .Dq "proxy all" feature causes the local host to act as a proxy for .Em all -hosts. +hosts reachable through some other network interface, +different from the one the request came in from. It may be enabled by setting the .Xr sysctl 8 MIB variable .Va net.link.ether.inet.proxyall to 1. +.Sh MIB Variables +The ARP protocol implements a number of configrable variables in +.Va net.link.ether.inet +branch +of the +.Xr sysctl 3 +MIB. +.Bl -tag +.It Va prune_intvl +How frequently the ARP cache is cleaned from expired entries. +.It Va max_age +How long an ARP entry is held in the cache until it needs to be refreshed. +.It Va maxtries +Number of retransmits before host is considered down and error is returned. +.It Va useloopback +If an ARP entry is added for local address, force the traffic to go through +the loopback interface. +.It Va proxyall +Enables ARP proxying for all hosts on net. +.El .Sh DIAGNOSTICS .Em "arp: %x:%x:%x:%x:%x:%x is using my IP address %d.%d.%d.%d!" : ARP has discovered another host on the local network which responds to @@ -122,12 +139,12 @@ mapping requests for its own Internet address with a different Ethernet address, generally indicating that two hosts are attempting to use the same Internet address. .Pp -.Em "arp: ether address is broadcast for IP address %d.%d.%d.%d!" : +.Em "arp: link address is broadcast for IP address %d.%d.%d.%d!" : ARP requested 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. .Pp -.Em "arp: %d.%d.%d.%d moved from %x:%x:%x:%x:%x:%x to %x:%x:%x:%x:%x:%x" : +.Em "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 address. This can happen normally when host hardware addresses change,