Re: [netmod] choice/case in tree diagrams
Benoit Claise <bclaise@cisco.com> Tue, 06 March 2018 12:57 UTC
Return-Path: <bclaise@cisco.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 B77EE1276AF for <netmod@ietfa.amsl.com>; Tue, 6 Mar 2018 04:57:29 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -14.511
X-Spam-Level:
X-Spam-Status: No, score=-14.511 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, SPF_PASS=-0.001, T_RP_MATCHES_RCVD=-0.01, USER_IN_DEF_DKIM_WL=-7.5] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (1024-bit key) header.d=cisco.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 ZxmemqXA6uJl for <netmod@ietfa.amsl.com>; Tue, 6 Mar 2018 04:57:27 -0800 (PST)
Received: from aer-iport-4.cisco.com (aer-iport-4.cisco.com [173.38.203.54]) (using TLSv1.2 with cipher DHE-RSA-SEED-SHA (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 090C6124207 for <netmod@ietf.org>; Tue, 6 Mar 2018 04:57:26 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=cisco.com; i=@cisco.com; l=7866; q=dns/txt; s=iport; t=1520341047; x=1521550647; h=subject:to:cc:references:from:message-id:date: mime-version:in-reply-to:content-transfer-encoding; bh=SGLBoYs9ooKI0leZGjDYs/whV0bMefsyRReJ8GqlmIk=; b=j1dsWS4rF2tX6mZuntxx4+ykB0iFE89C6VIXVxla+qlV0pNby53JiHuP xPrvrwWfct2NS4u43y7QjxNoAMc4cl396YO6ItL3DM11hqFfB9KKs91Bw mW+x0VEox/E4aXtlGp1P7BW19yF1UuInAQwSE1zhMf6Uw5CljWedgUWF5 o=;
X-IronPort-Anti-Spam-Filtered: true
X-IronPort-Anti-Spam-Result: A0B2AQA1j55a/xbLJq1cGQEBAQEBAQEBAQEBAQcBAQEBAYQ2cCiDVIsYjlULJ4EWlDSCFQoYC4Q+TwKDIjYWAQIBAQEBAQECayeFJAEBAQMBASEVNgsQCw4CCAICJgICJzAGAQwGAgEBF4UAEKhNgieEcoN3giEFgQ+EH4QFgg8MgniDLgEBhHyCYgSNfIxrCYlmhxIHgWeHLSaFPotJhg2BLiUCL4FSMxoIGxU6gkOCMRyBfD83jCYBAQE
X-IronPort-AV: E=Sophos;i="5.47,431,1515456000"; d="scan'208";a="2409136"
Received: from aer-iport-nat.cisco.com (HELO aer-core-4.cisco.com) ([173.38.203.22]) by aer-iport-4.cisco.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 06 Mar 2018 12:57:25 +0000
Received: from [10.55.221.36] (ams-bclaise-nitro3.cisco.com [10.55.221.36]) by aer-core-4.cisco.com (8.14.5/8.14.5) with ESMTP id w26CvO0N000316; Tue, 6 Mar 2018 12:57:24 GMT
To: Martin Bjorklund <mbj@tail-f.com>, vladimir@transpacket.com
Cc: netmod@ietf.org
References: <1520262414.7198.35.camel@nic.cz> <6a1ed43f-398b-4538-52aa-d7f8c219047e@tail-f.com> <c9a60629-a1de-0b5b-77a0-595f614bcad8@transpacket.com> <20180306.104411.829341372037212681.mbj@tail-f.com>
From: Benoit Claise <bclaise@cisco.com>
Message-ID: <e040e8c1-4361-4733-a170-4b95247979a4@cisco.com>
Date: Tue, 06 Mar 2018 13:57:24 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:52.0) Gecko/20100101 Thunderbird/52.6.0
MIME-Version: 1.0
In-Reply-To: <20180306.104411.829341372037212681.mbj@tail-f.com>
Content-Type: text/plain; charset="utf-8"; format="flowed"
Content-Transfer-Encoding: 7bit
Content-Language: en-US
Archived-At: <https://mailarchive.ietf.org/arch/msg/netmod/3-BxpQB1c8B3Gct6okMo_UZXzWQ>
Subject: Re: [netmod] choice/case in tree diagrams
X-BeenThere: netmod@ietf.org
X-Mailman-Version: 2.1.22
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: Tue, 06 Mar 2018 12:57:30 -0000
On 3/6/2018 10:44 AM, Martin Bjorklund wrote: > Hi, > > After thinking some more about this, realizing that this document is > in AUTH48, and looking at the first sentence in the Abstract: > > This document captures the current syntax used in YANG module tree > diagrams. > > I have reached the conclusion that we probably shouldn't make any > drastic changes. Obviously, otherwise I send the document back to the WG. Regards, Benoit > > The current syntax, with flags for choice but not for case, may look a > bit odd, but it does follow RFC 7950 where a choice node can have a > config property, but case cannot. Also, this syntax has now been used > for several years w/o causing much confusion. > > I suggest the following changes to this document: > > OLD: > > <flags> is one of: > rw for configuration data > ro for non-configuration data, output parameters to rpcs > and actions, and notification parameters > -w for input parameters to rpcs and actions > -u for uses of a grouping > -x for rpcs and actions > -n for notifications > mp for nodes containing a "mount-point" extension statement > > NEW: > > <flags> is one of: > rw for configuration data > ro for non-configuration data, output parameters to rpcs > and actions, and notification parameters > -w for input parameters to rpcs and actions > -u for uses of a grouping > -x for rpcs and actions > -n for notifications > mp for nodes containing a "mount-point" extension statement > > case nodes do not have any <flags>. > > Then, since the syntax requires whitespace before <name>: > > <status>--<flags> <name><opts> <type> <if-features> > > we need to fix the examples: > > OLD: > > +--rw (root-type) > +--:(vrf-root) > > NEW: > > +--rw (root-type) > +-- :(vrf-root) > > (two occurances) > > > > /martin > > > > Vladimir Vassilev <vladimir@transpacket.com> wrote: >> >> On 03/05/2018 06:40 PM, Per Hedeland wrote: >>> On 2018-03-05 16:06, Ladislav Lhotka wrote: >>>> On Mon, 2018-03-05 at 15:49 +0100, Per Hedeland wrote: >>>>> On 2018-03-05 15:41, Ladislav Lhotka wrote: >>>>>> On Mon, 2018-03-05 at 15:26 +0100, Martin Bjorklund wrote: >>>>>>> Juergen Schoenwaelder <j.schoenwaelder@jacobs-university.de> wrote: >>>>>>>> On Mon, Mar 05, 2018 at 02:54:18PM +0100, Martin Bjorklund wrote: >>>>>>>>>> So it seems the running code got it right. ;-) >>>>>>>>> As the author of that code, I think that was purely by accident... >>>>>>>>> >>>>>>>>> But I'm not convinced it is the correct solution. We have one example >>>>>>>>> in the other thread where someone was confused by the "rw" flag and >>>>>>>>> thought that it implied that the node would be present in the data >>>>>>>>> tree. >>>>>>>>> >>>>>>>> So what does rw mean? >>>>>>>> >>>>>>>> (i) The schema node has a rw property. >>>>>>>> (ii) The schema node can be instantiated and the instantiated data >>>>>>>> node >>>>>>>> has a rw property. >>>>>>>> >>>>>>>> I think it is difficult to have both at the same time. If the tree is >>>>>>>> a representation of schema nodes, then (i) seems to make more >>>>>>>> sense. That said, the explanation in 2.6 is somewhat vague since it >>>>>>>> says 'data' and not 'nodes' (like everywhere else): >>>>>>>> >>>>>>>> OLD: >>>>>>>> >>>>>>>> <flags> is one of: >>>>>>>> rw for configuration data >>>>>>>> ro for non-configuration data, output parameters to rpcs >>>>>>>> and actions, and notification parameters >>>>>>>> >>>>>>>> NEW: >>>>>>>> >>>>>>>> <flags> is one of: >>>>>>>> rw for configuration data nodes >>>>>>>> ro for non-configuration data nodes, output parameters to >>>>>>>> rpcs >>>>>>>> and actions, and notification parameters >>>>>>> I think this is ok. But that means that we also have to add: >>>>>>> >>>>>>> -- for a choice or case node >>>>>>> >>>>>>> But in order to be consistent, we should probably have: >>>>>>> >>>>>>> -- for a choice, case, input or output node >>>>>> But unlike the three other statements, "choice" can have the config >>>>>> substatement, so "rw/ro" makes sense there. >>>>> I don't think so - that config statement does not a define a property >>>>> of >>>>> the choice node (it can obviously neither be read nor written), only a >>>>> default for descendant data nodes, as described in section 7.21.1 of >>>>> RFC >>>>> 7950. >>>> It is not a default - if a choice has "config false", then no >>>> descendant can be >>>> "config true". One of the benefits of having rw/ro in the ascii tree >>>> is to see >>>> where a state data subtree actually starts. >>> It is a default, but yes, it is also a restriction in the specific >>> case >>> of the argument being "false" at a point where the default would >>> otherwise be "true". And in that case it is equivalent to having >>> "config >>> false" on all the descendant data nodes, and they will of course be >>> flagged as "ro" regardless of whether the "config false" comes from >>> the >>> choice or the individual data nodes - and that is where the state >>> *data* >>> suntree(s) actually start(s). >>> >>> So I guess the question then is whether this specific case motivates >>> always having flags on specifically choice nodes, while the other >>> non-data nodes have no flags. Since the 'config' statement is ignored >>> in >>> rpc/action input/output and notification, choice nodes there should >>> then >>> presumably have "-w"/"ro"/"-n". Personally I think the diagram is >>> clearer with flags only on the data nodes. >> When I think about it <flags> do not have any information contents >> outside of the context of a data tree and its schema. So if we are >> removing clutter we should probably start there by specifying that >> <flags> should be ommited under rpc,notification and action. >> >> Vladlimir >>> --Per >>> >>>> Lada >>>> >>>>> --Per >>>>> >>>>>> Lada >>>>>> >>>>>>> This means that the correct tree syntax for choice and case will be: >>>>>>> >>>>>>> +-- (subnet)? >>>>>>> +-- :(prefix-length) >>>>>>> | +--rw prefix-length? uint8 >>>>>>> +-- :(netmask) >>>>>>> +--rw netmask? yang:dotted-quad >>>>>>> >>>>>>> >>>>>>> /martin >>>>>>> >>>>>>> >>>>>>>> The document (as far as I searched for it) does not clearly say that >>>>>>>> 'node' means 'schema node'. In hindsight, it might have been useful to >>>>>>>> explicitely import terminology from RFC 7950 and to use it carefully >>>>>>>> (RFC 7950 has 'schema node' and 'data node' but here we largely talk >>>>>>>> about 'nodes' - and my assumption is that this means 'schema nodes'.) >>>>>>> _______________________________________________ >>>>>>> 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 >> _______________________________________________ >> 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] choice/case in tree diagrams Martin Bjorklund
- Re: [netmod] choice/case in tree diagrams Juergen Schoenwaelder
- Re: [netmod] choice/case in tree diagrams Vladimir Vassilev
- Re: [netmod] choice/case in tree diagrams Juergen Schoenwaelder
- Re: [netmod] choice/case in tree diagrams Martin Bjorklund
- Re: [netmod] choice/case in tree diagrams Juergen Schoenwaelder
- Re: [netmod] choice/case in tree diagrams Vladimir Vassilev
- Re: [netmod] choice/case in tree diagrams Martin Bjorklund
- Re: [netmod] choice/case in tree diagrams Martin Bjorklund
- Re: [netmod] choice/case in tree diagrams Ladislav Lhotka
- Re: [netmod] choice/case in tree diagrams Per Hedeland
- Re: [netmod] choice/case in tree diagrams Ladislav Lhotka
- Re: [netmod] choice/case in tree diagrams Per Hedeland
- Re: [netmod] choice/case in tree diagrams Mahesh Jethanandani
- Re: [netmod] choice/case in tree diagrams Vladimir Vassilev
- Re: [netmod] choice/case in tree diagrams Martin Bjorklund
- Re: [netmod] choice/case in tree diagrams Martin Bjorklund
- Re: [netmod] choice/case in tree diagrams Robert Wilton
- Re: [netmod] choice/case in tree diagrams Lou Berger
- Re: [netmod] choice/case in tree diagrams Martin Bjorklund
- Re: [netmod] choice/case in tree diagrams Lou Berger
- Re: [netmod] choice/case in tree diagrams Juergen Schoenwaelder
- Re: [netmod] choice/case in tree diagrams Benoit Claise
- Re: [netmod] choice/case in tree diagrams Martin Bjorklund
- Re: [netmod] choice/case in tree diagrams Juergen Schoenwaelder
- Re: [netmod] choice/case in tree diagrams Martin Bjorklund
- Re: [netmod] choice/case in tree diagrams Juergen Schoenwaelder
- Re: [netmod] choice/case in tree diagrams Ladislav Lhotka
- Re: [netmod] choice/case in tree diagrams joel jaeggli
- [netmod] Closing this issue: choice/case in tree … Benoit Claise
- Re: [netmod] Closing this issue: choice/case in t… Benoit Claise