VLAN Translation via CPU

Hello,

I operate a network comprised of several Hex Refresh/E50UG to create a L2 trunked bridge between multiple sites via Zerotier. This works well, however I’ve encountered a new site with existing VLAN IDs which conflict with those already established on the MT/ZT network.

I’d like to translate these VLAN IDs within the local MT router before bridging them out onto the ZT trunk. It would seem that this could easily be done on the switch chip with other hardware, but unfortunately this does not appear to be the case with the E50UG’s switch chip.

So, curious if this can be accomplished on the CPU instead, and what that technique would be. Fallback plan would be to create several untagged links between the MT router and the existing switch at the site, each carrying a different VLAN and perform the ‘translation’ via copper, but would be inclined to implement a single trunk link between the switch and router, and perform the translation internally, if possible.

Thanks,
-Griffin

The “use only the CPU” way would be:

  • Remove the etherX interfaces from bridge(s).
  • Add VLAN interfaces with the desired VLAN IDs directly on the etherX interfaces.
  • Create multiple bridge interfaces, that bridge the relevant VLAN interfaces together.

This is of course against the best practice and very inefficient because everything is handled by the CPU, but should work.

And you should disable (R)STP as described here under Solution: Layer2 misconfiguration - RouterOS - MikroTik Documentation

Thanks much - I'll mock this up on the bench and see if it's viable given the likely performance hit.

When adding multiple VLAN interfaces direcly to the same EtherX interface, it is it implied these are added as tagged members of the port?

Thanks,
-Griffin

Yes, they are all tagged members of the port.

Thanks - got this mocked up and it's working as expected on the CPU.

However, ended up purchasing a RB5009UPr+S+IN which features the 88E6393X switch chip, which appeared that it may be able to handle the translation on the chip itself.

Thought that by configuring a switch rule on a given port with VLAN ID = XX and New VLAN ID = YY I'd be all set, but that doesn't appear to be working as expected. After some reading, it appears this rule/translation would only pertain to traffic between the switch ports themselves, but not to traffic headed toward the CPU/bridge, which needs to happen to be tied in with Zerotier.

So, looks like I'll be left with the multiple bridge/CPU approach here as well, unless I'm missing another approach which could be handled by the switch chip directly?