BGP prefix disappearing without reason version 3

Hello,

I have a problem with Mikrotik RoS 3 (3.30 and 3.28). Using version 4 ot seems to work fine.
The setup is very simple, I am using BGP to provide fail-over between two directly Mikrotiks.

The problem is that when the Mikrotik version 3 establishes the second BGP session the first BGP
session looses all the prefixes it had for no reason. However on the Mikrotik version 4 it correctly
keeps the prefixes for both sessions.

I have attached a screenshot of both Mikrotik’s.
mik2.png
mik1.png

Your bgp-peers use the Same id?

Yes they are the same router.

Basically I have two routers with two interfaces, and for each interface there is a BGP session.

Router1 ---- link a ---- Router2
Router1 ---- link b ---- Router2

So I have one BGP session for link A and and another for link B. The BGP configuration is the same (no filters, just redistribute connected) so the prefix count on both session should match.

im surprised that even works at all on 4.x. You really should not have 2 duplicate peers. What’s the point anyhow?

Its for providing redundancy in case one of either link fails. I know I can do this with other solutions like OSPF or some Mikrotik scripts but:

  1. BGP runs over TCP so no I do not need L2.
  2. Not every CPE or PE is a Mikrotik in my network, BGP is supported by the other vendors.
  3. I need to filter routes based on BGP communities.

I would rebuild that a little bit.
create a loopback bridge on each router with a loopback address, and announce the loopback addresses via OSPF.
then set up the BGP peers using the loopback addresses.

Should a link fail, OSPF will converge and route packets the other way, keeping the BGP session alive.