From 96b7099e1de042e16b7ea3179322c663fdb0fc2e Mon Sep 17 00:00:00 2001 From: kwatsen Date: Fri, 5 Jun 2026 16:25:58 -0400 Subject: [PATCH 01/19] Errata 4794: https://errata.rfc-editor.org/eid4794 --- draft-yn-netmod-yang2.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/draft-yn-netmod-yang2.xml b/draft-yn-netmod-yang2.xml index 4f3b489..a2ebe45 100644 --- a/draft-yn-netmod-yang2.xml +++ b/draft-yn-netmod-yang2.xml @@ -8834,9 +8834,9 @@ context, in addition to the definition in Date: Fri, 5 Jun 2026 16:27:58 -0400 Subject: [PATCH 02/19] Errata 4916: https://errata.rfc-editor.org/eid4916 --- draft-yn-netmod-yang2.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/draft-yn-netmod-yang2.xml b/draft-yn-netmod-yang2.xml index a2ebe45..24090e3 100644 --- a/draft-yn-netmod-yang2.xml +++ b/draft-yn-netmod-yang2.xml @@ -7706,7 +7706,7 @@ MUST be used. If the "augment" statement is a substatement to the If the target node is a container, list, case, input, output, or -notification node, the "container", "leaf", "list", "leaf‑list", +notification node, the "anydata", "anyxml", "container", "leaf", "list", "leaf‑list", "uses", and "choice" statements can be used within the "augment" statement. From 5e65fde7d5ef897c691e667b521a9ce881330845 Mon Sep 17 00:00:00 2001 From: kwatsen Date: Fri, 5 Jun 2026 16:32:27 -0400 Subject: [PATCH 03/19] Errata 5274: https://errata.rfc-editor.org/eid5274 --- draft-yn-netmod-yang2.xml | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/draft-yn-netmod-yang2.xml b/draft-yn-netmod-yang2.xml index 24090e3..c46c178 100644 --- a/draft-yn-netmod-yang2.xml +++ b/draft-yn-netmod-yang2.xml @@ -7625,7 +7625,9 @@ module: } ]]> -A corresponding XML instance example of the complete notification: +A corresponding XML instance example of the complete notification +follows. This example reports an event for an interface from the +"example-foo" module defined in Section 13.1.1. 2008-07-08T00:01:00Z fault - + /ex:interface[ex:name='Ethernet0'] major From c68ca4280f5878b99c0f59fd0eda41e03754d2b0 Mon Sep 17 00:00:00 2001 From: kwatsen Date: Fri, 5 Jun 2026 16:34:07 -0400 Subject: [PATCH 04/19] Errata 5489: https://errata.rfc-editor.org/eid5489 --- draft-yn-netmod-yang2.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/draft-yn-netmod-yang2.xml b/draft-yn-netmod-yang2.xml index c46c178..0167e2a 100644 --- a/draft-yn-netmod-yang2.xml +++ b/draft-yn-netmod-yang2.xml @@ -8546,7 +8546,7 @@ statement. The properties to replace MUST exist in the target node. The argument "delete" deletes properties from the target node. The -properties to delete are identified by substatements to the "delete" +properties to delete are identified by substatements to the "deviate" statement. The substatement's keyword MUST match a corresponding keyword in the target node, and the argument's string MUST be equal to the corresponding keyword's argument string in the target node. From a769fbf15ef09bba623bb24f4382f669a7f4bbba Mon Sep 17 00:00:00 2001 From: kwatsen Date: Fri, 5 Jun 2026 16:37:05 -0400 Subject: [PATCH 05/19] Errata 5517: https://errata.rfc-editor.org/eid5517 --- draft-yn-netmod-yang2.xml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/draft-yn-netmod-yang2.xml b/draft-yn-netmod-yang2.xml index 0167e2a..d939028 100644 --- a/draft-yn-netmod-yang2.xml +++ b/draft-yn-netmod-yang2.xml @@ -11160,10 +11160,10 @@ submodule. ]]> The derived-from-or-self() function returns "true" if any node in the -argument "nodes" is a node of type "identityref" and -its value is an identity that is equal to or derived from -(see ) the identity "identity"; otherwise, -it returns "false". +argument "nodes" is a node of type "identityref" or a type derived +from "identityref", and its value is an identity that is equal to or +derived from (see Section 7.18.2) the identity "identity"; +otherwise, it returns "false". The parameter "identity" is a string matching the rule From 871bb936aa18bc34b76b76d0cc66bb347ea475b4 Mon Sep 17 00:00:00 2001 From: kwatsen Date: Fri, 5 Jun 2026 16:41:52 -0400 Subject: [PATCH 06/19] Errata 5807: https://errata.rfc-editor.org/eid5807 --- draft-yn-netmod-yang2.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/draft-yn-netmod-yang2.xml b/draft-yn-netmod-yang2.xml index d939028..14a6aa2 100644 --- a/draft-yn-netmod-yang2.xml +++ b/draft-yn-netmod-yang2.xml @@ -8848,7 +8848,7 @@ any) of the nodes added by the "augment" statement. If the "when" statement is a child of a "uses", "choice", or "case" statement, then the context node is the closest ancestor node to the -node with the "when" statement that is also a data node. If no +node with the "when" statement that is also a data node, rpc, action or notification. If no such node exists, the context node is the root node. The accessible tree is tentatively altered during the processing of the XPath expression by removing all instances (if From 224f442a24e1ccd0ab071d383d9307969568e290 Mon Sep 17 00:00:00 2001 From: kwatsen Date: Fri, 5 Jun 2026 16:45:29 -0400 Subject: [PATCH 07/19] Errata 6078: https://errata.rfc-editor.org/eid6078 --- draft-yn-netmod-yang2.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/draft-yn-netmod-yang2.xml b/draft-yn-netmod-yang2.xml index 14a6aa2..7cb9ca2 100644 --- a/draft-yn-netmod-yang2.xml +++ b/draft-yn-netmod-yang2.xml @@ -2472,11 +2472,11 @@ For example, consider the following definition: type decimal64 { fraction-digits 18; } - must ". <= 10"; + must ". <= 9"; } ]]> -An instance of the "lxiv" leaf having the value of 10.0000000000000001 +An instance of the "lxiv" leaf having the value of 9.0000000000000001 will then successfully pass validation.
From 872881c4628cad314312d897ac564ee5fbbc1043 Mon Sep 17 00:00:00 2001 From: kwatsen Date: Fri, 5 Jun 2026 16:48:10 -0400 Subject: [PATCH 08/19] Errata 6258: https://errata.rfc-editor.org/eid6258 --- draft-yn-netmod-yang2.xml | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/draft-yn-netmod-yang2.xml b/draft-yn-netmod-yang2.xml index 7cb9ca2..a98819e 100644 --- a/draft-yn-netmod-yang2.xml +++ b/draft-yn-netmod-yang2.xml @@ -1991,9 +1991,12 @@ For example, with these modules: prefix "a"; import b { - revision-date 2015-01-01; + revision-date 2015-01-01; + prefix b; + } + import c { + prefix c; } - import c; revision 2015-01-01; From 36e3ca0f1447608f223a92f9cc8c299fa8c2d42b Mon Sep 17 00:00:00 2001 From: kwatsen Date: Fri, 5 Jun 2026 16:49:53 -0400 Subject: [PATCH 09/19] Errata 6570: https://errata.rfc-editor.org/eid6570 --- draft-yn-netmod-yang2.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/draft-yn-netmod-yang2.xml b/draft-yn-netmod-yang2.xml index a98819e..72bba0b 100644 --- a/draft-yn-netmod-yang2.xml +++ b/draft-yn-netmod-yang2.xml @@ -11407,7 +11407,7 @@ provided there is at least one "base" statement left.
  • -New typedefs, groupings, rpcs, notifications, extensions, features, +New typedefs, groupings, rpcs, actions, notifications, extensions, features, and identities may be added.
  • From ecf32cb94b6d44c8820cd9e06b36ccf21c85525c Mon Sep 17 00:00:00 2001 From: kwatsen Date: Fri, 5 Jun 2026 16:51:36 -0400 Subject: [PATCH 10/19] Errata 5237: https://errata.rfc-editor.org/eid5237 --- draft-yn-netmod-yang2.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/draft-yn-netmod-yang2.xml b/draft-yn-netmod-yang2.xml index 72bba0b..7c09f83 100644 --- a/draft-yn-netmod-yang2.xml +++ b/draft-yn-netmod-yang2.xml @@ -2681,7 +2681,7 @@ The accessible tree for a notification "down" on /a/b[id="2"] is: The accessible tree for an action invocation of "reset" on ⁠/a⁠/b[id="1"] -with the "when" parameter set to "10" would be: +with the "delay" parameter set to "10" would be: From 845127f35875d091e01652c103e2d1503a3e2d4d Mon Sep 17 00:00:00 2001 From: kwatsen Date: Fri, 5 Jun 2026 16:55:14 -0400 Subject: [PATCH 11/19] Errata 5698: https://errata.rfc-editor.org/eid5698 --- draft-yn-netmod-yang2.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/draft-yn-netmod-yang2.xml b/draft-yn-netmod-yang2.xml index 7c09f83..80e871b 100644 --- a/draft-yn-netmod-yang2.xml +++ b/draft-yn-netmod-yang2.xml @@ -4149,10 +4149,10 @@ passed as <error‑app‑tag> in the <rpc‑error> in NETCONF. leaf ifMTU { type uint32; } - must 'ifType != "ethernet" or ifMTU = 1500' { + must 'string(ifType) != "ethernet" or ifMTU = 1500' { error-message "An Ethernet MTU must be 1500"; } - must 'ifType != "atm" or' + must 'string(ifType) != "atm" or' + ' (ifMTU <= 17966 and ifMTU >= 64)' { error-message "An ATM MTU must be 64 .. 17966"; } From f30aeeeb8c3683b92e0bcf4863ae3656b4b0d022 Mon Sep 17 00:00:00 2001 From: kwatsen Date: Fri, 5 Jun 2026 16:56:19 -0400 Subject: [PATCH 12/19] Errata 6655: https://errata.rfc-editor.org/eid6655 --- draft-yn-netmod-yang2.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/draft-yn-netmod-yang2.xml b/draft-yn-netmod-yang2.xml index 80e871b..6614dcd 100644 --- a/draft-yn-netmod-yang2.xml +++ b/draft-yn-netmod-yang2.xml @@ -11269,7 +11269,7 @@ If an interface has this leaf: leaf flags { type bits { bit UP; - bit PROMISCUOUS + bit PROMISCUOUS; bit DISABLED; } } From e56d3ac63d6147b7469589e4a4fb02a3881ef95f Mon Sep 17 00:00:00 2001 From: kwatsen Date: Fri, 5 Jun 2026 16:58:06 -0400 Subject: [PATCH 13/19] Errata 6952: https://errata.rfc-editor.org/eid6952 --- draft-yn-netmod-yang2.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/draft-yn-netmod-yang2.xml b/draft-yn-netmod-yang2.xml index 6614dcd..64d713a 100644 --- a/draft-yn-netmod-yang2.xml +++ b/draft-yn-netmod-yang2.xml @@ -11184,7 +11184,7 @@ The module defined in might al From b5ebe6a2524bc6d21bf3d5e07a985f727ea0930d Mon Sep 17 00:00:00 2001 From: kwatsen Date: Fri, 5 Jun 2026 17:54:01 -0400 Subject: [PATCH 14/19] Errata 5617: https://errata.rfc-editor.org/eid5617 --- draft-yn-netmod-yang2.xml | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/draft-yn-netmod-yang2.xml b/draft-yn-netmod-yang2.xml index 64d713a..84d37fc 100644 --- a/draft-yn-netmod-yang2.xml +++ b/draft-yn-netmod-yang2.xml @@ -12953,7 +12953,17 @@ quoted-string = (DQUOTE string DQUOTE) / (SQUOTE string SQUOTE) path-arg-str = < a string that matches the rule > < path-arg > -path-arg = absolute-path / relative-path +path-arg = deref-expr / path-str + +deref-expr = deref-function-invocation *WSP "/" *WSP + relative-path + +path-str = absolute-path / relative-path + +deref-function-invocation = deref-keyword *WSP + "(" *WSP path-str *WSP ")" + +deref-keyword = %s"deref" absolute-path = 1*("/" (node-identifier *path-predicate)) From 1c086ba1857814e7d6b370b1a3a26f76c3064f30 Mon Sep 17 00:00:00 2001 From: kwatsen Date: Fri, 5 Jun 2026 17:58:13 -0400 Subject: [PATCH 15/19] Errata 6031: https://errata.rfc-editor.org/eid6031 --- draft-yn-netmod-yang2.xml | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/draft-yn-netmod-yang2.xml b/draft-yn-netmod-yang2.xml index 84d37fc..09a93b5 100644 --- a/draft-yn-netmod-yang2.xml +++ b/draft-yn-netmod-yang2.xml @@ -10360,9 +10360,10 @@ which the "path" statement is defined. The "require-instance" Statement The "require‑instance" statement, which is a substatement to the -"type" statement, MAY be present if the type is "instance‑identifier" -or "leafref". It takes as an argument the string "true" or "false". -If this statement is not present, it defaults to "true". +"type" statement, MAY be present if the type is "instance‑identifier", +"leafref" or a type derived from them. It takes as an argument the +string "true" or "false". If this statement is not present, it +defaults to "true". If "require‑instance" is "true", it means that the instance being From 927a0c525e26265032a233c8befc2d67e212aa5c Mon Sep 17 00:00:00 2001 From: kwatsen Date: Mon, 8 Jun 2026 12:41:21 -0400 Subject: [PATCH 16/19] replaced hardcoded ref to an xref --- draft-yn-netmod-yang2.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/draft-yn-netmod-yang2.xml b/draft-yn-netmod-yang2.xml index 09a93b5..139b175 100644 --- a/draft-yn-netmod-yang2.xml +++ b/draft-yn-netmod-yang2.xml @@ -11166,7 +11166,7 @@ submodule. The derived-from-or-self() function returns "true" if any node in the argument "nodes" is a node of type "identityref" or a type derived from "identityref", and its value is an identity that is equal to or -derived from (see Section 7.18.2) the identity "identity"; +derived from (see ) the identity "identity"; otherwise, it returns "false". From 3e3a557ca8c34335f410547885e19b29e7079dbf Mon Sep 17 00:00:00 2001 From: kwatsen Date: Mon, 8 Jun 2026 13:44:06 -0400 Subject: [PATCH 17/19] added oxford comments for Copilot suggestion for consistency. Note, this means that the applied text is NOT 1-1 with the errata's suggested solution. --- draft-yn-netmod-yang2.xml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/draft-yn-netmod-yang2.xml b/draft-yn-netmod-yang2.xml index 139b175..c82706f 100644 --- a/draft-yn-netmod-yang2.xml +++ b/draft-yn-netmod-yang2.xml @@ -8839,9 +8839,9 @@ context, in addition to the definition in If the "when" statement is a child of a "uses", "choice", or "case" statement, then the context node is the closest ancestor node to the -node with the "when" statement that is also a data node, rpc, action or notification. If no +node with the "when" statement that is also a data node, rpc, action, or notification. If no such node exists, the context node is the root node. The accessible tree is tentatively altered during the processing of the XPath expression by removing all instances (if From 193d3b139050bc623ed401b74b1d43fe3ac10f59 Mon Sep 17 00:00:00 2001 From: kwatsen Date: Thu, 11 Jun 2026 13:28:38 -0400 Subject: [PATCH 18/19] clarify the 'requires-instance' default may come from a parent typedef --- draft-yn-netmod-yang2.xml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/draft-yn-netmod-yang2.xml b/draft-yn-netmod-yang2.xml index c82706f..2e7a062 100644 --- a/draft-yn-netmod-yang2.xml +++ b/draft-yn-netmod-yang2.xml @@ -10363,7 +10363,8 @@ The "require‑instance" statement, which is a substatement to the "type" statement, MAY be present if the type is "instance‑identifier", "leafref" or a type derived from them. It takes as an argument the string "true" or "false". If this statement is not present, it -defaults to "true". +defaults to "true" or, in the case the type is derived, it defaults +to value specified by the parent type. If "require‑instance" is "true", it means that the instance being From 3449357a8b57d9a6fc40fc06861f306eab37bb7a Mon Sep 17 00:00:00 2001 From: kwatsen Date: Fri, 12 Jun 2026 18:01:26 -0400 Subject: [PATCH 19/19] improved language from previous commit --- draft-yn-netmod-yang2.xml | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/draft-yn-netmod-yang2.xml b/draft-yn-netmod-yang2.xml index 2e7a062..4e58fb1 100644 --- a/draft-yn-netmod-yang2.xml +++ b/draft-yn-netmod-yang2.xml @@ -10363,8 +10363,9 @@ The "require‑instance" statement, which is a substatement to the "type" statement, MAY be present if the type is "instance‑identifier", "leafref" or a type derived from them. It takes as an argument the string "true" or "false". If this statement is not present, it -defaults to "true" or, in the case the type is derived, it defaults -to value specified by the parent type. +defaults to "true". Tn the case the type is derived, it defaults +to the value specified by the closest parent type having the value +set, if any, else it defaults to "true". If "require‑instance" is "true", it means that the instance being