Messages in this thread Patch in this message | ![/](/images/icornerl.gif) | | Date | Wed, 8 Jan 2003 15:11:56 +1030 | From | sbolderoff@fourstic ... | Subject | Re: Broadcom Gigabit 5703 and Bridging |
| |
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/
| ![\](/images/icornerr.gif) |