Broadcom Gigabit 5703 and Bridging
A message that is not in the archive (sent off-list or not yet received): E18W7jh-0001Co-00@mars
Quoted 5 lines · Paul Schulz
Greetings,
I'm seeing 'TCP Checksum' Errors after packets pass through a host bridging TCP packets with:
Quoted 7 lines
- Kernel 2.4.20
- Bridge code
- tg3 (Broadcom Gigabit 5703)eth0: Tigon3 [partno(BCM95703A30) rev 1002 PHY(5703)] (PCIX:100MHz:64-bit) 10/100/1000BaseT(eth1 is similar)
The BCM95703A30 rev 1002 has issues with the hardware checksumming.
The following patch for the tg3 (linux-2.4.20-ac2/drivers/net/tg3.c) driver, fixes the problem.
Note: I've tested this on the 2.4.20-ac2, but it should work OK with 2.4.20 too.
drivers/net/tg3.c +4 -0
@@ -6161,6 +6161,10 @@if (tp->pci_chip_rev_id ==CHIPREV_ID_5700_B0 ) tp->tg3_flags |=TG3_FLAG_BROKEN_CHECKSUMS ; +/* 5703 A2 have issues with checksumming too. (sarah) */ +if (tp->pci_chip_rev_id ==CHIPREV_ID_5703_A2 ) + tp->tg3_flags |=TG3_FLAG_BROKEN_CHECKSUMS ; +/* Regardless of whether checksums work or not, we configure * the StrongARM chips to not compute the pseudo header checksums * in either direction. Because of the way Linux checksum support
Cheers,
Sarah Bolderoff
Signature · 4 lines
Foursticks Pty Ltd, http://www.foursticks.com 33 King William Street, ADELAIDE South Australia 5000 Phone +61 8 841114 309 Fax +61 8 841114 777 This message was brought to you by the numbers 0 and 1.
Quoted 2 lines · On Tue, 2003-01-07 at 20:41, [email protected] wrote:
On Wed, Jan 08, 2003 at 02:52:37PM +1030, Paul Schulz wrote:
The BCM95703A30 rev 1002 has issues with the hardware checksumming.
Really?
Can you demonstrate the problem with the 5703 without bridging? Can you demonstrate the problem with bridging and another checksum capable card?
Unless you can answer both those questions, I think faulting this 5703 variant is premature. It smells more like a briding bug to me, perhaps it's corrupting the hw checksumming state of an SKB as it passes through the bridging layer.