From owner-cvs-src@FreeBSD.ORG Wed Feb 6 15:44:41 2008 Return-Path: Delivered-To: cvs-src@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id EF16F16A418 for ; Wed, 6 Feb 2008 15:44:41 +0000 (UTC) (envelope-from silby@silby.com) Received: from relay00.pair.com (relay00.pair.com [209.68.5.9]) by mx1.freebsd.org (Postfix) with SMTP id 7225D13C457 for ; Wed, 6 Feb 2008 15:44:41 +0000 (UTC) (envelope-from silby@silby.com) Received: (qmail 97059 invoked from network); 6 Feb 2008 15:44:39 -0000 Received: from unknown (HELO localhost) (unknown) by unknown with SMTP; 6 Feb 2008 15:44:39 -0000 X-pair-Authenticated: 209.68.2.70 Date: Wed, 6 Feb 2008 09:44:38 -0600 (CST) From: Mike Silbersack To: cvs-src@FreeBSD.org In-Reply-To: <200802061540.m16FeXGD030782@repoman.freebsd.org> Message-ID: <20080206094332.I36051@odysseus.silby.com> References: <200802061540.m16FeXGD030782@repoman.freebsd.org> MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII; format=flowed Cc: src-committers@FreeBSD.org, cvs-all@FreeBSD.org Subject: Re: cvs commit: src/sys/netinet ip_id.c X-BeenThere: cvs-src@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: CVS commit messages for the src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 06 Feb 2008 15:44:42 -0000 On Wed, 6 Feb 2008, Mike Silbersack wrote: > silby 2008-02-06 15:40:31 UTC > > FreeBSD src repository > > Modified files: > sys/netinet ip_id.c > Log: > Replace the random IP ID generation code we > obtained from OpenBSD with an algorithm suggested > by Amit Klein. The OpenBSD algorithm has a few > flaws; see Amit's paper for more information. > > For a description of how this algorithm works, > please see the comments within the code. > > Note that this commit does not yet enable random IP ID > generation by default. There are still some concerns > that doing so will adversely affect performance. > > Reviewed by: rwatson > MFC After: 2 weeks > > Revision Changes Path > 1.10 +155 -147 src/sys/netinet/ip_id.c FWIW, There are a few minor tweaks to be made, such as mallocing the data structures when you enable random_id rather than when you send the first packet. Those changes will happen in a subsequent commit sometime in the next few days. Robert has some ideas on how to keep per-IP state so that we can use sequential IP IDs in performance and ID life criticial areas of the system. If those ideas work, we can then enable this algorithm for all the non-performance critical areas of the network stack, such as RSTs, icmp, etc. Mike "Silby" Silbersack