From owner-freebsd-stable@FreeBSD.ORG Wed Apr 7 07:20:04 2004 Return-Path: Delivered-To: freebsd-stable@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id E8F7F16A4CE for ; Wed, 7 Apr 2004 07:20:04 -0700 (PDT) Received: from ux1.ibb.net (ux1.ibb.net [64.215.98.2]) by mx1.FreeBSD.org (Postfix) with ESMTP id 28ABB43D1F for ; Wed, 7 Apr 2004 07:20:04 -0700 (PDT) (envelope-from mipam@ibb.net) Received: from localhost (mipam@localhost) by ux1.ibb.net (8.9.3/8.9.3/UX1TT) with ESMTP id PAA22250; Wed, 7 Apr 2004 15:09:11 +0200 X-Authentication-Warning: ux1.ibb.net: mipam owned process doing -bs Date: Wed, 7 Apr 2004 15:09:11 +0200 (MET DST) From: Mipam To: Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII cc: mipam@ibb.net Subject: bad tcp/udp checksumsc with 5704C X-BeenThere: freebsd-stable@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: Production branch of FreeBSD source code List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 07 Apr 2004 14:20:05 -0000 Hi, I'm running FreeBSD 5.2.1-p4 on a dell system with a Broadcom 5704C Nic in it. bge0: mem 0xfcd20000-0xfcd2ffff,0xfcd30000-0xfcd3ffff irq 16 at device 0.0 on pci2 bge0: Ethernet address: 00:0b:db:93:c5:c4 miibus0: on bge0 brgphy0: on miibus0 brgphy0: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, 1000baseTX, 1000baseTX-FDX, auto Since version 4.5 tcp checksum offloading is supported with this NIC. However, i'm encountering continuous on all packet send from this machines bad tdp/udp checksums: 16:05:41.287764 x.x.x.x.22 > 192.168.2.1.4761: . [bad tcp cksum f48!] 984:984(0) ack 313 win 32824 (DF) [tos 0x10] (ttl 64, id 44539, len 40, bad cksum 0!) 16:05:41.545073 x.x.x.x.123 > y.y.y.y.123: [bad udp cksum 6a52!] v3 server strat 2 poll 6 prec -31 dist 0.007049 disp 0.022796 ref 195.169.124.69@3290335106.099078394 orig 3290335541.540184020 rec +0.004841091 xmt +0.004874050 [tos 0x10] (ttl 64, id 44541, len 76, bad cksum 0!) I tried several things, using autoselect in ifconfig bge0, setting the speed and duplex hard on nic and switch port (cisco). I even tried turning off offloading: ifconfig bge0 -txcsum. But whatever i tried bad checksums kept appearing. Is this behaviour normal or not? When tcp csum offloading is turned on, does the networking stack not compute the checksum on outgoing packets and hand it to the driver which hands it to bpf and libpcap hands it to tcpdump so tcpdump reports an invalid checksum? For now i am not sure whether the behaviour is right or not.... it worries me. There's more: when i set the speed and duplex hard on the switch and nic on 100 and full-duplex, the traffic is very slow. When i use autoselect the traffic is way faster. I guess this isnt normal? Any hints on these topics? Bye, Mipam.