From owner-cvs-src@FreeBSD.ORG Thu Feb 7 09:10:42 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 6EC2316A473 for ; Thu, 7 Feb 2008 09:10:42 +0000 (UTC) (envelope-from andre@freebsd.org) Received: from c00l3r.networx.ch (c00l3r.networx.ch [62.48.2.2]) by mx1.freebsd.org (Postfix) with ESMTP id C199613C4EE for ; Thu, 7 Feb 2008 09:10:41 +0000 (UTC) (envelope-from andre@freebsd.org) Received: (qmail 84692 invoked from network); 7 Feb 2008 08:29:20 -0000 Received: from localhost (HELO [127.0.0.1]) ([127.0.0.1]) (envelope-sender ) by c00l3r.networx.ch (qmail-ldap-1.03) with SMTP for ; 7 Feb 2008 08:29:20 -0000 Message-ID: <47AACB19.9040203@freebsd.org> Date: Thu, 07 Feb 2008 10:10:49 +0100 From: Andre Oppermann User-Agent: Thunderbird 1.5.0.14 (Windows/20071210) MIME-Version: 1.0 To: Robert Watson References: <200802061540.m16FeXGD030782@repoman.freebsd.org> <47AA5925.3000008@FreeBSD.org> <20080207083930.Y74369@fledge.watson.org> In-Reply-To: <20080207083930.Y74369@fledge.watson.org> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Cc: cvs-src@FreeBSD.org, Mike Silbersack , "Bruce M. Simpson" , cvs-all@FreeBSD.org, src-committers@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: Thu, 07 Feb 2008 09:10:42 -0000 Robert Watson wrote: > > On Thu, 7 Feb 2008, Bruce M. Simpson wrote: > >> Mike Silbersack wrote: >>> 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. >> >> Random ip_id generation also breaks MANET multicast as it's currently >> specified -- the ip_id field gets used for histogram based duplicate >> packet detection. However, after my inveigling, Fred Templin at Boeing >> brought encapsulation back into the proposal on the table. >> >> So some way to turn this stuff off on a per-interface basis is >> probably going to be needed later on for mobile stuff... > > We also have much more general problems with our ip_id code -- using a > global IP ID counter or random generator breaks down as the packet rate > goes up, causing problems for NFS over UDP and other UDP applications > with large packet sizes. We need to adopt some sort of host-based > approach, presumably with a fallback to global when we don't want to > commit state storage for a host (i.e., for RST's/SYN cookies, or even > TCP generally). There's a comment in the Linux IP ID code regarding > PPTP also expecting IP IPs to behave in a more historical way as well. A sufficiently good hash algorithm should be able to replace storage allocation and tracking per host. This way we have an IPID sequence space per hash bucket where we can guarantee a full cycle. -- Andre