[babel] IPv4 over IPv6

Juliusz Chroboczek <jch@irif.fr> Tue, 31 March 2020 17:41 UTC

Return-Path: <jch@irif.fr>
X-Original-To: babel@ietfa.amsl.com
Delivered-To: babel@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id B0A6F3A25B6 for <babel@ietfa.amsl.com>; Tue, 31 Mar 2020 10:41:49 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: 0
X-Spam-Level:
X-Spam-Status: No, score=0 tagged_above=-999 required=5 tests=[SPF_HELO_NONE=0.001, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 2za2dSkCa5_p for <babel@ietfa.amsl.com>; Tue, 31 Mar 2020 10:41:47 -0700 (PDT)
Received: from korolev.univ-paris7.fr (korolev.univ-paris7.fr [IPv6:2001:660:3301:8000::1:2]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 6DD8D3A25B9 for <babel@ietf.org>; Tue, 31 Mar 2020 10:41:47 -0700 (PDT)
Received: from potemkin.univ-paris7.fr (potemkin.univ-paris7.fr [IPv6:2001:660:3301:8000::1:1]) by korolev.univ-paris7.fr (8.14.4/8.14.4/relay1/82085) with ESMTP id 02VHfhwu017412 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=NO); Tue, 31 Mar 2020 19:41:43 +0200
Received: from mailhub.math.univ-paris-diderot.fr (mailhub.math.univ-paris-diderot.fr [81.194.30.253]) by potemkin.univ-paris7.fr (8.14.4/8.14.4/relay2/82085) with ESMTP id 02VHfhkw020719; Tue, 31 Mar 2020 19:41:43 +0200
Received: from mailhub.math.univ-paris-diderot.fr (localhost [127.0.0.1]) by mailhub.math.univ-paris-diderot.fr (Postfix) with ESMTP id 46EB3C47D3; Tue, 31 Mar 2020 19:41:43 +0200 (CEST)
X-Virus-Scanned: amavisd-new at math.univ-paris-diderot.fr
Received: from mailhub.math.univ-paris-diderot.fr ([127.0.0.1]) by mailhub.math.univ-paris-diderot.fr (mailhub.math.univ-paris-diderot.fr [127.0.0.1]) (amavisd-new, port 10023) with ESMTP id LHrkeN9o5TA2; Tue, 31 Mar 2020 19:41:41 +0200 (CEST)
Received: from pirx.irif.fr (unknown [78.194.40.74]) (Authenticated sender: jch) by mailhub.math.univ-paris-diderot.fr (Postfix) with ESMTPSA id 92D6CC47D0; Tue, 31 Mar 2020 19:41:41 +0200 (CEST)
Date: Tue, 31 Mar 2020 19:41:41 +0200
Message-ID: <87o8scpgkq.wl-jch@irif.fr>
From: Juliusz Chroboczek <jch@irif.fr>
To: babel@ietf.org, babel-users@lists.alioth.debian.org
CC: Théophile Bastian <theophile.bastian@ens.fr>
User-Agent: Wanderlust/2.15.9
MIME-Version: 1.0 (generated by SEMI-EPG 1.14.7 - "Harue")
Content-Type: text/plain; charset="ISO-8859-1"
Content-Transfer-Encoding: 8bit
X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.2.7 (korolev.univ-paris7.fr [IPv6:2001:660:3301:8000::1:2]); Tue, 31 Mar 2020 19:41:43 +0200 (CEST)
X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.2.7 (potemkin.univ-paris7.fr [194.254.61.141]); Tue, 31 Mar 2020 19:41:43 +0200 (CEST)
X-Miltered: at korolev with ID 5E8380D7.000 by Joe's j-chkmail (http : // j-chkmail dot ensmp dot fr)!
X-Miltered: at potemkin with ID 5E8380D7.000 by Joe's j-chkmail (http : // j-chkmail dot ensmp dot fr)!
X-j-chkmail-Enveloppe: 5E8380D7.000 from potemkin.univ-paris7.fr/potemkin.univ-paris7.fr/null/potemkin.univ-paris7.fr/<jch@irif.fr>
X-j-chkmail-Enveloppe: 5E8380D7.000 from mailhub.math.univ-paris-diderot.fr/mailhub.math.univ-paris-diderot.fr/null/mailhub.math.univ-paris-diderot.fr/<jch@irif.fr>
X-j-chkmail-Score: MSGID : 5E8380D7.000 on korolev.univ-paris7.fr : j-chkmail score : . : R=. U=. O=. B=0.000 -> S=0.000
X-j-chkmail-Score: MSGID : 5E8380D7.000 on potemkin.univ-paris7.fr : j-chkmail score : . : R=. U=. O=. B=0.000 -> S=0.000
X-j-chkmail-Status: Ham
X-j-chkmail-Status: Ham
Archived-At: <https://mailarchive.ietf.org/arch/msg/babel/BRw9IIomrYjOXY2fTjXhBFeX1FY>
Subject: [babel] IPv4 over IPv6
X-BeenThere: babel@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: "A list for discussion of the Babel Routing Protocol." <babel.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/babel>, <mailto:babel-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/babel/>
List-Post: <mailto:babel@ietf.org>
List-Help: <mailto:babel-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/babel>, <mailto:babel-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 31 Mar 2020 17:41:50 -0000

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?

-- Juliusz