v7 iBPG advertisements 1-way

I just upgraded our border routers from CHRs on v6 to 2216’s on v7.9. We have 2 border routers, each connected to a single upstream ISP and an iBGP peer between them. Everything seems to be working fine except routes are not being advertised from 1 of the border routers to the other. One router is advertising to the 2nd, but the second is not advertising back to the 1st. The connection/peer config is the same for both.

/routing bgp connection
add address-families=ip as=3xxxx connect=yes disabled=no hold-time=1m
input.affinity=alone keepalive-time=20s listen=yes local.address=
100.121.2.58 .role=ibgp multihop=yes name=IMS-BDR-iBGP nexthop-choice=
force-self output.affinity=alone .default-originate=never
.no-client-to-client-reflection=yes remote.address=100.121.2.57/32 .as=
3xxxx router-id=100.65.3.0 routing-table=main templates=default

/routing bgp connection
add address-families=ip as=3xxxx connect=yes disabled=no hold-time=1m
input.affinity=alone keepalive-time=20s listen=yes local.address=
100.121.2.57 .role=ibgp multihop=yes name=IMP-BDR-iBGP nexthop-choice=
force-self output.affinity=alone .default-originate=never
.no-client-to-client-reflection=yes remote.address=100.121.2.58/32 .as=
3xxxx router-id=100.65.2.0 routing-table=main templates=default

Do I need to enable client-client reflection on one? I didn’t think so, and it was not enabled with v6.
Border_routers.jpeg

Very strange. I can’t spot the mistake if there is one. You shouldn’t need client-to-client reflection especially since neither of your two devices are acting as rr/rr-client.

As far as I understand it, the logic is supposed to be:
eBGP → iBGP, send to other iBGP and rr-clients
iBGP → iBGP, do not send to other iBGP, do send to rr-clients
rr-clients → iBGP, send to other iBGP and rr-clients

I would expect your arrangement to work.

In other news, I’m struggling in the lab with 7.8stable where an iBGP session (AFI IPv4) has one route reflector client peer and one iBGP peer (to the other route reflector). It receives the routes from the rr-client but won’t propagate them to the iBGP peer. I’ve been checking and double-checking the config but with your post I’m beginning to wonder whether there is something broken with the “do I propagate this to an iBGP peer” logic in recent 7.x.

Thank you! I have tried both resend and refresh on the appropriate routers with no difference. The resend pcap file doesn’t show any update messages, so I’m almost positive the routes aren’t being sent.

I setup a little lab and it seems to be working as expected there. I guess I will try a reboot overnight.

Doubly weird if it’s not reproducible in the lab with the same configs.

I have been away from my lab for a bit and haven’t had time to work on mine. In my case the IPv4 and IPv6 sessions have nearly the same config and the IPv6 propagation pattern is what you’d expect but IPv4 isn’t. I’ll reboot my instances and see whether that helps.

Enabling redistribute other BGP for the iBGP peer got it working. I thought redistribute other BGP was for redistribution from another BGP instance. At least that’s what it says in the older documentation. So maybe it’s changed with v7. It also doesn’t make sense that one of the peers was advertising routes without redistribute BGP enabled.

It is what documentation says even in v7, most likely you have configured two separate instances.
https://help.mikrotik.com/docs/display/ROS/BGP#BGP-RunningMorethanOneInstance

Yes, thank you! I mistakenly put in a different router id for our upstream peer on one of the routers, which I’m assuming creates a new instance. I just fixed the router id, but it appears to still be in a different instance. Is there a way to tell for sure? Also, what do I need to do to get into the correct instance?

instance is determined by router id, but also local as for all sessions should be the same for bgp to work properly in such setups.