Re: [babel] Benjamin Kaduk's No Objection on draft-ietf-babel-v4viav6-07: (with COMMENT)

Juliusz Chroboczek <jch@irif.fr> Thu, 24 February 2022 17:21 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 811C93A0CC7; Thu, 24 Feb 2022 09:21:25 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.9
X-Spam-Level:
X-Spam-Status: No, score=-1.9 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, 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 QEbNMwKO2FN6; Thu, 24 Feb 2022 09:21:23 -0800 (PST)
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 593653A0CBD; Thu, 24 Feb 2022 09:21:21 -0800 (PST)
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 21OHLI6v003759 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=NO); Thu, 24 Feb 2022 18:21:18 +0100
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 21OHLIKS026112; Thu, 24 Feb 2022 18:21:18 +0100
Received: from mailhub.math.univ-paris-diderot.fr (localhost [127.0.0.1]) by mailhub.math.univ-paris-diderot.fr (Postfix) with ESMTP id 18EF3C6736; Thu, 24 Feb 2022 18:21:18 +0100 (CET)
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 UWqAhLFJjZ9W; Thu, 24 Feb 2022 18:21:15 +0100 (CET)
Received: from pirx.irif.fr (unknown [78.194.40.74]) (Authenticated sender: jch) by mailhub.math.univ-paris-diderot.fr (Postfix) with ESMTPSA id 84C51C672C; Thu, 24 Feb 2022 18:21:15 +0100 (CET)
Date: Thu, 24 Feb 2022 18:21:15 +0100
Message-ID: <87v8x4yyd0.wl-jch@irif.fr>
From: Juliusz Chroboczek <jch@irif.fr>
To: Benjamin Kaduk <kaduk@mit.edu>
Cc: The IESG <iesg@ietf.org>, draft-ietf-babel-v4viav6@ietf.org, babel-chairs@ietf.org, babel@ietf.org, d3e3e3@gmail.com
In-Reply-To: <164487345176.21473.14999366501598853962@ietfa.amsl.com>
References: <164487345176.21473.14999366501598853962@ietfa.amsl.com>
User-Agent: Wanderlust/2.15.9 (Almost Unreal) Emacs/27.1 Mule/6.0
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]); Thu, 24 Feb 2022 18:21:18 +0100 (CET)
X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.2.7 (potemkin.univ-paris7.fr [194.254.61.141]); Thu, 24 Feb 2022 18:21:18 +0100 (CET)
X-Miltered: at korolev with ID 6217BE8E.001 by Joe's j-chkmail (http : // j-chkmail dot ensmp dot fr)!
X-Miltered: at potemkin with ID 6217BE8E.000 by Joe's j-chkmail (http : // j-chkmail dot ensmp dot fr)!
X-j-chkmail-Enveloppe: 6217BE8E.001 from potemkin.univ-paris7.fr/potemkin.univ-paris7.fr/null/potemkin.univ-paris7.fr/<jch@irif.fr>
X-j-chkmail-Enveloppe: 6217BE8E.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 : 6217BE8E.001 on korolev.univ-paris7.fr : j-chkmail score : . : R=. U=. O=. B=0.000 -> S=0.000
X-j-chkmail-Score: MSGID : 6217BE8E.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/PQuiO72BBxJAGNFE_dKBosekmKE>
Subject: Re: [babel] Benjamin Kaduk's No Objection on draft-ietf-babel-v4viav6-07: (with COMMENT)
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: Thu, 24 Feb 2022 17:21:26 -0000

Thanks, Benjamin.

> Section 2
> 
>                 This extension defines a new AE, called v4-via-v6, which
>    has the same format as the existing AE for IPv4 addresses.  This new
>    AE is only allowed in TLVs that carry network prefixes: TLVs that
>    carry a neighbour address use one of the normal encodings for IPv6
>    addresses.
> 
> (Could neighbor addresses also be IPv4 addresses?)

Clarified.

> Section 2.2
> 
>    *  the next hop MUST be computed as for an IPv6 route, as described
>       in Section 4.6.9 of [RFC8966]: it is taken from the last preceding
>       Next Hop TLV with an AE field equal to 2 or 3; if no such entry
>       exists, and if the Update TLV has been sent in a Babel packet
>       carried over IPv6, then the next hop is the network-layer source
>       address of the packet.
> 
> This phrasing implies that the Update TLV carrying a v4-via-v6 entry might
> be carried over something other than IPv6,

