BGP over link-local IPv6 remote peer gets no prefixes

Hi, I am a member of a decentralised network called dn42. I am trying to peer with another member but BGP over link-local IPv6 partially works. It does connect but it doesn’t get announced prefixes.

The connection is done over an OVPN Client on ethernet mode. I do get a link-local address and I can ping the link-local address of the peer.

But when it comes to BGP, things get a bit unusual.

# RouterOS 6.43.7
#
# model = RouterBOARD 750G r3
/routing bgp peer
add address-families=ipv6 in-filter=dn42-in instance=bgp-dn42-linuxgemini multihop=yes name=dn42-burble-ipv6 out-filter=dn42-out remote-address=\
    fe80::42:2601:23:1%tunnel-burble-dn42 remote-as=4242422601 route-reflect=yes ttl=default

The peer does connect however I get no prefixes on my routing table. My peer can see the prefixes are being exported but I don’t see it on my routes. The prefix count is always empty.

But when the peer “stretches” their network and assigns a new global IPv6 address, BGP works as expected.

# RouterOS 6.43.7
#
# model = RouterBOARD 750G r3
/routing bgp peer
add address-families=ipv6 in-filter=dn42-in instance=bgp-dn42-linuxgemini multihop=yes name=dn42-burble-ipv6 out-filter=dn42-out remote-address=\
    fd42:4242:2601:1000::2255:1 remote-as=4242422601 route-reflect=yes ttl=default

I assume it is eBGP peer, try to enable BGP debug logs, then you will see the reason why updates are ignored, most likely because advertised nexthop is not on the shared network.

I enabled the logs and as you said, the advertised nexthop is “::” which is not on the shared network.


Martian global next hop: unspecied address ::
NEXT_HOP :: is not on network shared with remote peer

Address list:


# removed link local addresses that are not related
Flags: X - disabled, I - invalid, D - dynamic, G - global, L - link-local 
 #    ADDRESS                                     FROM-POOL INTERFACE                         ADVERTISE
 0  G 2001:xxxx:xxxx:xxxx::x/64                               tunnelbroker1                     no       
 1  G 2001:xxxx:xxxx:xxxx::/64                      tunnel... lan-bridge                        yes      
 2 XG fd42:4242:2601:1000::2255:2/64                        tunnel-burble-dn42                yes      
 7 DL fe80::fc93:37ff:fe41:c551/64                          tunnel-burble-dn42                no

Routes:


Flags: X - disabled, A - active, D - dynamic, 
C - connect, S - static, r - rip, o - ospf, b - bgp, U - unreachable 
 #      DST-ADDRESS              GATEWAY                  DISTANCE
 0 A S  ::/0                     tunnel-burble-dn42              1
 1 A S  2000::/3                 2001:xxxx:xxxx:xxxx::y            1
 2 ADC  2001:xxxx:xxxx:xxxx::/64   tunnelbroker1                   0
 3 ADC  2001:xxxx:xxxx:xxxx::/64   lan-bridge                      0

Hello,

From error log you sent us

“is not on network shared with remote peer”

Can you enable multihope in BGP peer config ?

Hi,

Regardless of the multihop setting, I get the same error.

I also tried using a filter to set the next hop but the NLRI is ignored before the filter:

Martian global next hop: unspecied address ::

Because of that, I couldn’t manage to find a solution.