<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE rfc [
  <!ENTITY nbsp    "&#160;">
  <!ENTITY zwsp   "&#8203;">
  <!ENTITY nbhy   "&#8209;">
  <!ENTITY wj     "&#8288;">
]>
<?xml-stylesheet type="text/xsl" href="rfc2629.xslt" ?>
<!-- generated by https://github.com/cabo/kramdown-rfc version 1.7.29 (Ruby 3.4.4) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-verdt-iana-yang-guidance-00" category="info" consensus="true" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.31.0 -->
  <front>
    <title abbrev="IANA &amp; RFC Editor YANG Guidance">Guidance for Managing YANG Modules in RFCs and IANA Registries</title>
    <seriesInfo name="Internet-Draft" value="draft-verdt-iana-yang-guidance-00"/>
    <author fullname="Robert Wilton">
      <organization>Cisco</organization>
      <address>
        <email>rwilton@cisco.com</email>
      </address>
    </author>
    <date year="2025" month="December" day="16"/>
    <area>OPS</area>
    <workgroup>NETMOD</workgroup>
    <keyword>IANA</keyword>
    <keyword>RFC Editor</keyword>
    <keyword>YANG</keyword>
    <keyword>Versioning</keyword>
    <abstract>
      <?line 46?>

<t>This document provides guidance to the RFC Editor and IANA on managing YANG modules in RFCs and IANA registries, ensuring consistent application of YANG Semantic Versioning rules.</t>
    </abstract>
    <note removeInRFC="true">
      <name>About This Document</name>
      <t>
        The latest revision of this draft can be found at <eref target="https://rgwilton.github.io/iana-yang-guidance/draft-verdt-iana-yang-guidance.html"/>.
        Status information for this document may be found at <eref target="https://datatracker.ietf.org/doc/draft-verdt-iana-yang-guidance/"/>.
      </t>
      <t>
        Discussion of this document takes place on the
        Network Modelling Working Group mailing list (<eref target="mailto:netmod@ietf.org"/>),
        which is archived at <eref target="https://mailarchive.ietf.org/arch/browse/netmod/"/>.
        Subscribe at <eref target="https://www.ietf.org/mailman/listinfo/netmod/"/>.
      </t>
      <t>Source for this draft and an issue tracker can be found at
        <eref target="https://github.com/rgwilton/iana-yang-guidance"/>.</t>
    </note>
  </front>
  <middle>
    <?line 50?>

<section anchor="open-issuesquestions">
      <name>Open Issues/Questions:</name>
      <ol spacing="normal" type="1"><li>
          <t>Do we need guidance to IANA in this document to list modules both by revision date and version?</t>
        </li>
        <li>
          <t>This document is informational, is it appropriate to use RFC 2119 language?</t>
        </li>
      </ol>
    </section>
    <section anchor="introduction">
      <name>Introduction</name>
      <t>YANG <xref target="RFC7950"/> modules are used to model network management data and protocols. The IETF publishes YANG modules as part of RFCs, and the Internet Assigned Numbers Authority (IANA) maintains YANG modules that are derived from IANA registries. Both processes require careful attention to module versioning to ensure that implementations can correctly assess compatibility when modules are updated.</t>
      <t>This document provides informational guidance to both the RFC Editor and IANA for managing YANG modules in two distinct scenarios:</t>
      <ol spacing="normal" type="1"><li>
          <t><strong>Managing YANG Modules in RFCs</strong>: When documents containing YANG modules are approved by the IESG and processed for publication as RFCs, both the RFC Editor and IANA have responsibilities to ensure that modules are correctly versioned and published.</t>
        </li>
        <li>
          <t><strong>Managing IANA-Maintained YANG Modules</strong>: When IANA registries are updated, any YANG modules derived from those registries must be updated accordingly with proper versioning.</t>
        </li>
      </ol>
      <t>The guidance in this document is informational rather than prescriptive. It describes recommended practices and procedures that reflect current consensus within the NETMOD working group and the IETF operations and management community. While following this guidance will help ensure consistent and correct handling of YANG modules, specific situations may require consultation with experts (as described in <xref target="sec-expert-guidance"/>).</t>
      <ul empty="true">
        <li>
          <t><strong>Note:</strong> In addition to the guidance detailed in this document, there is a broader, ongoing discussion within the IETF community around the processes and responsibilities for managing YANG modules in RFCs. For further information and the latest proposals, see <xref target="I-D.boucadair-veloce-yang"/>. The recommendations and operational practices described here may be revised in the future to reflect outcomes from that work.</t>
        </li>
      </ul>
      <t>The procedures and classifications in this document are based on the following IETF specifications:</t>
      <ul spacing="normal">
        <li>
          <t><xref target="I-D.ietf-netmod-yang-module-versioning"/> - Defines updated YANG module revision handling, including rules for backwards-compatible and non-backwards-compatible changes</t>
        </li>
        <li>
          <t><xref target="I-D.ietf-netmod-yang-semver"/> - Defines YANG Semantic Versioning (YANG Semver) for YANG modules</t>
        </li>
        <li>
          <t><xref target="I-D.ietf-netmod-yang-module-filename"/> - Defines filename conventions for YANG modules versioned using YANG Semver</t>
        </li>
        <li>
          <t><xref target="I-D.ietf-netmod-rfc8407bis"/> - Provides general guidelines for IETF YANG module authors</t>
        </li>
      </ul>
    </section>
    <section anchor="sec-conventions">
      <name>Conventions and Definitions</name>
      <!-- {::boilerplate bcp14-tagged} -->

<t>This document uses the following terminology from <xref target="I-D.ietf-netmod-yang-module-versioning"/>:</t>
      <dl>
        <dt><strong>Backwards-Compatible (BC) Change</strong></dt>
        <dd>
          <t>A change to a YANG module that conforms to the backwards-compatible update rules defined in section 3.1.1 of <xref target="I-D.ietf-netmod-yang-module-versioning"/>. BC changes require incrementing the MINOR version number.</t>
        </dd>
        <dt><strong>Non-Backwards-Compatible (NBC) Change</strong></dt>
        <dd>
          <t>A change to a YANG module that does not conform to the backwards-compatible update rules defined in section 3.1.2 of <xref target="I-D.ietf-netmod-yang-module-versioning"/>. NBC changes require incrementing the MAJOR version number and adding the rev:non-backwards-compatible extension statement within the revision statement in the YANG module.</t>
        </dd>
      </dl>
      <t>This document uses the following terminology from <xref target="I-D.ietf-netmod-yang-semver"/>:</t>
      <dl>
        <dt><strong>YANG Semver</strong></dt>
        <dd>
          <t>YANG Semantic Versioning - a version identifier in the format <em>MAJOR.MINOR.PATCH_COMPAT</em> that indicates the compatibility level of a YANG module, as defined in <xref target="I-D.ietf-netmod-yang-semver"/>.</t>
        </dd>
        <dt><strong>Editorial Change</strong></dt>
        <dd>
          <t>A change to a YANG module that does not affect the semantic meaning or functionality of the module. Editorial changes only require incrementing the PATCH version number.</t>
        </dd>
      </dl>
      <t>In addition, this document defines:</t>
      <dl>
        <dt><strong>IANA-Maintained Module</strong></dt>
        <dd>
          <t>A YANG module maintained by IANA, typically derived from one or more IANA registries. These modules have names starting with "iana-" (e.g., iana-if-type, iana-routing-types).</t>
        </dd>
      </dl>
    </section>
    <section anchor="sec-background">
      <name>Background on YANG Versioning</name>
      <section anchor="yang-semantic-versioning">
        <name>YANG Semantic Versioning</name>
        <t>YANG Semantic Versioning (YANG Semver), defined in <xref target="I-D.ietf-netmod-yang-semver"/>, uses a version identifier in the format MAJOR.MINOR.PATCH (with an optional _COMPAT suffix for branched development):</t>
        <ul spacing="normal">
          <li>
            <t><strong>MAJOR</strong> version increments indicate non-backwards-compatible (NBC) changes</t>
          </li>
          <li>
            <t><strong>MINOR</strong> version increments indicate backwards-compatible (BC) feature additions</t>
          </li>
          <li>
            <t><strong>PATCH</strong> version increments indicate editorial or documentation-only changes</t>
          </li>
          <li>
            <t><strong>_COMPAT</strong> is used for branched development trees and is not applicable to modules published by the RFC Editor in RFCs that are expected to follow a linear development, (<strong>TODO, but may be useful/needed if we allow verified errata against YANG modules</strong>) or maintained by IANA.</t>
          </li>
        </ul>
        <t>For example, if a published IETF YANG module is at version 1.2.3:
