MikroTik Bonding interface - 1 way communication problem

Is there a way around this? I’ve noticed if using a Bonding interface in an active/backup setup, it is susceptible to 1 way traffic failures that will not properly failover. One router will correctly fail the active link and fall over to the backup. But the other will not and hence communication is broken and never fixes itself until the primary link actually comes back online
It seems that bonding interfaces don’t use any sort of keepalive packets, they just assume the interface is up and working, as long as its physically up

802.3ad mode uses internal “keepalives”; for active-backup, I’d normally say you have to configure link-monitoring=arp and some arp-ip-targets, at both peers. But the manual says arp monitoring does not “work correctly” if you connect two routers directly. No idea how inserting a switch into the path between the routers, as recommended in the manual, can improve this, but using mii for link monitoring as recommended in the manual may not notice one-way communications. So what is your actual topology? Direct copper links, fiber, radio… between the two bonding peers? Maybe you can use some other architecture than bonding in active-backup mode to obtain redundancy?

The concept is to provide active/backup over 2 different radio links. 60ghz primary and 5ghz failover
Currently using OSPF with BFD on the primary and regular OSPF on the secondary. This technically allows for fast failover but what I want is to treat them like a single link and suppress OSPF events. Have it failover at a lower level

This would also allow me to have far simpler selective traffic routing with failover
It’s not possible to do selective routing with OSPF alone, so static routing can be used to i.e. send VoIP traffic over the backup, but failoved does not work in that scenario
Instead it should theoretically be possible to use static routing on a 2nd bonding interface, with the 5ghz as primary and 60ghz as backup. And that way if the 5ghz fails it will move to 60ghz quickly

Well, using the same pair of physical links for two bonds is really an “extremely unusual” approach (my English vocabulary lacks more appropriate expressions :wink: ). It doesn’t work straight away at first place, you have to attach two /interface vlan to each physical link and modify the L2 and L3 MTU appropriately to allow that, and it only works between two Mikrotik devices (but that doesn’t matter in your case).

Other than that, as the routers are not interconnected directly by a passive cable but using some active equipment (the radios), I’d first use link-monitoring=arp to see whether it works before proceeding with the complete reconfiguration.

You could also use MSTP to let the voice VLAN prefer the 5 GHz link and the rest of the VLANs prefer the 60 GHz one, but the failover times in this case are in tens of seconds and you want fractions of second.

It’s because MikroTik lacks the appropriate routing techniques to allow selective pathing
If you know how to do it via routing (in a simple way, not tons of messy config that makes management a nightmare across hundreds of routers) then please let me know. I’ve attempted and failed to do so

The keyword is ‘failover’. You can selective steer traffic with mikrotik routing, but not with failover. It’ll just blindly send via a dead link