Re: [netmod] [Technical Errata Reported] RFC7950 (5157)
Vladimir Vassilev <vladimir@transpacket.com> Mon, 23 October 2017 11:58 UTC
Return-Path: <vladimir@transpacket.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 8266913F3C9 for <netmod@ietfa.amsl.com>; Mon, 23 Oct 2017 04:58:03 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.901
X-Spam-Level:
X-Spam-Status: No, score=-1.901 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, SPF_PASS=-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 PV_NB1d-R7nT for <netmod@ietfa.amsl.com>; Mon, 23 Oct 2017 04:57:58 -0700 (PDT)
Received: from mail.transpacket.com (s91205186171.blix.com [91.205.186.171]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id A557D13F3CA for <netmod@ietf.org>; Mon, 23 Oct 2017 04:57:57 -0700 (PDT)
Received: from localhost (localhost [127.0.0.1]) by mail.transpacket.com (Postfix) with ESMTP id ABFE41405A86; Mon, 23 Oct 2017 13:57:54 +0200 (CEST)
Received: from mail.transpacket.com ([127.0.0.1]) by localhost (mail.transpacket.com [127.0.0.1]) (amavisd-new, port 10032) with ESMTP id IkahAwcqP9m5; Mon, 23 Oct 2017 13:57:54 +0200 (CEST)
Received: from localhost (localhost [127.0.0.1]) by mail.transpacket.com (Postfix) with ESMTP id 7321D1405A88; Mon, 23 Oct 2017 13:57:54 +0200 (CEST)
Received: from mail.transpacket.com ([127.0.0.1]) by localhost (mail.transpacket.com [127.0.0.1]) (amavisd-new, port 10026) with ESMTP id 8iW35PGw-ahP; Mon, 23 Oct 2017 13:57:54 +0200 (CEST)
Received: from [192.168.209.122] (s1853520235.blix.com [185.35.202.35]) by mail.transpacket.com (Postfix) with ESMTPSA id 3D5B91405A84; Mon, 23 Oct 2017 13:57:54 +0200 (CEST)
To: Martin Bjorklund <mbj@tail-f.com>
References: <67172aec-686f-90ba-0fc8-1ce2bc3dcdb4@cisco.com> <CABCOCHRP2ooSG1BGWehD8BsCDF-pX97Q++=WftOxGvf=S57GAQ@mail.gmail.com> <6d43c6fb-ae11-df39-0dd4-766f7b25ac82@transpacket.com> <20171023.133559.470792369996870413.mbj@tail-f.com>
Cc: andy@yumaworks.com, netmod@ietf.org
From: Vladimir Vassilev <vladimir@transpacket.com>
Message-ID: <ca6baac5-b30a-de80-24e0-8463f01ec67f@transpacket.com>
Date: Mon, 23 Oct 2017 13:57:53 +0200
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Icedove/45.6.0
MIME-Version: 1.0
In-Reply-To: <20171023.133559.470792369996870413.mbj@tail-f.com>
Content-Type: text/plain; charset="windows-1252"; format="flowed"
Content-Transfer-Encoding: 7bit
Archived-At: <https://mailarchive.ietf.org/arch/msg/netmod/IORuMq_SGoq_bJLpJT3lkGCMYEc>
Subject: Re: [netmod] [Technical Errata Reported] RFC7950 (5157)
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: Mon, 23 Oct 2017 11:58:03 -0000
On 10/23/2017 01:35 PM, Martin Bjorklund wrote: > Vladimir Vassilev <vladimir@transpacket.com> wrote: >> Hello, >> >> I would like to use the occasion of this Errata report to point out >> some additional issues with the instance-identifier type definition. >> >> IMO the instance-identifier built-in type has 2 additional problems >> that can be addressed with alternative and significantly more radical >> errata or fixed in a new version of YANG.: >> >> Problem 1: The obvious limitation inherited from Xpath 1.0 - inability >> to escape single or double quote characters. In Xpath world this >> limitation is worked around by use of concat() which is not available >> in the YANG 1.1 instance-identifier definition. 2 examples of this >> limitation: >> >> 1. It is impossible to create value of type instance-identifier >> referencing nodes in lists with key string values containing both a >> single and a double quote characters e.g. ...<interface><name>"It's >> valid string!"</name></interface>. >> >> 2. Another example of the same problem would be a leaf of type >> instance-identifier referencing another leaf of type >> instance-identifier. With 2 references it works provided one is >> encoded with single quotes and the other with double but it is >> impossible to create third e.g. >> >> YANG: >> >> list id-list { >> key "id"; >> >> leaf id { >> type instance-identifier; >> } >> } >> >> Data: >> >> * /top/id-list[id="/top/list[idx='4']"] >> >> * /top/id-list[id="/top/id-list[idx='/top/list[idx=4]'"] <assuming the >> * proposed errata is also in effect> >> >> * <next reference not possible with YANG 1.1> >> >> Problem 2: The instance-identifier type lacks canonical form (which >> makes it the only data type with implementation dependent >> representation at the data level ... think of the integer types >> allowing optional spaces between the digits). This is in fact the only >> built-in data type that allows the server implementation to change the >> configuration data replacing double quotes with single or the other >> way around. Inserting white spaces where you did not have them when >> the configuration was submitted. You can not simply read a >> configuration and use fast data comparison without schema support just >> because of this type. This is useless flexibility for simple data >> type. >> >> And this can be fixed if: >> >> 1. white spaces in instance-identifiers are prohibited >> >> 2. list key predicates are required in alphabetical order > Or perhaps use the order the keys are defined in the data model (the > "keys" statement"). This is an option but then the e.g. xpath2instid() function implementations will need schema support. Vladimir > >> 3. strict quotation convention with escape option is added. (only >> 3. contradicts the sec. 9.13 ".. instance-identifier is a subset of >> the XPath ..") > I would like to change one more thing - I think it is unfortunate that > the lexical representation depends on the lexical context; > specifically that prefixes declared in the XML instance document is > used. This applies also to identityref. YANG 2.0 should use the same > encoding as JSON does for these datatypes. > > > > /martin > > > >> Vladimir >> >> On 10/21/2017 08:16 PM, Andy Bierman wrote: >>> >>> On Sat, Oct 21, 2017 at 12:28 AM, Benoit Claise <bclaise@cisco.com >>> <mailto:bclaise@cisco.com>> wrote: >>> >>> Dear all, >>> >>> Shall I validate this one? >>> >>> >>> >>> To add more context, this relates to the the RESTCONF JSON vs. XML >>> discussions in the NETCONF WG. >>> >>> leaf broken { >>> type union { >>> type int32; >>> type string; >>> } >>> } >>> >>> If all values of key leaf "broken" are sent as strings in an >>> instance-identifier, >>> then the int32 value may not match in all implementations, instead of >>> the string. >>> Allowing numbers as literals in addition to quoted strings allows the >>> sender >>> to be specific, and all implementations to be consistent. >>> >>> >>> Regards, Benoit >>> >>> >>> >>> Andy >>> >>> The following errata report has been submitted for RFC7950, >>> "The YANG 1.1 Data Modeling Language". >>> >>> -------------------------------------- >>> You may review the report below and at: >>> http://www.rfc-editor.org/errata/eid5157 >>> <http://www.rfc-editor.org/errata/eid5157> >>> >>> -------------------------------------- >>> Type: Technical >>> Reported by: Andy Bierman <andy@yumaworks.com >>> <mailto:andy@yumaworks.com>> >>> >>> Section: 14 >>> >>> Original Text >>> ------------- >>> key-predicate-expr = node-identifier *WSP "=" *WSP >>> quoted-string >>> >>> Corrected Text >>> -------------- >>> key-predicate-expr = node-identifier *WSP "=" *WSP >>> (quoted-string / integer-value / decimal-value) >>> >>> Notes >>> ----- >>> An instance identifier is forced to specify every key value to >>> be a string >>> even though the YANG key leaf type could be a numeric type. >>> XPath does not require a quoted string here, just YANG. >>> >>> Old: /top/list[idx="4"] >>> New: /top/list[idx=4] >>> >>> Instructions: >>> ------------- >>> This erratum is currently posted as "Reported". If necessary, >>> please >>> use "Reply All" to discuss whether it should be verified or >>> rejected. When a decision is reached, the verifying party >>> can log in to change the status and edit the report, if necessary. >>> >>> -------------------------------------- >>> RFC7950 (draft-ietf-netmod-rfc6020bis-14) >>> -------------------------------------- >>> Title : The YANG 1.1 Data Modeling Language >>> Publication Date : August 2016 >>> Author(s) : M. Bjorklund, Ed. >>> Category : PROPOSED STANDARD >>> Source : NETCONF Data Modeling Language >>> Area : Operations and Management >>> Stream : IETF >>> Verifying Party : IESG >>> . >>> >>> >>> >>> >>> >>> _______________________________________________ >>> 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] [Technical Errata Reported] RFC7950 (515… RFC Errata System
- Re: [netmod] [Technical Errata Reported] RFC7950 … Benoit Claise
- Re: [netmod] [Technical Errata Reported] RFC7950 … Andy Bierman
- Re: [netmod] [Technical Errata Reported] RFC7950 … Vladimir Vassilev
- Re: [netmod] [Technical Errata Reported] RFC7950 … Martin Bjorklund
- Re: [netmod] [Technical Errata Reported] RFC7950 … Martin Bjorklund
- Re: [netmod] [Technical Errata Reported] RFC7950 … Vladimir Vassilev
- Re: [netmod] [Technical Errata Reported] RFC7950 … Ladislav Lhotka
- Re: [netmod] [Technical Errata Reported] RFC7950 … Andy Bierman
- Re: [netmod] [Technical Errata Reported] RFC7950 … Martin Bjorklund
- Re: [netmod] [Technical Errata Reported] RFC7950 … Andy Bierman
- Re: [netmod] [Technical Errata Reported] RFC7950 … Andy Bierman
- Re: [netmod] [Technical Errata Reported] RFC7950 … Kent Watsen
- Re: [netmod] [Technical Errata Reported] RFC7950 … Andy Bierman
- Re: [netmod] [Technical Errata Reported] RFC7950 … Robert Wilton
- Re: [netmod] [Technical Errata Reported] RFC7950 … Jan Lindblad
- Re: [netmod] [Technical Errata Reported] RFC7950 … Ladislav Lhotka
- Re: [netmod] [Technical Errata Reported] RFC7950 … Robert Wilton
- Re: [netmod] [Technical Errata Reported] RFC7950 … Vladimir Vassilev
- Re: [netmod] [Technical Errata Reported] RFC7950 … Andy Bierman
- Re: [netmod] [Technical Errata Reported] RFC7950 … Vladimir Vassilev
- Re: [netmod] [Technical Errata Reported] RFC7950 … Andy Bierman
- Re: [netmod] [Technical Errata Reported] RFC7950 … Ladislav Lhotka