From owner-svn-src-head@FreeBSD.ORG Thu Apr 2 18:46:33 2015 Return-Path: Delivered-To: svn-src-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 9D84758C; Thu, 2 Apr 2015 18:46:33 +0000 (UTC) Received: from cyrus.watson.org (cyrus.watson.org [198.74.231.69]) by mx1.freebsd.org (Postfix) with ESMTP id 6A524C0; Thu, 2 Apr 2015 18:46:33 +0000 (UTC) Received: from fledge.watson.org (fledge.watson.org [198.74.231.63]) by cyrus.watson.org (Postfix) with ESMTPS id 1276D46B66; Thu, 2 Apr 2015 14:46:33 -0400 (EDT) Date: Thu, 2 Apr 2015 19:46:32 +0100 (BST) From: Robert Watson X-X-Sender: robert@fledge.watson.org To: Hans Petter Selasky Subject: Re: svn commit: r280971 - in head: contrib/ipfilter/tools share/man/man4 sys/contrib/ipfilter/netinet sys/netinet sys/netipsec sys/netpfil/pf In-Reply-To: <551D8C6C.9060504@selasky.org> Message-ID: References: <201504012226.t31MQedN044443@svn.freebsd.org> <1427929676.82583.103.camel@freebsd.org> <20150402123522.GC64665@FreeBSD.org> <20150402133751.GA549@dft-labs.eu> <20150402134217.GG64665@FreeBSD.org> <20150402135157.GB549@dft-labs.eu> <1427983109.82583.115.camel@freebsd.org> <20150402142318.GC549@dft-labs.eu> <20150402143420.GI64665@FreeBSD.org> <20150402153805.GD549@dft-labs.eu> <551D8143.4060509@selasky.org> <551D8945.8050906@selasky.org> <8900318B-8155-4131-A0C3-3DE169782EFC@FreeBSD.org> <551D8C6C.9060504@selasky.org> User-Agent: Alpine 2.11 (BSF 23 2013-08-11) MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII; format=flowed Cc: Mateusz Guzik , Ian Lepore , svn-src-all@freebsd.org, src-committers@freebsd.org, Gleb Smirnoff , svn-src-head@freebsd.org X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 02 Apr 2015 18:46:33 -0000 On Thu, 2 Apr 2015, Hans Petter Selasky wrote: >>> Does somebody here know what happens in these two cases: >>> >>> If we are transmitting using TSO, will the network adapter increment the >>> IP ID field somehow? What happens if an outgoing IP packet resulting from >>> a TSO packet get fragmented by a router? >> >> Quite possibly -- this is presumably specified by the NIC vendor, but it >> would be good to do a bit of a survey and see what happens in practice. >> >>> In ip_fragment() when we create fragments we should increment the ip_id >>> value for each fragment? > > I'm asking because the code in FreeBSD, since the beginning probably, just > copies the IP header, and use the same IP ID for all the fragments ! This > just hit my mind after some recent work in this area. I honestly cannot believe you are proposing that. Please go read about how IP fragmentation works. Having an identical IP ID in ip_fragment() is the point of the function! Robert