Re: [netmod] [Technical Errata Reported] RFC7950 (6031)

Ladislav Lhotka <lhotka@nic.cz> Fri, 03 April 2020 14:52 UTC

Return-Path: <lhotka@nic.cz>
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 38B713A16C9 for <netmod@ietfa.amsl.com>; Fri, 3 Apr 2020 07:52:18 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.897
X-Spam-Level:
X-Spam-Status: No, score=-1.897 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, SPF_HELO_NONE=0.001, SPF_NONE=0.001, URIBL_BLOCKED=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 NhfHN6acsfhr for <netmod@ietfa.amsl.com>; Fri, 3 Apr 2020 07:52:15 -0700 (PDT)
Received: from mail.nic.cz (mail.nic.cz [217.31.204.67]) (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 2F6C33A16C8 for <netmod@ietf.org>; Fri, 3 Apr 2020 07:52:12 -0700 (PDT)
Received: from birdie (unknown [IPv6:2a01:5e0:29:ffff:fc73:fa64:57e6:2115]) by mail.nic.cz (Postfix) with ESMTPSA id DCAC3141345 for <netmod@ietf.org>; Fri, 3 Apr 2020 16:52:09 +0200 (CEST)
Message-ID: <9c3ee87c0e9d14c8921796c4b53d44620b53a942.camel@nic.cz>
From: Ladislav Lhotka <lhotka@nic.cz>
To: netmod@ietf.org
Date: Fri, 03 Apr 2020 16:52:09 +0200
In-Reply-To: <DM5PR08MB263377515563D05220D299919BC70@DM5PR08MB2633.namprd08.prod.outlook.com>
References: <20200327161318.ykrx2s36bhmaglxq@anna.jacobs.jacobs-university.de> <MN2PR11MB43666AB22069D14FC3FB9A66B5C70@MN2PR11MB4366.namprd11.prod.outlook.com> <DM5PR08MB26333FAB53D3C4C781AB7B6B9BC70@DM5PR08MB2633.namprd08.prod.outlook.com> <20200403.155421.968858617291773287.id@4668.se> <DM5PR08MB263377515563D05220D299919BC70@DM5PR08MB2633.namprd08.prod.outlook.com>
Organization: CZ.NIC
Content-Type: text/plain; charset="UTF-8"
User-Agent: Evolution 3.36.1
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-Virus-Scanned: clamav-milter 0.101.4 at mail
X-Virus-Status: Clean
Archived-At: <https://mailarchive.ietf.org/arch/msg/netmod/5bC7Of8kGkFE-ye5IcgE3dvEqgM>
Subject: Re: [netmod] [Technical Errata Reported] RFC7950 (6031)
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: Fri, 03 Apr 2020 14:52:18 -0000

On Fri, 2020-04-03 at 14:01 +0000, Sterne, Jason (Nokia - CA/Ottawa) wrote:
> Hi Martin,
> 
> I believe you that the technical "value space" doesn't change, but that leaf
> would suddenly accept more values than it did before right?  I'm wondering if
> we want to follow the "spirit" here, or stick with the "value space" argument.

I agree with Martin here. Moreover, if such a derived type is added, it doesn't
change anything related to existing data, because they use the base type as
before. New data nodes may use the new type but no confusion can arise - their
type has "require-instance false", which is correct.

Lada  

> 
> I'm not really certain what the implications are (and maybe someone has an
> example of why it is better to allow it?) but overwriting require-instance
> with 'false' doesn't feel right.
> 
> Jason
> 
> > -----Original Message-----
> > From: Martin Björklund <mbj+ietf@4668.se>
> > Sent: Friday, April 3, 2020 9:54 AM
> > To: Sterne, Jason (Nokia - CA/Ottawa) <jason.sterne@nokia.com>
> > Cc: rwilton=40cisco.com@dmarc.ietf.org; j.schoenwaelder@jacobs-
> > university.de; mbj+ietf@4668.se; warren@kumari.net; netmod@ietf.org; rfc-
> > editor@rfc-editor.org
> > Subject: Re: [netmod] [Technical Errata Reported] RFC7950 (6031)
> > 
> > Hi,
> > 
> > "Sterne, Jason (Nokia - CA/Ottawa)" <jason.sterne@nokia.com> wrote:
> > > I don't think we should allow overwriting a require-instance true with
> > > a require-instance false in a derived type. It seems to go against the
> > > spirit of avoiding expansion of allowable values.
> > 
> > As I wrote earlier in this thread, the value space doesn't change with
> > require-instance.
> > 
> > 
> > /martin
> > 
> > 
> > 
> > > From section 4.1 of RFC7950:
> > > 
> > >         Derived types can restrict their base type's set of valid values
> > > 
> > > And this text in section 7.3.4 implies that derived types only do
> > > further restriction:
> > > 
> > >     If the type's default value is not valid according to the new
> > >    restrictions specified in a derived type or leaf definition, the
> > >    derived type or leaf definition MUST specify a new default value
> > >    compatible with the restrictions.
> > > 
> > > Going the other direction (overwriting with require-instance true)
> > > seems OK to me.
> > > 
> > > Jason
> > > 
> > > 
> > > > -----Original Message-----
> > > > From: netmod <netmod-bounces@ietf.org> On Behalf Of Rob Wilton
> > > > (rwilton)
> > > > Sent: Friday, April 3, 2020 8:06 AM
> > > > To: Juergen Schoenwaelder <j.schoenwaelder@jacobs-university.de>de>;
> > > > Martin
> > > > Björklund <mbj+ietf@4668.se>
> > > > Cc: warren@kumari.net; netmod@ietf.org; rfc-editor@rfc-editor.org
> > > > Subject: Re: [netmod] [Technical Errata Reported] RFC7950 (6031)
> > > > 
> > > > 
> > > > 
> > > > > -----Original Message-----
> > > > > From: netmod <netmod-bounces@ietf.org> On Behalf Of Juergen
> > > > Schoenwaelder
> > > > > Sent: 27 March 2020 16:13
> > > > > To: Martin Björklund <mbj+ietf@4668.se>
> > > > > Cc: ibagdona@gmail.com; warren@kumari.net; netmod@ietf.org; rfc-
> > > > > editor@rfc-editor.org
> > > > > Subject: Re: [netmod] [Technical Errata Reported] RFC7950 (6031)
> > > > > 
> > > > > On Fri, Mar 27, 2020 at 04:35:44PM +0100, Martin Björklund wrote:
> > > > > > [re-sent w/ correct address]
> > > > > > 
> > > > > > Juergen Schoenwaelder <j.schoenwaelder@jacobs-university.de>
> > wrote:
> > > > > > > Hi,
> > > > > > > 
> > > > > > > two comments:
> > > > > > > 
> > > > > > > - It is unclear to me whether this really qualifies as an errata.
> > > > > > > 
> > > > > > > - If we add this, then there should probably text about which
> > > > > > >   combinations are allowed. For example, for pattern and ranges,
> > there
> > > > > > >   is explicit text that says further restrictions of the value
> > > > > > > space
> > > > > > >   are possible, bot not expansions. If we follow that logic, then
> > > > > > > 
> > > > > > >   typedef a {
> > > > > > >     type leaf-ref {
> > > > > > >       path "/some/thing";
> > > > > > >       require-instance true;
> > > > > > >     }
> > > > > > >   }
> > > > > > > 
> > > > > > >   typedef b {
> > > > > > >     type a {
> > > > > > >       require-instance false;
> > > > > > >     }
> > > > > > >   }
> > > > > > > 
> > > > > > >   might be illegal since b has a larger value space than a.
> > > > > > 
> > > > > > The value space of b is the same as for a. "require-instance"
> > > > > > doesn't
> > > > > > change the value space; it changes semantic validation of the given
> > > > > > values ((see my mail from 17 Mar, "Require-instance problem").
> > > > > > 
> > > > > > /martin
> > > > > 
> > > > > OK. If we consider require-instance a constraint and not a
> > > > > restriction,
> > > > > then the motivation for this errata is at least
> > > > > confusing:
> > > > > 
> > > > >   Since no one argued against this understanding, this errata changes
> > > > >   the text to the same form as in other restrictions applicable to
> > > > >   derived types.
> > > > > 
> > > > > Simply put: Do you think it is OK to overwrite a require-instance true
> > > > > with a require-instance false in a derived type?
> > > > [RW]
> > > > I'm not sure, but going in the other direction seems plausible.
> > > > 
> > > > E.g. you start with a typedef that is explicitly require-instance
> > > > false that is then
> > > > refined by a typedef to be require-instance true.
> > > > 
> > > > Regards,
> > > > Rob
> > > > 
> > > > 
> > > > > /js
> > > > > 
> > > > > --
> > > > > Juergen Schoenwaelder           Jacobs University Bremen gGmbH
> > > > > Phone: +49 421 200 3587         Campus Ring 1 | 28759 Bremen | Germany
> > > > > Fax:   +49 421 200 3103         <https://www.jacobs-university.de/>
> > > > > 
> > > > > _______________________________________________
> > > > > netmod mailing list
> > > > > netmod@ietf.org
> > > > > https://www.ietf.org/mailman/listinfo/netmod
> > > > 
> > > > _______________________________________________
> > > > netmod mailing list
> > > > netmod@ietf.org
> > > > https://www.ietf.org/mailman/listinfo/netmod
> 
> _______________________________________________
> netmod mailing list
> netmod@ietf.org
> https://www.ietf.org/mailman/listinfo/netmod
-- 
Ladislav Lhotka
Head, CZ.NIC Labs
PGP Key ID: 0xB8F92B08A9F76C67