From owner-svn-src-all@FreeBSD.ORG Wed Nov 24 07:12:03 2010 Return-Path: Delivered-To: svn-src-all@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id BE8C41065672; Wed, 24 Nov 2010 07:12:03 +0000 (UTC) (envelope-from brde@optusnet.com.au) Received: from mail07.syd.optusnet.com.au (mail07.syd.optusnet.com.au [211.29.132.188]) by mx1.freebsd.org (Postfix) with ESMTP id 59B1C8FC0C; Wed, 24 Nov 2010 07:12:03 +0000 (UTC) Received: from c122-106-145-124.carlnfd1.nsw.optusnet.com.au (c122-106-145-124.carlnfd1.nsw.optusnet.com.au [122.106.145.124]) by mail07.syd.optusnet.com.au (8.13.1/8.13.1) with ESMTP id oAO7Bwve009978 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Wed, 24 Nov 2010 18:12:00 +1100 Date: Wed, 24 Nov 2010 18:11:53 +1100 (EST) From: Bruce Evans X-X-Sender: bde@besplex.bde.org To: Gleb Smirnoff In-Reply-To: <201011240537.oAO5bCSC056347@svn.freebsd.org> Message-ID: <20101124175843.I1829@besplex.bde.org> References: <201011240537.oAO5bCSC056347@svn.freebsd.org> MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII; format=flowed Cc: svn-src-stable@FreeBSD.org, svn-src-all@FreeBSD.org, src-committers@FreeBSD.org, svn-src-stable-8@FreeBSD.org Subject: Re: svn commit: r215791 - stable/8/sys/netinet X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 24 Nov 2010 07:12:03 -0000 On Wed, 24 Nov 2010, Gleb Smirnoff wrote: > Log: > MFhead r214508: > Revert a small part of the r198301, that is entirely unrelated to the > r198301 itself. It also broke the logic of not sending more than one > ARP request per second, that consequently lead to a potential problem > of flooding network with broadcast packets. > > Modified: > stable/8/sys/netinet/if_ether.c > > Modified: stable/8/sys/netinet/if_ether.c > ============================================================================== > --- stable/8/sys/netinet/if_ether.c Wed Nov 24 05:24:36 2010 (r215790) > +++ stable/8/sys/netinet/if_ether.c Wed Nov 24 05:37:12 2010 (r215791) > @@ -381,7 +381,7 @@ retry: > int canceled; > > LLE_ADDREF(la); > - la->la_expire = time_second + V_arpt_down; > + la->la_expire = time_second; > canceled = callout_reset(&la->la_timer, hz * V_arpt_down, > arptimer, la); > if (canceled) > Isn't using non-monotic time for timeouts always wrong? There are lots of other time_second's in networkining code. These still outnumber time_uptime's by about 68:41. rtcock.c uses the weird expression time_second - time_uptime for metrics. Since time_uptime is relative to boot time while time_second is relative to the Epoch, their difference is approximately the number of seconds since the Epoch, which is a very strange value which might nevertheless be useful for converting between monotonic expiry times and real expiry times, but I think it doesn't work even for that if the real time is stepped. Bruce