VLAN routing bottleneck on CRS354

Hello.

This is my first post, so I’ll try to explain my problem as thoroughly as possible.
I have my testing setup configured and running with the following configurations

Main router: RB750Gr3

  • VLAN150, VLAN200, VLAN201-Management
  • WAN interface
  • Firewall
    Main switch: CRS354
  • All ports are bridged and assigned to specific VLAN with trunk ports

The main idea is to have RB750 as WAN gateway, dhcp server, VPN server and firewall.
The main issue, that I’m having is when I’m transferring data from VLAN150 to VLAN200 or vice versa. Computers are connected to CRS ports and the routing goes over trunk interface from CRS to RB750, which results to a bottleneck with max speed of 1xGigabit interface.
When I’m transferring data from VLAN150 to VLAN150 everything works fine and data flow stays in CRS switch.

Is there any way to route all devices connected to CRS so that data flow goes from port to port?

I’m attaching exported config from both routers.

I thank you in advance for your support.
exportCRS.rsc (2.69 KB)
exportMAIN.rsc (2.86 KB)

This behavior is normal, because the trafic between to VLANs must be routed, witch is slower than the switching within a vlan.
If you want to avoid the trunk to the RB, you must transfer the routing and firewall for the vlans to your switch (CRS - Cloud Router Switch)and use the TK only as a gateway to the internet, if you want to keep using the RB.

You can consider to use linkaggregation (https://wiki.mikrotik.com/wiki/Manual:Interface/Bonding) for your link between the Router and the Switch or you can use one detected links for each VLAN between router and switch.

I would recommend replacing the RB750Gr3 with the CHR354.

Thank you for your answer!
I was trying to avoid moving above configs to CRS, since the real setup is in production offsite with many vlans and FW rules.

I guess I’ll just have to be really careful not to lock myself from router/switch

At some point in the future, you’ll be able to use the CRS354 to route between VLANs without using CPU. The functionality is there in many of the CRS3xx switches in the v7 beta software. However it’s not production ready yet.

Capabilities are here:
https://help.mikrotik.com/docs/display/ROS/CRS3xx+series+switches

I wrote a blog post with details here:
https://stubarea51.net/2020/10/12/mikrotik-routerosv7-first-look-l3-asic-performance-testing/

That’s exactly what I needed.
I will do some testing, to see if current dev version 7.1beta3 meets my goals, though I read in the article that 7.1beta4 will include modes (l3hw=yes and l3hw=fw) merged. I guess I have to wait a bit.