From owner-freebsd-net Thu Mar 7 11:36:22 2002 Delivered-To: freebsd-net@freebsd.org Received: from mule.icir.org (mule.icir.org [192.150.187.28]) by hub.freebsd.org (Postfix) with ESMTP id 3735737B404; Thu, 7 Mar 2002 11:36:19 -0800 (PST) Received: from mule.icir.org (localhost [127.0.0.1]) by mule.icir.org (8.11.6/8.11.3) with ESMTP id g27JaJw38650; Thu, 7 Mar 2002 11:36:19 -0800 (PST) (envelope-from hodson@mule.icir.org) Message-Id: <200203071936.g27JaJw38650@mule.icir.org> X-Mailer: exmh version 2.1.1 10/15/1999 X-Exmh-Isig-CompType: unknown X-Exmh-Isig-Folder: xorp-dev From: Orion Hodson To: freebsd-net@freebsd.org Cc: orion@freebsd.org Subject: Pre-emptive ARP refresh Mime-Version: 1.0 Content-Type: text/plain Date: Thu, 07 Mar 2002 11:36:19 -0800 Sender: owner-freebsd-net@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.org 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