First of all I am happy I see multiple bgp instances + same routes/prefixes from different links.
I am facing a problem though since 2.9rc?? and I now see that this is also a case for routing-test package.
So the problem is this.
I have 2 ebgp neighbors and 1 multi-hop ebgp.
I see routes from the 2 neighbors just fine and use the best path algorythm as well but I also see routes from the multihop neighbor with unreachable state.
Don't rush into concluions yet! I have set a static route for the multihope neighbor and the ip is pingable without using any dynamic protocol. The nexthop IS reachable but the routes coming from it are designated gateway-state=unreachable and thus unusable.
Tryed the same thing by changing the setup and implementing ibgp instead of multihop with the router in the midle. Same thing, routes are coming from unreachable nexthop (gateway).
In my despare I did I third test just to see if there is a solution and found out the following to my surpise.
I keep ibgp (the ibgp neighbor is getting the routes from the ebgp neighbor that was once my multihop neighbor and is a nice Linux-with-quagga box) but instead of static routes or the nexthop neighbor I run ospf between the RouterOS and the ibgp neighbor (Linux quagga).
Automagically the problem is solved! The routes are coming from a reachable gateway. Can someone please explain why ospf route is better that my static route? It is exactly the same route but it's "D O" (Dynamic OSPF) and not AS( Active Static).
on 2.9 you cannot even see the routes. You only see xxx routes coming from the bgp peer print status but not injected in the routing table. With ospf as igp everything works fine!
On 2.8 there's no problem at all.
I hope someone sees this post and fixes it ASAP.
Thank you in advance