[Babel-users] IPv4 over IPv6
Toke Høiland-Jørgensen
toke at toke.dk
Tue Mar 31 20:24:50 BST 2020
Juliusz Chroboczek <jch at irif.fr> writes:
> Dear all,
>
> Some of you might remember that Théo Bastian (in copy of this mail) is
> working on implementing a Babel extension for IPv4 routing with IPv6 next
> hops. Since the extension is meant to interoperate with other Babel
> routers, we've decided to encode IPv4-over-IPv6 routes as a new AE. So an
> IPv4-over-IPv6 route announcement consists of:
>
> 1. a normal Router-ID TLV ;
> 2. an IPv4-over-IPv6 Next Hop TLV carrying an IPv6 next-hop ;
> 3. an IPv4-over-IPv6 Update TLV carrying an IPv4 prefix.
>
> The Update is encoded in the new AE, which updates a separate set of
> compression state; the normal IPv4 compression state is left undisturbed.
> On the other hand, we have two natural ways of encoding the NH :
>
> (1) use a new NH, in the new AE ;
> (2) reuse the IPv6 NH (AEs 1 and 2).
>
> Encoding (1) has the advantage of being easier to explain. Encoding (2)
> has a number of advantages:
>
> (i) if a packet carries both IPv4 and IPv6 routes, the next-hop is only
> encoded once;
>
> (ii) we can use both AEs 1 and 2, which means that we can use the more
> compact encoding for link-local next-hops ;
>
> (iii) the code is slightly simpler.
>
> Initially, Théo preferred encoding (2), while I was in favour of (1).
> Théo rewrote all of his code in style (1), and after looking at his code,
> I'm having second thoughts.
>
> Does anyone have any good arguments one way or the other? Scratch this --
> does anyone have any arguments, not necessarily good?
I think I would lean towards (2). As you say, it's more compact, but
also, I think it makes sense conceptually: A v4-over-v6 *route* is
certainly something new, but a *next hop* itself is not v4-over-v6, it's
just a v6 address; so why would it need its own AE?
-Toke
More information about the Babel-users
mailing list