The MIkroTik implementation of MPLS/LDP does not have fast reroute, so first OSPF timers must expire and then LDP timers have to also expire before a path is moved over. Sometimes this happens under a minute and sometimes it takes longer.
In, general though, we’ve deployed a large number of MPLS based MikroTik networks with multiple paths and not found this to be a widespread issue.
When there is a fault in L2 path, RB converges OSPF correctly to the new best path. But MPLS still tries the earlier interface, causing traffic loops.
The solution: disable MPLS LDP and re-enable it
When fault is corrected in L2 path, RB again converges OSPF correctly, but MPLS keeps freezed on the earlier interface, causing traffic in both interfaces.
The solution: disable MPLS LDP and re-enable it
When LDP is disabled and enabled again, MPLS “unfreezes”, refresh all LSP and agrees (sync) with OSPF decisions.
The example below shows OSPF route to 10.0.0.248 converged correctly via VLAN 195, but MPLS route still on earlier path (ether3):