Re: RFC 8200: The Devil's Paragraph

神明達哉 <jinmei@wide.ad.jp> Fri, 28 February 2020 19:55 UTC

Return-Path: <jinmei.tatuya@gmail.com>
X-Original-To: ipv6@ietfa.amsl.com
Delivered-To: ipv6@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 6CE523A1D33 for <ipv6@ietfa.amsl.com>; Fri, 28 Feb 2020 11:55:02 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.399
X-Spam-Level:
X-Spam-Status: No, score=-1.399 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, FREEMAIL_FORGED_FROMDOMAIN=0.25, FREEMAIL_FROM=0.001, HEADER_FROM_DIFFERENT_DOMAINS=0.25, RCVD_IN_MSPIKE_H2=-0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=no 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 jY2MGb8nDzje for <ipv6@ietfa.amsl.com>; Fri, 28 Feb 2020 11:55:01 -0800 (PST)
Received: from mail-wr1-f46.google.com (mail-wr1-f46.google.com [209.85.221.46]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 99DC23A1D23 for <ipv6@ietf.org>; Fri, 28 Feb 2020 11:55:00 -0800 (PST)
Received: by mail-wr1-f46.google.com with SMTP id p18so4360097wre.9 for <ipv6@ietf.org>; Fri, 28 Feb 2020 11:55:00 -0800 (PST)
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc:content-transfer-encoding; bh=YGYA3sVZp+TZMmOir/481jUn46t3Axd/YJFS0esJs34=; b=EhHa/NVFRFakCdnk/zhXjdM6Xp+IJC40iO7UjRRSMeMAihsrdD5IGvPN8VLXKOrmgF 3RqR45YFNKc+Z2Loxy9OOxr+PtMGFbtWyq3BjkNY17kbib55068AaxWWkrhqctxYJDWD QKWZzSXKIP9zBrHtByyC+ig3ov+b0hAkmRVaYvnRdrJjM8ydKfRtOU3hmYN1cORGHx1U 64R8ueE4604yV1v3b0mHvTt5ep2A/WL6jV1iK2H+sJokFx1oRoQEl+MReIxS22DNsEO1 KsP8c3OqtcPU15VXSkUVuupteNQklC0Kmj3Oz4CiF3Tu+VHLsdvrt1jv/fqPKT9JPNDK GPLQ==
X-Gm-Message-State: APjAAAWIBV9/lpUdskfqUGdUMWmNLUk2fczfNE5AipOea5qDdXzMB8YO Ohpun+2uZHRsvKF2yvxbo+rm2mtFy4LrShZ7imC+9Q1s
X-Google-Smtp-Source: APXvYqyWqowXqsSU6JAlcaqctOiveowtiq7dTMLsx9YfGtmdnha3pvv8g0KWDJGysNv6RvN+MO0uVmMXhhmjND1uWvA=
X-Received: by 2002:a5d:6a04:: with SMTP id m4mr6108976wru.127.1582919698795; Fri, 28 Feb 2020 11:54:58 -0800 (PST)
MIME-Version: 1.0
References: <DM6PR05MB63482DDA36EEA130FF988178AEEB0@DM6PR05MB6348.namprd05.prod.outlook.com>
In-Reply-To: <DM6PR05MB63482DDA36EEA130FF988178AEEB0@DM6PR05MB6348.namprd05.prod.outlook.com>
From: 神明達哉 <jinmei@wide.ad.jp>
Date: Fri, 28 Feb 2020 11:54:47 -0800
Message-ID: <CAJE_bqebweDDxmMt_C-y+5jdpGs9WpG+nOOvxfn0iQGw2gZq0g@mail.gmail.com>
Subject: Re: RFC 8200: The Devil's Paragraph
To: Ron Bonica <rbonica=40juniper.net@dmarc.ietf.org>
Cc: 6man WG <ipv6@ietf.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
Archived-At: <https://mailarchive.ietf.org/arch/msg/ipv6/dFoUSyRrdMJ7l-7qDysIPeyitFs>
X-BeenThere: ipv6@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: "IPv6 Maintenance Working Group \(6man\)" <ipv6.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/ipv6>, <mailto:ipv6-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/ipv6/>
List-Post: <mailto:ipv6@ietf.org>
List-Help: <mailto:ipv6-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/ipv6>, <mailto:ipv6-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 28 Feb 2020 19:55:04 -0000

At Thu, 27 Feb 2020 22:52:20 +0000,
Ron Bonica <rbonica=40juniper.net@dmarc.ietf.org> wrote:

> Looking more closely at "The Devil's Paragraph", it may have a few problems..  Currently, it says:
>
> "Extension headers (except for the Hop-by-Hop Options header) are not
>    processed, inserted, or deleted by any node along a packet's delivery
>    path, until the packet reaches the node (or each of the set of nodes,
>    in the case of multicast) identified in the Destination Address field
>    of the IPv6 header."
>
> The problem is that the rules for processing, insertion and deletion are different. It should say the following about extension header processing:
>
> "The Hop-by-Hop Options header can be processed by any node in packet's delivery path. The Destination Options header and Routing header can be processed by any node in a packets delivery path, so long as one of that node's addresses appears in the Destination Address field of the packet's IPv6 header. The Fragment Header, Authentication Header, and Encapsulating Security Payload header can only be processed by packet's ultimate destination."
>
> Regarding insertion and deletion, we should say one of the following:
>
> "Extension headers cannot be added to a packet after it has left the its source node and extension headers cannot be removed from a packet until it has arrived at its ultimate destination".

Yeah, we should have said something like this in RFC8200.  It's
regrettable that I couldn't catch it at that time, but on a nearly
fresh read of the text I now see the issue clearly.  The very original
RFC2460 text said "Destination Address field of the IPv6 header"
presumably intending to cover the case of "processing" a destination
options header or a routing header (like address swapping or
decrementing segments left) at an intermediate destination specified
in a routing header.  But, in the discussion that led to the new
"inserted, or deleted" text in RFC8200, we were probably too focused
on clarifying the meaning of "processed" and didn't pay enough
attention to the end effect of the resulting sentence with
"Destination Address...".

But our intent at that time was obviously "after its source node...and
until it has arrived at its ultimate destination" (otherwise the
debate shouldn't have been that hot).

I have no comment about where this clarification should be made.  An
erratum may be enough in that it should simply clarify the actual
intent, but if it triggers another heated discussion on the process
itself, it's probably not an efficient way of using our time.  But I
agree this should be clarified somewhere.

> We can debate whether we want to make a special exception for
> Routing headers where Segment Left is equal to 0.

In terms of clarifying the original intent, I'd say it's out of scope
since it opens up corner cases like having another routing header with
segment left > 0 follows this routing header.  Just saying "ultimate
destination" seems to be enough.

--
JINMEI, Tatuya