But the saddest thing happens after the device is overloaded or the lights are turned off/on - the BFD session does not recover.
Using the Torch tool, I see that the ISP is sending packets via UDP to port 3784, but my device is not.
To activate a BFD session, you must first turn off the route and then turn it on.
Packets begin to flow in both directions.
I believe this is a serious software bug.
P.S. I know about other ways to control the gateway, but this topic is about BFD.
It is worth noting that the service itself is implemented and works perfectly when blocking UDP packets on port 3784.
The only question is to start the service after booting the device and write it in the configuration.
I would like to get some feedback from the developers.
As it was already mentioned here, BFD for static routes is not ready. Currently BFD session can be created by routing protocols with enabled BFD, static route may use existing session, if destination address match, but it cannot create the new session.
Maybe if you explicitly specify the interface. The only question is the launch after loading.
I cannot refuse the protocol at the moment, since the operator turned it on for us and we coordinated it for a long time.
Not to start yet another thread, I’d like to revive this one.
I’m currently running few ROS devices, 7.19.6, 7.20.7 and 7.21.1, all do support static route BFD check gateway as a separate task (initialize BFD session), but often fail to recover it after link failure (have to toggle static route to restart BFD session)
Since Mikrotik website redesign, it is hard to see changelog several versions deep, but I think I saw some changes related BFD check gateway.
I use BFD on BGP peers (which receive routes from eachother) and ping on generic ISP routes (where the important thing is “can we set default route via this ISP” and not “can the ISP route traffic to our IPs to us”).
As it is now, with settable ping interval parameters, and combined with “recursive routing” to allow ping tests both to the ISP gateway and to some arbitrary destination(s) on internet before the default route is set, it is fine for us. We use this for failover and it is reliable.