OSPF for IPv4 over IPv6 only?
Pim van Pelt
pim at ipng.ch
Fri Apr 5 16:27:27 CEST 2024
Hoi,
On 4/5/24 15:23, Ondrej Zajicek wrote:
> I have almost implemented 'extended next hop' for OSPFv3. But then i
> pivoted to supporting properly IPv4 loopback nexthop [*]. Now i have
> doubts about usefulness of 'extended next hop', as any IPv4 router needs
> at one IPv4 address anyways (at least to be able to send ICMP messages)
> and there is no need to put IPv4 addresses on links. Are there any good
> arguments for it?
In VPP, an interface that does not have an ip4 address, will not allow
for ip4 traffic to enter it. In other words, there must be an ip4
address on the interface before forwarding is turned on.
I know how to change that behavior in VPP, but it's not a problem in
practice, because we can set 'unnumbered' interface and borrow an IPv4
address from another interface, usually a loopback interface with a /32
ip4 and /128 ip6.
I think it'd be super cool to use OSPFv3 without IPv4 transit networks
and just reusing the loopback addresses, like so:
root at vpp0-2:~# ip -br a
lo UNKNOWN 127.0.0.1/8 ::1/128
loop0 UNKNOWN 192.168.10.2/32 2001:678:d78:200::2/128
fe80::dcad:ff:fe00:0/64
e0 UP 192.168.10.2/32 2001:678:d78:200::2/128
fe80::5054:ff:fef0:1120/64
e1 UP 192.168.10.2/32 2001:678:d78:200::2/128
fe80::5054:ff:fef0:1121/64
*
*However, up-thread (message of 2024-04-30, 16:04) I had that
configuration, saw the LSAs but did not see Linux (nor VPP) pick up the
routes. My suspicion is that your commit will be inert in this scenario,
because e0 already has an IPv4 address, so loopback_addr_used will
remain 0.
The good news is, I have two patches to VPP that may still allow for
this to work, one of them inhibits the 'unnumbered' interface from
propagating its address to e0, and the other allows an interface to
respond to ARP requests that are onlink but p2p and in another subnet.
in other words, the configuration would look like this:
root at vpp0-2:~# ip -br a
lo UNKNOWN 127.0.0.1/8 ::1/128
loop0 UNKNOWN 192.168.10.2/32 2001:678:d78:200::2/128
fe80::dcad:ff:fe00:0/64
e0 UP fe80::5054:ff:fef0:1120/64
e1 UP fe80::5054:ff:fef0:1121/64
.. and here I think your use-loopback commit will be active.,
*
*Let me build Bird with your use-loopback commit
<https://gitlab.nic.cz/labs/bird/-/commit/280daed57d061eb1ebc89013637c683fe23465e8>*and*
VPP with my unnumbered-inhibit commit
<https://github.com/pimvanpelt/lcpng/commit/a960d64a87849d312b32d9432ffb722672c14878>
*and* VPP accepting onlink ARP request (pending gerrit
<https://gerrit.fd.io/r/c/vpp/+/40482>).
I will then check to see if VPP is happy to set the correct nexthop
(both in Bird2, but also in the VPP FIB).
I'll report back after the weekend but thank you very much for working
on this (and/or the extended next hop feature).
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/20240405/e18a5ae7/attachment.htm>
More information about the Bird-users
mailing list