Subject: [netmod] [Technical Errata Reported] RFC6020 (3087)

From: RFC Errata System <[email-masked]>
Date: Mon, 9 Jan 2012 13:44:57 -0800 (PST)

The following errata report has been submitted for RFC6020,
"YANG - A Data Modeling Language for the Network Configuration Protocol (NETCONF)".

--------------------------------------
You may review the report below and at:
http://www.rfc-editor.org/errata_search.php?rfc=6020&eid=3087

--------------------------------------
Type: Technical
Reported by: Martin Bjorklund <[email-masked]>

Section: 12

Original Text
-------------
   deviate-add-stmt    = deviate-keyword sep add-keyword optsep
                         (";" /
                          "{" stmtsep
                              [units-stmt stmtsep]
                              *(must-stmt stmtsep)
                              *(unique-stmt stmtsep)
                              [default-stmt stmtsep]
                              [config-stmt stmtsep]
                              [mandatory-stmt stmtsep]
                              [min-elements-stmt stmtsep]
                              [max-elements-stmt stmtsep]
                          "}")

   deviate-delete-stmt = deviate-keyword sep delete-keyword optsep
                         (";" /
                          "{" stmtsep
                              [units-stmt stmtsep]
                              *(must-stmt stmtsep)
                              *(unique-stmt stmtsep)
                              [default-stmt stmtsep]
                          "}")

   deviate-replace-stmt = deviate-keyword sep replace-keyword optsep
                         (";" /
                          "{" stmtsep
                              [type-stmt stmtsep]
                              [units-stmt stmtsep]
                              [default-stmt stmtsep]
                              [config-stmt stmtsep]
                              [mandatory-stmt stmtsep]
                              [min-elements-stmt stmtsep]
                              [max-elements-stmt stmtsep]
                          "}")

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

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

   deviate-replace-stmt = deviate-keyword sep replace-keyword optsep
                         (";" /
                          "{" stmtsep
                              ;; these stmts can appear in any order
                              [type-stmt stmtsep]
                              [units-stmt stmtsep]
                              [default-stmt stmtsep]
                              [config-stmt stmtsep]
                              [mandatory-stmt stmtsep]
                              [min-elements-stmt stmtsep]
                              [max-elements-stmt stmtsep]
                          "}")

Notes
-----
The comment "these stmts can appear in any order" is missing from these three statements.

Instructions:
-------------
This errata 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 (IESG)
can log in to change the status and edit the report, if necessary. 

--------------------------------------
RFC6020 (draft-ietf-netmod-yang-13)
--------------------------------------
Title               : YANG - A Data Modeling Language for the Network Configuration Protocol (NETCONF)
Publication Date    : October 2010
Author(s)           : M. Bjorklund, Ed.
Category            : PROPOSED STANDARD
Source              : NETCONF Data Modeling Language
Area                : Operations and Management
Stream              : IETF
Verifying Party     : IESG

---

From: "Romascanu, Dan (Dan)" <[email-masked]>
Date: Tue, 10 Jan 2012 13:25:00 +0100

Question - if this errata is approved, would not this cause
interoperability problems between pre and post-errata implementations?
Would not a pre-errata parser shout 'error' when encountering statements
in 'any order'? 

Dan

> -----Original Message-----
> From: RFC Errata System [mailto:[email-masked]]
> Sent: Monday, January 09, 2012 11:45 PM
> To: [email-masked]; Romascanu, Dan (Dan); [email-masked];
> [email-masked]; [email-masked]
> Cc: [email-masked]; [email-masked]; [email-masked]
> Subject: [Technical Errata Reported] RFC6020 (3087)
> 
> 
> "YANG - A Data Modeling Language for the Network Configuration
Protocol
> (NETCONF)".
> The comment "these stmts can appear in any order" is missing from
these
> three statements.

---

From: Andy Bierman <[email-masked]>
Date: Tue, 10 Jan 2012 08:25:49 -0800

> Would not a pre-errata parser shout 'error' when encountering statements

I know yangdump allows any statement order and I think pyang does as well.
I think this change is safe, especially since deviations are not really being
used.

> Dan

Andy

---

From: Martin Bjorklund <[email-masked]>
Date: Tue, 10 Jan 2012 20:54:13 +0100 (CET)

> I know yangdump allows any statement order and I think pyang does as well.

It does, and I also checked two other open source tools, libsmi and
jYang.  So all four of these implementations already allow this.

> I think this change is safe, especially since deviations are not really being

Right.  And, more importantly, any module already written according to
these strict rules is still valid.

/martin