Babel and Unnumbered interfaces

Pim van Pelt pim at ipng.ch
Sat Mar 30 16:52:24 CET 2024


Hoi folks,

By means of context, I am working on allowing VPP and Bird2/Babel to 
program the routing table with IPv6 nexthops for IPv4 destinations.

I finished a few small code changes in VPP to allow transit-net-less 
transport of IPv4 and IPv6 in VPP and wrote about it on 
https://ipng.ch/s/articles/2024/03/06/vpp-babel-1.html 
<https://ipng.ch/s/articles/2024/03/06/vpp-babel-1.html>. Considering 
this dataplane has some different idioms than Linux, it took a bit of 
work. I thought you might find this VPP + Bird2 + Babel story from the 
field interesting. I wanted to ask you to read the article, and in 
particular the /Additional thoughts/ section at the bottom, as it tries 
to ask for opinions on a somewhat complex topic of unnumbered 
point-to-point interfaces in VPP.

On the VPP side, I have a small change 
(https://gerrit.fd.io/r/c/vpp/+/40482) that builds support for 
point-to-point over Ethernet. With this approach, VPP will copy the IPv4 
and IPv6 address over from a loopback interface to the ethernet transit 
networks.

In the article above, I mentioned in /Approach 3/,

    One option is to ask Babel to use |extended next hop| even when IPv4
    is available, which would be a change to Bird (and possibly a
    violation of the Babel specification, I should read up on that).


I don't think it's a violation of the Babel protocol to use IPv6 next 
hops when an IPv4 address is present. However, I noticed that in 
proto/babel/babel.c function babel_send_update_() the protocol /always/ 
prefers IPv4 when it's set.

My question: would it be feasible to extend the configuration syntax of 
/extended next hop/ to also allow keyword /always/, in which case the 
IPv6 nexthop is preferred even if an IPv4 address is present? The logic 
in proto/babel/babel.c 1039-1950 seems straight-forward to adapt to this 
case, in a non-intrusive way.

I can attempt a patch if the Bird (and Babel) community believes this is 
a useful behavior.

groet,
Pim

-- 
Pim van Pelt
PBVP1-RIPE -https://ipng.ch/
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://trubka.network.cz/pipermail/bird-users/attachments/20240330/ecb080a6/attachment.htm>


More information about the Bird-users mailing list