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>