From owner-freebsd-net@FreeBSD.ORG Thu Nov 4 07:42:31 2010 Return-Path: Delivered-To: net@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 65B8B1065670 for ; Thu, 4 Nov 2010 07:42:31 +0000 (UTC) (envelope-from rpaulo@freebsd.org) Received: from karen.lavabit.com (karen.lavabit.com [72.249.41.33]) by mx1.freebsd.org (Postfix) with ESMTP id 389C58FC12 for ; Thu, 4 Nov 2010 07:42:30 +0000 (UTC) Received: from e.earth.lavabit.com (e.earth.lavabit.com [192.168.111.14]) by karen.lavabit.com (Postfix) with ESMTP id 3E1F711B7F2; Thu, 4 Nov 2010 02:42:30 -0500 (CDT) Received: from 172.10.20.2 (84.8.54.77.rev.vodafone.pt [77.54.8.84]) by lavabit.com with ESMTP id TE446NO4XM0F; Thu, 04 Nov 2010 02:42:30 -0500 References: <8C96F018-EA61-4C38-AC9A-148D1DC06193@freebsd.org> In-Reply-To: <8C96F018-EA61-4C38-AC9A-148D1DC06193@freebsd.org> Mime-Version: 1.0 (Apple Message framework v1081) Content-Type: text/plain; charset=us-ascii Message-Id: Content-Transfer-Encoding: quoted-printable From: Rui Paulo Date: Thu, 4 Nov 2010 07:42:24 +0000 To: George Neville-Neil X-Mailer: Apple Mail (2.1081) Cc: arch@freebsd.org, net@freebsd.org Subject: Re: RFC: Updated ARP Queue patch... X-BeenThere: freebsd-net@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Networking and TCP/IP with FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 04 Nov 2010 07:42:31 -0000 Hi, On 1 Nov 2010, at 19:20, George Neville-Neil wrote: > Howdy, >=20 > This is marked as "Updated" because I first proposed this on arch@ but = am now sending it to > a wider audience as I'm hoping to commit it in the near future. >=20 > Please review the following patch against HEAD: >=20 > http://people.freebsd.org/~gnn/head-arpqueue2.diff >=20 > This patch makes two changes to the ARP code: >=20 > 1) It adds a sysctl configurable queue of packets that are held until = an ARP reply is received or > timed out. >=20 > net.link.ether.inet.maxhold >=20 > Having the queue addresses a problem in modern systems where programs = that use connectionless=20 > protocols for communication will suffer from dropping many packets = when they start up or when > an ARP entry moves. >=20 > 2) Makes the time we wait for an arp reply configurable via another = sysctl. >=20 > net.link.ether.inet.wait >=20 > The old, pre 8.0, ARP code would run the timer once per second. The = new > ARP code sets a timeout of 20 seconds on each entry. Neither value = was specified > in RFC 826. As a matter of fact, RFC 826 had this to say about = timeouts: >=20 > "It may be desirable to have table aging and/or timeouts. The > implementation of these is outside the scope of this protocol." >=20 > This new code does not change the default value of either the arpqueue = (which was > always 1 packet) nor does it change the new value of the ARP down = timeout. >=20 > I have a different patch for 7, which I will propose after I can get = this in to > HEAD and MFC'd to 8. This looks good to me. Regards, -- Rui Paulo