Bonding interface breaks bridge

Hello all,

I am trying to implement a bond of two wireless links using two RB5009UPr+S+'s, Side A and Side B.

Currently two RB960’s running Router OS 6 are performing this task but with limited packet per second performance.

Recreating the setup of the RB960’s on the 5009’s, forced to run OS 7 has proved unsuccessful in the field and now on a bench setup as well.
It seems that as soon as a bonding interface is present all traffic between the two 5009’s is no longer possible.
No traffic wants to flow from Side A to Side B and beyond when using the bonding interface, when using a single ether link outside of the bonding interface traffic flows freely between the two RB’s.
It’s as if there is a missing route rule between bridge and bonding interface but no change I try seems to allow traffic to flow.

I’m starting to go crazy, this setup was so easy on the OS6 960’s but the exact same config fails on OS7, please let me know were I am making a mistake in my config or the obvious point I’m missing.

Mikrotik’s bonding quick setup page has been used as the base setup

https://wiki.mikrotik.com/wiki/Manual:Interface/Bonding#Quick_Setup_Guide

Side A

2023-11-09 16:57:26 by RouterOS 7.12

software id = EAQ1-ST0V

model = RB5009UPr+S+

serial number = HEM08T1EGRY

/interface bridge
add igmp-snooping=yes name=bridge1 priority=0x4000 vlan-filtering=yes
/interface bonding
add mode=802.3ad name=bonding1 slaves=ether4,ether5
/interface list
add name=WAN
add name=LAN
/interface wireless security-profiles
set [ find default=yes ] supplicant-identity=MikroTik
/interface bridge port
add bridge=bridge1 interface=ether1
add bridge=bridge1 interface=ether2
add bridge=bridge1 interface=ether3
add bridge=bridge1 interface=ether6
add bridge=bridge1 interface=ether7
add bridge=bridge1 interface=ether8
add bridge=bridge1 interface=sfp-sfpplus1
/interface bridge settings
set allow-fast-path=no
/ip neighbor discovery-settings
set discover-interface-list=!dynamic
/interface list member
add interface=ether1 list=WAN
add interface=ether2 list=LAN
add interface=ether3 list=LAN
add interface=ether4 list=LAN
add interface=ether5 list=LAN
add interface=ether6 list=LAN
add interface=ether7 list=LAN
add interface=ether8 list=LAN
add interface=sfp-sfpplus1 list=LAN
/ip address
add address=192.168.1.9/24 interface=bridge1 network=192.168.1.0
add address=192.168.1.31/24 interface=bonding1 network=192.168.1.0
/ip dhcp-client
add disabled=yes interface=bridge1
/ip dns
set servers=192.168.1.1
/ip route
add disabled=no distance=1 dst-address=0.0.0.0/0 gateway=192.168.1.1
pref-src=“” routing-table=main scope=30 suppress-hw-offload=no
target-scope=10 vrf-interface=bridge1
add disabled=no distance=1 dst-address=192.168.1.11/32 gateway=bonding1
pref-src=“” routing-table=main scope=10 suppress-hw-offload=no
target-scope=10
/system clock
set time-zone-name=Africa/Johannesburg
/system identity
set name=DK
/system note
set show-at-login=no

Side B

# 2023-11-09 17:02:23 by RouterOS 7.12
# software id = FBQY-DJDD
#
# model = RB5009UPr+S+
# serial number = HEM08P0FXWV
/interface bridge
add fast-forward=no igmp-snooping=yes name=bridge1
/interface bonding
add mode=802.3ad name=bondingRVV slaves=ether4,ether5
/interface list
add name=WAN
add name=LAN
/interface wireless security-profiles
set [ find default=yes ] supplicant-identity=MikroTik
/interface bridge port
add bridge=bridge1 interface=ether1
add bridge=bridge1 interface=ether2
add bridge=bridge1 interface=ether3
add bridge=bridge1 interface=ether6
add bridge=bridge1 interface=ether7
add bridge=bridge1 interface=ether8
add bridge=bridge1 interface=sfp-sfpplus1
/interface bridge settings
set allow-fast-path=no
/ip neighbor discovery-settings
set discover-interface-list=!dynamic
/interface list member
add interface=ether1 list=WAN
add interface=ether2 list=LAN
add interface=ether3 list=LAN
add interface=ether4 list=LAN
add interface=ether5 list=LAN
add interface=ether6 list=LAN
add interface=ether7 list=LAN
add interface=ether8 list=LAN
add interface=sfp-sfpplus1 list=LAN
/ip address
add address=192.168.1.11/24 interface=bridge1 network=192.168.1.0
add address=192.168.1.33/24 interface=bondingRVV network=192.168.1.0
/ip dhcp-client
add disabled=yes interface=bridge1
/ip dns
set servers=192.168.1.1
/ip route
add disabled=no distance=1 dst-address=0.0.0.0/0 gateway=192.168.1.1 \
    pref-src="" routing-table=main scope=30 suppress-hw-offload=yes \
    target-scope=10 vrf-interface=bridge1
/system clock
set time-zone-name=Africa/Johannesburg
/system identity
set name=RVV
/system note
set show-at-login=no

Huh? This is definitely a no-go:

/ip address
add address=192.168.1.9/24 interface=bridge1 network=192.168.1.0
add address=192.168.1.31/24 interface=bonding1 network=192.168.1.0

You can’t have two independent interfaces with same network address and expect for router to figure it out. And if the same construct somehow worked in v6 it doesn’t mean that it’s not wrong.

Thanks for the response mkx but the Mikrotik guide suggests this kind of setup no? Two different ips in the same network range for the bonding function.

How would you implement this within a flat network setup?

For starters 802.3ad can only be used for directly connected Ethernet. Ie ethernet->ethernet.
I use balance XOR on my bonded wireless links.

With the rest of the set up:
You’ve made a layer two misconfiguration.
I suggest you follow this example provided by mikrotik wiki

https://wiki.mikrotik.com/wiki/Manual:Layer2_misconfiguration#Bonding_between_Wireless_links

You’ll need transport vlans for the data and management vlans to access the wireless devices on the bonded links.

Either simply add bond interface (bonding1) to bridge1 which makes the bond (from layer 2 perspective) equal member of LAN network. You can do teh same on both devices, in that case use one as switch only, without firewalling, routing, DHCP server and what not.
Or keep using bonding1 as separate interface but configure on it an IP address unrelated to both LAN subnets (and use that link as routing segment between both devices).

It pretty much depends on how you want to have topology of your network …