Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 20 Apr 2004 19:01:35 +0100
From:      ian j hart <ianjhart@ntlworld.com>
To:        freebsd-stable@freebsd.org
Cc:        Kris Kennaway <kris@obsecurity.org>
Subject:   Re: bad tcp/udp checksumsc with 5704C
Message-ID:  <200404201901.35819.ianjhart@ntlworld.com>
In-Reply-To: <20040407170932.GA74440@xor.obsecurity.org>
References:  <Pine.LNX.4.33.0404071450090.22128-100000@ux1.ibb.net> <20040407170932.GA74440@xor.obsecurity.org>

next in thread | previous in thread | raw e-mail | index | archive | help
On Wednesday 07 April 2004 18:09, Kris Kennaway wrote:

Sorry about the delay - on holiday.

> 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@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.

In that case, this PR can probably go.
http://www.freebsd.org/cgi/query-pr.cgi?pr=63982

>
> > 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

-- 
ian j hart

http://ars.userfriendly.org/cartoons/?id=20031016



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200404201901.35819.ianjhart>