Subject: [netmod] [Technical Errata Reported] RFC7950 (5663)

From: RFC Errata System <[email-masked]>
Date: Mon, 18 Mar 2019 11:15:42 -0700 (PDT)

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/eid5663

--------------------------------------
Type: Technical
Reported by: Ebben Aries <[email-masked]>

Section: 14

Original Text
-------------
deviate-delete-stmt = deviate-keyword sep delete-keyword-str optsep
                      (";" /
                       "{" stmtsep
                           ;; these stmts can appear in any order
                           [units-stmt]
                           *must-stmt
                           *unique-stmt
                           *default-stmt
                       "}") stmtsep

Corrected Text
--------------
deviate-delete-stmt = deviate-keyword sep delete-keyword-str optsep
                      (";" /
                       "{" stmtsep
                           ;; these stmts can appear in any order
                           [units-stmt]
                           *must-stmt
                           *unique-stmt
                           *default-stmt
                           [config-stmt]
                           [mandatory-stmt]
                           [min-elements-stmt]
                           [max-elements-stmt]
                       "}") stmtsep

Notes
-----
Section 7.20.3.2 specifies all permitted substatements for the "deviate" statement however the ABNF grammar specifies different valid substatements per deviate argument.  The "delete" argument is one such that only contains a subset of what is defined in the substatement table in this section.

The errata mentioned at: https://www.rfc-editor.org/errata/eid5489 is meant to correct the following statement

"""
The argument "delete" deletes properties from the target node.  The
properties to delete are identified by substatements to the "delete"
statement.
"""

However this either needs to be a per argument table or ABNF correction

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              : Network Modeling
Area                : Operations and Management
Stream              : IETF
Verifying Party     : IESG

---

From: "Rob Wilton (rwilton)" <[email-masked]>
Date: Tue, 19 Mar 2019 18:12:57 +0000

Hi Ebben,

I've always taken the ABNF to list the definitive sub-statements that are allowed for the various deviate "add", "replace", or "delete" options.  Perhaps the RFC could state this more explicitly.  Perhaps raise an issue on the YANG Next issue tracker to clarify this (https://github.com/netmod-wg/yang-next/issues) and it might get discussed tomorrow.

Thanks,
Rob

-----Original Message-----
From: netmod <[email-masked]> On Behalf Of RFC Errata System
Sent: 18 March 2019 18:16
To: [email-masked]; [email-masked]; [email-masked]; [email-masked]; [email-masked]; [email-masked]
Cc: [email-masked]; [email-masked]
Subject: [netmod] [Technical Errata Reported] RFC7950 (5663)

The following errata report has been submitted for RFC7950, "The YANG 1.1 Data Modeling Language".

Section: 14

Original Text
-------------

Corrected Text
--------------

Notes
-----

"""
The argument "delete" deletes properties from the target node.  The properties to delete are identified by substatements to the "delete"
statement.
"""

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. 

_______________________________________________
netmod mailing list
[email-masked]
https://www.ietf.org/mailman/listinfo/netmod

---

From: Robert Varga <[email-masked]>
Date: Tue, 19 Mar 2019 23:27:58 +0100

> I've always taken the ABNF to list the definitive sub-statements that are allowed for the various deviate "add", "replace", or "delete" options.  Perhaps the RFC could state this more explicitly.…

I agree.

Proposed statements are simple cases, for which 'deviate replace' can be
used to specify the correct value -- for example remove 'min-elements'
by replacing it with 'min-elements 0'.

Regards,
Robert

---

From: Martin Bjorklund <[email-masked]>
Date: Fri, 29 Mar 2019 10:01:12 +0100 (CET)

Ebben Aries <[email-masked]> wrote:
> On Mar 19 23:27 PM, Robert Varga wrote:
> Sure - my point was rather that in either case we have an issue.  The
> table of substatements in 7.20.3.2 is either not accurate or we modify
> the grammar to match.

I agree that the document needs clarification, and the yang-next issue
will take care of that.  The document needs a clarification that the
refers to the grammar, or perhaps different substatement tables for
add/replace/delete.

Meanwhile, I think that this errata should be rejected.

/martin

> 'deviate replace' can be used to 'reverse' these
> substatements much like a 'delete' would as you point out but the
> wording in this section should state this - I'll raise an issue on the
> tracker
> 
> FWIW - pyang does not honor the grammar and allows for a mandatory
> substatement of 'deviate delete' while yanglint appears to follow the
> ABNF strictly
>