[Bridge] Re: tg3 bridge problems
Neil Horman
nhorman at redhat.com
Mon Jan 10 12:43:56 PST 2005
Gergely Madarasz wrote:
> On Mon, Jan 10, 2005 at 02:53:10PM -0500, Neil Horman wrote:
>
>>Gergely Madarasz wrote:
>>
>>>On Mon, Jan 10, 2005 at 02:41:34PM -0500, Neil Horman wrote:
>>>
>>>
>>>>Gergely Madarasz wrote:
>>>>
>>>>
>>>>>On Mon, Jan 10, 2005 at 12:40:57PM -0500, Neil Horman wrote:
>>>>>
>>>>>
>>>>>
>>>>>>Gergely Madarasz wrote:
>>>>>>
>>>>>>
>>>>>>
>>>>>>>On Mon, Jan 10, 2005 at 11:04:55AM -0500, Neil Horman wrote:
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>>Strange. My concern was that the tg3 interface has its hardware
>>>>>>>>reset whenever its set to be up, and part of that is a resetting of
>>>>>>>>its receive mode. If for some reason IFF_PROMISC was cleared after
>>>>>>>>you set it using brctl, the interface might be taken out of promisc
>>>>>>>>mode. Do you have any iptables rules running that might drop bpdus?
>>>>>>>
>>>>>>>
>>>>>>>No iptables rules az all. Btw iptables wouldn't prevent tcpdump from
>>>>>>>seeing the packets, would it?
>>>>>>>Could it be that the driver perhaps has a problem setting promisc mode
>>>>>>>when resetting the hardware?
>>>>>>>
>>>>>>
>>>>>>Not really sure about this. One experiment is worth a thousand guesses
>>>>>>I suppose....... I'll try and let you know. :)
>>>>>
>>>>>
>>>>>I did some other checks, like adding an explicit ifconfig eth0 promisc,
>>>>>then looking at tcpdump output - I didn't see any stray packets like I
>>>>>usually do, just ethernet broadcasts and unicasts to my mac, this also
>>>>>points to a problem that the ethernet interface is actually not in
>>>>>promisc, while the driver thinks it is.
>>>>>
>>>>>And it is probably not a driver-only issue. I've got older machines with
>>>>>tg3 running fine with bridge (with an older tg3 driver), and eth1 on the
>>>>>same machine also runs fine. On another machine I tested today, an IBM
>>>>>x326, the same thing happens - eth0 broken, eth1 fine. Would access to
>>>>>one
>>>>>of these machines help? :)
>>>>>
>>>>>Greg
>>>>
>>>>I've got a tg3 card here. I'll try re-create it as soon as I have time.
>>>
>>>
>>>Sounds great, but I expect it will not occur with a random tg3 card,
>>>explained above...
>>>
>>
>>Mmmmm....post your lspci -vvv entry for your broken tg3 card?
>
>
> on the ibm x346:
>
> 0000:05:00.0 Ethernet controller: Broadcom Corporation NetXtreme BCM5721 Gigabit Ethernet PCI Express (rev 01)
> Subsystem: IBM: Unknown device 02c6
> Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr+ Stepping- SERR+ FastB2B-
> Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR-
> Latency: 0, Cache Line Size: 0x10 (64 bytes)
> Interrupt: pin A routed to IRQ 16
> Region 0: Memory at cfff0000 (64-bit, non-prefetchable) [size=64K]
> Capabilities: [48] Power Management version 2
> Flags: PMEClk- DSI- D1- D2- AuxCurrent=0mA PME(D0-,D1-,D2-,D3hot+,D3cold+)
> Status: D0 PME-Enable- DSel=0 DScale=1 PME-
> Capabilities: [50] Vital Product Data
> Capabilities: [58] Message Signalled Interrupts: 64bit+ Queue=0/3 Enable-
> Address: bfa4b67f4b6720bc Data: aadf
> Capabilities: [d0] #10 [0001]
>
> The other one looks the same, just bus 06 instead of 05 and different
> Region 0 and Address lines.
>
> Same problem, other machine (ibm x326):
>
> 0000:02:01.0 Ethernet controller: Broadcom Corporation NetXtreme BCM5704 Gigabit Ethernet (rev 03)
> Subsystem: IBM: Unknown device 02a6
> Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B-
> Status: Cap+ 66MHz+ UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR-
> Latency: 64 (16000ns min), Cache Line Size: 0x10 (64 bytes)
> Interrupt: pin A routed to IRQ 24
> Region 0: Memory at fe010000 (64-bit, non-prefetchable) [size=64K]
> Region 2: Memory at fe000000 (64-bit, non-prefetchable) [size=64K]
> Capabilities: [40] Capabilities: [48] Power Management version 2
> Flags: PMEClk- DSI- D1- D2- AuxCurrent=0mA PME(D0-,D1-,D2-,D3hot+,D3cold+)
> Status: D0 PME-Enable+ DSel=0 DScale=1 PME-
> Capabilities: [50] Vital Product Data
> Capabilities: [58] Message Signalled Interrupts: 64bit+ Queue=0/3 Enable-
> Address: 3aaf3ffdeb65f8f4 Data: b0db
>
> Greg
Crud, you're right, I've got a completely different tg3 card. I'll
still try to get a bridge set up to recreate, but it won't tell us much
if the problem doesn't re-create. Can you put a printk in right before
netif_receive_skb in tg3_rx to print out the source mac address of any
received frames, we should be able to search for any MACs ==
01-80-C2-00-00-00, and determine for sure if the hardware is eating the
frame, or something else is dropping it prematurely.
Neil
--
/***************************************************
*Neil Horman
*Software Engineer
*Red Hat, Inc.
*nhorman at redhat.com
*gpg keyid: 1024D / 0x92A74FA1
*http://pgp.mit.edu
***************************************************/
More information about the Bridge
mailing list