Re: Broadcom Gigabit 5703 and Bridging

sbolderoff@foursticks.com
Wed, 8 Jan 2003 15:11:56 +1030


On Wed, Jan 08, 2003 at 02:52:37PM +1030, Paul Schulz wrote:
> Greetings,
>
> I'm seeing 'TCP Checksum' Errors after packets pass through a host
> bridging TCP packets with:
>
> - 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.

diff -u linux-2.4.20/drivers/net/tg3.c linux-2.4.20-ac2/drivers/net/tg3.c
--- linux-2.4.20/drivers/net/tg3.c Fri Nov 29 10:23:14 2002
+++ linux-2.4.20-ac2/drivers/net/tg3.c Wed Jan 8 14:34:44 2003
@@ -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

-- 
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.
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/