This looks like a network driver not bridging problem, so forwarding to
the netdev list.
On Thu, 19 Feb 2004 09:59:05 +1030
Paul Schulz <pschulz@xxxxxxxxxxxxxx> wrote:
> Greetings (first post to the list, with patch)...
>
> The following patch is required to allow bridging to occur on an
> IBM x305 (1RU server) - with the tg3 module.
> (This has been posted to the kernel-developers mailing list.)
>
> Background:
> - The Dual Broadcom NICs in the IBM x305 have a broken checksum
> routine which wants to calculate the checksum the ethernet
> packet where the 'source' IP address is the IP address
> of the sending interface.
> This breaks bridging! (Upstream hosts see an invalid checksum
> and drop the packet.)
>
> - I have heard of other issues with Broadcom NICs not
> working with IPv6 and broadcast/multicast which could be
> related.
>
> I would like to get these results and the fix verified, as it will
> effect any hosts using this chipset. Does anyone have any pointers?
>
> Paul Schulz <pschulz@xxxxxxxxxxxxxx>
>
> --------------------------------------------------------------------
> diff -Naur linux-2.4.20/drivers/net/tg3.c linux-2.4.20-np/drivers/net/tg3.c
> --- linux-2.4.20/drivers/net/tg3.c Fri Nov 29 10:23:14 2002
> +++ linux-2.4.20-np/drivers/net/tg3.c Thu Jan 23 14:46:54 2003
> @@ -6161,6 +6161,11 @@
> 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
>
>
>
>
--
Stephen Hemminger mailto:shemminger@xxxxxxxx
Open Source Development Lab http://developer.osdl.org/shemminger
|