Probably something obvious but I’d been tearing my hair out. I have Mikrotik routers on towers connected via bridged radios.
To reduce broadcast traffic I have OSPF running with NBMA.
If a router boots up, everything was fine and working. However, if the link drops for whatever reason and OSPF goes down, it wouldn’t re-establish. Manually restarting OSPF (or disabling and re-enabling that particular NBMA neighbor) would re-establish OSPF adjacency.
Turns out I’d set priority to 0 instead of 1 which I didn’t think would matter as it wasn’t a broadcast network.
https://wiki.mikrotik.com/wiki/Manual:Routing/OSPF
NBMA domains act like LAN environment with DR/BDR elections except broadcasts and multicast are not allowed. I would recommend using PTP or PTMP OSPF network types to improve convergence.
Hindsight. I’ll experiment with PTMP OSPF next time I’m deploying a tower as it appears easier to config and reduces the amount of hello traffic (not that it’s a huge concern).
Did a bit more digging. The priority explanation for NBMA is in here but not on their main OSPF manual.
https://wiki.mikrotik.com/wiki/Manual:OSPF_Case_Studies
On a PtP interfaces not bridged - what is the recommended priority , Ether network type=broadcast priority=1 : Wlan network type=nbma priority=1 ( or should it be 0)