BGP on /32 (/128) interfaces

Cathal Mooney cmooney at wikimedia.org
Fri May 17 12:18:34 CEST 2024


 

Perhaps the presence of the ‘direct’ keyword combined with a manual ‘interface X’ in a protocol block could signal to bypass the usual evaluation and force a neighbor to be considered ‘direct’?

 

Regards,

 

Cathal.

 

 

From: Bird-users <bird-users-bounces at network.cz> On Behalf Of Arzhel Younsi
Sent: Tuesday 14 May 2024 14:58
To: Ondrej Zajicek <santiago at crfreenet.org>
Cc: bird-users at network.cz
Subject: Re: BGP on /32 (/128) interfaces

 

Thank you all for your replies,

 

> Thinking about it, it makes sense to have something like direct mode that works with unnumbered interfaces (or ones with /32 address).

 

We also think that's would be very useful, either transparently to the user (depending on next hop resolution, eBGP/iBGP, IP's subnet mask) or through the addition of an explicit "direct" keyword.

What would be the process to turn this thread into a feature request ? And would the Bird maintainers be interested in implementing it ?

 

Thanks again !

 

 

On Mon, Apr 15, 2024 at 4:25 PM Ondrej Zajicek <santiago at crfreenet.org <mailto:santiago at crfreenet.org> > wrote:

On Mon, Apr 15, 2024 at 12:10:05PM +0200, Daniel Gröber wrote:
> Hi Arzhel,
> 
> On Fri, Apr 12, 2024 at 11:57:38AM +0200, Arzhel Younsi wrote:
> > But for IPv6, it's cleaner to only require the router's link local address:
> > testvm2006:~$ ip -6 addr
> > inet6 2620:0:860:140:10:192:24:4/128 scope global
> > testvm2006:~$ ip -6 route
> > default via fe80::2022:22ff:fe22:2201 dev ens13 metric 1024 pref medium
> > 
> > In Bird:
> > neighbor fe80::2022:22ff:fe22:2201%ens13 external;
> > 
> > But then the link local address doesn't work with multihop (for obvious
> > reason).
> > bird: /etc/bird/bird.conf:22:1 Multihop BGP cannot be used with link-local
> > addresses
> 
> I use lladdrs for BGP endpoints in my network and that works fine. I think
> using `direct` instead of `multihop` in the v6-lladdr case would make it
> work for you.
> 
> One word of advice: don't use the %scope syntax, use the `interface`
> directive instead. I don't recall exactly why but I had some subtle problem
> with that.
> 
> As for your v4/32 problem, give `multihop 1` a try. That enforces no
> routers on the path to the peer like direct but allows off-subnet
> endpoints. Do keep in mind the docs recommend setting the source address
> explicitly when enabling multihop.

Hi

Note that using multihop fixes the issue with waiting for the address
range to appear, but there is still an issue with next hop resolution.
Multihop routes use recursive next hop resolution and in the case of /32
address ranges, there is no route for resolving neighbor IP announced as
next hop.

One would need a static route like:

route NBR-IP/32 via "IFACE";

So the next hop will be resolved.


Thinking about it, it makes sense to have something like direct mode that
works with unnumbered interfaces (or ones with /32 address).

-- 
Elen sila lumenn' omentielvo

Ondrej 'Santiago' Zajicek (email: santiago at crfreenet.org <mailto:santiago at crfreenet.org> )
"To err is human -- to blame it on a computer is even more so."



-- 

Arzhel

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://trubka.network.cz/pipermail/bird-users/attachments/20240517/56125695/attachment.htm>


More information about the Bird-users mailing list