From owner-cvs-src-old@FreeBSD.ORG Wed Jan 12 20:46:15 2011 Return-Path: Delivered-To: cvs-src-old@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id B36831065673 for ; Wed, 12 Jan 2011 20:46:15 +0000 (UTC) (envelope-from gnn@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 859328FC13 for ; Wed, 12 Jan 2011 20:46:15 +0000 (UTC) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.4/8.14.4) with ESMTP id p0CKkFfS027479 for ; Wed, 12 Jan 2011 20:46:15 GMT (envelope-from gnn@repoman.freebsd.org) Received: (from svn2cvs@localhost) by repoman.freebsd.org (8.14.4/8.14.4/Submit) id p0CKkFtX027478 for cvs-src-old@freebsd.org; Wed, 12 Jan 2011 20:46:15 GMT (envelope-from gnn@repoman.freebsd.org) Message-Id: <201101122046.p0CKkFtX027478@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: svn2cvs set sender to gnn@repoman.freebsd.org using -f From: "George V. Neville-Neil" Date: Wed, 12 Jan 2011 20:44:11 +0000 (UTC) To: cvs-src-old@freebsd.org X-FreeBSD-CVS-Branch: RELENG_8 Subject: cvs commit: src/sys/net if_llatbl.c if_llatbl.h src/sys/netinet if_ether.c in.c src/tools/regression/netinet/arphold Makefile arphold.c arphold.t X-BeenThere: cvs-src-old@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: **OBSOLETE** CVS commit messages for the src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 12 Jan 2011 20:46:15 -0000 gnn 2011-01-12 20:44:11 UTC FreeBSD src repository Modified files: (Branch: RELENG_8) sys/net if_llatbl.c if_llatbl.h sys/netinet if_ether.c in.c Added files: (Branch: RELENG_8) tools/regression/netinet/arphold Makefile arphold.c arphold.t Log: SVN rev 217329 on 2011-01-12 20:44:11Z by gnn MFC: 215207 Add a queue to hold packets while we await an ARP reply. When a fast machine first brings up some non TCP networking program it is quite possible that we will drop packets due to the fact that only one packet can be held per ARP entry. This leads to packets being missed when a program starts or restarts if the ARP data is not currently in the ARP cache. This code adds a new sysctl, net.link.ether.inet.maxhold, which defines a system wide maximum number of packets to be held in each ARP entry. Up to maxhold packets are queued until an ARP reply is received or the ARP times out. The default setting is the old value of 1 which has been part of the BSD networking code since time immemorial. Expose the time we hold an incomplete ARP entry by adding the sysctl net.link.ether.inet.wait, which defaults to 20 seconds, the value used when the new ARP code was added.. Reviewed by: bz, rpaulo Revision Changes Path 1.8.2.15 +20 -3 src/sys/net/if_llatbl.c 1.4.2.7 +2 -1 src/sys/net/if_llatbl.h 1.208.2.16 +55 -16 src/sys/netinet/if_ether.c 1.143.2.21 +7 -1 src/sys/netinet/in.c 1.1.2.2 +7 -0 src/tools/regression/netinet/arphold/Makefile (new) 1.1.2.2 +164 -0 src/tools/regression/netinet/arphold/arphold.c (new) 1.1.2.2 +7 -0 src/tools/regression/netinet/arphold/arphold.t (new)