Re: [netmod] [Lsr] I-D Action: draft-ietf-lsr-ospfv3-extended-lsa-yang-10.txt

"Joel M. Halpern" <jmh@joelhalpern.com> Mon, 11 April 2022 17:44 UTC

Return-Path: <jmh@joelhalpern.com>
X-Original-To: netmod@ietfa.amsl.com
Delivered-To: netmod@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id F345A3A11B7; Mon, 11 Apr 2022 10:44:03 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.108
X-Spam-Level:
X-Spam-Status: No, score=-2.108 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, NICE_REPLY_A=-0.001, RCVD_IN_DNSWL_BLOCKED=0.001, RCVD_IN_MSPIKE_H3=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (1024-bit key) header.d=joelhalpern.com
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 N7WdLaHV4deV; Mon, 11 Apr 2022 10:43:59 -0700 (PDT)
Received: from mailb2.tigertech.net (mailb2.tigertech.net [208.80.4.154]) (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 5FAFB3A117D; Mon, 11 Apr 2022 10:43:59 -0700 (PDT)
Received: from localhost (localhost [127.0.0.1]) by mailb2.tigertech.net (Postfix) with ESMTP id 4KcbnW09gQz1nw4W; Mon, 11 Apr 2022 10:43:59 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=joelhalpern.com; s=2.tigertech; t=1649699039; bh=P6qw9l6+7HtngKf1NV8PE72DHPffHwYoGGGOJnso/bA=; h=Date:Subject:To:Cc:References:From:In-Reply-To:From; b=JO5C4aqmpO4jMZSztPU54vR1utncC92iyuessg0EcDRPXRfVs9nCWAIukLUEoT9Ge /yEdPMvCutubWpf1Xy/FFZC5gqO/mZPSqXUpL4/Cb1BhmWydpQpGgAbS4d1d9zU0cN UMgSAWN/aF+a9BeX3BSRx9HyrjE+mzFbAiGaR6Ow=
X-Quarantine-ID: <iP3GyVm2gobP>
X-Virus-Scanned: Debian amavisd-new at b2.tigertech.net
Received: from [192.168.21.218] (50-233-136-230-static.hfc.comcastbusiness.net [50.233.136.230]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits)) (No client certificate requested) by mailb2.tigertech.net (Postfix) with ESMTPSA id 4KcbnT3D1Tz1nsNP; Mon, 11 Apr 2022 10:43:57 -0700 (PDT)
Message-ID: <de50de1e-7f8c-5cdd-6809-b8fdf0b5df9d@joelhalpern.com>
Date: Mon, 11 Apr 2022 13:43:56 -0400
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101 Thunderbird/91.8.0
Content-Language: en-US
To: Andy Bierman <andy@yumaworks.com>, "Rob Wilton (rwilton)" <rwilton=40cisco.com@dmarc.ietf.org>
Cc: "lsr@ietf.org" <lsr@ietf.org>, "netmod@ietf.org" <netmod@ietf.org>
References: <164662287026.10186.17661147788695088858@ietfa.amsl.com> <AM7PR07MB62483353E387A0538EDA44C6A0E59@AM7PR07MB6248.eurprd07.prod.outlook.com> <AM7PR07MB6248D0B4D19EF3168DEC4864A0E59@AM7PR07MB6248.eurprd07.prod.outlook.com> <978D3500-5A9C-49FA-A259-B4E234CC9332@cisco.com> <AM7PR07MB6248CE4BDC0B27008D4F04BCA0E59@AM7PR07MB6248.eurprd07.prod.outlook.com> <2C00E058-F836-415E-A357-797E01FE77AD@cisco.com> <DB7E3112-3C2F-4040-81E1-F4625689DA62@chopps.org> <645FCC0B-8279-4070-B052-A553317B8474@cisco.com> <3F7DDA02-DEFA-4680-B048-1AB0A54C2FA1@chopps.org> <BB1D53D0-0D36-40DF-8B9D-4BD4EB6A35C1@cisco.com> <5b05a34d-41b6-7b65-ebe7-9dcaca80eeb2@alumni.stanford.edu> <m2wnfzydgz.fsf@ja.int.chopps.org> <530e30e1-9436-2123-7d03-eb4f876a9f90@alumni.stanford.edu> <BY5PR11MB4196F5F342BA12E79FF29B08B5EA9@BY5PR11MB4196.namprd11.prod.outlook.com> <CABCOCHS+uLjK5GcpCrmegCWBHoK=1-ySZhqO+D-TEnyGUki5kQ@mail.gmail.com>
From: "Joel M. Halpern" <jmh@joelhalpern.com>
In-Reply-To: <CABCOCHS+uLjK5GcpCrmegCWBHoK=1-ySZhqO+D-TEnyGUki5kQ@mail.gmail.com>
Content-Type: text/plain; charset="UTF-8"; format="flowed"
Content-Transfer-Encoding: 8bit
Archived-At: <https://mailarchive.ietf.org/arch/msg/netmod/L451hwwvnNnHQNUHKJDxifAcyyU>
Subject: Re: [netmod] [Lsr] I-D Action: draft-ietf-lsr-ospfv3-extended-lsa-yang-10.txt
X-BeenThere: netmod@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: NETMOD WG list <netmod.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/netmod>, <mailto:netmod-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/netmod/>
List-Post: <mailto:netmod@ietf.org>
List-Help: <mailto:netmod-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/netmod>, <mailto:netmod-request@ietf.org?subject=subscribe>
X-List-Received-Date: Mon, 11 Apr 2022 17:44:04 -0000

