Date: Wed, 7 Apr 2004 10:09:33 -0700 From: Kris Kennaway <kris@obsecurity.org> To: Mipam <mipam@ibb.net> Cc: freebsd-stable@freebsd.org Subject: Re: bad tcp/udp checksumsc with 5704C Message-ID: <20040407170932.GA74440@xor.obsecurity.org> In-Reply-To: <Pine.LNX.4.33.0404071450090.22128-100000@ux1.ibb.net> References: <Pine.LNX.4.33.0404071450090.22128-100000@ux1.ibb.net>
next in thread | previous in thread | raw e-mail | index | archive | help
--T4sUOijqQbZv57TR Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Content-Transfer-Encoding: quoted-printable On Wed, Apr 07, 2004 at 03:09:11PM +0200, Mipam wrote: > Hi, >=20 > I'm running FreeBSD 5.2.1-p4 on a dell system with a Broadcom 5704C Nic in > it. >=20 > bge0: <Broadcom BCM5704C Dual Gigabit Ethernet, ASIC rev. 0x2002> mem > 0xfcd20000-0xfcd2ffff,0xfcd30000-0xfcd3ffff irq 16 at device 0.0 on pci2 > bge0: Ethernet address: 00:0b:db:93:c5:c4 > miibus0: <MII bus> on bge0 > brgphy0: <BCM5704 10/100/1000baseTX PHY> on miibus0 > brgphy0: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, 1000baseTX, > 1000baseTX-FDX, auto >=20 > 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: >=20 > 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!) > 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. I ran into this yesterday with a different NIC, and Peter Wemm told me that tcpdump indeed gets it wrong for locally-generated packets when the card does checksum offloading. Indeed, when I ran the tcpdump on another machine on the LAN it verified that the checksums on those packets were all correct. > 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. Sounds like what happens when full-duplex isn't supported by one end, or isn't actually being set correctly. Kris --T4sUOijqQbZv57TR Content-Type: application/pgp-signature Content-Disposition: inline -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.2.4 (FreeBSD) iD8DBQFAdDXMWry0BWjoQKURAlcgAJwLdq6SkP3tcfo1PN7wAcyoeVVMcgCfVMMg 7Hb3s32aizL12LfKD23HfQ0= =nO2d -----END PGP SIGNATURE----- --T4sUOijqQbZv57TR--
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20040407170932.GA74440>