Bonding Questions (CRS109)

Hello all,

I’ve been having issues trying to build a bond between two interfaces (ether3,ether4) on my CRS109 and my TrueNAS storage server. I come from a Cisco background so if anyone could point me or explain how SwOS/RouterOS handles and manages bonding interfaces I would greatly appreciate it. For example:

  • Why do the sub-interfaces need to be removed from the bridge?


  • What exactly does one port being a “master” of another port do and why does that affect bonding interfaces?


  • Does/How does SwOS/RouterOS handle bonding interfaces differently than Cisco IOS?

Thank you!

It varies depending on the Mikrotik device architecture.

On CSS devices the ports are always part of the bridge. You can either assign two or more ports as a static link aggregation group or use LACP, either active or passive. From the help pages CSS610 use L2 hash https://help.mikrotik.com/docs/display/SWOS/CSS610+series+Manual#CSS610seriesManual-LAG, CSS326 and CRS3xx running SwOS use L2+L3+L4 hash https://help.mikrotik.com/docs/pages/viewpage.action?pageId=76415036#CRS3xxandCSS32624G2S+seriesManual-LAG

On CRS1xx/2xx devices to use hardware supported bonding use /interface ethernet switch trunk not /interface bonding. You assign two or more port members of a bridge as a static link aggregation group, note LACP is not supported. From the help page https://help.mikrotik.com/docs/pages/viewpage.action?pageId=103841836#CRS1xx/2xxseriesswitchesexamples-Trunking they use L2+L3 hash.

On other devices use /interface bonding, note the members of a bond interface should not themselves be added to a parent bridge only the bond interface. The switch chip can hardware offload the bonding if supported, see https://help.mikrotik.com/docs/display/ROS/Bridging+and+Switching#BridgingandSwitching-BridgeHardwareOffloading and https://help.mikrotik.com/docs/display/ROS/CRS3xx%2C+CRS5xx%2C+CCR2116%2C+CCR2216+switch+chip+features#CRS3xx,CRS5xx,CCR2116,CCR2216switchchipfeatures-Bonding, otherwise is handled by the CPU which may limit performance.

So using a CRS109 you should not configure TrueNAS with its default method of LACP, loadbalance would likely be best as roundrobin can lead to out-of-order packet delivery.

Amazing, thank you so much! It may have been I was trying to use “/interface/bonding” the whole time, causing my issues. I’ll try the approach you shared and hopefully be met with better results. Thank you again!