Do we have reason to believe that no one outside the IETF has used 
ip-address as we published in ways that need a zone?

It seems to me that the first step in the plan below is reasonable.  But 
changing ip-address itself seems a bad idea.  If one means no-zone, use 
the -no-zone typedef.

Yours,
Joel

On 4/11/2022 1:28 PM, Andy Bierman wrote:
> 
> 
> On Mon, Apr 11, 2022 at 10:07 AM Rob Wilton (rwilton) 
> <rwilton=40cisco.com@dmarc.ietf.org <mailto:40cisco.com@dmarc.ietf.org>> 
> wrote:
> 
>     Hi all,
> 
>     Thanks for the comments on this thread so far.  It would be nice if
>     we are able to come to some sort of rough consensus to a solution.
> 
>     I think that there is consensus that the YANG type ip-address (and
>     the v4/v6 versions) are badly named as the prominent default type
>     name has been given to the unusual variant of including zone
>     information.
> 
>     Based on the comments on this thread, it also seems likely to me
>     that most of the usages of ip-address in YANG RFCs is likely to be
>     wrong, and the intention was that IP addresses without zones was
>     intended.  At a rough count, of the published RFC YANG models at
>     github YangModels/standard/ietf/RFC/ to be:
>              86 uses of ip-address
>              68 uses of ipv4-address
>              66 uses of ipv6-address
> 
>              1 use of ip-address-no-zone
>              4 uses of ipv4-address-no-zone
>              4 uses of ipv6-address-no-zone
> 
>     These types appear in 49 out of the 141 YANG modules published in
>     RFCs.  At a quick guess/check it looks like these 49 YANG modules
>     may appear in 40-50 RFCs.
> 
>     As mentioned previously, it is also worth comparing this to the
>     OpenConfig YANG modules:
>     They have redefined ip-address (and v4/v6 variants) to exclude zone
>     information and have defined separate types include zone information.
>     There are no explicit uses of the "-zoned" variants of OpenConfig IP
>     addresses in the latest OpenConfig github repository.  However,
>     approximately a third of the IP address types are still to the
>     ietf-inet-types.yang rather than openconfig-inet-types.yang, so in
>     theory some of those 58 entries could still intentionally be
>     supporting zoned IP addresses, but I would expect that the vast
>     majority would not.
>     I do see some strong benefit if this basic type being defined in the
>     same way in both IETF and OC YANG, and I believe that the OC folks
>     have got the definition right.
> 
>     I see that some are arguing that the zone in the ip-address
>     definition is effectively optional, and implementations are not
>     really obliged to implement it.  I don't find that argument
>     compelling, at least not with the current definition of ip-address
>     in RFC 6991.  I see a clear difference between a type defined with
>     an incomplete regex that may allow some invalid values and a type
>     that is explicitly defined to included additional values in the
>     allowable value space.  Further, I believe that a client just
>     looking at the YANG module could reasonably expect a server that
>     implements a data node using ip-address would be expected to support
>     IP zones, where they are meaningful, or otherwise they should
>     deviate that data node to indicate that they don't conform to the model.
> 
>     We also need to be realistic as to what implementations will do. 
>     They are not going to start writing code to support zones just
>     because they are in the model.  They will mostly reject IP addresses
>     with zone information.  Perhaps some will deviate the type to
>     ip-address-no-zone, but probably most won't.
> 
>     The option of respinning approx. 40-50 RFCs to fix this doesn't feel
>     at all appealing.  This would take a significant amount of
>     time/effort and I think that we will struggle to find folks who are
>     willing to do this.  Although errata could be used to point out the
>     bug, then can't be used to fix it, all the errata would be "hold for
>     document update" at best.  Further, during the time that it would
>     take us to fix it, it is plausible that more incorrect usages of
>     ip-address will likely occur (but perhaps could be policed via
>     scripted checks/warnings).
> 
> 
>     I still feel the right long-term solution here is to get to a state
>     where the "ip-address" type means what 99% of people expect it to
>     mean, i.e., excluding zone information.
> 
>     Given the pushback on making a single non-backwards compatible
>     change to the new definition, I want to ask whether the following
>     might be a possible path that gains wider consensus:
> 
>     (1) In RFC 6991 bis, I propose that we:
>     (i) define new ip-address-with-zone types (and v4 and v6 versions)
>     and keep the -no-zone versions.
>     (ii) we change the description of "ip-address" to indicate:
>     - Although the type allows for zone information, many
>     implementations are unlikely to accept zone information in most
>     scenarios (i.e., so the description of the type more accurately
>     reflects reality).
>     - A new ip-address-with-zone type has been introduced to use where
>     zoned IP addresses are required/useful, and models that use
>     ip-address with the intention of supporting zoned IP addresses MUST
>     migrate to ip-address-with-zone.
>     - In the future (at least 2 years after RFC 6991 bis is published),
>     the expectation is that the definition of ip-address will change to
>     match that of ip-address-no-zone.
> 
>     (2) Then in 2 years time, we publish RFC 6991-bis-bis to change the
>     definition of ip-address to match ip-address-no-zone and deprecate
>     the "-no-zone" version at the same time.
> 
>     My reasoning as to why to take this path is:
>     (1) It is a phased migration, nothing breaks, 3rd parties have time
>     to migrate.
>     (2) It ends up with the right definition (with the added bonus that
>     it aligns to the OC definition).
>     (3) It doesn't require us republishing 40+ RFCs.
>     (4) it hopefully allows us to use YANG versioning to flag this as an
>     NBC change, along with the other standards to help mitigate this
>     change (import revision-or-derived, YANG packages, schema comparison).
> 
>     I would be keen to hear thoughts on whether this could be a workable
>     consensus solution - i.e., specifically, you would be able to live
>     with it.
> 
> 
> 
> This is a very thoughtful proposal. Looks good to me.
> 
> It does introduce a window in which some new modules might start using 
> 'ip-address-no-zone'.
> Should they wait for the real 'ip-address' in 2 more years or just use 
> 'ip-address-no-zone'?
> 
> The leaf description-stmt using 'ip-address' should specify if any zone 
> support is required.
> The default could be 'none' so no mention is needed most of the time.
> 
> 
> 
> 
>     Regards,
>     Rob
> 
> 
> 
> Andy
> 
> 
>      > -----Original Message-----
>      > From: netmod <netmod-bounces@ietf.org
>     <mailto:netmod-bounces@ietf.org>> On Behalf Of Randy Presuhn
>      > Sent: 08 April 2022 18:59
>      > To: Christian Hopps <chopps@chopps.org <mailto:chopps@chopps.org>>
>      > Cc: lsr@ietf.org <mailto:lsr@ietf.org>; netmod@ietf.org
>     <mailto:netmod@ietf.org>
>      > Subject: Re: [netmod] [Lsr] I-D Action:
>     draft-ietf-lsr-ospfv3-extended-lsa-
>      > yang-10.txt
>      >
>      > Hi -
>      >
>      > On 2022-04-08 5:11 AM, Christian Hopps wrote:
>      > ..
>      > > Instead, Acee (I'm not sure I'd call him WG B :) is asserting that
>      > > *nobody* actually wanted the current type, and it has been misused
>      > > everywhere and all over. The vast majority of implementations in
>      > > operation probably can't even handle the actual type (Andy's
>     point). So,
>      > > Acee is just the messenger of bad news here. Please note that
>     the AD in
>      > > charge of all this agreed with Acee as well.
>      >
>      > That's not the impression one gets from modules like
>      > https://www.ietf.org/archive/id/draft-ietf-mpls-mldp-yang-10.txt
>     <https://www.ietf.org/archive/id/draft-ietf-mpls-mldp-yang-10.txt>
>      > which employs both types.  So, regardless of whether one is willing
>      > to respect YANG's compatibility rules, it's no longer a matter of
>      > speculation whether a name change would cause actual damage -
>      > it clearly would.  Furthermore, my recollection is that the
>      > WG *did* discuss whether the "zonable" property was needed, so
>      > any argument based on the assertion that "*nobody* actually
>      > wanted the current type" seems to me to based on a false premise.
>      >
>      > Randy
>      >
>      > _______________________________________________
>      > netmod mailing list
>      > netmod@ietf.org <mailto:netmod@ietf.org>
>      > https://www.ietf.org/mailman/listinfo/netmod
>     <https://www.ietf.org/mailman/listinfo/netmod>
> 
>     _______________________________________________
>     netmod mailing list
>     netmod@ietf.org <mailto:netmod@ietf.org>
>     https://www.ietf.org/mailman/listinfo/netmod
>     <https://www.ietf.org/mailman/listinfo/netmod>
> 
> 
> _______________________________________________
> netmod mailing list
> netmod@ietf.org
> https://www.ietf.org/mailman/listinfo/netmod