Re: [netmod] Adding a pre-existing leaf into a new 'choice' - NBC change?

Ladislav Lhotka <lhotka@nic.cz> Fri, 23 November 2018 13:29 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 82F9C12F1A2 for <netmod@ietfa.amsl.com>; Fri, 23 Nov 2018 05:29:25 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -7
X-Spam-Level:
X-Spam-Status: No, score=-7 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, RCVD_IN_DNSWL_HI=-5] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (1024-bit key) header.d=nic.cz
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 F97OzffTvdsc for <netmod@ietfa.amsl.com>; Fri, 23 Nov 2018 05:29:23 -0800 (PST)
Received: from mail.nic.cz (mail.nic.cz [IPv6:2001:1488:800:400::400]) (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 EFA0312E043 for <netmod@ietf.org>; Fri, 23 Nov 2018 05:29:22 -0800 (PST)
Received: from birdie (unknown [IPv6:2001:718:1a02:1::380]) by mail.nic.cz (Postfix) with ESMTPSA id 53B7864238; Fri, 23 Nov 2018 14:29:19 +0100 (CET)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=nic.cz; s=default; t=1542979759; bh=tQdfAxtKp6Udbh80Sb+59BiGT8uZtzj5NjVnj58Mrjk=; h=From:To:Date; b=F6GilWo/l1CrDvXyKej5bYlxP/UdjnpI/bQe1xu/4ioYFu7PQ0crKwN5gaJPI/Qqn XQbKRQFgJ7TlK3niyISY2j26hwR7X/9QCuC3IuF2wTwqseuwFdNt6q9dQA+ZHyHIAd ruNDDQrm2IULN+5JtJ6N6117pQiLa56qJC8clBJA=
Message-ID: <3c8272ada8f28ed41c0d7fc447fdded62f42bf13.camel@nic.cz>
From: Ladislav Lhotka <lhotka@nic.cz>
To: Juergen Schoenwaelder <j.schoenwaelder@jacobs-university.de>
Cc: netmod@ietf.org
Date: Fri, 23 Nov 2018 14:29:18 +0100
In-Reply-To: <20181123123907.4wuuojmoikb7fegr@anna.jacobs.jacobs-university.de>
References: <20181122163046.bkzck2bmbrf3fzm7@anna.jacobs.jacobs-university.de> <87tvk85et8.fsf@nic.cz> <20181123093813.gpxrtanbxgadpwih@anna.jacobs.jacobs-university.de> <20181123.110548.845126088727972359.mbj@tail-f.com> <20181123113341.br77pxmfhcwn6yck@anna.jacobs.jacobs-university.de> <d4e91369c2fe948fe6e2a884ee8dc889f6ce12c6.camel@nic.cz> <20181123123907.4wuuojmoikb7fegr@anna.jacobs.jacobs-university.de>
Organization: CZ.NIC
Content-Type: text/plain; charset="UTF-8"
User-Agent: Evolution 3.30.2
Mime-Version: 1.0
Content-Transfer-Encoding: 7bit
X-Virus-Scanned: clamav-milter 0.99.2 at mail
X-Virus-Status: Clean
Archived-At: <https://mailarchive.ietf.org/arch/msg/netmod/bF4wJMQbsyDfzYG7v1aOBw87t7c>
Subject: Re: [netmod] Adding a pre-existing leaf into a new 'choice' - NBC change?
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, 23 Nov 2018 13:29:26 -0000

On Fri, 2018-11-23 at 13:39 +0100, Juergen Schoenwaelder wrote:
> On Fri, Nov 23, 2018 at 01:02:03PM +0100, Ladislav Lhotka wrote:
> > > Here is an attempt to rewrite things in a way according to how I
> > > understand things works. It should be possible to describe what we
> > > mean. If we can't do that, we have a bigger problem. (I have changed
> > > only the last two sentences.)
> > > 
> > > OLD
> > > 
> > >    The leafref built-in type is restricted to the value space of some
> > >    leaf or leaf-list node in the schema tree and optionally further
> > >    restricted by corresponding instance nodes in the data tree.  The
> > >    "path" substatement (Section 9.9.2) is used to identify the referred
> > >    leaf or leaf-list node in the schema tree.  The value space of the
> > >    referring node is the value space of the referred node.
> > > 
> > > NEW
> > > 
> > >    The leafref built-in type is restricted to the value space of some
> > >    leaf or leaf-list node in the schema tree and optionally further
> > >    restricted by corresponding instance nodes in the data tree.  The
> > >    "path" substatement (Section 9.9.2) is used to identify a leaf or
> > >    leaf-list node in the data tree. The value space of the leafref
> > >    node is determined by the value space of the schema tree node
> > 
> > The term "value space of a schema tree node" is not defined.
> 
> OK. So we say 'the value space of the type of the schema tree node'.

Yes, this is better. But what if the schema tree node is made invalid due to a
failed "when" expression? Does it still apply?

>  
> > >    definining the referenced data tree node.
> > 
> > With require-instance=false there needn't be any referenced data tree node.
> 
> So we add "(irrespective whether the node exists or not).

If the data tree node doesn't exist, we cannot refer to the schema tree node
that defines it.

> 
> > > This likely is not perfect yet but perhaps we manage to make it
> > > perfect. ;-) What is not yet clearly described I think is what
> > > 'further restricted by corresponding instance nodes in the data tree'
> > > means (and that I think depends on require-instance). Perhaps add
> > 
> > Right. In this case it is not "further restricted" but rather there is a
> > discrete set of possible values.
> 
> A discrete set of possible values is a restriction so I do not
> understand your comment. So here is the next iteration:

If required-instance is true, there is no need to care about all this tricky
stuff with schema tree nodes and their types. In other words:

1. if required-instance = true, the permitted values are obtained from the data
tree.

2. if required-instance = false, the corresponding schema node has to be
determined, and its type defines the permitted values of the leafref node.

It is an exclusive-or, #1 is not an "optional further restriction".

Lada

> 
> NEW:
> 
>     The leafref built-in type is restricted to the value space of some
>     leaf or leaf-list node in the schema tree and optionally further
>     restricted by corresponding instance nodes in the data tree (see
>     Section 9.9.3).  The "path" substatement (Section 9.9.2) is used
>     to identify a leaf or leaf-list node in the data tree. The value
>     space of the leafref node is determined by the value space of the
>     type of the schema tree node definining the referenced data tree
>     node (irrespective whether the referenced data tree node exists or
>     not).
> 
> /js
> 
-- 
Ladislav Lhotka
Head, CZ.NIC Labs
PGP Key ID: 0xB8F92B08A9F76C67