CRS125-24G-1S-RM and LACP: Bottlenecks?

Hello,
I want to replace my existing switch with a CRS125-24G-1S-RM but I’m not sure about performance, I have four LACP LAGs used in a vSphere setup and I wanted to know if the combination of RouterOS and the switch chip were capable of performing, the CPU in Mikrotik’s always seems to be the bottleneck.

My setup is as such:

  • LACP LAG1 for ESX Host 1 (Ports 1 through 4) setup as VLAN trunk
  • LACP LAG2 for my router (Ports 5 through 8 ) setup as VLAN trunk
  • LACP LAG3 for ESX Host 2 (Ports 9 through 12) setup as VLAN trunk
  • LACP LAG4 for my Storage array (Ports 23 and 24) setup to accept untagged traffic into a VLAN

Can all this be done on the switch chip or will the traffic have to hit the CPU and be caught up in the bottleneck?

Currently all bonding on the CRS needs to be done on the CPU.

Yeah, the bottlenecks are a nightmare. Do not use this router/switch for vSphere. It has a max MTU of 4064 to make matters worse if it wasn’t bad enough. Other than price, it would always be better to get a separate switch and bond multiple connections with a separate router to get better performance. Disappointing.

Would a stock CCR1016-12G be a good fit for this application?

But with the switch trunk function, the lacp bondig will be made by hardware with wire-speed?

The process of bonding the connections (and transmitting/receiving ordered packets via various interfaces) is currently processed in CPU, so CPU will always be bottleneck.

Once it is programmed into switch chip it will be good.

You should be able to get 4 Gig out of that box with no problem even if the traffic is going through the CPU…bonding via LACP uses a hash algorithm that isn’t too taxing on the CPU. I’ve never run into an issue with bonding thoughput on CCRs…can’t speak to the CRS though.

Ok, but where is the difference between bonding and trunk?

Bonding is the “old style” and “router style” (/interface bonding)

and Trunk? is identical to Bonding only with a different name? (/interface ethernet switch trunk)

here http://wiki.mikrotik.com/wiki/Manual:CRS_features#Trunk the description is missing…

I think the name is wrong. A trunk is a port that carries more than 1 virtual connections. VLANs in our ethernet world :slight_smile:

As mentioned by above poster, Trunk in this context refers to a ‘trunk port’, which in switching refers to a port in which traffic with ALL vlans tagged (unless some form of ACL is set) is routed down the port (with the VLAN headers still in tact).

For instance, a link between 2 switches where you want the VLAN headers to remain constant.

ok, but this example?

http://wiki.mikrotik.com/wiki/Manual:CRS_examples#Trunking

The Trunking in the Cloud Router Switches provides IEEE802.3ad and IEEE802.1ax compliant link aggregation with hardware automatic failover and load balancing. Up to 8 Trunk groups are supported with up to 8 Trunk member ports per Trunk group.