Yes.

> which in turn would require us to specify some behavior for handling it
> (specifically, when there is no preceding Next Hop TLV with AE of 2 or
> 3).

Section 4.6.9 of RFC 8966:

   otherwise, this Update MUST be ignored.

I don't think it deserves being repeated here, any implementation of
RFC 8966 must already handle that case.

>    As usual, a node MAY ignore the update, e.g., due to filtering
>    (Appendix C of [RFC8966]).  If a node cannot install v4-via-v6
>    routes, e.g., due to hardware or software limitations, then routes to
>    an IPv4 prefix with an IPv6 next hop MUST NOT be selected, as
>    described in Section 3.5.3 of [RFC8966].
> 
> I'm not entirely sure what the §3.5.3 reference is intending to point to.

Right.  Removed.

> So I don't see it as a useful reference for "don't select routes you can't
> install", and am not sure that a reference for specifically "route
> selection" is needed here.

Aside: I think that's a weak point of RFC 8966, it does not specify the
required alignment between the data plane and the control plane.
Unfortunately, I don't know of a good reference for that, it seems to me
like that's something that "everyone knows" must be done, but isn't
actually written down.  (And I don't think it's obvious.)

> Section 2.3
> 
>    When receiving requests, AEs 1 (IPv4) and 4 (v4-via-v6) MUST be
>    treated in the same manner: the receiver processes the request as
>    described in Section 3.8 of [RFC8966].  If an Update is sent, then it
>    MAY be sent with AE 1 or 4, as described in Section 2.1 above,
>    irrespective of which AE was used in the request.
> 
> (editorial) The referenced §2.1 doesn't use the "AE" phrasing to describe
> this scenario, which makes it harder for a reader to cross-reference to
> the intended content.

Right.  Fixed, but the other way than what you suggest, by repeating the
wording of 2.1 in 2.3.

>    When receiving a request with AE 0 (wildcard), the receiver SHOULD
>    send a full route dump, as described in Section 3.8.1.1 of [RFC8966].
>    Any IPv4 routes contained in the route dump MAY use either AE 1
>    (IPv4) or AE 4 (v4-via-v6), as described in Section 2.1 above.
> 
> The "MAY" here (and above, I suppose) feels a little confusing, as a
> literal reading of it gives the sender blanket permission to freely choose
> between AE=1 and AE=4, whereas in reality there are some preconditions on
> the use of AE=4 (namely, having an IPv6 next hop).  In other words, what's
> described in §2.1 is not actually an unqualified "MAY use either", so it's
> misleading to summarize it that way.  Would it be better to avoid any
> normative keywords here and just say that "the procedures for sending the
> Update TLVs comprising the full route dump are described in Section 2.1
> above"?

I've replaced "MAY" with "may", but I've kept the current wording, since
I think it's worth repeating that the request does not dictate the way the
updates are encoding.

> Section 4.1
> 
>    A new compression state for AE 4 (v4-via-v6) distinct from that of AE
>    1 (IPv4) is introduced, and MUST be used for address compression of
>    prefixes tagged with AE 4, as described in Section 4.6.9 of [RFC8966]
> 
> The string "compress" does not appear in §4.6.9 of RFC 8966.  Was a
> different section intended?

Added Section 4.5.

> Section 4.2
> 
>    As AE 4 (v4-via-v6) is suitable only for network prefixes, IHU
>    (Type = 5) and Next-Hop (Type = 7) TLVs MUST NOT be tagged with AE 4.
>    Such (incorrect) TLVs MUST be ignored upon reception.
> 
> We already imposed this requirement to not send AE=4 in IHU and Next-Hop;
> best practice is to use normative keywords exactly once when stating a
> given requirement, and refer to that statement of the requirement in
> situations where a reminder of the requirement is needed.

Done.

> Section 4.2.1
> 
>    *  Next Hop.  The next hop is determined as described in Section 2.2
>       above.
> 
> I'd consider emphasizing that the "determined" here applies both when
> constructing and receiving the Update.

Done.

> Section 5
> 
>    ignore v4-via-v6 routes.  They will also ignore requests with AE 4,
>    which, as stated in Section 2.3, are NOT RECOMMENDED.
> 
> In a similar vein as my comment on §4.2, I'd suggest the lowercase "not
> recommended" here.

Done.

-- Juliusz