- A non-backwards-compatible change would update it to 2.0.0
- A backwards-compatible feature addition would update it to 1.3.0
- An editorial change would update it to 1.2.4</t>
        <t>Pre-release versions (versions with MAJOR = 0 or with a pre-release suffix such as "-draft-verdt-iana-yang-guidance") indicate modules that have not completed the IETF standardization process and whose revision content is subject to change in non-backwards-compatible ways without corresponding changes to the major version number.</t>
      </section>
      <section anchor="backwards-compatibility-rules">
        <name>Backwards Compatibility Rules</name>
        <t>The rules that determine whether a change to a YANG module is backwards-compatible or non-backwards-compatible are defined in Section 3.1 of <xref target="I-D.ietf-netmod-yang-module-versioning"/>. These rules refine and extend the update rules specified in Section 11 of <xref target="RFC7950"/>.</t>
        <t>Section 3.1.1 of <xref target="I-D.ietf-netmod-yang-module-versioning"/> defines backwards-compatible changes, which include:</t>
        <ul spacing="normal">
          <li>
            <t>Adding new schema nodes (e.g., new enum values, identities, leafs, containers)</t>
          </li>
          <li>
            <t>Adding new optional features or extensions</t>
          </li>
          <li>
            <t>Changing the status of a schema node from "current" to "deprecated"</t>
          </li>
          <li>
            <t>Adding or updating "description" and "reference" statements (provided the semantic meaning is unchanged)</t>
          </li>
          <li>
            <t>Expanding constraints (e.g., widening ranges, adding enum values)</t>
          </li>
        </ul>
        <t>Section 3.1.2 of <xref target="I-D.ietf-netmod-yang-module-versioning"/> defines non-backwards-compatible changes, which include:</t>
        <ul spacing="normal">
          <li>
            <t>Removing schema nodes (unless they already have status "obsolete")</t>
          </li>
          <li>
            <t>Changing the status of a schema node from "current" or "deprecated" to "obsolete"</t>
          </li>
          <li>
            <t>Renaming schema nodes or changing their identifiers</t>
          </li>
          <li>
            <t>Changing data types in ways that alter syntax or semantics</t>
          </li>
          <li>
            <t>Changing numeric values assigned to enumerations</t>
          </li>
          <li>
            <t>Restricting constraints (e.g., narrowing ranges, removing enum values)</t>
          </li>
          <li>
            <t>Modifying "description" statements in ways that change semantic meaning or behavior</t>
          </li>
        </ul>
        <t>In addition, section 4.4 of <xref target="I-D.ietf-netmod-yang-semver"/> defines editorial changes as the subset of backwards-compatible changes that have no impact on the semantics or syntax of a YANG module, which include:</t>
        <ul spacing="normal">
          <li>
            <t>Corrections to comments, descriptions, or references that do not change the semantic meaning</t>
          </li>
          <li>
            <t>Formatting improvements such as whitespace or indentation changes</t>
          </li>
          <li>
            <t>Corrections to typographical errors in description text</t>
          </li>
          <li>
            <t>Updates to contact information or copyright statements</t>
          </li>
          <li>
            <t>Changes to import statements that do not affect module functionality (e.g., updating import prefixes for readability)</t>
          </li>
        </ul>
      </section>
      <section anchor="the-revnon-backwards-compatible-extension">
        <name>The rev:non-backwards-compatible Extension</name>
        <t>The YANG module versioning framework <xref target="I-D.ietf-netmod-yang-module-versioning"/> defines the "rev:non-backwards-compatible" extension statement. This extension MUST be added as a substatement of a revision statement whenever that revision contains non-backwards-compatible changes relative to the previous revision.</t>
        <t>The following example illustrates this extension in use. In the example, an identity 'foo' was added in version 1.3.0, but was subsequently renamed to 'bar' in version 2.0.0. Since renaming is a non-backwards-compatible change, the major version number is incremented and the <tt>rev:non-backwards-compatible</tt> extension is included in the revision statement in version 2.0.0 of the YANG module:</t>
        <figure>
          <name>Revision history example from a YANG module</name>
          <sourcecode type="yang"><![CDATA[
  revision 2025-11-15 {
    ysv:version "2.0.0";
    rev:non-backwards-compatible;
    description
      "Renamed identity 'foo' to 'bar'.";
  }
  revision 2025-06-01 {
    ysv:version "1.3.0";
    description
      "Added identity 'foo'.";
  }
  ...
]]></sourcecode>
        </figure>
      </section>
      <section anchor="module-immutability">
        <name>Module Immutability</name>
        <t>A fundamental principle of YANG module versioning is that once a module revision is published with a specific revision date and version number, its content is immutable (much like an RFC is). The published content of that revision MUST NOT change. Any change to the module content requires publishing a new revision with a new revision date and an updated YANG Semver.</t>
        <t>This immutability principle has important implications:</t>
        <ul spacing="normal">
          <li>
            <t>Modules in Internet-Drafts SHOULD use pre-release versions (e.g., 0.1.0 or 2.0.0-draft) to indicate that the content may still change</t>
          </li>
          <li>
            <t>Once a document is approved by the IESG, the module version MUST be updated to a release version (e.g., 1.0.0, or 2.0.0) before publication as an RFC.</t>
          </li>
          <li>
            <t>IANA-maintained modules MUST publish a new revision any time the registry changes require module updates</t>
          </li>
        </ul>
      </section>
    </section>
    <section anchor="sec-rfc-workflow">
      <name>YANG Modules in Documents Being Published as RFCs</name>
      <t>This section describes the workflow and responsibilities for managing YANG modules in documents that have been approved by the IESG and are being processed for publication as RFCs. Both the RFC Editor and IANA have roles in this process.</t>
      <section anchor="core-requirements">
        <name>Core Requirements</name>
        <t>All YANG modules published by the RFC Editor or maintained by IANA MUST meet the following requirements:</t>
        <ol spacing="normal" type="1"><li>
            <t><strong>YANG Semver Version</strong>: Every module MUST include a semantic version number using the <tt>ysv:version</tt> statement in its most recent revision. The version MUST be correct relative to any previously published version of the same module (either in a previous RFC or on the IANA website).</t>
          </li>
          <li>
            <t><strong>NBC Extension for NBC Changes</strong>: If the module contains non-backwards-compatible changes relative to the previously published version, the revision statement MUST include the <tt>rev:non-backwards-compatible</tt> extension.</t>
          </li>
          <li>
            <t><strong>Revision Immutability</strong>: A published YANG module with a specific revision date and version number is immutable. Its content MUST NOT change without also changing the revision date and version number. For this reason, modules in Internet-Drafts SHOULD use pre-release versions (e.g., versions with MAJOR = 0 such as 0.1.0, or versions with a pre-release suffix such as 2.0.0-draft) to indicate that content may still change before final publication.</t>
          </li>
          <li>
            <t><strong>RFC Code Markers</strong>: YANG modules in RFCs MUST be properly marked with <tt>&lt;CODE BEGINS&gt;</tt> and <tt>&lt;CODE ENDS&gt;</tt> markers (or equivalent in the source format) to enable automated extraction. The markers MUST include the filename following the conventions in <xref target="I-D.ietf-netmod-yang-module-filename"/>.</t>
          </li>
        </ol>
      </section>
      <section anchor="workflow-steps">
        <name>Workflow Steps</name>
        <t>The following steps describe the coordinated process between the RFC Editor and IANA for handling YANG modules during RFC publication:</t>
        <section anchor="step-1-iesg-approval-with-pre-release-version">
          <name>Step 1: IESG Approval with Pre-Release Version</name>
          <t>When a document is approved by the IESG, any YANG modules it contains typically have pre-release version numbers (e.g., 0.1.0 or 1.0.0-draft). These pre-release versions indicate that the module content may still be subject to editorial changes during RFC Editor processing.</t>
        </section>
        <section anchor="step-2-rfc-editor-processing">
          <name>Step 2: RFC Editor Processing</name>
          <t>During RFC Editor processing, the RFC Editor may make editorial changes to the YANG module, such as:</t>
          <ul spacing="normal">
            <li>
              <t>Improving description text for clarity without changing semantic meaning</t>
            </li>
            <li>
              <t>Updating references to use final RFC numbers instead of draft names</t>
            </li>
            <li>
              <t>Correcting typographical errors</t>
            </li>
            <li>
              <t>Standardizing formatting and style</t>
            </li>
          </ul>
          <t>These editorial changes are appropriate and expected. The RFC Editor SHOULD:</t>
          <ul spacing="normal">
            <li>
              <t>Coordinate with document authors regarding any substantive changes</t>
            </li>
            <li>
              <t>Ensure that only editorial changes (as defined in <xref target="sec-background"/>) are made without author consultation</t>
            </li>
            <li>
              <t>If more significant changes are needed that might be backwards-compatible or non-backwards-compatible, consult with the authors to determine the correct version number and whether the <tt>rev:non-backwards-compatible</tt> extension is required</t>
            </li>
          </ul>
        </section>
        <section anchor="step-3-finalizing-the-module-version">
          <name>Step 3: Finalizing the Module Version</name>
          <t>Before publication, the module version MUST be updated from the pre-release version to a release version. The RFC Editor, in coordination with the document authors:</t>
          <ul spacing="normal">
            <li>
              <t>Updates the version to remove pre-release indicators (e.g., 0.1.0 → 1.0.0, or 1.0.0-draft → 1.0.0)</t>
            </li>
            <li>
              <t>Ensures the version correctly reflects the relationship to any previously published version of the module</t>
            </li>
            <li>
              <t>Adds the <tt>rev:non-backwards-compatible</tt> extension if NBC changes have occurred since the previous publication</t>
            </li>
            <li>
              <t>Updates the revision date to reflect the date of the final revision</t>
            </li>
          </ul>
        </section>
        <section anchor="step-4-iana-delay-of-publication">
          <name>Step 4: IANA Delay of Publication</name>
          <t>IANA SHOULD delay publishing the YANG module to the IANA YANG Parameters registry until the RFC Editor has completed editing the module. This coordination ensures that:</t>
          <ul spacing="normal">
            <li>
              <t>The IANA-published version matches the RFC-published version exactly</t>
            </li>
            <li>
              <t>No discrepancies exist between the two authoritative sources</t>
            </li>
            <li>
              <t>The module reference to the RFC (if present) is correct</t>
            </li>
          </ul>
        </section>
        <section anchor="step-5-coordinated-publication">
          <name>Step 5: Coordinated Publication</name>
          <t>Once the RFC Editor has finalized the module:</t>
          <ul spacing="normal">
            <li>
              <t>The RFC is published with the final module content</t>
            </li>
            <li>
              <t>IANA publishes the module to the IANA YANG Parameters registry at approximately the same time</t>
            </li>
            <li>
              <t>The module filename follows the conventions in <xref target="I-D.ietf-netmod-yang-module-filename"/></t>
            </li>
            <li>
              <t>IANA registers the module in the "YANG Module Names" registry if it is not already registered</t>
            </li>
          </ul>
        </section>
      </section>
      <section anchor="determining-the-correct-version">
        <name>Determining the Correct Version</name>
        <t>The correct version for a module in an RFC depends on its relationship to any previously published version:</t>
        <ul spacing="normal">
          <li>
            <t><strong>New Module</strong> (never published before): Version 1.0.0 is typically appropriate for the first publication</t>
          </li>
          <li>
            <t><strong>Updated Module</strong> (updating a module from a previous RFC): The version increment depends on the nature of changes:
            </t>
            <ul spacing="normal">
              <li>
                <t>Editorial changes only → PATCH increment (e.g., 1.0.0 → 1.0.1)</t>
              </li>
              <li>
                <t>Backwards-compatible additions → MINOR increment (e.g., 1.0.0 → 1.1.0)</t>
              </li>
              <li>
                <t>Non-backwards-compatible changes → MAJOR increment (e.g., 1.0.0 → 2.0.0) with NBC extension</t>
              </li>
            </ul>
          </li>
        </ul>
        <t>Tooling (described in <xref target="appendix-tooling"/>) can assist in determining the correct version by comparing the new module with the previously published version. The <tt>pyang --check-update-from</tt> command is particularly useful for detecting NBC changes.</t>
        <t>However, tools have limitations and cannot always detect editorial versus backwards-compatible changes, particularly in description text and must/when expressions. In such cases:</t>
        <ul spacing="normal">
          <li>
            <t>Review the classification guidance in <xref target="appendix-scenarios"/></t>
          </li>
          <li>
            <t>Consult with document authors who understand the intent of changes</t>
          </li>
          <li>
            <t>Seek expert guidance as described in <xref target="sec-expert-guidance"/> if uncertainty remains</t>
          </li>
          <li>
            <t>When in doubt, choose the more conservative classification (e.g., NBC rather than BC, or BC rather than editorial) to better highlight potential risks to implementations</t>
          </li>
        </ul>
      </section>
      <section anchor="verification-by-iana">
        <name>Verification by IANA</name>
        <t>When registering a YANG module from an RFC, IANA SHOULD verify:</t>
        <ol spacing="normal" type="1"><li>
            <t>The module includes a <tt>ysv:version</tt> statement in the most recent revision</t>
          </li>
          <li>
            <t>If the MAJOR version has incremented from a previous publication, the <tt>rev:non-backwards-compatible</tt> extension is present</t>
          </li>
          <li>
            <t>The module filename follows the conventions in <xref target="I-D.ietf-netmod-yang-module-filename"/></t>
          </li>
          <li>
            <t>The module is syntactically valid (can be validated using tools described in <xref target="appendix-tooling"/>)</t>
          </li>
        </ol>
        <t>If issues are found, IANA SHOULD report them to the RFC Editor, the document authors, and the NETMOD working group.</t>
      </section>
    </section>
    <section anchor="sec-iana-modules">
      <name>IANA-Maintained YANG Modules</name>
      <t>This section describes the process for IANA to update and publish YANG modules that are maintained by IANA and derived from IANA registries.</t>
      <section anchor="overview">
        <name>Overview</name>
        <t>Many IANA registries have corresponding YANG modules that represent registry contents in a machine-readable format. Examples include:</t>
        <ul spacing="normal">
          <li>
            <t><strong>iana-if-type</strong> - derived from the Interface Types (ifType) registry</t>
          </li>
          <li>
            <t><strong>iana-routing-types</strong> - derived from Address Family Numbers and SAFI Parameters registries</t>
          </li>
          <li>
            <t><strong>iana-bgp-types</strong> - derived from BGP Parameters registries</t>
          </li>
        </ul>
        <t>When these registries are updated, the corresponding YANG modules MUST be updated accordingly, following the same versioning rules described in <xref target="sec-background"/>.</t>
      </section>
      <section anchor="characteristics-of-iana-maintained-modules">
        <name>Characteristics of IANA-Maintained Modules</name>
        <t>IANA-maintained YANG modules typically:</t>
        <ul spacing="normal">
          <li>
            <t>Have names starting with "iana-"</t>
          </li>
          <li>
            <t>Contain primarily enumeration typedefs or identity definitions that map directly to registry entries</t>
          </li>
          <li>
            <t>Are updated more frequently than IETF-defined modules</t>
          </li>
          <li>
            <t>Follow a linear version history without branching</t>
          </li>
          <li>
            <t>Have simpler structure than general-purpose YANG modules, which simplifies classification of changes</t>
          </li>
        </ul>
        <t>Because IANA-maintained YANG modules are always expected to follow a linear version history without branching, the <em>_COMPAT</em> modifier defined in <xref target="I-D.ietf-netmod-yang-semver"/> is not needed or used for these modules. The <em>_COMPAT</em> modifier is only required for non-linear branched histories of YANG module versions. Therefore, only the <em>MAJOR.MINOR.PATCH</em> elements of YANG Semver need be considered for IANA-maintained modules.</t>
      </section>
      <section anchor="rules-applicable-to-iana-maintained-modules">
        <name>Rules Applicable to IANA-Maintained Modules</name>
        <t>IANA-maintained YANG modules typically contain only enumerations (enum) and identity definitions, as they represent simple registry mappings. The most relevant compatibility rules for these modules are:</t>
        <t><strong>Backwards-Compatible Changes:</strong></t>
        <ul spacing="normal">
          <li>
            <t>Adding a new enum value or identity</t>
          </li>
          <li>
            <t>Changing status from "current" to "deprecated"</t>
          </li>
          <li>
            <t>Adding or updating "reference" statements</t>
          </li>
          <li>
            <t>Clarifying "description" statements without changing meaning</t>
          </li>
          <li>
            <t>Removing schema nodes that have status "obsolete" (per Section 3.1.1 of <xref target="I-D.ietf-netmod-yang-module-versioning"/>)</t>
          </li>
        </ul>
        <t><strong>Non-Backwards-Compatible Changes:</strong></t>
        <ul spacing="normal">
          <li>
            <t>Removing an enum value or identity (unless status is "obsolete")</t>
          </li>
          <li>
            <t>Changing status to "obsolete"</t>
          </li>
          <li>
            <t>Renaming an enum or identity</t>
          </li>
          <li>
            <t>Changing the numeric value assigned to an enum</t>
          </li>
          <li>
            <t>Reusing a previously assigned numeric value for a different enum</t>
          </li>
          <li>
            <t>Modifying "description" in a way that changes the semantic meaning</t>
          </li>
        </ul>
        <t><strong>Editorial Changes:</strong></t>
        <ul spacing="normal">
          <li>
            <t>Fixing typographical errors in description text</t>
          </li>
          <li>
            <t>Updating contact information</t>
          </li>
          <li>
            <t>Formatting improvements</t>
          </li>
        </ul>
      </section>
      <section anchor="process-for-updating-iana-maintained-modules">
        <name>Process for Updating IANA-Maintained Modules</name>
        <t>When a change is made to an IANA registry that has a corresponding YANG module, IANA MUST update the module following these steps:</t>
        <section anchor="step-1-follow-rfc-defined-rules">
          <name>Step 1: Follow RFC-Defined Rules</name>
          <t>First, consult the RFC that defines the IANA registry and its associated YANG module. That RFC may specify:</t>
          <ul spacing="normal">
            <li>
              <t>Specific rules for how registry entries map to YANG constructs</t>
            </li>
            <li>
              <t>Guidance on when and how to update the module</t>
            </li>
            <li>
              <t>Contact information for expert reviewers</t>
            </li>
            <li>
              <t>Special considerations for the particular registry</t>
            </li>
          </ul>
          <t>Always follow the specific guidance in the RFC that created the registry and module.</t>
        </section>
        <section anchor="step-2-identify-the-registry-change">
          <name>Step 2: Identify the Registry Change</name>
          <t>Determine exactly what changed in the registry:</t>
          <ul spacing="normal">
            <li>
              <t>Was a new entry added?</t>
            </li>
            <li>
              <t>Was an existing entry modified (description, reference, status)?</t>
            </li>
            <li>
              <t>Was an entry deprecated or obsoleted?</t>
            </li>
            <li>
              <t>Was an entry removed?</t>
            </li>
            <li>
              <t>Were multiple changes made simultaneously?</t>
            </li>
          </ul>
        </section>
        <section anchor="step-3-apply-changes-to-the-yang-module">
          <name>Step 3: Apply Changes to the YANG Module</name>
          <t>Update the YANG module to reflect the registry changes. For IANA-maintained modules, this typically involves:</t>
          <ul spacing="normal">
            <li>
              <t>Adding a new enum value or identity for new registry entries</t>
            </li>
            <li>
              <t>Updating description or reference statements for modified entries</t>
            </li>
            <li>
              <t>Changing status statements for deprecated or obsoleted entries</t>
            </li>
            <li>
              <t>Removing entries only if they are obsolete or if the defining RFC specifies removal</t>
            </li>
          </ul>
        </section>
        <section anchor="step-4-use-tooling-to-determine-the-version">
          <name>Step 4: Use Tooling to Determine the Version</name>
          <t>Use the tools described in <xref target="appendix-tooling"/> to compare the updated module with the previously published version. The <tt>pyang --check-update-from</tt> command will identify any non-backwards-compatible changes:</t>
          <sourcecode type="shell"><![CDATA[
pyang --check-update-from iana-if-type@2025-10-15.yang \
                          iana-if-type@2025-11-15.yang
]]></sourcecode>
          <t>If the tool reports NBC violations, the MAJOR version must be incremented and the <tt>rev:non-backwards-compatible</tt> extension must be added.</t>
          <t>If the tool reports no violations, determine whether the change is backwards-compatible (BC) or editorial:</t>
          <ul spacing="normal">
            <li>
              <t><strong>Editorial</strong>: Only documentation changed (descriptions, references) without semantic meaning change → PATCH increment</t>
            </li>
            <li>
              <t><strong>BC</strong>: New functionality added (new enums, identities) or status changed to deprecated → MINOR increment</t>
            </li>
          </ul>
        </section>
        <section anchor="step-5-update-the-revision-statement">
          <name>Step 5: Update the Revision Statement</name>
          <t>Add a new revision statement at the top of the module with:</t>
          <ul spacing="normal">
            <li>
              <t>The current date</t>
            </li>
            <li>
              <t>The new version number (calculated based on the change classification)</t>
            </li>
            <li>
              <t>A clear description of what changed</t>
            </li>
            <li>
              <t>The <tt>rev:non-backwards-compatible</tt> extension if NBC changes occurred</t>
            </li>
          </ul>
        </section>
        <section anchor="step-6-validate-the-module">
          <name>Step 6: Validate the Module</name>
          <t>Use validation tools to ensure the updated module is syntactically correct:</t>
          <sourcecode type="shell"><![CDATA[
pyang --ietf iana-if-type@2025-11-15.yang
]]></sourcecode>
          <t>or</t>
          <sourcecode type="shell"><![CDATA[
yanglint iana-if-type@2025-11-15.yang
]]></sourcecode>
        </section>
        <section anchor="step-7-seek-expert-review-if-needed">
          <name>Step 7: Seek Expert Review if Needed</name>
          <t>In most cases, the classification will be straightforward. However, if any of the following apply, IANA SHOULD seek expert guidance as described in <xref target="sec-expert-guidance"/>:</t>
          <ul spacing="normal">
            <li>
              <t>The change classification is unclear</t>
            </li>
            <li>
              <t>Multiple simultaneous changes have different classifications</t>
            </li>
            <li>
              <t>Description changes may alter semantic meaning</t>
            </li>
            <li>
              <t>The tool output is unexpected or contradictory</t>
            </li>
            <li>
              <t>The situation is not covered by examples in <xref target="appendix-scenarios"/></t>
            </li>
          </ul>
        </section>
        <section anchor="step-8-publish-the-updated-module">
          <name>Step 8: Publish the Updated Module</name>
          <t>Once the module is validated and the version is confirmed:</t>
          <ul spacing="normal">
            <li>
              <t>Publish the updated module to the IANA website</t>
            </li>
            <li>
              <t>Update any relevant registries or indexes</t>
            </li>
            <li>
              <t>Ensure the new version is discoverable and accessible</t>
            </li>
          </ul>
        </section>
      </section>
      <section anchor="simplified-decision-process">
        <name>Simplified Decision Process</name>
        <t>For IANA-maintained modules, the following simplified decision process can be used in most cases:</t>
        <t><strong>Did you add a new enum or identity?</strong>
