RFC Errata

Errata Search

Source of RFC  
Summary Table Full Records

RFC 6020, "YANG - A Data Modeling Language for the Network Configuration Protocol (NETCONF)", October 2010

Source of RFC: netmod (ops)
See Also: RFC 6020 w/ inline errata

Errata ID: 4283
Status: Verified
Type: Technical
Publication Format(s) : TEXT

Reported By: Cesar Crusius
Date Reported: 2015-02-28
Verifier Name: Benoit Claise
Date Verified: 2015-03-11

Section 12 says:

stmtend = ";" / "{" *unknown_statement "}"

It should say:

stmtend = optsep (";" / "{" stmtsep "}") stmtsep


Note1: As specified, there are no spaces allowed between the unknown statements, and between the braces and the unknown statements.

The original "stmtend" rule does not allow for spaces between unknown
statements, which requires the "*unknown-statement" fix in "stmtend".

There is at least one place ("revision-date-stmt") where "stmtend" end
is not preceded by "optsep". Instead of fixing those rules, it is better to
include "optsep" in "stmtend" itself, since it should always be present.

On the same note, almost all "stmtend" uses are followed by a
"stmtsep", and any cases where that does not happen are probably an error, so again it is better to make that explicit in the "stmtend" rule itself.

With the change in this errata, there will be a lot of rules in the
ABNF with redundant (but not technically incorrect) "optsep" and "stmtsep" parts, as for example

module-header-stmts = ;; these stmts can appear in any order
[yang-version-stmt stmtsep]
namespace-stmt stmtsep
prefix-stmt stmtsep

namespace-stmt = namespace-keyword sep uri-str optsep stmtend

which now could be replaced with

module-header-stmts = ;; these stmts can appear in any order

namespace-stmt = namespace-keyword sep uri-str stmtend

These changes should probably be incorporated into the next ABNF

Report New Errata