From owner-freebsd-net@FreeBSD.ORG Fri Nov 9 17:34:09 2012 Return-Path: Delivered-To: freebsd-net@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 1B6474C1 for ; Fri, 9 Nov 2012 17:34:09 +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 6DA768FC13 for ; Fri, 9 Nov 2012 17:34:07 +0000 (UTC) Received: (qmail 73993 invoked from network); 9 Nov 2012 19:09:00 -0000 Received: from c00l3r.networx.ch (HELO [127.0.0.1]) ([62.48.2.2]) (envelope-sender ) by c00l3r.networx.ch (qmail-ldap-1.03) with SMTP for ; 9 Nov 2012 19:09:00 -0000 Message-ID: <509D3E87.9020701@freebsd.org> Date: Fri, 09 Nov 2012 18:33:59 +0100 From: Andre Oppermann User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:16.0) Gecko/20121010 Thunderbird/16.0.1 MIME-Version: 1.0 To: Adrian Chadd Subject: Re: svn commit: r242739 - stable/9/sys/dev/ti References: <201211080206.qA826RiN054539@svn.freebsd.org> <20121108023858.GA3127@michelle.cdnetworks.com> <509BC2E2.4030907@freebsd.org> <509C4684.2030102@freebsd.org> <509CBA0C.3070008@freebsd.org> In-Reply-To: Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Cc: pyunyh@gmail.com, FreeBSD Net , Pyun YongHyeon X-BeenThere: freebsd-net@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: Networking and TCP/IP with FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 09 Nov 2012 17:34:09 -0000 On 09.11.2012 17:51, Adrian Chadd wrote: > On 9 November 2012 00:08, Andre Oppermann wrote: > >> Firewalling doesn't change the packet and no checksum is needed. >> NAT does change the packet and the pesky pseudo-header in the TCP/ >> UDP checksum. However here only the pseudo-header checksum is >> recalculated and reintegrated into the one-complement payload checksum. >> The payload itself is not being looked at, except for protocols that >> do contain IP addresses in their internal commands or such. There >> the payload is modified. The same reintegration trick can be used. >> In the majority of cases these packets are very small though and >> the entire checksum is simply recalculated. As the packets are very >> small no fragmentation is occuring. >> The IPv4 header checksum is never ever a problem and always works. >> >> Can we please put this to rest now. > > Andre, > > I'm assuming that Pyun fixed a real bug that he really did see. My day > job is dealing with these kinds of corner cases with embedded hardware > that does offload-y type stuff. > So yes, I'd really like to know what's going on under the hood and fix it. There isn't anything to fix other than removing a poorly supported and implemented feature. Nothings breaks if it goes away. > You may be able to make it all go away with a bunch of logical > reasoning but if it weren't a problem, Pyun would've never stumbled > across it and had to disable checksumming. I found the problem and wanted to remove this particular mis-feature from the stack. To do that he removed it from two drivers, one of them very old with no known users. -- Andre > I'll chase this up privately with him and see what was really going on. > > Thanks, > > > > Adrian > >