Guidelines for YANG Example Validation and Coverage Analysis in IETF Documents
draft-cardona-claise-netmod-yang-coverage-00
This document is an Internet-Draft (I-D).
Anyone may submit an I-D to the IETF.
This I-D is not endorsed by the IETF and has no formal standing in the
IETF standards process.
| Document | Type | Active Internet-Draft (individual) | |
|---|---|---|---|
| Authors | Camilo Cardona , Benoît Claise | ||
| Last updated | 2026-07-06 | ||
| Replaces | draft-cardona-claise-onion-yang-coverage | ||
| RFC stream | (None) | ||
| Intended RFC status | (None) | ||
| Formats | |||
| Yang Validation | 3 errors, 3 warnings | ||
| Stream | Stream state | (No stream defined) | |
| Consensus boilerplate | Unknown | ||
| RFC Editor Note | (None) | ||
| IESG | IESG state | I-D Exists | |
| Telechat date | (None) | ||
| Responsible AD | (None) | ||
| Send notices to | (None) |
draft-cardona-claise-netmod-yang-coverage-00
Network Modeling C. Cardona
Internet-Draft NTT
Intended status: Informational B. Claise
Expires: 7 January 2027 Everything OPS & Arrcus
6 July 2026
Guidelines for YANG Example Validation and Coverage Analysis in IETF
Documents
draft-cardona-claise-netmod-yang-coverage-00
Abstract
This document defines guidelines for including YANG example instances
in IETF documents in a way that enables automatic extraction and
validation. It introduces the concept of YANG module "coverage" to
measure how thoroughly example instances exercise a YANG module's
data nodes. By standardizing how YANG examples are included,
validated, and measured for coverage, these guidelines help authors
catch errors before publication and give reviewers and implementers
greater confidence that the examples in a specification are correct
and cover a sufficient range of scenarios - ultimately making the
underlying data models easier to implement and use.
Status of This Memo
This Internet-Draft is submitted in full conformance with the
provisions of BCP 78 and BCP 79.
Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF). Note that other groups may also distribute
working documents as Internet-Drafts. The list of current Internet-
Drafts is at https://datatracker.ietf.org/drafts/current/.
Internet-Drafts are draft documents valid for a maximum of six months
and may be updated, replaced, or obsoleted by other documents at any
time. It is inappropriate to use Internet-Drafts as reference
material or to cite them other than as "work in progress."
This Internet-Draft will expire on 7 January 2027.
Copyright Notice
Copyright (c) 2026 IETF Trust and the persons identified as the
document authors. All rights reserved.
Cardona & Claise Expires 7 January 2027 [Page 1]
Internet-Draft YANG Module Coverage July 2026
This document is subject to BCP 78 and the IETF Trust's Legal
Provisions Relating to IETF Documents (https://trustee.ietf.org/
license-info) in effect on the date of publication of this document.
Please review these documents carefully, as they describe your rights
and restrictions with respect to this document. Code Components
extracted from this document must include Revised BSD License text as
described in Section 4.e of the Trust Legal Provisions and are
provided without warranty as described in the Revised BSD License.
Table of Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2
2. Including YANG Example Instances in IETF Documents . . . . . 3
2.1. Types of Example Validation . . . . . . . . . . . . . . . 5
2.1.1. Simple Validation Examples . . . . . . . . . . . . . 5
2.1.2. Complex Examples with External References . . . . . . 6
2.2. Including Auxiliary YANG Modules for Examples . . . . . . 6
3. YANG Module Coverage by Examples . . . . . . . . . . . . . . 8
3.1. Coverage Example . . . . . . . . . . . . . . . . . . . . 9
3.2. Coverage Across Multiple Documents . . . . . . . . . . . 11
4. Open Issues and Future Work . . . . . . . . . . . . . . . . . 11
5. Implementation . . . . . . . . . . . . . . . . . . . . . . . 12
6. Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . 13
7. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 13
8. Security Considerations . . . . . . . . . . . . . . . . . . . 13
9. Normative References . . . . . . . . . . . . . . . . . . . . 13
10. Informative References . . . . . . . . . . . . . . . . . . . 14
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 15
1. Introduction
Although the YANG data modeling language has been in use for over a
decade, there remains a lack of tooling to help YANG module authors
analyze and validate their YANG modules and example instances.
People defining or evaluating YANG modules have limited guidance on
how to include, extract, test, and evaluate the impact of example
data for those modules. Example data instances are vital to
illustrate how a module is intended to be used. [RFC9907] provides
guidelines for authors and reviewers of documents containing YANG
data models, including recommendations for usage examples and
validation of valid data instances. The YANG data modeling language
itself is specified in [RFC7950]. However, gaps still exist in
defining conventions and tools that can automatically extract
examples, validate them, and give authors feedback on what they might
be missing in their modules.
Cardona & Claise Expires 7 January 2027 [Page 2]
Internet-Draft YANG Module Coverage July 2026
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
"SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and
"OPTIONAL" in this document are to be interpreted as described in
[RFC2119] [RFC8174] when, and only when, they appear in all capitals,
as shown here.
The objective of this document is to define guidelines that enable
the development of tools which, given one or more IETF documents
(RFCs or drafts), can extract YANG module examples, validate that
they are correct, and analyze whether they sufficiently cover the
module. To achieve this, we address two main aspects:
* Guidelines for Including YANG Examples in RFCs: A clear method for
authors to include example data instances of YANG modules in IETF
documents in a way that tools can automatically extract and
validate them. In addition, we outline how tools can perform this
extraction and validation, and we propose a method to include
extra YANG modules (when necessary) for validating more complex
examples without affecting the main normative content.
* Definition of YANG Module "Coverage": A new concept to measure how
much of a YANG module's data nodes are exercised by the example
instances in a document. By analyzing the examples, a tool can
inform authors which parts of their YANG module are covered and
which are still missing from the examples. A proof-of-concept
implementation for computing such coverage is also considered.
Scope: The proposals in this document focus on typical use cases. It
is expected that proof-of-concept tools will confirm the viability of
these methods for moderately complex examples as this document
progresses. If such automatic validation proves infeasible in
practice, the approach may need adjustment. Extremely complex
example scenarios (e.g., those involving schema mount or highly
dynamic state) are outside the current scope and could be addressed
in future work.
2. Including YANG Example Instances in IETF Documents
When authors include example YANG instances in an RFC or Internet-
Draft, those example instances are RECOMMENDED to be formatted in a
way that allows automatic extraction and validation by tools.
Specifically, example instances SHOULD be enclosed as code blocks
using the CODE BEGINS / CODE ENDS convention in the rendered
document. In RFCXML, this can be achieved with a sourcecode element
that uses a name attribute and the markers attribute. They should be
given a file name that clearly identifies them as examples, analogous
to how YANG modules are named (see [RFC9907]). We propose that the
Cardona & Claise Expires 7 January 2027 [Page 3]
Internet-Draft YANG Module Coverage July 2026
name of valid example instances start with the prefix `yang/examples/
valid-` and end with `.xml` for XML instances or `.json` for JSON
instances. This naming convention makes it easy for tools to
identify which code snippets are YANG instance examples that can be
parsed and validated. The intent is not to replace the example-
validation guidance in [RFC9907], but to make that guidance easier to
apply automatically. This convention tries to align itself with the
repository layout used by the "Internet-Draft with YANG Modules"
template [I-D-WITH-YANG-TEMPLATE].
Each example file name SHOULD be unique within a document (and
ideally unique across related documents being analyzed together).
Tools may complain or error out if they encounter duplicate example
file names, since that could indicate conflicting or repeated
content. For example, an XML instance might be included as:
<CODE BEGINS> file "yang/examples/valid-interface-config.xml"
<?xml version="1.0" encoding="UTF-8"?>
<data> ... </data>
<CODE ENDS>
And a JSON instance as:
<CODE BEGINS> file "yang/examples/valid-interface-config.json"
{
"interface": { ... }
}
<CODE ENDS>
By following this approach, a tool can scan the RFCXML source or the
rendered document for code blocks whose file names are under "yang/
examples/", start with "valid-", and end in ".xml" or ".json",
extract their contents, and validate them against the appropriate
YANG modules.
Cardona & Claise Expires 7 January 2027 [Page 4]
Internet-Draft YANG Module Coverage July 2026
In cases where an included code snippet is not meant to represent a
valid YANG instance (for instance, it might be pseudocode, a partial
fragment, or intentionally invalid to illustrate an error), the
author can indicate this so that automated validators skip it. For
example, an author might choose not to use the CODE BEGINS/CODE ENDS
markers, might not place the snippet under "yang/examples/", or might
not use the "valid-" prefix for such a snippet. Without the markers
or filename convention, the tool will know not to treat that snippet
as a YANG instance example to be validated. An author could also
include an explicit note in the text indicating that a given snippet
is not for validation. Using these conventions strikes a balance
between making examples machine-checkable and allowing flexibility
for authors to include non-valid illustrative snippets when
necessary.
2.1. Types of Example Validation
Not all example instances are the same in terms of validation. Many
YANG examples in documentation are simple and only involve the module
defined in the document, but in more complex scenarios an example
might span multiple modules or need knowledge of deviations,
features, or other context. For the latter, wrapping the example in
an instance data file format (defined by [RFC9195]) can make explicit
which modules and context are in use. This approach can handle more
complicated example validation at the cost of a bit more verbosity.
(If a given example scenario is too complex to easily capture even
with the instance-data file format - for example, requiring extensive
setup or dynamic state - it is considered out of scope for automatic
validation in this document.) We distinguish between two categories
of examples for validation purposes:
2.1.1. Simple Validation Examples
These are straightforward examples that instantiate YANG modules
defined in the same document, with a self-contained context. An
extraction tool can load the YANG module(s) defined in the document
(plus any standard modules they import) and then validate the example
instance against those modules. For instance, if a draft defines a
YANG module example-interfaces and provides a small XML snippet
configuring an interface, the tool will use the example-interfaces
module (and any of its dependencies) to verify that the XML conforms
to the schema. In general, simple examples illustrate how to use the
module(s) in the draft and can be validated with minimal additional
information beyond what the document itself provides.
Cardona & Claise Expires 7 January 2027 [Page 5]
Internet-Draft YANG Module Coverage July 2026
2.1.2. Complex Examples with External References
These are examples that require additional context or external
modules beyond those defined in the current document. For example,
an instance data set may involve multiple modules (perhaps a module
from this draft plus some from other RFCs), or it might describe
operational state data that requires a specific datastore context or
feature set. For such cases, we propose that the example be
presented as a self-contained YANG instance data file using the
standard format defined in [RFC9195] (the YANG Instance Data File
Format). In practice, this means the example should be wrapped in
the instance-data-set structure which includes the necessary metadata
(such as module names, revisions, feature toggle states, and target
datastore) for validation.
For an XML-formatted complex example, the first element of the
snippet should be <instance-data-set
xmlns="urn:ietf:params:xml:ns:yang:ietf-yang-instance-data">, with
the content formatted according to [RFC9195]. Inside this element,
sub-elements specify what YANG content schema the instance data
conforms to (including module names, revision dates, features,
deviations, and the intended datastore). Similarly, for a JSON-
formatted complex example, the top-level JSON object should have a
single key "ietf-yang-instance-data:instance-data-set", whose value
is an object providing the same kind of metadata and the actual data
set. By using the [RFC9195] instance-data-set wrapper, all the
information needed to validate the instance is included within the
text itself. A validation tool like yanglint (with appropriate
support for [RFC9195]) can read the instance-data-set, automatically
load the indicated modules and their revisions, apply any stated
deviations or feature enables, and then verify the embedded data
content against the assembled schema. Note that if a tool detects
that an example instance uses the [RFC9195] instance data format, it
will attempt to validate it accordingly - and the example instance
will fail validation if it does not conform to the declared schema or
constraints.
2.2. Including Auxiliary YANG Modules for Examples
Sometimes an example instance cannot be validated or understood
without additional YANG definitions that are not part of the main
module in the document. A common case is the use of YANG deviations
or vendor-specific augmentations to adapt a base module. In
principle, deviations are meant to be extraordinary measures (and
their use is discouraged in final standards), but in practice they
are sometimes used in industry deployments.
Cardona & Claise Expires 7 January 2027 [Page 6]
Internet-Draft YANG Module Coverage July 2026
To illustrate how a deviation or augmentation affects the data, an
RFC might need to include a small auxiliary YANG module (for example,
a module that contains deviation statements targeting the base
module) purely for use in the example validation. The challenge is
to do this without confusing readers or tools and without
"contaminating" the main normative content of the document. We
propose the following guidelines for including such auxiliary YANG
modules in examples:
* Keep Auxiliary Modules Separate: Include the auxiliary module in a
way that makes it clear that it is not a normative YANG module
from the document. This can be done with a dedicated directory
(e.g. the file name starts with `auxiliary_modules/`), or a local
meaninful extension. Any example that requires this auxiliary
module would need to reference reference it by its full path when
running the validation tool.
* Clearly Identify the Module as Non-Normative: The auxiliary module
should be clearly identified as an example-only, non-normative
module. This can be achieved through both its naming and its
content. For instance, the file name can include words like
"example" or "dev" to signal its purpose. In the module source
itself, use a module name and namespace that indicate it is not an
official module. For example, use a namespace URI containing
"example.com" or similar, and perhaps a module name ending in
-example or with a clearly indicative name.
* Explain in the Narrative: In the text surrounding the code,
explicitly state that this module is an auxiliary construct
provided for the sake of the example. For instance: "The
following YANG module is an example showing how a deviation could
be used for this scenario; it is not a normative part of this
specification." This clarification is important for human readers
and reviewers to avoid any confusion.
By following these practices, authors can include necessary YANG
deviations or supplemental modules to support their examples while
making it clear that these are not part of the official data model
being defined. Tools that extract and compile YANG modules from the
document can be instructed to either ignore these example-only
modules or handle them separately. For example, a tool might compile
them only in the context of validating the corresponding example, and
not raise an error about their presence or treat them as missing
normative modules in the draft.
Cardona & Claise Expires 7 January 2027 [Page 7]
Internet-Draft YANG Module Coverage July 2026
3. YANG Module Coverage by Examples
Providing examples in YANG module documents is not just helpful for
readers, but can also improve the quality of the module itself. We
introduce the concept of YANG module coverage as a way to measure how
thoroughly the provided examples exercise the data model.
By analogy to code coverage in software testing (which checks what
fraction of code is executed by tests), YANG module coverage looks at
what fraction of a module's data nodes are present in at least one of
the example instances. For the baseline metric, coverage is defined
over terminal data nodes, that is, leaf and leaf-list nodes from the
YANG module that have a value in one or more example instances. A
simple quantitative metric could be the percentage of the module's
leaf and leaf-list nodes that appear in at least one example.
For instance, if a YANG module defines 100 configurable or state leaf
nodes, and the examples collectively include 45 of those leaves, one
could say the example coverage is 45%. This number, while not telling
the whole story, gives an indication of how much of the module's
functionality is demonstrated by the examples. Low coverage might
suggest that important parts of the module are never shown in any
example. This could mean those parts are either less relevant or
simply that the document might benefit from additional examples to
cover them.
Probably more helpful than the coverage percentage, we can also
define an "uncovered-node tree" - essentially a view of the data
model highlighting the nodes that were not covered by any example.
This is perhaps the most direct way of showing the authors which
portions of their module remain unused in the examples. For example,
a tool could output a tree or list of all leaf and leaf-list nodes
not present in any example instance, indicating potential gaps in
example coverage.
This kind of feedback can help authors identify gaps and improve
their documents. If a particular feature or branch of the module has
no example, the authors might choose to add one for completeness or
clarity. In some cases, it might reveal that certain parts of the
module are hard to exemplify or not yet implemented, which could
prompt re-thinking that part of the design or at least adding an
explanation for why it's not covered by any example.
Cardona & Claise Expires 7 January 2027 [Page 8]
Internet-Draft YANG Module Coverage July 2026
Coverage works directly on the data nodes from the YANG module. It
should be as simple as possible, therefore, we will consider that any
data leaf or leaf-list under a list is covered if there is at least
an example with an instance of the list that includes it. That is,
for a list with 2 different leaves, one leaf covered under one key
and another under another one will still yield a 100% coverage of the
list leaves.
3.1. Coverage Example
Consider this simple YANG module:
<CODE BEGINS> file "example-device@2026-06-25.yang"
module example-device {
yang-version 1.1;
namespace "http://example.com/device";
prefix "dev";
description
"This is a non-normative example module, provided only to
illustrate coverage analysis in this document.";
revision 2026-06-25 {
description "Initial example revision.";
}
container device {
description "Top-level device configuration.";
leaf hostname {
type string;
description "The device hostname.";
}
leaf location {
type string;
description "Physical location of the device.";
}
leaf admin-state {
type boolean;
description "Administrative state of the device.";
}
list interface {
key "name";
description "List of device interfaces.";
leaf name {
type string;
Cardona & Claise Expires 7 January 2027 [Page 9]
Internet-Draft YANG Module Coverage July 2026
description "Interface name; the list key.";
}
leaf enabled {
type boolean;
description "Whether the interface is enabled.";
}
leaf other {
type boolean;
description "An additional example leaf.";
}
}
}
}
<CODE ENDS>
And this example instance:
<CODE BEGINS> file "yang/examples/valid-device-config.xml"
<device xmlns="http://example.com/device">
<hostname>router1</hostname>
<interface>
<name>eth0</name>
<enabled>true</enabled>
</interface>
</device>
<CODE ENDS>
Coverage analysis shows:
* Total terminal data nodes: 6 (hostname, location, admin-state,
interface/name, interface/enabled, interface/other)
* Covered nodes: 3 (hostname, interface/name, interface/enabled)
* Coverage percentage: 50%
Uncovered-node tree (missing nodes):
device
- location
- admin-state
- interface
- other
Figure 1
This analysis helps authors identify that the 'location' and 'admin-
state' leaves need examples.
Cardona & Claise Expires 7 January 2027 [Page 10]
Internet-Draft YANG Module Coverage July 2026
3.2. Coverage Across Multiple Documents
It is common that a YANG module defined in one document might be
used, extended, or exemplified in another document. Examples could
be spread across multiple RFCs or drafts (for instance, a base YANG
module in an RFC and a usage guide in a separate draft that provides
additional examples). While our primary focus is on coverage within
a single document's scope (i.e. how well the examples in this
document cover this document's module), one could imagine tooling
that aggregates examples from multiple sources for a more holistic
coverage analysis. For example, if module A is defined in RFC X, and
RFC Y (perhaps a companion or an applicability statement) provides
additional examples for module A, a combined coverage analysis across
X and Y would give a better picture of how module A is covered in
total. We will strive to define approaches that enable tooling to do
this kind of multi-document coverage assessment automatically in the
future.
For the concept of YANG packages [I-D.ietf-netmod-yang-packages], the
coverage across the entire package might be of interest.
For the newly created ONSEN Working Group, the coverage across
(service) abstractions might be of interest.
4. Open Issues and Future Work
The baseline metric in this document is intentionally limited to leaf
and leaf-list coverage. Feedback received on version -00 identified
additional useful information that is not naturally represented by
the baseline uncovered-node tree.
* Union member types: If a covered leaf is of type union, a future
version can define how to report which union member types were
exercised by the example instances. The leaf itself may already
be covered, while only some of its possible member types were
used. Reporting this properly requires an uncovered tree format
beyond the YANG tree definition from [RFC8340].
* Enumeration values: If a covered leaf is of type enumeration, a
future version can define whether tools should report which
enumeration values were exercised by the example instances.
Similar to the case of Union member types, we will need to expand
the definition of YANG tree from [RFC8340] to show these values.
Cardona & Claise Expires 7 January 2027 [Page 11]
Internet-Draft YANG Module Coverage July 2026
* Presence containers: A future version can define whether
instantiating a presence container counts as coverage
independently from the leaves below it. This is a separate
question from the baseline leaf and leaf-list metric because a
presence container can carry meaning by existing.
* Groupings: The proof-of-concept implementation already handles the
schema nodes created by uses of a grouping. Further work is
needed to decide whether grouping-specific metrics are useful, and
how they should be reported without confusing abstract grouping
definitions with instantiated schema nodes.
* Modules without data nodes: A future version can define clearer
reporting for modules that primarily contain groupings, typedefs,
identities, extensions, RPCs, actions, or notifications, where the
baseline data-node coverage metric may not apply.
5. Implementation
A proof-of-concept implementation has been developed in the yangson-
coverage repository [YANGSON-COVERAGE]. The implementation uses
Yangson [YANGSON] as a library for loading YANG modules and
validating instance data, and then implements the coverage logic
described in this document.
Yangson already exposes validation counters for schema nodes and can
print a complete schema tree annotated with those counters. This is
useful input, but it is not the report format defined here. The
proof of concept tracks covered leaves across validated examples and
generates the uncovered-node tree described in this document: covered
terminal nodes are removed, and parent nodes are kept only as
context.
The proof of concept also provides a command-line interface to reset
coverage state, validate examples while accumulating coverage, and
print the uncovered-node report. It includes initial support for
grouping-level reporting, while the exact grouping metrics remain
future work.
Other related tooling includes yanglint [YANGLINT], example
validation scripts such as yang-validation [YANG-VALIDATION], the
"Internet-Draft with YANG Modules" template [I-D-WITH-YANG-TEMPLATE],
and the associated I-D-with-yang-tools repository
[I-D-WITH-YANG-TOOLS]. These tools and templates support validation
of YANG modules, tree generation, and validation of examples.
Cardona & Claise Expires 7 January 2027 [Page 12]
Internet-Draft YANG Module Coverage July 2026
6. Conclusion
By standardizing how YANG examples are included and validated, we
make it easier for implementers and reviewers to trust that the
examples in a specification are correct and that a sufficient range
of scenarios is covered. The concept of YANG module coverage, while
exploratory, can further encourage authors to include more
comprehensive examples and help pinpoint which parts of a data model
might need additional illustration. Together, these measures aim to
improve the overall quality and usability of YANG modules in IETF
documents.
Ultimately, the success of these proposals will depend on tool
support. As a next step, developing proof-of-concept tools or
integrations (for example, enhancements to existing YANG validators
like yanglint, or new scripts to extract and analyze examples) will
be crucial. If moderately complex examples can be automatically
extracted, validated, and measured for coverage with such tools, it
will validate the approach. On the other hand, if significant
obstacles arise during implementation, the recommendations in this
document may need to be refined. Our hope is that these initial
guidelines spark discussion and experimentation, leading to more
robust support for YANG examples and better validation practices in
the near future.
7. IANA Considerations
This document has no IANA actions.
8. Security Considerations
This document defines guidelines for including and validating YANG
examples in IETF documents. The recommendations do not introduce new
security risks. However, implementers of validation tools should be
aware of potential security considerations when processing example
data, auxiliary modules, or repository contents from untrusted
sources, such as denial of service attacks through maliciously
crafted large or complex examples.
9. Normative References
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
Requirement Levels", BCP 14, RFC 2119,
DOI 10.17487/RFC2119, March 1997,
<https://www.rfc-editor.org/info/rfc2119>.
Cardona & Claise Expires 7 January 2027 [Page 13]
Internet-Draft YANG Module Coverage July 2026
[RFC7950] Bjorklund, M., Ed., "The YANG 1.1 Data Modeling Language",
RFC 7950, DOI 10.17487/RFC7950, August 2016,
<https://www.rfc-editor.org/info/rfc7950>.
[RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC
2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174,
May 2017, <https://www.rfc-editor.org/info/rfc8174>.
[RFC9195] Lengyel, B. and B. Claise, "A File Format for YANG
Instance Data", RFC 9195, DOI 10.17487/RFC9195, February
2022, <https://www.rfc-editor.org/info/rfc9195>.
[RFC9907] Bierman, A., Boucadair, M., Ed., and Q. Wu, "Guidelines
for Authors and Reviewers of Documents Containing YANG
Data Models", BCP 216, RFC 9907, DOI 10.17487/RFC9907,
March 2026, <https://www.rfc-editor.org/info/rfc9907>.
10. Informative References
[RFC8340] Bjorklund, M. and L. Berger, Ed., "YANG Tree Diagrams",
BCP 215, RFC 8340, DOI 10.17487/RFC8340, March 2018,
<https://www.rfc-editor.org/info/rfc8340>.
[YANGSON] CZ.NIC, "Yangson Documentation",
<https://yangson.labs.nic.cz/>.
[YANGLINT] CESNET, "libyang and yanglint Repository",
<https://github.com/CESNET/libyang>.
[I-D.ietf-netmod-yang-packages]
Wilton, R., Rahman, R., Clarke, J., and J. Sterne, "YANG
Packages", Work in Progress, Internet-Draft, draft-ietf-
netmod-yang-packages-07, 2 March 2026,
<https://datatracker.ietf.org/doc/html/draft-ietf-netmod-
yang-packages-07>.
[I-D-WITH-YANG-TEMPLATE]
IETF OPS AD, ""Internet-Draft with YANG Modules" Template
Repository",
<https://github.com/IETF-OPS-AD/I-D-with-yang-template>.
[I-D-WITH-YANG-TOOLS]
IETF OPS AD, "I-D-with-yang-tools Repository",
<https://github.com/IETF-OPS-AD/I-D-with-yang-tools>.
[YANG-VALIDATION]
Linutronix, "yang-validation Repository",
<https://github.com/Linutronix/yang-validation>.
Cardona & Claise Expires 7 January 2027 [Page 14]
Internet-Draft YANG Module Coverage July 2026
[YANGSON-COVERAGE]
Camilo Cardona-Benoit Claise, "yang-coverage proof-of-
concept Repository",
<https://github.com/jccardonar/yangson-coverage/>.
Authors' Addresses
Camilo Cardona
NTT
164-168, Carrer de Numancia
08029 Barcelona Catalonia
Spain
Email: camilo@gin.ntt.net
Benoit Claise
Everything OPS & Arrcus
Email: benoit@everything-ops.net
Cardona & Claise Expires 7 January 2027 [Page 15]