Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 07 Mar 2002 11:36:19 -0800
From:      Orion Hodson <orion@freebsd.org>
To:        freebsd-net@freebsd.org
Cc:        orion@freebsd.org
Subject:   Pre-emptive ARP refresh
Message-ID:  <200203071936.g27JaJw38650@mule.icir.org>

next in thread | raw e-mail | index | archive | help

There is a very minor issue with our ARP implementation and it's
refresh behaviour.  At present, entries in the ARP cache timeout and
are removed from the cache.  The number of packets buffered from a
host with an incomplete entry in the ARP table is limited to 1, so
high packet rate sources therefore experience drops when their ARP
entry times out.

This was reported in kern/25517 and pointed out on the IETF AVT
mailing yesterday:
	http://www.FreeBSD.org/cgi/query-pr.cgi?pr=kern/25517
	http://www.ietf.org/mail-archive/working-groups/avt/current/msg00850.html

A simple fix would be to send ARP requests about a host before it
times out if that host is exchanging packets with us.  An example of
how this might be done (relative to -STABLE) is:

   http://people.freebsd.org/~orion/if_ether.c.1.64.2.17.arp-patch

For an entry in the cache that is sending data it sends an ARP request
every arpt_down seconds for up to a maximum arp_maxtries before the
entry times out.  This is in the spirit of what's described in the
last three paragraphs of RFC826.

Does this seem reasonable?

Kind Regards
- Orion



To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-net" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200203071936.g27JaJw38650>