[OpenWrt-Devel] QinQ on MT7530/MT7621

Sven Eckelmann sven at open-mesh.com
Tue Sep 8 09:01:09 EDT 2015


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.

Setup
=====

 ------------------------------------------------------------------------------
| eth0.1.23 | eth0.1.42 | eth0.1.5     | eth0.2.23 | eth0.2.5 | eth0.2.6       |
|--------------------------------------|---------------------------------------|
| eth0.1                               | eth0.2                                |
|------------------------------------------------------------------------------|
|                                    eth0                                      |
 ------------------------------------------------------------------------------

 * eth0 is the raw device/switch which gives the packets up with vlan headers
   based on the ports (we need to address each port separately).
 * eth0.1 is for port 1 and eth0.2 is for port 2

 * eth0.1.23 is for packets which are send out to port 1 with vlan header 23
   sending already works but we don't receive packets on eth0 from this port
   when the received packet had vlan header 23 set
 * eth0.1.42 is for packets which are send out to port 1 with vlan header 42
   sending already works but we don't receive packets on eth0 from this port
   when the received packet had vlan header 42 set
 * eth0.1.5 is for packets which are send out to port 1 with vlan header 5
   sending already works but we don't receive packets on eth0 from this port
   when the received packet had vlan header 5 set

 * eth0.2.23 is for packets which are send out to port 2 with vlan header 23
   sending already works but we don't receive packets on eth0 from this port
   when the received packet had vlan header 23 set
 * eth0.2.5 is for packets which are send out to port 2 with vlan header 5
   sending already works but we don't receive packets on eth0 from this port
   when the received packet had vlan header 5 set
 * eth0.2.6 is for packets which are send out to port 2 with vlan header 6
   sending already works but we don't receive packets on eth0 from this port
   when the received packet had vlan header 6 set

I would expect that I see following ethernet frame when I send a simple ping
through eth0.1.23:

--------------------------
|ETH HDR|VLAN 23|IP stuff|
--------------------------

This seems to work perfectly fine.

Now the receiver of the ICMP packet will send a reply:

--------------------------
|ETH HDR|VLAN 23|IP stuff|
--------------------------

And thus I would expect that the CPU (eth0) sees following packet:

---------------------------------
|ETH HDR|VLAN 1|VLAN 23|IP stuff|
---------------------------------

But instead I get nothing at all.

I've already tried to change the tagged CPU port egress mode to stack 
but then I will get following packets as replies for eth0.1

--------------------------------
|ETH HDR|VLAN 0|VLAN 1|IP stuff|
--------------------------------

And I get no replies for eth0.1.23 on eth0.


Question
========

I was told that on older ralink (esw_rt3052) switches there was a
register 0xe4 (SGC2) which could influence the behavior of
vlan-in-vlan. I don't have more information about that.

Does anyone have the register specification for the MT7530 or any other
idea how I could configure specific VLANs for each port.

Kind regards,
	Sven
_______________________________________________
openwrt-devel mailing list
openwrt-devel at lists.openwrt.org
https://lists.openwrt.org/cgi-bin/mailman/listinfo/openwrt-devel



More information about the openwrt-devel mailing list