bad tcp/udp checksumsc with 5704C

Kris Kennaway kris at obsecurity.org
Wed Apr 7 20:54:18 PDT 2004


On Wed, Apr 07, 2004 at 03:09:11PM +0200, Mipam wrote:
> Hi,
> 
> I'm running FreeBSD 5.2.1-p4 on a dell system with a Broadcom 5704C Nic in
> it.
> 
> 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
> 
> 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 at 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
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 187 bytes
Desc: not available
Url : http://lists.freebsd.org/pipermail/freebsd-stable/attachments/20040407/1c8c8408/attachment.bin


More information about the freebsd-stable mailing list