Sky2 - problems with VLANs - kernel 2.6.36

From: David
Date: Fri Nov 05 2010 - 19:22:01 EST


I've just installed a Lycom dual port gigabit ethernet card, picked up
as follows :-

03:00.0 Ethernet controller: Marvell Technology Group Ltd. 88E8062 PCI-E
IPMI Gigabit Ethernet Controller (rev 14)
Subsystem: Marvell Technology Group Ltd. Device 6222
Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr-
Stepping- SERR+ FastB2B- DisINTx+
Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort-
<TAbort- <MAbort- >SERR- <PERR- INTx-
Latency: 0, Cache Line Size: 64 bytes
Interrupt: pin A routed to IRQ 41
Region 0: Memory at fe8fc000 (64-bit, non-prefetchable) [size=16K]
Region 2: I/O ports at c800 [size=256]
Expansion ROM at fe8c0000 [disabled] [size=128K]
Capabilities: <access denied>
Kernel driver in use: sky2
Kernel modules: sky2

I'm having a problem with VLANs. Outgoing packets are tagged correctly
and devices on the VLAN are responding. Unfortunately all of the
response packets stay on the raw device and are not allocated to the VLAN.

I've done some investigation (printks etc.), and have found that neither
of the following cases in sky2_status_intr() are being triggered...

case OP_RXVLAN:
printk("RXVLAN, length=%u, status=%u\n", length,
status);
sky2->rx_tag = length;
break;

case OP_RXCHKSVLAN:
printk("RXCHKSVLAN, length=%u, status=%u\n",
length, status);
sky2->rx_tag = length;
/* fall through */

... however the status when calling sky2_skb_rx() does have GMR_FS_VLAN
set, it's just we haven't been able to find out which VLAN the packet
comes from (and sky2->rx_tag is zero). Does anyone have any suggestions
as to how I proceed from here? I'm happy to test patches etc.

Cheers
David
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/