On Tuesday 08 September 2015 15:01:09 Sven Eckelmann wrote: > Hi, > > I was testing QinQ/stacked vlan/double vlan/doubletag on MT7621 and > noticed that it didn't work. I see packets correctly send with the > the stacked VLAN tag but the replies are never received by eth0. [...]
Just some notes: If I change the REG_ESW_PORT_PCR of each port from 0x00ff0003 (only allow frame when vlan member of vid) to 0x00ff0001 (broadcasting the port matrix members when port not member of vid) then I can see the frame on eth0 (port 6). I would therefore conclude that I need to switch the incoming port to a state were it doesn't try to get the vlan header from the frame. The correct one seems to be the transparent mode as already used by the port matrix (enable_vlan == 0) mode. My proof of concept patch (yes, I know it is currently in the wrong place and it should be differentiated between tagged/untagged and not between CPU port and not CPU port). --- a/target/linux/ramips/files/drivers/net/ethernet/ralink/mt7530.c +++ b/target/linux/ramips/files/drivers/net/ethernet/ralink/mt7530.c @@ -500,8 +500,12 @@ mt7530_apply_config(struct switch_dev *dev) mt7530_w32(priv, REG_ESW_PORT_PCR(i), 0x00ff0003); /* set all ports as user port */ - for (i = 0; i < MT7530_NUM_PORTS; i++) - mt7530_w32(priv, REG_ESW_PORT_PVC(i), 0x81000000); + for (i = 0; i < MT7530_NUM_PORTS; i++) { + if (i == MT7530_CPU_PORT) + mt7530_w32(priv, REG_ESW_PORT_PVC(i), 0x81000000); + else + mt7530_w32(priv, REG_ESW_PORT_PVC(i), 0x810000c0); + } for (i = 0; i < MT7530_NUM_VLANS; i++) { u16 vid = priv->vlan_entries[i].vid; I am currently not perfectly sure how to best solve the problem that this setting is per port and the tagging/non-tagging setting is per vlan. Maybe I will propose a patch that first checks if a port is used in a vlan in tag/untag mode and then set the port mode to transparent when it is not used as tagged in any vlan (and print a warning when used in a mixed mode). But here are my notes just in case I get struck by an improper installed accesspoint. Kind regards, Sven _______________________________________________ openwrt-devel mailing list openwrt-devel@lists.openwrt.org https://lists.openwrt.org/cgi-bin/mailman/listinfo/openwrt-devel