Master/Slave just controls interface isolation, and as I understand it link bonding basically just stops spanning tree from going nuts for starters, and then balances traffic as a second function.
I would think you just set eth1 as master, with eth2 and all other interfaces as slaves to it, then do the rest of your bonding/tagging config. I would assume that you allocate the VLANs to the bonding interface rather than eth1 or eth2.
Actually the CRS manual suggests using trunking rather than bonding. Doesn't support LACP but acts as a statically defined link aggregation group. Who cares? LACP stands for Link Aggregation Control Protocol
. We're just statically defining the same darned thing so we don't need a control protocol.
The code they provide is:
set ether6 master-port=ether2
set ether7 master-port=ether2
set ether8 master-port=ether2
/interface ethernet switch trunk
add name=trunk1 member-ports=ether6,ether7,ether8
At that point I'm guessing you would add VLAN tagging to the trunk interface. I just tested this, and as soon as I created a trunk, the individual interfaces I added to the trunk that were in the VLAN were removed from the VLAN and replaced with the trunk interface automatically.
Personally, when it comes to switching I force as much onto the CRS switch hardware as I can, otherwise the RouterOS CPU is having to do all the work. Using the switch hardware I can easily have multiple 1Gb/s data transfers occurring between interfaces within a VLAN.
Can I ask what kind of device is on the other end of the trunk? Cisco?