From owner-freebsd-current@FreeBSD.ORG Fri Aug 20 20:07:46 2004 Return-Path: Delivered-To: freebsd-current@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id A01DA16A4CE for ; Fri, 20 Aug 2004 20:07:46 +0000 (GMT) Received: from web.portaone.com (support.portaone.com [195.70.151.35]) by mx1.FreeBSD.org (Postfix) with ESMTP id EF33843D39 for ; Fri, 20 Aug 2004 20:07:45 +0000 (GMT) (envelope-from sobomax@portaone.com) Received: from [192.168.0.20] (portacare.portaone.com [195.140.247.242]) (authenticated bits=0) by web.portaone.com (8.12.8p2/8.12.8) with ESMTP id i7KK7f1S002968 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Fri, 20 Aug 2004 22:07:42 +0200 (CEST) (envelope-from sobomax@portaone.com) Message-ID: <41265A06.3030800@portaone.com> Date: Fri, 20 Aug 2004 23:07:34 +0300 From: Maxim Sobolev Organization: Porta Software Ltd User-Agent: Mozilla Thunderbird 0.7.3 (Windows/20040803) X-Accept-Language: en-us, en MIME-Version: 1.0 To: Andrew Gallatin References: <20040820190525.GA21626@isc.org> <16678.21478.381551.833252@grasshopper.cs.duke.edu> In-Reply-To: <16678.21478.381551.833252@grasshopper.cs.duke.edu> Content-Type: text/plain; charset=us-ascii; format=flowed Content-Transfer-Encoding: 7bit cc: "David W. Hankins" cc: current@FreeBSD.ORG Subject: Re: on amd64 tcp4 cksums are bad (FYI) X-BeenThere: freebsd-current@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: Discussions about the use of FreeBSD-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 20 Aug 2004 20:07:46 -0000 Andrew Gallatin wrote: > David W. Hankins writes: > > > > This is as observed via tcpdump on [client], which is what is producing > > the bad checksums. Obviously it doesn't cause a problem since no one > > listens to TCP checksums, but it's interesting. I only noticed it > > because I was tcpdump'ing for completely unrelated reasons, and it caught > > my eye. > > <...> > > > Client machine is amd64, running 64-bit mode 5-current fresh as of > > yesterday. Network interface is e1000, so fxp. Server is also freebsd > > e1000 is actually em. > > You're almost certainly using a driver which offloads transmit > checksums. (both fxp and em do) Since BPF sniffs the packet before it > leaves the host, the checksum has not yet been calculated, so it looks > bad. Is it possible to detect this situation and flag tcpdump somehow, so that it don't trust checksum? With the widespread adoption of GigE cards, this "problem" is likely to be more and more common. -Maxim