Re: [yang-doctors] Fwd: Re: Issue with ietf-dslite@2017-11-15.yang and yangdump-pro
Martin Bjorklund <mbj@tail-f.com> Sat, 23 December 2017 13:49 UTC
Return-Path: <mbj@tail-f.com>
X-Original-To: yang-doctors@ietfa.amsl.com
Delivered-To: yang-doctors@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id E28BF12D777 for <yang-doctors@ietfa.amsl.com>; Sat, 23 Dec 2017 05:49:08 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.91
X-Spam-Level:
X-Spam-Status: No, score=-1.91 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, SPF_PASS=-0.001, T_RP_MATCHES_RCVD=-0.01, 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 dH7TSVzQHkF5 for <yang-doctors@ietfa.amsl.com>; Sat, 23 Dec 2017 05:49:06 -0800 (PST)
Received: from mail.tail-f.com (mail.tail-f.com [46.21.102.45]) by ietfa.amsl.com (Postfix) with ESMTP id 59A4112D574 for <yang-doctors@ietf.org>; Sat, 23 Dec 2017 05:49:06 -0800 (PST)
Received: from localhost (h-85-209.A165.priv.bahnhof.se [94.254.85.209]) by mail.tail-f.com (Postfix) with ESMTPSA id A55B51AE0446; Sat, 23 Dec 2017 14:49:04 +0100 (CET)
Date: Sat, 23 Dec 2017 14:49:04 +0100
Message-Id: <20171223.144904.1579202476431827301.mbj@tail-f.com>
To: lhotka@nic.cz
Cc: andy@yumaworks.com, yang-doctors@ietf.org, mvasko@cesnet.cz
From: Martin Bjorklund <mbj@tail-f.com>
In-Reply-To: <1514034829.13134.15.camel@nic.cz>
References: <CABCOCHQ7GXs9UsiaP=J3TaQqe9ZPP_C-1aLT1Mcep6SyY-X_wQ@mail.gmail.com> <20171223.130153.578331858878241339.mbj@tail-f.com> <1514034829.13134.15.camel@nic.cz>
X-Mailer: Mew version 6.7 on Emacs 24.5 / Mule 6.0 (HANACHIRUSATO)
Mime-Version: 1.0
Content-Type: Text/Plain; charset="utf-8"
Content-Transfer-Encoding: base64
Archived-At: <https://mailarchive.ietf.org/arch/msg/yang-doctors/Hx6OY5MYycvSu-5FTReEqX014sA>
Subject: Re: [yang-doctors] Fwd: Re: Issue with ietf-dslite@2017-11-15.yang and yangdump-pro
X-BeenThere: yang-doctors@ietf.org
X-Mailman-Version: 2.1.22
Precedence: list
List-Id: Email list of the yang-doctors directorate <yang-doctors.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/yang-doctors>, <mailto:yang-doctors-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/yang-doctors/>
List-Post: <mailto:yang-doctors@ietf.org>
List-Help: <mailto:yang-doctors-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/yang-doctors>, <mailto:yang-doctors-request@ietf.org?subject=subscribe>
X-List-Received-Date: Sat, 23 Dec 2017 13:49:09 -0000
Ladislav Lhotka <lhotka@nic.cz> wrote: > On Sat, 2017-12-23 at 13:01 +0100, Martin Bjorklund wrote: > > Andy Bierman <andy@yumaworks.com> wrote: > > > On Sat, Dec 23, 2017 at 2:21 AM, Martin Bjorklund <mbj@tail-f.com> wrote: > > > > > > > Hi, > > > > > > > > See section 9.10.3 in RFC 7950: > > > > > > > > The string value of a node of type "identityref" in a "must" or > > > > "when" XPath expression is the referred identity's qualified name > > > > with the prefix present. > > > > > > > > and re. the prefix: > > > > > > > > If the referred identity is defined in an > > > > imported module, the prefix in the string value is the prefix defined > > > > in the corresponding "import" statement. Otherwise, the prefix in > > > > the string value is the prefix for the current module. > > > > > > > > > > > > I most cases you should consider using derived-from-or-self instead of > > > > equality test for identiyrefs. > > > > > > > > > > > > > > So what is "the current module"? > > > What is the resolution of 'X'? Is it foo:X or bar:X? > > > > foo:X > > No, the resolution of 'X' is 'X' Yes! Sorry, I misread the question. I though the question was what prefix should be used. /martin > because it is an XPath 1.0 string and XPath > knows nothing about YANG identities. Because of the rule of sec. 9.10.3, the > equality expression is always false. > > That's why we introduced the new XPath functions derived-from() and derived- > from-or-self() in YANG 1.1. > > Lada > > > > > > > /martin > > > > > > > > > > > > > > > > > > > > > /martin > > > > > > > > > > > > > > Andy > > > > > > > > > > > > > > > > > > > > > > Andy Bierman <andy@yumaworks.com> wrote: > > > > > On Fri, Dec 15, 2017 at 4:38 AM, Radek Krejčí <rkrejci@cesnet.cz> wrote: > > > > > > > > > > > Hi, > > > > > > I'm adding Michal Vasko to cc, he knows better how these things are > > > > > > checked in libyang. > > > > > > > > > > > > It seems to me that Andy refers the text which does not apply here. > > > > > > The > > > > > > identity name was used as part of XPath expresion (when-stmt), so the > > > > > > definition of the context nodes for the when-stmt (RFC 7950, sec > > > > > > > > 7.21.5) > > > > > > and XPath context rules should apply here. Not the rules for the > > > > > > identityref's base statement. In this case, the when-stmt is in > > > > > > > > augment so > > > > > > the context node (which we also understand as the current node in this > > > > > > case) is the augment's target node. And according to XPath context > > > > > > > > rules > > > > > > (RFC 7950, sec 6.4.1): > > > > > > > > > > > > o Names without a namespace prefix belong to the same namespace as > > > > > > > > the > > > > > > identifier of the current node. > > > > > > > > > > > > > > > > > > > > > I cc:ed YANG doctors to get more opinions... > > > > > > > > > > The current node is the augment-stmt. > > > > > Note that it does not say context node, which is the target of the > > > > > > > > augment. > > > > > I think prefixes (and default prefix) are resolved in the module > > > > > > > > containing > > > > > the statement. > > > > > > > > > > > > > > > module foo { > > > > > > > > > > import bar { prefix b; } > > > > > identity X; > > > > > > > > > > augment b:/some-node { > > > > > leaf test { > > > > > type string; > > > > > when "/b:some-node/b:other-node = 'X'"; > > > > > } > > > > > } > > > > > } > > > > > > > > > > module bar { > > > > > > > > > > identity W; > > > > > identity X { base W; } > > > > > container some-node { > > > > > leaf other-node { > > > > > type identityref { base W; } > > > > > } > > > > > } > > > > > } > > > > > > > > > > Q) Does other-node = 'X' resolve to foo:X or bar:X? IMO: foo:X > > > > > > > > > > > > > > > > > > > > Andy > > > > > > > > > > > > > > > > > > > > > In this particular case, the augment node with the when-stmt augments > > > > > > > > the > > > > > > same module which defines napt44, so they are in the correct namespace > > > > > > > > and > > > > > > the identity name can be used without the prefix. So it should be > > > > > > fine, > > > > > > while I believe that using prefix in the cases of identities is always > > > > > > better approach. From the first sight (it may be challenging for human > > > > > > > > to > > > > > > correctly resolve the context/current node in some cases), I would > > > > > > also > > > > > > expect prefix. > > > > > > > > > > > > I propose to keep the change in the draft (added nat prefix), since it > > > > > > improves readability of the expression. But I don't think that it is > > > > > > an > > > > > > error to ommit the prefix. > > > > > > > > > > > > Regards, > > > > > > Radek > > > > > > > > > > > > > > > > > > Dne 19.11.2017 v 20:42 Benoit Claise napsal(a): > > > > > > > Hi Radek, > > > > > > > > > > > > > > Here is a bug report for you. > > > > > > > > > > > > > > Regards, Benoit > > > > > > > > > > > > > > > > > > > > > -------- Forwarded Message -------- > > > > > > > Subject: Re: Issue with ietf-dslite@2017-11-15.yang and > > > > > > > > > > > > yangdump-pro > > > > > > > Date: Sat, 18 Nov 2017 13:22:58 -0800 > > > > > > > From: Andy Bierman <andy@yumaworks.com> > > > > > > > To: Benoit Claise <bclaise@cisco.com> > > > > > > > CC: draft-ietf-softwire-dslite-yang@ietf.org < > > > > > > > > > > > > draft-ietf-softwire-dslite-yang@ietf.org>, Mahesh Jethanandani < > > > > > > mjethanandani@gmail.com> > > > > > > > > > > > > > > > > > > > > > > > > > > > > Hi, > > > > > > > > > > > > > > yangdump-pro is correct. Every other compiler missed it... > > > > > > > > > > > > > > 9.10.2. The identityref's "base" Statement > > > > > > > > > > > > > > The "base" statement, which is a substatement to the "type" > > > > > > > statement, MUST be present at least once if the type is > > > > > > > "identityref". The argument is the name of an identity, as > > > > > > > > defined > > > > > > > by an "identity" statement. If a prefix is present on the > > > > > > > > identity > > > > > > > name, it refers to an identity defined in the module that was > > > > > > > imported with that prefix. *Otherwise, an identity with the > > > > > > > > matching > > > > > > name MUST be defined in the current module or an included submodule.* > > > > > > > > > > > > > > Using ietf-dslite@2017-11-15.yang and ietf-nat@2017-11-15.yang > > > > > > > > > > > > > > When I change 'natp44' to 'nat:natp44' in both when-stmts: > > > > > > > > > > > > > > andy@andy-homedev:~/Desktop/FD1289/IETF$ yangdump-pro > > > > > > > > > > > > ietf-dslite@2017-11-15.yang modpath=. > > > > > > > > > > > > > > *** /home/andy/Desktop/FD1289/IETF/ietf-dslite@2017-11-15.yang > > > > > > > *** 0 Errors, 0 Warnings > > > > > > > > > > > > > > andy@andy-homedev:~/Desktop/FD1289/IETF$ > > > > > > > > > > > > > > > > > > > > > Andy > > > > > > > > > > > > > > > > > > > > > On Sat, Nov 18, 2017 at 11:07 AM, Benoit Claise <bclaise@cisco.com > > > > > > > > > > > > <mailto:bclaise@cisco.com>> wrote: > > > > > > > > > > > > > > Hi Andy, > > > > > > > > > > > > > > Can you please have a look at ietf-dslite@2017-11-15.yang at > > > > > > > > > > > > http://www.claise.be/IETFYANGPageCompilation.html < > > > > > > > > http://www.claise.be/ > > > > > > IETFYANGPageCompilation.html> . > > > > > > > yangdump-pro reports a new error, while the other validators are > > > > > > > > > > > > fine. > > > > > > > > > > > > > > Copying Mahesh, as YANG doctor. > > > > > > > > > > > > > > Regards, Benoit > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > _______________________________________________ > > yang-doctors mailing list > > yang-doctors@ietf.org > > https://www.ietf.org/mailman/listinfo/yang-doctors > -- > Ladislav Lhotka > Head, CZ.NIC Labs > PGP Key ID: 0xB8F92B08A9F76C67 >
- Re: [yang-doctors] Fwd: Re: Issue with ietf-dslit… Andy Bierman
- Re: [yang-doctors] Fwd: Re: Issue with ietf-dslit… Martin Bjorklund
- Re: [yang-doctors] Fwd: Re: Issue with ietf-dslit… Andy Bierman
- Re: [yang-doctors] Fwd: Re: Issue with ietf-dslit… Martin Bjorklund
- Re: [yang-doctors] Fwd: Re: Issue with ietf-dslit… Ladislav Lhotka
- Re: [yang-doctors] Fwd: Re: Issue with ietf-dslit… Martin Bjorklund
- Re: [yang-doctors] Fwd: Re: Issue with ietf-dslit… Mahesh Jethanandani
- Re: [yang-doctors] Fwd: Re: Issue with ietf-dslit… Ladislav Lhotka
- Re: [yang-doctors] Fwd: Re: Issue with ietf-dslit… Andy Bierman
- Re: [yang-doctors] ?==?utf-8?q? ?==?utf-8?q? Fwd:… Michal Vaško
- Re: [yang-doctors] Fwd: Re: Issue with ietf-dslit… Ladislav Lhotka
- Re: [yang-doctors] Fwd: Re: Issue with ietf-dslit… Andy Bierman