From owner-freebsd-net@FreeBSD.ORG Fri Nov 9 16:51:47 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 7380E6E1; Fri, 9 Nov 2012 16:51:47 +0000 (UTC) (envelope-from adrian.chadd@gmail.com) Received: from mail-pb0-f54.google.com (mail-pb0-f54.google.com [209.85.160.54]) by mx1.freebsd.org (Postfix) with ESMTP id 2E1928FC08; Fri, 9 Nov 2012 16:51:46 +0000 (UTC) Received: by mail-pb0-f54.google.com with SMTP id wz17so1379134pbc.13 for ; Fri, 09 Nov 2012 08:51:46 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:sender:in-reply-to:references:date :x-google-sender-auth:message-id:subject:from:to:cc:content-type; bh=lgNPxNlaibq5UZgkTHEFfaRmj13HpHDvH0qNw+algrA=; b=KC70jiHwuu73IeeG9IN9GutAB2b9ZIbP39w55k0JfU82RBql5NsgK01g5DYqWBhaEx EveFAJZ7I/1Fky1tr/zNBco2rs5KWEW8f1KSSMXWZSqaBGRCEFIx0zB/eoU3olMdS27K 7nnHh5epZOHB2hRerU7PRWQiL/q5lAeJdjUTbcdOtFETegOM2lpdwru5xkGEvg0+9hUe Zq3RU4nZE1EwxzYWPtgmvmO9twAFfD65iYo79RpnrMKVN69UvquZZmTgjqm6IH3yCG4H KnFXHCVtIIgbGI198wKydKdFoRrT8Whd9B6f4zXF5eexj8/4hZWLDa9ZhzIVbdom3yso S/Qw== MIME-Version: 1.0 Received: by 10.66.72.136 with SMTP id d8mr33271897pav.4.1352479906447; Fri, 09 Nov 2012 08:51:46 -0800 (PST) Sender: adrian.chadd@gmail.com Received: by 10.68.124.130 with HTTP; Fri, 9 Nov 2012 08:51:46 -0800 (PST) In-Reply-To: <509CBA0C.3070008@freebsd.org> References: <201211080206.qA826RiN054539@svn.freebsd.org> <20121108023858.GA3127@michelle.cdnetworks.com> <509BC2E2.4030907@freebsd.org> <509C4684.2030102@freebsd.org> <509CBA0C.3070008@freebsd.org> Date: Fri, 9 Nov 2012 08:51:46 -0800 X-Google-Sender-Auth: hbrRqlysoO_hx88eBW_fNDeq2XM Message-ID: Subject: Re: svn commit: r242739 - stable/9/sys/dev/ti From: Adrian Chadd To: Andre Oppermann Content-Type: text/plain; charset=ISO-8859-1 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 16:51:47 -0000 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. 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'll chase this up privately with him and see what was really going on. Thanks, Adrian