→ Backwards-Compatible: MINOR version increment (e.g., 1.0.0 → 1.1.0)</t>
        <t><strong>Did you only update references or clarify descriptions without changing meaning?</strong>
→ Editorial: PATCH version increment (e.g., 1.0.0 → 1.0.1)</t>
        <t><strong>Did you change status from "current" to "deprecated"?</strong>
→ Backwards-Compatible: MINOR version increment (e.g., 1.0.0 → 1.1.0)</t>
        <t><strong>Did you change status to "obsolete", remove an entry, rename an entry, or change a value number?</strong>
→ Non-Backwards-Compatible: MAJOR version increment (e.g., 1.0.0 → 2.0.0) and ADD <tt>rev:non-backwards-compatible</tt> extension</t>
        <t><strong>Did you change a description in a way that changes behavior or meaning?</strong>
→ Non-Backwards-Compatible: MAJOR version increment (e.g., 1.0.0 → 2.0.0) and ADD <tt>rev:non-backwards-compatible</tt> extension</t>
        <t><strong>Are you uncertain?</strong>
→ Use tooling (<xref target="appendix-tooling"/>), consult scenarios (<xref target="appendix-scenarios"/>), or seek expert guidance (<xref target="sec-expert-guidance"/>)</t>
      </section>
      <section anchor="examples">
        <name>Examples</name>
        <t>For detailed examples of common scenarios (adding entries, updating references, deprecating entries, etc.), see <xref target="appendix-scenarios"/>.</t>
      </section>
    </section>
    <section anchor="sec-expert-guidance">
      <name>Seeking Expert Guidance</name>
      <section anchor="when-to-seek-guidance">
        <name>When to Seek Guidance</name>
        <t>The RFC Editor and IANA SHOULD contact YANG experts in the following situations:</t>
        <ol spacing="normal" type="1"><li>
            <t><strong>Classification Uncertainty</strong> - When it's unclear whether a change is NBC, BC, or Editorial</t>
          </li>
          <li>
            <t><strong>Complex Changes</strong> - Multiple simultaneous changes that are difficult to classify individually</t>
          </li>
          <li>
            <t><strong>Description Changes</strong> - When a description update may alter the semantic meaning</t>
          </li>
          <li>
            <t><strong>Unusual Situations</strong> - Any scenario not clearly covered in this document</t>
          </li>
          <li>
            <t><strong>Registry Restructuring</strong> - Major changes to how a registry is organized</t>
          </li>
          <li>
            <t><strong>Value Reuse</strong> - When considering reusing a previously assigned value number</t>
          </li>
          <li>
            <t><strong>Tool Disagreement</strong> - When validation tools give unexpected or contradictory results</t>
          </li>
          <li>
            <t><strong>RFC Editor Processing</strong> - When RFC Editor changes may go beyond editorial scope</t>
          </li>
        </ol>
      </section>
      <section anchor="how-to-seek-guidance">
        <name>How to Seek Guidance</name>
        <section anchor="primary-contact-yang-doctors">
          <name>Primary Contact: YANG Doctors</name>
          <t>Email the YANG Doctors mailing list:</t>
          <ul spacing="normal">
            <li>
              <t><strong>Email</strong>: yang-doctors@ietf.org</t>
            </li>
            <li>
              <t><strong>Purpose</strong>: Technical review and guidance on YANG modules</t>
            </li>
            <li>
              <t><strong>Response Time</strong>: Typically 1-2 weeks</t>
            </li>
          </ul>
          <t>When emailing, please include:
