I will add to understand: tags 17 and 27, as it should be applied only if a packet arrives without the label. Ports t01 and t02 are transit, in cisco qinq terms they must be NNI. the task of the switch is simply to pass a packet with a double label through itself from port t01 to port t02 (and backward). internal C-tag labels can be any, they should not be known to the switch.
Ok so this switch is the middle switch then It doesn’t have to add a c-tag only switch based on service vlan instead if user vlan.
/interface bridge
add name=bridge0 igmp-snooping=no protocol-mode=none
/interface bridge port
add bridge=bridge0 interface=t01 hw=yes
add bridge=bridge0 interface=t02 hw=yes
/interface ethernet switch
set bridge-type=service-vid-used-as-lookup-vid
Nothing to lose with trying.
yes, nothing to lose, but all vlans packets transmitted over all ports.
I tested this option in practice. If you remove the vlan-filtering=yes option, the switch turns into a hub ). Think you read the https://wiki.mikrotik.com/wiki/Manual:CRS3xx_series_switches#VLAN.
Currently RouterOS bridge is only 802.1Q aware, support for 802.1ad is planned (with hardware offloading for CRS3xx).
RouterOS checks the outer tag and checks if the tag is 802.1Q (0x8100), but in case of SVID it sees 802.1ad (0x88A8) and assumes it as an untagged frame since a tagged frame is considered when a 802.1Q aware bridge receives a 802.1Q tag, inner tags are ignored. The same principal can be applied to a 802.1ad aware bridges.
If you add an entry to the bridge VLAN table for VLAN ID that matches the port PVID and specify the port as untagged, then the bridge will not change the VLAN tag and will allow the packet to be forwarded, but SVID or CVID filtering is not possible since a 802.1Q bridge is looking for and changing only 802.1Q tags right after the Ethernet header.
If you do want for some very odd reasons to make SVID and CVID packets to be forwarded (but without filtering) while VLAN filtering is enabled, then here is an example:
/interface bridge
add name=bridge1 protocol-mode=none vlan-filtering=yes
/interface bridge port
add bridge=bridge1 hw=no interface=t01 pvid=17
add bridge=bridge1 hw=no interface=t02 pvid=27
/interface bridge vlan
add bridge=bridge1 untagged=t01,t02 vlan-ids=17,27
I don’t know the inner workings of CRS3xx but on CRS1xx/2xx you can add all ports to a bridge and do all your vlans and qinq in /interface ethernet switch so the switch will not be working as a hub even though bridge vlan-filtering is not enabled because the switch chip is doing all the tagging work and the effect of the above rule would be that incoming packets on an interface would be switched based on service-vid which in your case would be 11 s-tag instead of the default which is to switch based on customer-vid since there is no qinq been done.
q.e.d.
You want a cookie or a tap on the back? …
Version 6.43rc14 has been released.
*) bridge - added initial Q-in-Q support (CLI only);
*) crs3xx - added initial Q-in-Q hardware offloading support (CLI only);