QinQ VLAN stripping

Hi There,

I have a CRS226-24G-2S+ and I am trying to strip 802.1Q tags off an inbound ethernet frame. The packets are coming in tagged with two .1Q tags. so stacked but not 802.1ad (88a8) compliant, rather they have two 8100 tags.

A packet dump of the first few bytes of the frame looks similar to:

11:11:15.928714 IP 0.0.0.0.bootpc > 255.255.255.255.bootps: BOOTP/DHCP, Request from 00:c0:17:33:11:86, length 325
0x0000: ffff ffff ffff 00c0 1733 1186 8100 0002
0x0010: 8100 0002 0800 4500 0161 0000 0000 4011

(sorry for the crappy formatting, I’m not sure how to set a fixed width in phpbb)

As we can see, the tags are stock .1Q 8100 tags.

While I realise the performance will be incredibly bad I’m trying to set this up as two bridges to use for the vlan stripping (bridge name=“inner” and bridge name=“outer”) and associating a physical egress port and the various defined vlans. I was modeling this off the examples around a trunk port I’ve implemented successfully, and then using a crossover ethernet to bridge the switch ports, linking the egress physical interface of the outer bridge with the ingress of the second bridge (via vlan associations)

this would look like:
layout.png
In theory, I should get inbound QinQ traffic via the sfp1 port, which will then strip off the outer vlan1 tag and pass this through to eth24 as an input, which will then strip the inner vlan tags 1 and 2 and pass the resulting plain old ethernet through to eth17.

However I’m seeing nothing on eth17 except periodic rrac announcements.

If I plug directly into sfp1 then I see the inbound QinQ traffic tagged with an outer tag of 1 and inner tags of 1 and 2.

My config is as follows

aug/16/2017 21:16:26 by RouterOS 6.32.4

software id = B423-9Y5I

/interface bridge
add comment=“Bridge ports for the OOB network” name=OOB
add name=inner
add name=outer
/interface ethernet
set [ find default-name=ether1 ] name=ether1-master
set [ find default-name=ether2 ] comment=“console” master-port=ether1-master
set [ find default-name=ether3 ] master-port=ether1-master
set [ find default-name=ether4 ] comment=“net1 - Ethernet MGT” master-port=ether1-master
set [ find default-name=ether5 ] master-port=ether1-master
set [ find default-name=ether6 ] master-port=ether1-master
set [ find default-name=ether7 ] master-port=ether1-master
set [ find default-name=ether8 ] master-port=ether1-master
set [ find default-name=ether10 ] master-port=ether9
set [ find default-name=ether11 ] master-port=ether9
set [ find default-name=ether12 ] master-port=ether9
set [ find default-name=ether13 ] master-port=ether9
set [ find default-name=ether14 ] master-port=ether9
set [ find default-name=ether15 ] master-port=ether9
set [ find default-name=ether16 ] master-port=ether9
set [ find default-name=ether21 ] mtu=1508
set [ find default-name=ether22 ] mtu=1508
set [ find default-name=ether23 ] mtu=1508
set [ find default-name=ether24 ] mtu=1508
set [ find default-name=sfp-sfpplus1 ] mtu=1508
/ip neighbor discovery
set ether2 comment=“console”
set ether4 comment=“net1 - Ethernet MGT”
set OOB comment=“Bridge ports for the OOB network”
/interface vlan
add interface=ether24 name=iVlan1 vlan-id=1
add interface=ether24 name=iVlan2 vlan-id=2
add interface=sfp-sfpplus1 name=oVlan1 vlan-id=1
/interface bridge port
add bridge=OOB interface=ether1-master
add bridge=outer interface=oVlan1
add bridge=outer interface=ether23
add bridge=inner interface=ether17
add bridge=inner interface=iVlan1
add bridge=inner interface=iVlan2
/ip address
add address=203.0.113.30/24 comment=defconf interface=ether1-master network=203.0.113.0
/ip dns
set servers=192.168.7.5
/ip route
add distance=1 gateway=203.0.113.1
/lcd interface pages
set 1 interfaces=ether13,ether14
/system clock
set time-zone-name=Australia/Sydney
/system ntp client
set enabled=yes primary-ntp=203.0.113.1

I realise I am probably doing something completely braindead but if anyone has suggestions as to why this wouldn’t work? Conversely, I had a trunk setup on another one in a similar manner that DOES work and cant for the life of me work out what’s different.

– This one works as expected –

jan/24/1970 22:22:05 by RouterOS 6.32.4

software id = 973Z-1E7G

/interface bridge
add name=mgt
add name=trunked
/interface ethernet
set [ find default-name=ether1 ] name=ether1-master
/interface vlan
add interface=ether8 name=tvlan10 vlan-id=10
add interface=ether8 name=tvlan11 vlan-id=11
/interface bridge port
add bridge=trunked interface=tvlan10
add bridge=mgt interface=tvlan11
add bridge=mgt interface=ether1-master
add bridge=mgt interface=ether2
add bridge=trunked interface=ether9
add bridge=trunked interface=ether10
/ip address
add address=203.0.113.30/24 interface=ether1-master network=203.0.113.0
/ip route
add distance=1 gateway=203.0.113.1