- Description of the change or situation
- The affected YANG module and relevant excerpts
- Your proposed classification and version change
- Specific questions or concerns
- Any relevant tool output</t>
        </section>
        <section anchor="secondary-contact-netmod-wg">
          <name>Secondary Contact: NETMOD WG</name>
          <t>For broader issues or when needing working group discussion:
- <strong>Email</strong>: netmod@ietf.org
- <strong>Purpose</strong>: Working group discussion of YANG issues</t>
          <ul spacing="normal">
            <li>
              <t><strong>Primary Recipient</strong>: Management Area Director (currently responsible for NETMOD)</t>
            </li>
            <li>
              <t><strong>Copy</strong>: Operations Area Director</t>
            </li>
            <li>
              <t><strong>Purpose</strong>: Escalation and prioritization when expert guidance is not received</t>
            </li>
            <li>
              <t><strong>When to Escalate</strong>: After 2-3 weeks without response from YANG Doctors, or immediately for time-sensitive issues blocking RFC publication or critical IANA registry updates</t>
            </li>
          </ul>
        </section>
      </section>
      <section anchor="example-request">
        <name>Example Request</name>
        <sourcecode type="text"><![CDATA[
Subject: YANG Versioning Question - iana-if-type Update

Dear YANG Doctors,

I need guidance on classifying a change to the iana-if-type module.

Change Description:
The Interface Types registry has updated the description for
interface type 6 (ethernet) to clarify that it includes both
10BASE-T and 100BASE-T variants.

Proposed YANG Change:
Update the description statement for the "ethernet" enum to
include the clarification.

Question:
Should this be classified as Editorial (PATCH increment) since
it's clarifying existing behavior, or as BC (MINOR increment)
because it's adding new information?

The old description said: "Ethernet interface"
The new description says: "Ethernet interface, including
10BASE-T and 100BASE-T variants"

Current module version: 1.5.0
Proposed version: 1.5.1 (if Editorial) or 1.6.0 (if BC)

Thank you for your guidance.
]]></sourcecode>
      </section>
    </section>
    <section anchor="sec-operational">
      <name>Operational Considerations</name>
      <t>This entire document provides operational guidance for the RFC Editor and IANA on how to process and publish YANG modules. The procedures described in <xref target="sec-rfc-workflow"/> and <xref target="sec-iana-modules"/> are designed to ensure consistent and correct versioning of YANG modules across all IETF and IANA publications.</t>
      <t>Correct versioning is critical because consumers of YANG modules rely on the semantic version number to understand the compatibility and risk associated with updating to a new module version:</t>
      <ul spacing="normal">
        <li>
          <t><strong>PATCH version increments</strong> signal that only editorial changes have been made, indicating very low risk for updates</t>
        </li>
        <li>
          <t><strong>MINOR version increments</strong> signal backwards-compatible additions, indicating that existing implementations will continue to work but new features are available</t>
        </li>
        <li>
          <t><strong>MAJOR version increments</strong> signal non-backwards-compatible changes, indicating that implementations must carefully evaluate the impact before updating</t>
        </li>
      </ul>
      <t>Following the guidance in this document helps ensure that version numbers accurately communicate these compatibility expectations to the YANG module consumer community.</t>
      <t>When uncertain about the correct classification or version for a module, the operational recommendation is to choose the more conservative option:</t>
      <ul spacing="normal">
        <li>
          <t>If uncertain between editorial and backwards-compatible, choose backwards-compatible (MINOR rather than PATCH)</t>
        </li>
        <li>
          <t>If uncertain between backwards-compatible and non-backwards-compatible, choose non-backwards-compatible (MAJOR rather than MINOR, and include the NBC extension)</t>
        </li>
      </ul>
      <t>This conservative approach ensures that consumers are appropriately warned about potential compatibility implications, even if the actual risk turns out to be lower than indicated.</t>
    </section>
    <section anchor="security-considerations">
      <name>Security Considerations</name>
      <t>This document gives instructions to IANA on how to handle YANG modules that are published in RFCs and also YANG modules that are derived from IANA registries.</t>
      <t>Incorrect interpretion of this document could cause incorrect handling or versioning of IANA maintained YANG modules.</t>
      <t>This document recommends the usage of various tools.  Bugs or attacks on these tools could cause the tools to give incorrect or misleading guidance.  In all cases, secondary evaluation of output of the tools should be performed to confirm that they are giving the anticipated results.  The <em>YANG Doctors</em> team can also be contacted for further advice, if required.</t>
    </section>
    <section anchor="iana-considerations">
      <name>IANA Considerations</name>
      <t>This document provides operational guidance to IANA and the RFC Editor for managing YANG modules. It does not require IANA to create or modify any registries, nor does it define any new registration procedures.</t>
      <t>The guidance in this document is intended to clarify and standardize how IANA processes YANG modules in the "YANG Module Names" registry (<eref target="https://www.iana.org/assignments/yang-parameters/">https://www.iana.org/assignments/yang-parameters/</eref>) and how IANA maintains YANG modules derived from IANA registries.</t>
      <t>IANA should follow the procedures described in <xref target="sec-rfc-workflow"/> when processing YANG modules from RFCs and the procedures described in <xref target="sec-iana-modules"/> when updating IANA-maintained YANG modules.</t>
    </section>
  </middle>
  <back>
    <references anchor="sec-combined-references">
      <name>References</name>
      <references anchor="sec-normative-references">
        <name>Normative References</name>
        <reference anchor="RFC7950">
          <front>
            <title>The YANG 1.1 Data Modeling Language</title>
            <author fullname="M. Bjorklund" initials="M." role="editor" surname="Bjorklund"/>
            <date month="August" year="2016"/>
            <abstract>
              <t>YANG is a data modeling language used to model configuration data, state data, Remote Procedure Calls, and notifications for network management protocols. This document describes the syntax and semantics of version 1.1 of the YANG language. YANG version 1.1 is a maintenance release of the YANG language, addressing ambiguities and defects in the original specification. There are a small number of backward incompatibilities from YANG version 1. This document also specifies the YANG mappings to the Network Configuration Protocol (NETCONF).</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7950"/>
          <seriesInfo name="DOI" value="10.17487/RFC7950"/>
        </reference>
        <reference anchor="I-D.ietf-netmod-yang-module-versioning">
          <front>
            <title>Updated YANG Module Revision Handling</title>
            <author fullname="Robert Wilton" initials="R." surname="Wilton">
              <organization>Cisco Systems, Inc.</organization>
            </author>
            <author fullname="Reshad Rahman" initials="R." surname="Rahman">
              <organization>Equinix</organization>
            </author>
            <author fullname="Balázs Lengyel" initials="B." surname="Lengyel">
              <organization>Ericsson</organization>
            </author>
            <author fullname="Joe Clarke" initials="J." surname="Clarke">
              <organization>Cisco Systems, Inc.</organization>
            </author>
            <author fullname="Jason Sterne" initials="J." surname="Sterne">
              <organization>Nokia</organization>
            </author>
            <date day="18" month="October" year="2025"/>
            <abstract>
              <t>   This document refines the RFC 7950 module update rules.  It specifies
   a new YANG module update procedure that can document when non-
   backwards-compatible changes have occurred during the evolution of a
   YANG module.  It extends the YANG import statement with a minimum
   revision suggestion to help document inter-module dependencies.  It
   provides guidelines for managing the lifecycle of YANG modules and
   individual schema nodes.  This document updates RFC 7950, RFC 6020,
   RFC 8407 and RFC 8525.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-netmod-yang-module-versioning-15"/>
        </reference>
        <reference anchor="I-D.ietf-netmod-yang-semver">
          <front>
            <title>YANG Semantic Versioning</title>
            <author fullname="Joe Clarke" initials="J." surname="Clarke">
              <organization>Cisco Systems, Inc.</organization>
            </author>
            <author fullname="Robert Wilton" initials="R." surname="Wilton">
              <organization>Cisco Systems, Inc.</organization>
            </author>
            <author fullname="Reshad Rahman" initials="R." surname="Rahman">
              <organization>Equinix</organization>
            </author>
            <author fullname="Balázs Lengyel" initials="B." surname="Lengyel">
              <organization>Ericsson</organization>
            </author>
            <author fullname="Jason Sterne" initials="J." surname="Sterne">
              <organization>Nokia</organization>
            </author>
            <author fullname="Benoît Claise" initials="B." surname="Claise">
              <organization>Everything OPS</organization>
            </author>
            <date day="29" month="September" year="2025"/>
            <abstract>
              <t>   This document specifies a YANG extension along with guidelines for
   applying an extended set of semantic versioning rules to revisions of
   YANG artifacts (e.g., modules and packages).  Additionally, this
   document defines a YANG extension for controlling module imports
   based on these modified semantic versioning rules.

   This document updates RFCs 7950, 8407bis, and 8525.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-netmod-yang-semver-24"/>
        </reference>
        <reference anchor="I-D.ietf-netmod-rfc8407bis">
          <front>
            <title>Guidelines for Authors and Reviewers of Documents Containing YANG Data Models</title>
            <author fullname="Andy Bierman" initials="A." surname="Bierman">
              <organization>YumaWorks</organization>
            </author>
            <author fullname="Mohamed Boucadair" initials="M." surname="Boucadair">
              <organization>Orange</organization>
            </author>
            <author fullname="Qin Wu" initials="Q." surname="Wu">
              <organization>Huawei</organization>
            </author>
            <date day="5" month="June" year="2025"/>
            <abstract>
              <t>   This document provides guidelines for authors and reviewers of
   specifications containing YANG data models, including IANA-maintained
   modules.  Recommendations and procedures are defined, which are
   intended to increase interoperability and usability of Network
   Configuration Protocol (NETCONF) and RESTCONF Protocol
   implementations that utilize YANG modules.  This document obsoletes
   RFC 8407.

   Also, this document updates RFC 8126 by providing additional
   guidelines for writing the IANA considerations for RFCs that specify
   IANA-maintained modules.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-netmod-rfc8407bis-28"/>
        </reference>
        <reference anchor="I-D.ietf-netmod-yang-module-filename">
          <front>
            <title>YANG module file name convention</title>
            <author fullname="Per Andersson" initials="P." surname="Andersson">
              <organization>Ionio Systems</organization>
            </author>
            <date day="20" month="October" year="2025"/>
            <abstract>
              <t>   This document presents YANG module file name convention.  The
   convention extends the current YANG module file name using
   revision-date, with the YANG semantic version extension.  The YANG
   semantic version extension allows for an informative version to be
   associated with a particular YANG module revision.

   This documents updates RFCs 6020, 7950, and draft-ietf-netmod-
   rfc8407bis.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-netmod-yang-module-filename-03"/>
        </reference>
      </references>
      <references anchor="sec-informative-references">
        <name>Informative References</name>
        <reference anchor="I-D.ietf-netmod-yang-schema-comparison">
          <front>
            <title>YANG Schema Comparison</title>
            <author fullname="Per Andersson" initials="P." surname="Andersson">
              <organization>Ionio Systems</organization>
            </author>
            <author fullname="Robert Wilton" initials="R." surname="Wilton">
              <organization>Cisco Systems, Inc.</organization>
            </author>
            <author fullname="Michal Vaško" initials="M." surname="Vaško">
              <organization>CESNET</organization>
            </author>
            <date day="20" month="October" year="2025"/>
            <abstract>
              <t>   This document specifies an algorithm for comparing two revisions of a
   YANG schema to determine the scope of changes, and a list of changes,
   between the revisions.  The output of the algorithm can be used to
   help select an appropriate revision-label or YANG semantic version
   number for a new revision.  Included is also a YANG module describing
   the output of this algorithm.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-netmod-yang-schema-comparison-05"/>
        </reference>
        <reference anchor="I-D.boucadair-veloce-yang">
          <front>
            <title>YANG deVELpment PrOCEss &amp; maintenance (VELOCE)</title>
            <author fullname="Mohamed Boucadair" initials="M." surname="Boucadair">
              <organization>Orange</organization>
            </author>
            <date day="18" month="September" year="2025"/>
            <abstract>
              <t>   This document describes a YANG deVELpment PrOCEss &amp; maintenance
   (VELOCE) that is more suitable for the development of YANG modules or
   YANG modules update within the IETF.

Discussion Venues

   This note is to be removed before publishing as an RFC.

   Source for this draft and an issue tracker can be found at
   https://github.com/boucadair/draft-boucadair-veloce-yang.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-boucadair-veloce-yang-05"/>
        </reference>
      </references>
    </references>
    <?line 563?>

<section anchor="appendix-tooling">
      <name>Available Tooling</name>
      <t>This appendix describes tooling available to assist the RFC Editor and IANA in validating and versioning YANG modules. The tools and capabilities described here reflect the state of tooling as of the publication of this document. Tool capabilities are expected to evolve over time, and newer or improved tools may become available. The NETMOD working group and YANG Doctors can provide updated guidance on current best practices for tooling.</t>
      <section anchor="yang-validation-tools">
        <name>YANG Validation Tools</name>
        <section anchor="pyang">
          <name>pyang</name>
          <t><strong>Purpose</strong>: pyang is a comprehensive YANG validator and converter tool that can validate syntax, check for backwards-compatible violations, and generate documentation.</t>
          <t><strong>Primary Use Cases</strong>:</t>
          <ul spacing="normal">
            <li>
              <t>Validating YANG module syntax and compliance with IETF conventions</t>
            </li>
            <li>
              <t>Detecting non-backwards-compatible changes between module versions</t>
            </li>
            <li>
              <t>Generating tree diagrams for documentation</t>
            </li>
          </ul>
          <t><strong>Installation</strong>: pyang is available via PyPI (<tt>pip install pyang</tt>) or from <eref target="https://github.com/mbj4668/pyang">https://github.com/mbj4668/pyang</eref></t>
          <t><strong>Basic Syntax Validation</strong>:</t>
          <sourcecode type="shell"><![CDATA[
pyang --ietf module-name.yang
]]></sourcecode>
          <t>This command validates the module syntax and checks compliance with IETF-specific conventions. Output will show any errors or warnings. A module SHOULD have no errors and SHOULD minimize warnings before publication.</t>
          <t><strong>Checking for NBC Changes</strong>:</t>
          <sourcecode type="shell"><![CDATA[
pyang --check-update-from old-module.yang new-module.yang
]]></sourcecode>
          <t>This command compares two versions of a module and reports any violations of the backwards-compatible update rules defined in <xref target="I-D.ietf-netmod-yang-module-versioning"/>.</t>
          <t><strong>Interpreting Output</strong>:</t>
          <ul spacing="normal">
            <li>
              <t>If the command reports no errors: The changes are backwards-compatible (BC) or editorial</t>
            </li>
            <li>
              <t>If the command reports errors like "the enum 'X' has been removed": The changes are non-backwards-compatible (NBC), requiring a MAJOR version increment and the NBC extension</t>
            </li>
            <li>
              <t>To distinguish BC from editorial changes, manually review the changes (editorial affects only documentation without semantic meaning changes)</t>
            </li>
          </ul>
          <t><strong>Example Output</strong>:</t>
          <sourcecode type="text"><![CDATA[
old-module.yang:15: error: the enum 'deprecated-value' has been removed
]]></sourcecode>
          <t>This indicates an NBC change has occurred.</t>
        </section>
        <section anchor="yanglint">
          <name>yanglint</name>
          <t><strong>Purpose</strong>: yanglint is a YANG validator and data manipulation tool from the libyang project, useful for validating modules and instance data.</t>
          <t><strong>Primary Use Cases</strong>:</t>
          <ul spacing="normal">
            <li>
              <t>Validating YANG module syntax</t>
            </li>
            <li>
              <t>Checking cross-module dependencies</t>
            </li>
            <li>
              <t>Validating instance data against YANG schemas</t>
            </li>
          </ul>
          <t><strong>Installation</strong>: yanglint is part of libyang, available from <eref target="https://github.com/CESNET/libyang">https://github.com/CESNET/libyang</eref></t>
          <t><strong>Basic Syntax Validation</strong>:</t>
          <sourcecode type="shell"><![CDATA[
yanglint module-name.yang
]]></sourcecode>
          <t>This command validates the module syntax. No output indicates successful validation; errors will be displayed if found.</t>
          <t><strong>Validating with Dependencies</strong>:</t>
          <sourcecode type="shell"><![CDATA[
yanglint -p /path/to/yang/modules module-name.yang
]]></sourcecode>
          <t>The <tt>-p</tt> option specifies a directory containing imported modules.</t>
          <t><strong>Interpreting Output</strong>:</t>
          <ul spacing="normal">
            <li>
              <t>No output: Module is syntactically valid</t>
            </li>
            <li>
              <t>Error messages: Module has syntax errors that must be corrected before publication</t>
            </li>
          </ul>
        </section>
        <section anchor="yang-catalog-tools">
          <name>YANG Catalog Tools</name>
          <t><strong>Purpose</strong>: The YANG Catalog (<eref target="https://www.yangcatalog.org">https://www.yangcatalog.org</eref>) provides online tools for module validation, comparison, and discovery.</t>
          <t><strong>Primary Use Cases</strong>:</t>
          <ul spacing="normal">
            <li>
              <t>Validating YANG modules without local tool installation</t>
            </li>
            <li>
              <t>Comparing different versions of modules</t>
            </li>
            <li>
              <t>Viewing module dependencies and impact analysis</t>
            </li>
            <li>
              <t>Searching for existing modules and versions</t>
            </li>
          </ul>
          <t><strong>Usage</strong>:</t>
          <t>Access the web interface at <eref target="https://www.yangcatalog.org">https://www.yangcatalog.org</eref> and use the "Validator" and "YANG Impact Analysis" tools.</t>
          <t><strong>Interpreting Results</strong>:</t>
          <t>The online tools provide visual feedback on validation results and module comparisons. The impact analysis tool can show which other modules depend on a given module, helping assess the impact of changes.</t>
        </section>
      </section>
      <section anchor="recommended-workflow">
        <name>Recommended Workflow</name>
        <t>The following workflow is recommended for validating and versioning YANG modules:</t>
        <ol spacing="normal" type="1"><li>
            <t><strong>Make Changes to Module</strong> - Update the YANG file based on registry changes or RFC Editor edits</t>
          </li>
          <li>
            <t><strong>Validate Syntax</strong> - Run pyang or yanglint to check for syntax errors:
~~~~ shell
pyang --ietf module-name.yang
~~~~</t>
          </li>
          <li>
            <t><strong>Check for NBC Changes</strong> - Use pyang to compare with the previous version:
~~~~ shell
pyang --check-update-from old-version.yang new-version.yang
~~~~</t>
          </li>
          <li>
            <t><strong>Review Tool Output</strong> - Analyze any reported issues:
            </t>
            <ul spacing="normal">
              <li>
                <t>Errors from <tt>--check-update-from</tt> indicate NBC changes</t>
              </li>
              <li>
                <t>No errors indicate BC or editorial changes</t>
              </li>
            </ul>
          </li>
          <li>
            <t><strong>Determine Version</strong> - Based on the tool output and manual review:
            </t>
            <ul spacing="normal">
              <li>
                <t>NBC changes → MAJOR version increment (e.g., 1.0.0 → 2.0.0)</t>
              </li>
              <li>
                <t>BC changes (new functionality) → MINOR version increment (e.g., 1.0.0 → 1.1.0)</t>
              </li>
              <li>
                <t>Editorial changes (documentation only) → PATCH version increment (e.g., 1.0.0 → 1.0.1)</t>
              </li>
            </ul>
          </li>
          <li>
            <t><strong>Add Revision Statement</strong> - Include:
            </t>
            <ul spacing="normal">
              <li>
                <t>Current date</t>
              </li>
              <li>
                <t>New version number using <tt>ysv:version</tt></t>
              </li>
              <li>
                <t>Clear description of changes</t>
              </li>
              <li>
                <t><tt>rev:non-backwards-compatible</tt> extension if NBC changes occurred</t>
              </li>
            </ul>
          </li>
          <li>
            <t><strong>Final Validation</strong> - Validate the complete updated module:
~~~~ shell
pyang --ietf module-name.yang
~~~~</t>
          </li>
          <li>
            <t><strong>Seek Review if Needed</strong> - Contact experts (<xref target="sec-expert-guidance"/>) if:
            </t>
            <ul spacing="normal">
              <li>
                <t>Tool output is unclear or surprising</t>
              </li>
              <li>
                <t>Classification is uncertain</t>
              </li>
              <li>
                <t>Description changes may have altered semantic meaning</t>
              </li>
            </ul>
          </li>
        </ol>
      </section>
      <section anchor="tool-limitations">
        <name>Tool Limitations</name>
        <t>While tools are valuable for YANG module validation and versioning, they have important limitations:</t>
        <t><strong>Limitation 1: Cannot Always Distinguish Editorial from BC Changes</strong></t>
        <t>Tools cannot determine whether a description change is purely editorial (clarifying existing meaning) or backwards-compatible (adding new information). Human judgment is required to make this distinction.</t>
        <t>Example: Changing "Ethernet interface" to "Ethernet interface, including 10BASE-T and 100BASE-T" could be editorial (if those variants were always included) or BC (if documenting newly supported variants).</t>
        <t><strong>Limitation 2: Cannot Detect Semantic Changes in Descriptions</strong></t>
        <t>If a description change alters the intended behavior or meaning of a schema node, it may be an NBC change, but tools cannot detect this automatically.</t>
        <t>Example: Changing "includes IPv4 only" to "includes IPv4 and IPv6" changes the semantic meaning and may be NBC, but tools will not flag this.</t>
        <t><strong>Limitation 3: Cannot Assess Practical Impact</strong></t>
        <t>Tools can identify that an NBC change has occurred but cannot assess how many implementations are affected or what the practical migration cost will be.</t>
        <t><strong>Limitation 4: May Produce False Positives or False Negatives</strong></t>
        <t>Tool implementations may have bugs or may not cover all edge cases in the YANG versioning rules. Always review tool output critically and consult experts if results are unexpected.</t>
        <t><strong>Recommendation</strong>: Always combine tool usage with the classification guidance in this document (particularly <xref target="appendix-scenarios"/>) and seek expert review (<xref target="sec-expert-guidance"/>) when uncertainty remains.</t>
      </section>
      <section anchor="future-tool-development">
        <name>Future Tool Development</name>
        <t>The NETMOD working group continues to develop improved tooling for YANG module management. Anticipated future capabilities include:</t>
        <ul spacing="normal">
          <li>
            <t>Automated registry-to-YANG conversion tools</t>
          </li>
          <li>
            <t>Enhanced NBC change detection optimized for IANA-maintained modules</t>
          </li>
          <li>
            <t>Automated version recommendation based on detected changes</t>
          </li>
          <li>
            <t>Better detection of semantic changes in descriptions and constraints</t>
          </li>
        </ul>
        <t>As new tools become available, the NETMOD working group and YANG Doctors will provide guidance on their usage. The RFC Editor and IANA will be informed of tool updates that affect the workflows described in this document.</t>
      </section>
    </section>
    <section anchor="appendix-scenarios">
      <name>Summary of Registry Action Scenarios</name>
      <t>This appendix provides a comprehensive reference of common scenarios encountered when updating YANG modules, particularly IANA-maintained modules. Each scenario describes the registry action, the corresponding YANG module change, the classification (NBC/BC/Editorial), the version change required, and whether the <tt>rev:non-backwards-compatible</tt> extension must be added.</t>
      <section anchor="quick-reference-table">
        <name>Quick Reference Table</name>
        <table>
          <thead>
            <tr>
              <th align="left">Registry Action</th>
              <th align="left">YANG Change</th>
              <th align="left">Classification</th>
              <th align="left">Version</th>
              <th align="left">NBC Ext</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left">Add new registration</td>
              <td align="left">Add enum/identity</td>
              <td align="left">BC</td>
              <td align="left">MINOR</td>
              <td align="left">No</td>
            </tr>
            <tr>
              <td align="left">Update reference (obsoleted RFC)</td>
              <td align="left">Update reference</td>
              <td align="left">Editorial</td>
              <td align="left">PATCH</td>
              <td align="left">No</td>
            </tr>
            <tr>
              <td align="left">Add additional reference</td>
              <td align="left">Update reference</td>
              <td align="left">Editorial</td>
              <td align="left">PATCH</td>
              <td align="left">No</td>
            </tr>
            <tr>
              <td align="left">Draft → RFC reference</td>
              <td align="left">Update reference</td>
              <td align="left">Editorial</td>
              <td align="left">PATCH</td>
              <td align="left">No</td>
            </tr>
            <tr>
              <td align="left">Deprecate (keep name)</td>
              <td align="left">status deprecated</td>
              <td align="left">BC</td>
              <td align="left">MINOR</td>
              <td align="left">No</td>
            </tr>
            <tr>
              <td align="left">Obsolete entry</td>
              <td align="left">status obsolete</td>
              <td align="left">NBC</td>
              <td align="left">MAJOR</td>
              <td align="left">Yes</td>
            </tr>
            <tr>
              <td align="left">Remove entry completely</td>
              <td align="left">Remove enum/identity</td>
              <td align="left">NBC</td>
              <td align="left">MAJOR</td>
              <td align="left">Yes</td>
            </tr>
            <tr>
              <td align="left">Deprecate + remove name</td>
              <td align="left">Remove enum/identity</td>
              <td align="left">NBC</td>
              <td align="left">MAJOR</td>
              <td align="left">Yes</td>
            </tr>
            <tr>
              <td align="left">Change value number</td>
              <td align="left">Change value</td>
              <td align="left">NBC</td>
              <td align="left">MAJOR</td>
              <td align="left">Yes</td>
            </tr>
            <tr>
              <td align="left">Reuse old value</td>
              <td align="left">Add with old value</td>
              <td align="left">NBC</td>
              <td align="left">MAJOR</td>
              <td align="left">Yes</td>
            </tr>
            <tr>
              <td align="left">Update description (clarify)</td>
              <td align="left">Update description</td>
              <td align="left">Editorial</td>
              <td align="left">PATCH</td>
              <td align="left">No</td>
            </tr>
            <tr>
              <td align="left">Update description (change meaning)</td>
              <td align="left">Update description</td>
              <td align="left">NBC</td>
              <td align="left">MAJOR</td>
              <td align="left">Yes</td>
            </tr>
            <tr>
              <td align="left">Rename entry</td>
              <td align="left">Change identifier</td>
              <td align="left">NBC</td>
              <td align="left">MAJOR</td>
              <td align="left">Yes</td>
            </tr>
            <tr>
              <td align="left">Add footnote</td>
              <td align="left">Optionally update</td>
              <td align="left">Editorial</td>
              <td align="left">PATCH</td>
              <td align="left">No</td>
            </tr>
            <tr>
              <td align="left">Non-YANG field changes</td>
              <td align="left">No change</td>
              <td align="left">N/A</td>
              <td align="left">None</td>
              <td align="left">No</td>
            </tr>
            <tr>
              <td align="left">Errata</td>
              <td align="left">Depends on content</td>
              <td align="left">Analyze</td>
              <td align="left">Varies</td>
              <td align="left">Maybe</td>
            </tr>
            <tr>
              <td align="left">Early alloc expired (left as-is)</td>
              <td align="left">No change</td>
              <td align="left">N/A</td>
              <td align="left">None</td>
              <td align="left">No</td>
            </tr>
            <tr>
              <td align="left">Early alloc expired (removed)</td>
              <td align="left">Follow removal rules</td>
              <td align="left">NBC</td>
              <td align="left">MAJOR</td>
              <td align="left">Yes</td>
            </tr>
            <tr>
              <td align="left">Revive expired allocation</td>
              <td align="left">Add enum/identity</td>
              <td align="left">BC</td>
              <td align="left">MINOR</td>
              <td align="left">No</td>
            </tr>
          </tbody>
        </table>
        <t><strong>Key</strong>:
- <strong>BC</strong> = Backwards-Compatible; <strong>NBC</strong> = Non-Backwards-Compatible
- <strong>MAJOR/MINOR/PATCH</strong> refer to the YANG Semver version components
- <strong>NBC Ext</strong> = Whether <tt>rev:non-backwards-compatible</tt> extension is required
- <strong>Varies</strong> or <strong>Maybe</strong> indicates the specific change must be analyzed using the detailed scenarios below</t>
      </section>
      <section anchor="detailed-scenarios">
        <name>Detailed Scenarios</name>
        <section anchor="scenario-1-adding-a-new-registry-entry">
          <name>Scenario 1: Adding a New Registry Entry</name>
          <t><strong>Registry Action</strong>: A new entry is added to an IANA registry.</t>
          <t><strong>YANG Module Change</strong>: Add a new enum value or identity.</t>
          <t><strong>Classification</strong>: Backwards-Compatible (BC)</t>
          <t><strong>Version Change</strong>: Increment MINOR version (e.g., 1.0.0 → 1.1.0)</t>
          <t><strong>NBC Extension Required</strong>: No</t>
          <t><strong>Example</strong>:</t>
          <sourcecode type="yang"><![CDATA[
// Previous version 1.0.0
typedef interface-type {
  type enumeration {
    enum ethernet {
      value 6;
      description "Ethernet interface";
    }
  }
}

// New version 1.1.0
revision 2025-11-15 {
  ysv:version "1.1.0";
  description "Added wifi interface type";
}

typedef interface-type {
  type enumeration {
    enum ethernet {
      value 6;
      description "Ethernet interface";
    }
    enum wifi {
      value 71;
      description "IEEE 802.11 wireless interface";
    }
  }
}
]]></sourcecode>
        </section>
        <section anchor="scenario-2-updating-references">
          <name>Scenario 2: Updating References</name>
          <t><strong>Registry Action</strong>: A reference is updated (e.g., RFC obsoleted, additional reference added, draft reference changed to RFC number).</t>
          <t><strong>YANG Module Change</strong>: Update the "reference" statement.</t>
          <t><strong>Classification</strong>: Editorial</t>
          <t><strong>Version Change</strong>: Increment PATCH version (e.g., 1.0.0 → 1.0.1)</t>
          <t><strong>NBC Extension Required</strong>: No</t>
          <t><strong>Rationale</strong>: Per <xref target="RFC7950"/> Section 11, reference statements may be added or updated without affecting compatibility.</t>
          <t><strong>Example</strong>:</t>
          <sourcecode type="yang"><![CDATA[
// Previous version 1.0.0
enum foo {
  value 42;
  description "Foo interface type";
  reference "RFC 1234";
}

// New version 1.0.1
revision 2025-11-15 {
  ysv:version "1.0.1";
  description "Updated reference for RFC obsolescence";
}

enum foo {
  value 42;
  description "Foo interface type";
  reference "RFC 5678 (obsoletes RFC 1234)";
}
]]></sourcecode>
        </section>
        <section anchor="scenario-3-deprecating-a-registry-entry">
          <name>Scenario 3: Deprecating a Registry Entry</name>
          <t><strong>Registry Action</strong>: A registry entry is marked as deprecated (name and description remain visible).</t>
          <t><strong>YANG Module Change</strong>: Change status from "current" to "deprecated".</t>
          <t><strong>Classification</strong>: Backwards-Compatible (BC)</t>
          <t><strong>Version Change</strong>: Increment MINOR version (e.g., 1.0.0 → 1.1.0)</t>
          <t><strong>NBC Extension Required</strong>: No</t>
          <t><strong>Rationale</strong>: Changing status to deprecated is explicitly allowed as BC per Section 3.1.1.8 of <xref target="I-D.ietf-netmod-yang-module-versioning"/>.</t>
          <t><strong>Example</strong>:</t>
          <sourcecode type="yang"><![CDATA[
// Previous version 1.0.0
enum oldtype {
  value 99;
  status current;
  description "Old interface type";
}

// New version 1.1.0
revision 2025-11-15 {
  ysv:version "1.1.0";
  description "Deprecated oldtype interface";
}

enum oldtype {
  value 99;
  status deprecated;
  description
    "Old interface type. This value is deprecated and
     SHOULD NOT be used in new implementations.";
}
]]></sourcecode>
        </section>
        <section anchor="scenario-4-obsoleting-a-registry-entry">
          <name>Scenario 4: Obsoleting a Registry Entry</name>
          <t><strong>Registry Action</strong>: A registry entry is marked as obsolete.</t>
          <t><strong>YANG Module Change</strong>: Change status from "deprecated" (or "current") to "obsolete".</t>
          <t><strong>Classification</strong>: Non-Backwards-Compatible (NBC)</t>
          <t><strong>Version Change</strong>: Increment MAJOR version (e.g., 1.0.0 → 2.0.0)</t>
          <t><strong>NBC Extension Required</strong>: Yes</t>
          <t><strong>Rationale</strong>: Changing status to obsolete indicates the value MUST NOT be used, breaking compatibility.</t>
          <t><strong>Example</strong>:</t>
          <sourcecode type="yang"><![CDATA[
// Previous version 1.0.0
enum removedtype {
  value 98;
  status deprecated;
  description "Type being removed";
}

// New version 2.0.0
revision 2025-11-15 {
  ysv:version "2.0.0";
  rev:non-backwards-compatible;
  description
    "Obsoleted removedtype interface. Support has been removed.";
}

enum removedtype {
  value 98;
  status obsolete;
  description
    "Obsolete interface type. This value MUST NOT be used.
     Support was removed as of 2025-11-15.";
}
]]></sourcecode>
        </section>
        <section anchor="scenario-5-removing-a-registry-entry-completely">
          <name>Scenario 5: Removing a Registry Entry Completely</name>
          <t><strong>Registry Action</strong>: A registry entry is removed with no trace.</t>
          <t><strong>YANG Module Change</strong>: Remove the enum or identity from the module.</t>
          <t><strong>Classification</strong>: Non-Backwards-Compatible (NBC)</t>
          <t><strong>Version Change</strong>: Increment MAJOR version (e.g., 1.0.0 → 2.0.0)</t>
          <t><strong>NBC Extension Required</strong>: Yes</t>
          <t><strong>Rationale</strong>: Removing a schema node is NBC per Section 3.1.2.1 of <xref target="I-D.ietf-netmod-yang-module-versioning"/>.</t>
          <t><strong>Note</strong>: This is strongly discouraged. Prefer marking as "obsolete" instead.</t>
        </section>
        <section anchor="scenario-6-renaming-a-registry-entry">
          <name>Scenario 6: Renaming a Registry Entry</name>
          <t><strong>Registry Action</strong>: The name of a registry entry is changed.</t>
          <t><strong>YANG Module Change</strong>: Change the enum or identity identifier.</t>
          <t><strong>Classification</strong>: Non-Backwards-Compatible (NBC)</t>
          <t><strong>Version Change</strong>: Increment MAJOR version (e.g., 1.0.0 → 2.0.0)</t>
          <t><strong>NBC Extension Required</strong>: Yes</t>
          <t><strong>Rationale</strong>: Renaming breaks programmatic references to the identifier.</t>
        </section>
        <section anchor="scenario-7-changing-a-value-number">
          <name>Scenario 7: Changing a Value Number</name>
          <t><strong>Registry Action</strong>: The numeric value assigned to a registry entry is changed.</t>
          <t><strong>YANG Module Change</strong>: Change the value assigned to an enum.</t>
          <t><strong>Classification</strong>: Non-Backwards-Compatible (NBC)</t>
          <t><strong>Version Change</strong>: Increment MAJOR version (e.g., 1.0.0 → 2.0.0)</t>
          <t><strong>NBC Extension Required</strong>: Yes</t>
          <t><strong>Rationale</strong>: Changing values breaks compatibility for implementations using those values.</t>
          <t><strong>Note</strong>: This is rare and strongly discouraged.</t>
        </section>
        <section anchor="scenario-8-updating-description-clarification">
          <name>Scenario 8: Updating Description (Clarification)</name>
          <t><strong>Registry Action</strong>: Description is updated to clarify existing behavior without changing meaning.</t>
          <t><strong>YANG Module Change</strong>: Update the description statement.</t>
          <t><strong>Classification</strong>: Editorial</t>
          <t><strong>Version Change</strong>: Increment PATCH version (e.g., 1.0.0 → 1.0.1)</t>
          <t><strong>NBC Extension Required</strong>: No</t>
          <t><strong>Example</strong>: Changing "Ethernet interface" to "Ethernet interface, including 10BASE-T, 100BASE-T, and 1000BASE-T variants" where those variants were always included.</t>
        </section>
        <section anchor="scenario-9-updating-description-semantic-change">
          <name>Scenario 9: Updating Description (Semantic Change)</name>
          <t><strong>Registry Action</strong>: Description is updated in a way that changes the semantic meaning or behavior.</t>
          <t><strong>YANG Module Change</strong>: Update the description statement.</t>
          <t><strong>Classification</strong>: Non-Backwards-Compatible (NBC)</t>
          <t><strong>Version Change</strong>: Increment MAJOR version (e.g., 1.0.0 → 2.0.0)</t>
          <t><strong>NBC Extension Required</strong>: Yes</t>
          <t><strong>Example</strong>: Changing "supports IPv4 only" to "supports IPv4 and IPv6" changes the expected behavior.</t>
        </section>
        <section anchor="scenario-10-handling-errata">
          <name>Scenario 10: Handling Errata</name>
          <t><strong>Registry Action</strong>: An errata report is filed for the registry or module.</t>
          <t><strong>YANG Module Change</strong>: Depends on the specific errata content.</t>
          <t><strong>Classification</strong>: Analyze the actual change, not the source (errata vs. new RFC does not determine classification).</t>
          <t><strong>Version Change</strong>: Follow the rules based on the actual change type.</t>
          <t><strong>NBC Extension Required</strong>: May be required depending on the change.</t>
          <t><strong>Examples</strong>:
- Errata fixes typo in description → Editorial / PATCH
- Errata adds missing enum → BC / MINOR
- Errata corrects wrong value assignment → NBC / MAJOR</t>
        </section>
      </section>
      <section anchor="notes-on-classification">
        <name>Notes on Classification</name>
        <t><strong>Important Principle</strong>: The source or trigger of a change (errata, new RFC, registry update, expert review, etc.) does NOT determine whether it is NBC, BC, or Editorial. What matters is the actual change made to the YANG module content.</t>
      </section>
    </section>
    <section anchor="appendix-example">
      <name>Example IANA-Maintained Module</name>
      <t>This appendix shows an example of a well-structured IANA-maintained YANG module, demonstrating proper use of versioning, revision statements, and the NBC extension.</t>
      <section anchor="example-iana-if-type-module-structure">
        <name>Example: iana-if-type Module Structure</name>
        <sourcecode type="yang"><![CDATA[
module iana-if-type {
  yang-version 1.1;
  namespace "urn:ietf:params:xml:ns:yang:iana-if-type";
  prefix ianaift;

  import ietf-yang-revisions { prefix rev; }
  import ietf-yang-semver { prefix ysv; }

  organization
    "Internet Assigned Numbers Authority (IANA)";

  contact
    "Internet Assigned Numbers Authority

     ICANN
     12025 Waterfront Drive, Suite 300
     Los Angeles, CA 90094

     Tel: +1 424 254 5300

     <mailto:iana@iana.org>

     See the Interface Types (ifType) registry:
     <https://www.iana.org/assignments/smi-numbers>";

  description
    "This YANG module defines the iana-if-type typedef, which
     contains YANG definitions for IANA-registered interface types.

     This YANG module is maintained by IANA and reflects the
     'Interface Types (ifType)' registry.

     Copyright (c) 2025 IETF Trust and the persons identified as
     authors of the code.  All rights reserved.

     Redistribution and use in source and binary forms, with or
     without modification, is permitted pursuant to, and subject
     to the license terms contained in, the Revised BSD License
     set forth in Section 4.c of the IETF Trust's Legal Provisions
     Relating to IETF Documents
     (https://trustee.ietf.org/license-info).

     This version of this YANG module is part of RFC XXXX; see
     the RFC itself for full legal notices.";

  // Example revision with new interface type (BC change)
  revision 2025-11-15 {
    ysv:version "2.5.0";
    description
      "Added new interface type 'wifi6e' per registry update.";
    reference
      "RFC XXXX: IANA Guidance for YANG Modules";
  }

  // Example revision with obsoleted type (NBC change)
  revision 2025-10-01 {
    ysv:version "2.0.0";
    rev:non-backwards-compatible;
    description
      "Obsoleted 'arcnet' interface type as support has been removed.";
    reference
      "RFC XXXX: IANA Guidance for YANG Modules";
  }

  // Example earlier revision (BC change)
  revision 2025-09-01 {
    ysv:version "1.1.0";
    description
      "Added new interface type 'virtualEthernet'.";
  }

  // Example initial revision
  revision 2025-01-01 {
    ysv:version "1.0.0";
    description
      "Initial version matching the Interface Types registry
       as of 2025-01-01.";
  }

  typedef interface-type {
    type enumeration {
      enum other {
        value 1;
        description
          "None of the following types.";
      }
      enum ethernet {
        value 6;
        description
          "Ethernet interface, including 10BASE-T, 100BASE-T,
           and 1000BASE-T variants.";
        reference
          "RFC 3635: Definitions of Managed Objects for the
           Ethernet-like Interface Types";
      }
      enum wifi6e {
        value 289;
        description
          "IEEE 802.11ax (Wi-Fi 6E) wireless interface.";
        reference
          "IEEE 802.11ax-2021";
      }
      enum arcnet {
        value 35;
        status obsolete;
        description
          "ARCNET interface. This interface type is obsolete
           and MUST NOT be used. Support was removed 2025-10-01.";
      }
    }
    description
      "This typedef is used to represent the IANA-registered
       interface types. It is derived from the 'Interface Types
       (ifType)' registry.";
    reference
      "IANA Interface Types registry:
       <https://www.iana.org/assignments/smi-numbers>";
  }
}
]]></sourcecode>
      </section>
    </section>
    <section numbered="false" anchor="acknowledgments">
      <name>Acknowledgments</name>
      <t>The creation of this document was motivated by questions from IANA team members Amanda Baber and Sabrina Tanamal regarding the correct handling of YANG module versioning. This was followed by a productive in-person discussion at IETF 124 between members of the YANG versioning design team, the IANA team, NETMOD working group chairs, RFC Editor representatives, and the OPS Area Director.</t>
      <t>Participants in that meeting included: Amanda Baber, Jason Sterne, Joe Clarke, Kent Watsen, Lou Berger, Mahesh Jethanandani, Per Andersson, Reshad Rahman, Rob Wilton, and Sabrina Tanamal.</t>
      <t>Special thanks to Joe Clarke for his presentation on YANG versioning tooling at IETF 124, which informed the tooling guidance in <xref target="appendix-tooling"/>.</t>
      <t>The authors thank the RFC Editor and IANA teams for their collaboration in refining the operational procedures described in this document.</t>
      <t>The authors also thank the NETMOD working group for their extensive work on YANG versioning specifications that form the foundation of this guidance, including the module versioning framework, semantic versioning, and associated tooling.</t>
      <t>The initial substantive revision of this document used Claude Sonnet 4.5 to create prose and examples, which have been subsequently reviewed and refined by the YANG Versioning design team and the NETMOD working group.</t>
    </section>
  </back>
  <!-- ##markdown-source:
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
518bMlxoKt1paT7p+/DoBwqfNF7mOyL9m2DY45vwqnQETrydTCVTKKsPVffU
q1wP6T5fuskOkYXOZPhEGs3c+eMe29SnR4cvX/I/D9CKNu8SVA3ghFbmGPuX
DMHsTkEOPtrf59f+ksMoQLWUcHV0aL7f3//+sYx2brOJ+ZcD8/jhY/PwyWPz
BL/in/6AHVurnKD8J22z8qP8eGaZAd96De5EBru1Z0u5TEfStuxHBlDDE0Gn
Izxu4TVsEWFJiE8uLuUlSCmmjBDe1eryFfU2blv3VKIWzfCqL4H8gq1XH0sz
Elodf/ygC1oPwqg0vYpNaAu6Y3xnNiBvCfepOC8w2O7awwCw6EJstc7QvcID
6DXt2pUYLPyxMYcZNuCCYdEZgr3ASNujD97YObW6mW5cRQP3pFLmTG3T0hWm
FWK6It4KSzk5BX+vOjvftqU3gmOtAbLeCvWQ9aYoN9x8mJlLyY1ieQBhp1kK
6gmWLcJnpSKNEMLZeFTGA38/Ozs2f+F3+fvSUgNUWBKsWT0Yj8czBYGH34PS
/MVeADd/jcmNXHQpMMgSbalIrx9LUqX8vqNUXOEw1o61i/GerHqEqZyDiFiU
tWmjmRrxaNE26ib/Dv/5AdOPBSCSNppWpc0W0o4KEJjR2kGHwT4vYz4re3tO
3jhWzm4uKs2ImtXuuOzdATslW32YDS/mE/FiNg+m0ZB7y2QPMMr91D4gv1JN
bI9lPOdu0NEUGBM+TT+HPUnDK87p+y9b9+/zC3nvL7dtfn+0f9C++X23+duc
uK3g8Y7cB0kxAz7/oA4nrNXe4sz9/cGETfNTwomAYBtZ7H/fARkfULonWVyl
BSpUauA+GLcukli0lDKWPG5tYQedC9vftrBTGdjd35ZUXJ7dJtTcpZb8cejC
pvmDtW/JLenMLpF0EC5t1kfqp3cJIW3boK1QylzjJimWWn39+ks4UyOTpZHL
0jnZ/R0Swdddvgm/zCaRO0J/9PTRE7QcvdiGPXOv97l5RXLE3UgazqkrHlGP
mBpq2+HDLKsBnYfffX8rfIJMneSj2XmXjp6n5unJoCVt59ZdR2ONgNwO2pfL
HKWx3EdP/PgtcZ6t2zh8c/Ty5DyMNElPl+gQp37EOpYbAaHWWJDnunVK/dJ1
cM/lYlE+ZSVHhOmuUr0tvJL7tQJtTldXV+qwjWJa6/uHn9cVNf2+RV/r4s3E
kbsYyUQHvLdaHKV4mcPZh1V+nVmusix7nyb8qp3/sb/AwrD+Fy41opaQoRbi
yqIQHUtQJa747sGb4PYI3waRmmQurRgk2NElMc8SzOmmplrJFOz5xJzD+pfE
rC+w3aMw02ZL00VcReusUCEyXBHzMV4Q3qGC5W98d8FqxEpveDUEWOukrR2A
EeP6sclqhTHWK9m4jzhtbOgoRv5sr8u6TFK8XiGo43Ekx6V33l5+9fosvjIC
O/pToUu6Jq8r1eygj8Fa6f3DntdJBNyh+XOCOz0j0xD+yi1dBf8B/v2viDuw
/GD6IRh4G/PMFhf4yYvk0paX5s8Wm+niWKt0SClph9RknJqpvIE3krl5k1zC
bPBnPjXv0NSTPis1fMLi9f5nHPMDxYT8WvimatRkHTCQzlYNkLs+jB5bYp/5
AijtZhD2j+26zFZ6kqqhQ2vrbDeJmHXiIcUm1lmWTHORwynqWnI3b1XrRN3V
grNedBWuhXrJ+gW1EpRfi7hWrri+qw106iCVIA/RDkJMZP5GK+f0dCvoQtkc
NF4KRl5gj1ScdthoUE9+IWqC7BvP+4aS1LBFlCgw47B3VcVlYaKeNTgNcWqg
GWxRfZavUGQ9Hj8JGtYCpEs2M/XOMKUP34Uep8ILR+QWF7qifK7mtprg7sD/
2nrgvV+rBS/j3v8HckGUK5bMAAA=

-->

</rfc>
