Re: [spring] Spirit and Letter of the Law (was: Question about SRv6 Insert function)

Fernando Gont <fgont@si6networks.com> Thu, 05 September 2019 01:23 UTC

Return-Path: <fgont@si6networks.com>
X-Original-To: spring@ietfa.amsl.com
Delivered-To: spring@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 33D1C1208E4; Wed, 4 Sep 2019 18:23:46 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.899
X-Spam-Level:
X-Spam-Status: No, score=-1.899 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=unavailable 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 KKUHexO8RYmg; Wed, 4 Sep 2019 18:23:45 -0700 (PDT)
Received: from fgont.go6lab.si (fgont.go6lab.si [IPv6:2001:67c:27e4::14]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 380701208FA; Wed, 4 Sep 2019 18:23:42 -0700 (PDT)
Received: from [192.168.1.14] (ppp-94-69-228-25.home.otenet.gr [94.69.228.25]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by fgont.go6lab.si (Postfix) with ESMTPSA id EAE30860CC; Thu, 5 Sep 2019 03:23:37 +0200 (CEST)
To: Ron Bonica <rbonica=40juniper.net@dmarc.ietf.org>, Ole Troan <otroan@employees.org>, Fernando Gont <fernando@gont.com.ar>
Cc: draft-voyer-6man-extension-header-insertion <draft-voyer-6man-extension-header-insertion@ietf.org>, Suresh Krishnan <suresh.krishnan@gmail.com>, "6man@ietf.org" <6man@ietf.org>, "spring@ietf.org" <spring@ietf.org>, draft-ietf-spring-srv6-network-programming <draft-ietf-spring-srv6-network-programming@ietf.org>
References: <BYAPR05MB54637FEAE1518F83977D274FAEB80@BYAPR05MB5463.namprd05.prod.outlook.com>
From: Fernando Gont <fgont@si6networks.com>
Openpgp: preference=signencrypt
Message-ID: <0d3df64e-d596-1cac-eb3d-e08a6e1151ea@si6networks.com>
Date: Thu, 05 Sep 2019 04:23:28 +0300
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Thunderbird/60.8.0
MIME-Version: 1.0
In-Reply-To: <BYAPR05MB54637FEAE1518F83977D274FAEB80@BYAPR05MB5463.namprd05.prod.outlook.com>
Content-Type: text/plain; charset="utf-8"
Content-Language: en-US
Content-Transfer-Encoding: 7bit
Archived-At: <https://mailarchive.ietf.org/arch/msg/spring/2T-y3ni_Uf3tOq456rw3FOUYJVA>
Subject: Re: [spring] Spirit and Letter of the Law (was: Question about SRv6 Insert function)
X-BeenThere: spring@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: "Source Packet Routing in NetworkinG \(SPRING\)" <spring.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/spring>, <mailto:spring-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/spring/>
List-Post: <mailto:spring@ietf.org>
List-Help: <mailto:spring-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/spring>, <mailto:spring-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 05 Sep 2019 01:23:46 -0000

On 4/9/19 21:27, Ron Bonica wrote:
> Ole,
> 
> Yes, a deep breath and some introspection are always a good thing.
> 
> First, I think that we need to make a distinction between the "spirit" and "letter" of the law. Next, we need to make a statement regarding good engineering practice.
> 
> RFC 8200 mandates some things. For example, In an IPv6 header, the source address must precede the destination address. Any attempt to reverse those two would violate the letter of the law.
> 
> By contrast, RFC 8200 strongly suggests other things. For example, transit nodes should not insert or delete extension headers.

I don't think it "suggests" this. It clearly forbids it.



> In general, these suggestions should be heeded. But exemptions can be granted, on a case-by-case basis, 

An exception about this would be a major change regarding what IPv6 is
and its operation.



> For better or worse, RFC 8200 does not use RFC 2119 language. So it is difficult to distinguish between the spirit and letter of the law.

I think you can talk about spirit when there's room for interpretation,
or the text is not clear.

I don't think there's any of that in RFC8200 regarding EH insertion
being forbidden.

In fact, we added the text we added to make it clear that it was forbidden.



> Beyond that, we need to make a statement regarding good engineering practice.

I would like to contribute one: if one is to get into publishing specs,
new specs should comply with the specs they depend on (i.e. the
normative references). That means:

1) Don't violate other specs, or,
2) If you strongly feel like it, you first update the target spec, so
that you behave nicely (you eventually comply with it).



> If a technology violates the spirit of RFC 8200 once, with good reason, that is fine. 

I tend to differ here. If a technology is violating an aspect of a spec
on which we spend a long time and energy, that's not fine.

If we (IETF) do it, that would seem to be an indication of issues in the
standardization process -- we publishing specs that not even us comply
with doesn't seem to look nice.


Doing this kind of major surgery (EH insertion) after elevating IPv6 to
"Internet Standard" would bring another set of uncomfortable questions.

Thanks,
-- 
Fernando Gont
SI6 Networks
e-mail: fgont@si6networks.com
PGP Fingerprint: 6666 31C6 D484 63B2 8FB1 E3C4 AE25 0D55 1D4E 7492