<?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.30 (Ruby 3.2.3) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-ietf-ivy-network-inventory-yang-12" category="std" consensus="true" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.31.0 -->
  <front>
    <title abbrev="Network Inventory YANG">A Base YANG Data Model for Network Inventory</title>
    <seriesInfo name="Internet-Draft" value="draft-ietf-ivy-network-inventory-yang-12"/>
    <author initials="C." surname="Yu" fullname="Chaode Yu">
      <organization>Huawei Technologies</organization>
      <address>
        <email>yuchaode@huawei.com</email>
      </address>
    </author>
    <author initials="S." surname="Belotti" fullname="Sergio Belotti">
      <organization>Nokia</organization>
      <address>
        <email>sergio.belotti@nokia.com</email>
      </address>
    </author>
    <author initials="J.-F." surname="Bouquier" fullname="Jean-Francois Bouquier">
      <organization>Vodafone</organization>
      <address>
        <email>jeff.bouquier@vodafone.com</email>
      </address>
    </author>
    <author initials="F." surname="Peruzzini" fullname="Fabio Peruzzini">
      <organization>FiberCop</organization>
      <address>
        <email>fabio.peruzzini@fibercop.com</email>
      </address>
    </author>
    <author initials="P." surname="Bedard" fullname="Phil Bedard">
      <organization>Cisco</organization>
      <address>
        <email>phbedard@cisco.com</email>
      </address>
    </author>
    <date year="2025" month="December" day="22"/>
    <keyword>next generation</keyword>
    <keyword>unicorn</keyword>
    <keyword>sparkling distributed ledger</keyword>
    <abstract>
      <?line 103?>

<t>This document defines a base YANG data model for reporting network inventory. The scope of this base model is set to
be application- and technology-agnostic. The base data model can be augmented with application- and technology-specific details.</t>
    </abstract>
    <note removeInRFC="true">
      <name>About This Document</name>
      <t>
        The latest revision of this draft can be found at <eref target="https://ietf-ivy-wg.github.io/network-inventory-yang/draft-ietf-ivy-network-inventory-yang.html"/>.
        Status information for this document may be found at <eref target="https://datatracker.ietf.org/doc/draft-ietf-ivy-network-inventory-yang/"/>.
      </t>
      <t>Source for this draft and an issue tracker can be found at
        <eref target="https://github.com/ietf-ivy-wg/network-inventory-yang"/>.</t>
    </note>
  </front>
  <middle>
    <?line 108?>

<section anchor="intro">
      <name>Introduction</name>
      <t>This document defines a base YANG data model for reporting network inventory
that is application- and technology-agnostic.  The
base data model can be augmented to describe application- and technology-specific information.
Please note that the usage of term "network inventory", in the context of this document, is to indicate that it is
describing "network-wide" scope inventory information.</t>
      <t>Network Inventory is a collection of data for network devices and their components managed by a specific management system.</t>
      <t>Network inventory management is a fundamental functional block in the overall network
management which was specified many years ago.
Network inventory management is a critical component of network management
for ensuring that the network is well-planned (e.g., identify assets
to upgrade or to decommission), remains healthy (e.g., auditing to
identify faulty elements), and is maintained appropriately to meet
the performance objectives.
Also, network inventory management allows operators to keep track of which devices are deployed in their networks, including relevant embedded software and hardware versions.</t>
      <t>Exposing standard interfaces to retrieve network elements capabilities as maintained in an inventory are key enablers for many applications. For example, <xref target="I-D.ietf-teas-actn-poi-applicability"/> identifies a gap about the lack of YANG data models that could be used at Abstraction and Control of TE Networks (ACTN) Multi-Domain Service Coordinator-Provisioning Network Controller Interface (MPI) level to report whole or partial network hardware inventory information available at domain controller level towards
upper layer systems (e.g., Multi-Domain Service Coordinator (MDSC) or Operations Support Systems (OSS) layers).</t>
      <t>It is key for operators to coordinate with the industry towards the use of a
standard YANG data model for Network Inventory data instead
of using vendors' proprietary APIs.</t>
      <t><xref target="RFC8348"/> defines a YANG data model for the management of the hardware on a single server and therefore it is more applicable to the domain controller towards the network elements rather than at the northbound interface of a network controller (e.g., toward an application or another hierarchical network controller). However, the YANG data model defined in <xref target="RFC8348"/> has been used as a reference for defining the YANG network inventory data model presented in this document.</t>
      <t>Per the definition of <xref target="RFC8309"/> and <xref target="RFC8969"/>, the YANG data model defined in <xref target="RFC8348"/> is a device model while the YANG data model defined in this document is a network model.</t>
      <t>This document defines one YANG module "ietf-network-inventory" in <xref target="ni-yang"/>.</t>
      <t>This base data model is application- and technology-agnostic (that is, valid for IP/MPLS, optical, and
microwave networks as well as optical local loops, access networks, core networks, data centers, etc.) and can be augmented to
include required application- and technology-specific inventory details together with specific hardware or software component's attributes.</t>
      <t>The YANG data model defined in the document is scoped to cover the common use cases for Inventory but at network-wide level, covering both hardware and base software information.</t>
      <t>The YANG data model defined in this document conforms to the Network Management Datastore Architecture <xref target="RFC8342"/>.</t>
      <section anchor="editorial-note-to-be-removed-by-rfc-editor">
        <name>Editorial Note (To be removed by RFC Editor)</name>
        <ul empty="true">
          <li>
            <t>Note to the RFC Editor: This section is to be removed prior to publication.</t>
          </li>
        </ul>
        <t>This document contains placeholder values that need to be replaced
   with finalized values at the time of publication.  This note
   summarizes all of the substitutions that are needed.</t>
        <t>Please apply the following replacements:</t>
        <ul spacing="normal">
          <li>
            <t>XXXX --&gt; the assigned RFC number for this I-D</t>
          </li>
        </ul>
      </section>
    </section>
    <section anchor="terminology-and-notations">
      <name>Terminology and Notations</name>
      <section anchor="requirements-notations">
        <name>Requirements Notations</name>
        <t>The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL
NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED",
"MAY", and "OPTIONAL" in this document are to be interpreted as
described in BCP 14 <xref target="RFC2119"/> <xref target="RFC8174"/> when, and only when, they
appear in all capitals, as shown here.
<?line -6?>
        </t>
      </section>
      <section anchor="terminology">
        <name>Terminology</name>
        <t>The following terms are defined in <xref target="RFC7950"/> and are not redefined here:</t>
        <ul spacing="normal">
          <li>
            <t>server</t>
          </li>
          <li>
            <t>augment</t>
          </li>
          <li>
            <t>data model</t>
          </li>
          <li>
            <t>data node</t>
          </li>
        </ul>
        <t>The following terms are defined in <xref target="RFC6241"/> and are not redefined here:</t>
        <ul spacing="normal">
          <li>
            <t>state data</t>
          </li>
        </ul>
        <t>The following terms are defined in <xref target="RFC8453"/> and are not redefined here:</t>
        <ul spacing="normal">
          <li>
            <t>Abstraction and Control of TE Networks (ACTN)</t>
          </li>
          <li>
            <t>Multi-Domain Service Coordinator (MDSC)</t>
          </li>
          <li>
            <t>Provisioning Network Controller (PNC)</t>
          </li>
          <li>
            <t>MDSC-PNC Interface (MPI)</t>
          </li>
        </ul>
        <t>The following terms are defined in the description statements of the corresponding YANG identities, defined in <xref target="IANA_HW_YANG"/>, and are not redefined here:</t>
        <ul spacing="normal">
          <li>
            <t>backplane</t>
          </li>
          <li>
            <t>battery</t>
          </li>
          <li>
            <t>cpu</t>
          </li>
          <li>
            <t>fan</t>
          </li>
          <li>
            <t>module</t>
          </li>
          <li>
            <t>power supply</t>
          </li>
          <li>
            <t>sensor</t>
          </li>
          <li>
            <t>stack</t>
          </li>
          <li>
            <t>storage device</t>
          </li>
        </ul>
        <t>Also, the document makes use of the following terms:</t>
        <dl>
          <dt>Chassis:</dt>
          <dd>
            <t>A field replaceable equipment with a particular structural format and dimensions.
A chassis can, but does not need to, include spaces (called slots) to take cards.</t>
          </dd>
          <dt/>
          <dd>
            <t>Elsewhere, a chassis can be called shelf, sub-rack, stand-alone unit, etc.</t>
          </dd>
          <dt>Port:</dt>
          <dd>
            <t>A component where networking traffic can be received and/or transmitted, e.g., by attaching networking cables.</t>
          </dd>
          <dt/>
          <dd>
            <t>In case of pluggable ports, the port may be empty when no pluggable module is plugged in.</t>
          </dd>
          <dt>Network Inventory:</dt>
          <dd>
            <t>A collection of data for network elements and their components with network-wide scope, managed by a specific management system.</t>
          </dd>
          <dt>Physical Network Element:</dt>
          <dd>
            <t>An implementation or application specific group of components (e.g., hardware components).</t>
          </dd>
          <dt>Network Element:</dt>
          <dd>
            <t>The generalization of the physical network element definition.</t>
          </dd>
          <dt>Hardware Component:</dt>
          <dd>
            <t>The generalization of the hardware components defined in <xref target="IANA_HW_YANG"/> (e.g., backplane, battery, container, central processing unit (CPU), chassis, fan, module, port, power supply, sensor, stack, and storage device components).</t>
          </dd>
          <dt/>
          <dd>
            <t>The list of hardware components can be extended in future versions of <xref target="IANA_ENTITY_MIB"/> (and, consequently, of (<xref target="IANA_HW_YANG"/>).</t>
          </dd>
          <dt>Component:</dt>
          <dd>
            <t>The generalization of the hardware component definition to include other inventory objects which can be managed, from an inventory perspective, like hardware components.</t>
          </dd>
          <dt>Card:</dt>
          <dd>
            <t>A pluggable equipment with a particular structural format and dimensions which can be inserted into one or more slots (or sub-slots). A card can have spaces (called sub-slots) to take other cards.</t>
          </dd>
          <dt/>
          <dd>
            <t>Elsewhere, a card can be called board, module, circuit pack, etc..</t>
          </dd>
          <dt>Slot:</dt>
          <dd>
            <t>A space in a chassis that can be equipped with one card, which may be chosen from a limited range of types of cards. A slot can be subdivided into smaller spaces that can also be part of a Card (called sub-slots).</t>
          </dd>
          <dt>Container:</dt>
          <dd>
            <t>A hardware component class that is capable of containing one or more removable physical entities (e.g., a slot in a chassis is containing a board).</t>
          </dd>
        </dl>
      </section>
      <section anchor="tree-diagrams">
        <name>Tree Diagrams</name>
        <t>The meanings of the symbols in the YANG tree diagrams are defined in <xref target="RFC8340"/>.</t>
      </section>
      <section anchor="yang-prefixes">
        <name>YANG Prefixes</name>
        <t><xref target="tab-prefixes"/> list the prefixes of the modules that are used in this document.</t>
        <table anchor="tab-prefixes">
          <name>Prefixes and corresponding YANG modules</name>
          <thead>
            <tr>
              <th align="left">Prefix</th>
              <th align="left">YANG Module</th>
              <th align="left">Reference</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left">inet</td>
              <td align="left">ietf-inet-types</td>
              <td align="left">
                <xref section="4" sectionFormat="of" target="RFC6991"/></td>
            </tr>
            <tr>
              <td align="left">yang</td>
              <td align="left">ietf-yang-types</td>
              <td align="left">
                <xref section="3" sectionFormat="of" target="RFC6991"/></td>
            </tr>
            <tr>
              <td align="left">ianahw</td>
              <td align="left">iana-hardware</td>
              <td align="left">
                <xref target="IANA_HW_YANG"/></td>
            </tr>
            <tr>
              <td align="left">nwi</td>
              <td align="left">ietf-network-inventory</td>
              <td align="left">RFC XXXX</td>
            </tr>
          </tbody>
        </table>
      </section>
      <section anchor="artwork-folding">
        <name>Artwork folding</name>
        <t>This document uses artwork folding <xref target="RFC8792"/> for better formatting.</t>
      </section>
    </section>
    <section anchor="overview">
      <name>YANG Data Model for Network Inventory Overview</name>
      <t>The base network inventory model, defined in this document, provides a list of network elements and of network element components.</t>
      <t>The network-inventory top level container has been defined to support reporting other types of network inventory objects, besides the network elements and network element components.</t>
      <t>These additional types of network inventory objects can be defined, together with the associated YANG data model and the rationale for managing them as part of the network inventory, in other documents providing application- and technology-specific companion augmentation data models, such as
<xref target="I-D.ietf-ivy-network-inventory-location"/>.</t>
      <t>The network element definition is generalized to support physical
network elements and other types of components' groups that can be managed as physical network elements from an
inventory perspective.</t>
      <t>Physical network elements are usually devices such as hosts, gateways, terminal servers, and the like, which have management agents responsible for performing the network management functions requested by the network management stations (<xref target="RFC1157"/>).</t>
      <t>The "ne-type" is defined as a YANG identity to describe the type of the network element. This document defines only the "physical-network-element" identity.</t>
      <t>Other types of network elements can be defined in other documents, together with the associated YANG identity and the rationale for managing them as network elements from an inventory perspective.</t>
      <t>The component definition is also generalized to support any types of
component inventory objects that can be managed as hardware components from an inventory perspective.</t>
      <t>The data model for components defined in this document uses a list of components within each network element.</t>
      <t>Different types of components can be distinguished by the class of component. The component "class" is defined as a union between the hardware class identity, defined in "iana-hardware", and the "non-hardware" identity, defined in this document.</t>
      <t>Other types of components can be defined in other documents, together with the associated YANG identity and the rationale for managing them as components from an inventory perspective.</t>
      <t>The identity definition of additional types of "ne-type" and "non-
hardware" identity of component are outside the scope of this
document and could be defined in application- and technology-specific companion augmentation data models, such as
<xref target="I-D.ietf-ivy-network-inventory-software"/>.</t>
      <t>In <xref target="RFC8348"/>, rack, chassis, slot, sub-slot, board and port are defined as components of network elements with generic attributes.</t>
      <t>While <xref target="RFC8348"/> is used to manage the hardware of a single server (e.g., a network element), the Network Inventory YANG data model is used to retrieve the base inventory information that a controller discovers from all the network elements with network-wide scope under its control.</t>
      <t>However, the YANG data model defined in <xref target="RFC8348"/> has been used as a reference for defining the YANG network inventory data model. This approach can simplify the implementation of this inventory model when the controller uses the YANG data model defined in <xref target="RFC8348"/> to retrieve the hardware  from the network elements under its control.</t>
      <section anchor="common-attributes">
        <name>Common attributes for inventory object</name>
        <t>For all the inventory objects, there are some common attributes, such as:</t>
        <dl>
          <dt>uuid:</dt>
          <dd>
            <t>The Universally Unique Identifier (UUID) of the inventory object, assigned by the server. Such identifiers are widely implemented with systems and guaranteed to be globally unique.</t>
          </dd>
          <dt>name:</dt>
          <dd>
            <t>A human-interpretable label of the inventory object, provided by a network operator or by the server. It could also be present on a Graphical User Interface (GUI).</t>
          </dd>
          <dt>alias:</dt>
          <dd>
            <t>A human-interpretable label of the inventory object, provided by a network operator. It could also be present on a GUI instead as well as the name.</t>
          </dd>
          <dt>description:</dt>
          <dd>
            <t>A human-interpretable description of the inventory object, provided by a network operator or by the server. The description provides more detailed information to prompt users when performing maintenance operations etc.</t>
          </dd>
        </dl>
        <section anchor="common-attributes-for-network-elements-and-components">
          <name>Common attributes for network elements and components</name>
          <t>To be consistent with the component definition, some of the attributes defined in <xref target="RFC8348"/> for components are reused for network elements, such as:</t>
          <dl>
            <dt>mfg-name:</dt>
            <dd>
              <t>The name of the manufacturer of the entity (component or network element).</t>
            </dd>
            <dt>product-name:</dt>
            <dd>
              <t>The vendor-specific and human-interpretable string describing the entity (component or network element) type.</t>
            </dd>
            <dt/>
            <dd>
              <t>It is expected that vendors assign unique product names to different entities within the scope of the vendor.</t>
            </dd>
          </dl>
          <t>Other software-related attributes are defined in <xref target="sw-inventory"/> and applicable to network elements and components.</t>
        </section>
      </section>
      <section anchor="network-element">
        <name>Network Element</name>
        <t>In addition to the common attributes defined for network elements and components in <xref target="common-attributes"/>, the following attributes are defined for the network elements:</t>
        <dl>
          <dt>ne-id:</dt>
          <dd>
            <t>The identifier that uniquely identifies the network element (NE) within the network, assigned by the server since the network elements cannot guarantee that their local  identifier is unique within the network.</t>
          </dd>
          <dt/>
          <dd>
            <t>The ne-id should be assigned such that the same network element will always be identified through the same identifier, even if the network elements get disconnected from the network controller. Mechanisms to ensure this (e.g., checking the mfg-name, product-name, management IP address, physical location) are implementation specific and outside the scope of standardization.</t>
          </dd>
          <dt>ne-type:</dt>
          <dd>
            <t>The type of network element (e.g., physical network element). See <xref target="overview"/> for the definition of NE types.</t>
          </dd>
          <dt>product-rev:</dt>
          <dd>
            <t>A vendor-specific product revision string for the network-element.</t>
          </dd>
        </dl>
      </section>
      <section anchor="ne-component">
        <name>Components</name>
        <t>The YANG data model for network inventory mainly follows the same approach of <xref target="RFC8348"/> and reports the network hardware inventory as a list of components with different types (e.g., chassis, module, and port).</t>
        <t>In addition to the common attributes defined for network elements and components in <xref target="common-attributes"/>, the following attributes are defined for the components:</t>
        <dl>
          <dt>component-id:</dt>
          <dd>
            <t>The identifier that uniquely identifies the component within the NE. It can be assigned by the NE or by the server.</t>
          </dd>
          <dt>class:</dt>
          <dd>
            <t>The type of component (e.g., chassis, module, port). See <xref target="overview"/> for the definition of component types.</t>
          </dd>
          <dt>hardware-rev:</dt>
          <dd>
            <t>The vendor-specific hardware revision string for the component.</t>
          </dd>
          <dt/>
          <dd>
            <t>The preferred value is the hardware revision identifier actually printed on the component itself (if present).</t>
          </dd>
          <dt>mfg-date:</dt>
          <dd>
            <t>The date of manufacturing of the component.</t>
          </dd>
          <dt>part-number:</dt>
          <dd>
            <t>The vendor-specific part number of the component type.</t>
          </dd>
          <dt/>
          <dd>
            <t>It is expected that vendors assign unique part numbers to different component types within the scope of the vendor.</t>
          </dd>
          <dt>serial-number:</dt>
          <dd>
            <t>The vendor-specific serial number of the component instance.</t>
          </dd>
          <dt/>
          <dd>
            <t>It is expected that vendors assign unique serial numbers to different component instances at least within the scope of the part-number.</t>
          </dd>
          <dt>asset-id:</dt>
          <dd>
            <t>An asset tracking identifier for the component, provided by a network operator.</t>
          </dd>
          <dt>is-fru:</dt>
          <dd>
            <t>Indicates whether or not a component is considered a 'field-replaceable unit' by the vendor.</t>
          </dd>
        </dl>
        <t>For state data like "admin-state", "oper-state", and so on, this document considers that they are related to device hardware management, not network inventory. Therefore, they are outside of the scope of this document. Same for the sensor-data, they should be defined in some other performance monitoring data models instead of the inventory data model.</t>
        <section anchor="hardware-components">
          <name>Hardware Components</name>
          <t>Based on TMF classification in <xref target="TMF_SD2-20"/>, hardware components can be divided into two groups, holder group and equipment group. The holder group contains rack, chassis, slot, sub-slot while the equipment group contains network-element, board and port.</t>
          <t>See {port-examples}, {multi-chassis-examples}, and {non-modular-examples} for concrete hardware component examples.</t>
          <t><xref target="fig-hw-inventory-object-relationship"/> describes the relationship between typical inventory objects in a physical network element.</t>
          <figure anchor="fig-hw-inventory-object-relationship">
            <name>Relationship between typical inventory objects in physical network elements</name>
            <artset>
              <artwork type="svg"><svg xmlns="http://www.w3.org/2000/svg" version="1.1" height="512" width="392" viewBox="0 0 392 512" class="diagram" text-anchor="middle" font-family="monospace" font-size="13px" stroke-linecap="round">
                  <path d="M 8,352 L 8,368" fill="none" stroke="black"/>
                  <path d="M 40,336 L 40,384" fill="none" stroke="black"/>
                  <path d="M 96,296 L 96,304" fill="none" stroke="black"/>
                  <path d="M 104,296 L 104,304" fill="none" stroke="black"/>
                  <path d="M 152,32 L 152,64" fill="none" stroke="black"/>
                  <path d="M 160,336 L 160,384" fill="none" stroke="black"/>
                  <path d="M 168,208 L 168,256" fill="none" stroke="black"/>
                  <path d="M 216,72 L 216,176" fill="none" stroke="black"/>
                  <path d="M 216,264 L 216,296" fill="none" stroke="black"/>
                  <path d="M 224,72 L 224,176" fill="none" stroke="black"/>
                  <path d="M 224,264 L 224,296" fill="none" stroke="black"/>
                  <path d="M 280,208 L 280,256" fill="none" stroke="black"/>
                  <path d="M 288,336 L 288,384" fill="none" stroke="black"/>
                  <path d="M 288,448 L 288,480" fill="none" stroke="black"/>
                  <path d="M 296,32 L 296,64" fill="none" stroke="black"/>
                  <path d="M 312,224 L 312,240" fill="none" stroke="black"/>
                  <path d="M 336,296 L 336,304" fill="none" stroke="black"/>
                  <path d="M 336,392 L 336,416" fill="none" stroke="black"/>
                  <path d="M 344,296 L 344,304" fill="none" stroke="black"/>
                  <path d="M 344,392 L 344,416" fill="none" stroke="black"/>
                  <path d="M 384,336 L 384,384" fill="none" stroke="black"/>
                  <path d="M 384,448 L 384,480" fill="none" stroke="black"/>
                  <path d="M 152,32 L 296,32" fill="none" stroke="black"/>
                  <path d="M 152,64 L 296,64" fill="none" stroke="black"/>
                  <path d="M 168,208 L 280,208" fill="none" stroke="black"/>
                  <path d="M 288,224 L 312,224" fill="none" stroke="black"/>
                  <path d="M 288,240 L 304,240" fill="none" stroke="black"/>
                  <path d="M 168,256 L 280,256" fill="none" stroke="black"/>
                  <path d="M 112,304 L 248,304" fill="none" stroke="black"/>
                  <path d="M 264,304 L 328,304" fill="none" stroke="black"/>
                  <path d="M 40,336 L 160,336" fill="none" stroke="black"/>
                  <path d="M 288,336 L 384,336" fill="none" stroke="black"/>
                  <path d="M 8,352 L 32,352" fill="none" stroke="black"/>
                  <path d="M 16,368 L 32,368" fill="none" stroke="black"/>
                  <path d="M 40,384 L 160,384" fill="none" stroke="black"/>
                  <path d="M 288,384 L 384,384" fill="none" stroke="black"/>
                  <path d="M 288,448 L 384,448" fill="none" stroke="black"/>
                  <path d="M 288,480 L 384,480" fill="none" stroke="black"/>
                  <path d="M 92,296 L 140,296" fill="none" stroke="black"/>
                  <path d="M 164,296 L 216,296" fill="none" stroke="black"/>
                  <path d="M 224,296 L 268,296" fill="none" stroke="black"/>
                  <path d="M 292,296 L 348,296" fill="none" stroke="black"/>
                  <polygon class="arrowhead" points="296,240 284,234.4 284,245.6" fill="black" transform="rotate(180,288,240)"/>
                  <polygon class="arrowhead" points="40,368 28,362.4 28,373.6" fill="black" transform="rotate(0,32,368)"/>
                  <g class="text">
                    <text x="192" y="52">network</text>
                    <text x="256" y="52">element</text>
                    <text x="240" y="132">1:M</text>
                    <text x="220" y="196">\/</text>
                    <text x="228" y="228">chassis/</text>
                    <text x="224" y="244">sub-chassis</text>
                    <text x="152" y="292">1:N</text>
                    <text x="280" y="292">1:M</text>
                    <text x="100" y="324">\/</text>
                    <text x="340" y="324">\/</text>
                    <text x="100" y="356">slot</text>
                    <text x="336" y="356">board</text>
                    <text x="96" y="372">/sub-slot</text>
                    <text x="360" y="420">1:N</text>
                    <text x="340" y="436">\/</text>
                    <text x="340" y="468">port</text>
                  </g>
                </svg>
              </artwork>
              <artwork type="ascii-art"><![CDATA[
                            +-----------------+
                            | network element |
                            +-----------------+
                                    ||
                                    ||
                                    ||
                                    ||1:M
                                    ||
                                    ||
                                    ||
                                    \/
                              +-------------+
                              |   chassis/  |---+
                              | sub-chassis |<--|
                              +-------------+
                                    ||
                     ______1:N______||_____1:M_______
                     ||------------------ ---------||
                     \/                            \/
              +--------------+               +-----------+
          +---|     slot     |               |   board   |
          |-->|  /sub-slot   |               |           |
              +--------------+               +-----------+
                                                   ||
                                                   ||1:N
                                                   \/
                                             +-----------+
                                             |    port   |
                                             +-----------+
]]></artwork>
            </artset>
          </figure>
          <t>The "iana-hardware" module <xref target="IANA_HW_YANG"/> defines YANG identities for
the hardware component types in the IANA-maintained "IANA-ENTITY-MIB"
registry.</t>
          <t>Some of the definitions taken from <xref target="RFC8348"/> are based on the ENTITY-MIB <xref target="RFC6933"/>.</t>
          <t>Additional attributes of specific hardware, such as CPU,
storage, port, or power supply are defined in the hardware extension.</t>
        </section>
        <section anchor="sw-inventory">
          <name>Software Components</name>
          <t>Each instance of a network element or a component includes its own "software-rev" list which provides basic software attributes for each entity (network element and component).</t>
          <t>The scope of the list is to provide information about the software modules configured to be active
on the related entity.</t>
          <t>The model supports scenarios where multiple software modules can be configured to be active on the entity. For example, on a network element an Operating System and an Application software modules can be configured to be active; in the same way, on a component like a circuit pack a boot-loader, a firmware
and one or more FPGA software modules can be configured to be active.</t>
          <t>For each software module, configured to be active, the name and version information is provided.</t>
          <t>The management of inactive/standby software
modules and of the software upgrade or downgrade life-cycle are outside the scope of the base inventory model and can be addressed in other models which augment the base inventory model such as the model under definition in <xref target="I-D.ietf-ivy-network-inventory-software"/>.</t>
          <t>The software and hardware components share the same attributes of the
component and have similar replaceable requirements. Generally, the
device also has other software data, for example, one or more
software patch information.</t>
          <t>The software components lifecycle  (like activation, deactivation, installation, storage, removal, etc.) is
outside the scope of this document and defined in other documents such as
<xref target="I-D.ietf-ivy-network-inventory-software"/>.</t>
        </section>
      </section>
      <section anchor="changes-since-rfc-8348">
        <name>Changes Since RFC 8348</name>
        <t>This document re-defines some attributes listed in <xref target="RFC8348"/>, based on some integration experience for network inventory data.</t>
        <section anchor="part-number">
          <name>Part Number</name>
          <t>According to the description in <xref target="RFC8348"/>, the attribute named "model-name" under the component, is preferred to have a customer-visible part number value. "Model-name" is not straightforward to understand and we suggest to rename it as "part-number" directly.</t>
        </section>
        <section anchor="component-identifiers">
          <name>Component identifiers</name>
          <t>There are some use cases where the name of the components are assigned and changed by the operator. In these cases, the assigned names are also not guaranteed to be always unique.</t>
          <t>In order to support these use cases, this model is not aligned with <xref target="RFC8348"/> in defining the component name as the key for the component list.</t>
          <t>Instead the name is defined as an optional attribute and the component-id is defined as the key for the component list (in alignment with the approach followed for the network-element list).</t>
        </section>
      </section>
    </section>
    <section anchor="ni-tree">
      <name>Network Inventory Tree Diagram</name>
      <t><xref target="fig-ni-tree"/> shows the tree diagram of the YANG data model defined in module "ietf-network-inventory" (<xref target="ni-yang"/>).</t>
      <figure anchor="fig-ni-tree">
        <name>Network inventory tree diagram</name>
        <artwork type="ascii-art" name="ietf-network-inventory.tree"><![CDATA[
module: ietf-network-inventory
  +--ro network-inventory
     +--ro network-elements
        +--ro network-element* [ne-id]
           +--ro ne-id           string
           +--ro ne-type?        identityref
           +--ro uuid?           yang:uuid
           +--ro name?           string
           +--ro alias?          string
           +--ro description?    string
           +--ro software-rev* [name]
           |  +--ro name        string
           |  +--ro revision?   string
           |  +--ro patch* [revision]
           |     +--ro revision    string
           +--ro mfg-name?       string
           +--ro product-name?   string
           +--ro product-rev?    string
           +--ro components
              +--ro component* [component-id]
                 +--ro component-id      string
                 +--ro class             union
                 +--ro uuid?             yang:uuid
                 +--ro name?             string
                 +--ro alias?            string
                 +--ro description?      string
                 +--ro software-rev* [name]
                 |  +--ro name        string
                 |  +--ro revision?   string
                 |  +--ro patch* [revision]
                 |     +--ro revision    string
                 +--ro mfg-name?         string
                 +--ro product-name?     string
                 +--ro hardware-rev?     string
                 +--ro mfg-date?         yang:date-and-time
                 +--ro part-number?      string
                 +--ro serial-number?    string
                 +--ro asset-id?         string
                 +--ro is-fru?           boolean
                 +--ro uri*              inet:uri
                 +--ro parent*
                 |       -> ../../component/component-id
                 +--ro parent-rel-pos?   int32
                 +--ro is-main?          boolean
]]></artwork>
      </figure>
    </section>
    <section anchor="ni-yang">
      <name>YANG Data Model for Network Inventory</name>
      <figure anchor="fig-ni-yang">
        <name>Network inventory YANG module</name>
        <sourcecode type="yang" markers="true" name="ietf-network-inventory@2025-12-04.yang"><![CDATA[
module ietf-network-inventory {
  yang-version 1.1;
  namespace "urn:ietf:params:xml:ns:yang:ietf-network-inventory";
  prefix nwi;

  import iana-hardware {
    prefix ianahw;
    reference
      "https://www.iana.org/assignments/yang-parameters";
  }
  import ietf-yang-types {
    prefix yang;
    reference
      "RFC 6991: Common YANG Data Types";
  }
  import ietf-inet-types {
    prefix inet;
    reference
      "RFC 6991: Common YANG Data Types";
  }

  organization
    "IETF IVY Working Group";
  contact
    "WG Web:   <https://datatracker.ietf.org/wg/ivy/>
     WG List:  <mailto:inventory-yang@ietf.org>

     Editor:   Chaode Yu
               <yuchaode@huawei.com>

     Editor:   Sergio Belotti
               <sergio.belotti@nokia.com>

     Editor:   Jean-Francois Bouquier
               <jeff.bouquier@vodafone.com>

     Editor:   Fabio Peruzzini
               <fabio.peruzzini@telecomitalia.it>

     Editor:   Phil Bedard
               <phbedard@cisco.com>";
  description
    "This module defines a base model for retrieving network
     inventory.

     The model fully conforms to the Network Management
     Datastore Architecture (NMDA).

     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.

     The key words 'MUST', 'MUST NOT', 'REQUIRED', 'SHALL', 'SHALL
     NOT', 'SHOULD', 'SHOULD NOT', 'RECOMMENDED', 'NOT RECOMMENDED',
     'MAY', and 'OPTIONAL' in this document are to be interpreted as
     described in BCP 14 (RFC 2119) (RFC 8174) when, and only when,
     they appear in all capitals, as shown here.";

  // RFC Ed.: update the date below with the date of RFC publication
  // and remove this note.

  revision 2025-12-15 {
    description
      "Initial version";
    reference
      "RFC XXXX: A YANG Data Model for Network Inventory.";
  }

  /*
   * Identities
   */

  identity non-hardware-component-class {
    description
      "Base identity for non hardware components (e.g., software
       components) in a managed device.";
  }

  identity ne-type {
    description
      "Base identity for network element (NE) types.";
  }

  identity ne-physical {
    base nwi:ne-type;
    description
      "A physical network element (NE). ";
  }

  /*
   * Types
   */

  typedef ne-ref {
    type leafref {
      path "/nwi:network-inventory/nwi:network-elements"
         + "/nwi:network-element/nwi:ne-id";
    }
    description
      "This type is intended to be used by data models that need to
       reference Network Element.";
  }

  /*
   * Groupings
   */

  grouping port-ref {
    description
      "This grouping is intended to be used by data models that need
       to reference a port component within a Network Element.";
    leaf ne-ref {
      type nwi:ne-ref;
      description
        "The reference to the Network Element which contains the
         port to be referenced.";
    }
    leaf port-ref {
      type leafref {
        path "/nwi:network-inventory/nwi:network-elements/"
           + "nwi:network-element[nwi:ne-id=current()/../ne-ref]"
           + "/nwi:components/nwi:component/nwi:component-id";
      }
      must "derived-from-or-self (/nwi:network-inventory/
            nwi:network-elements/nwi:network-element
            [nwi:ne-id=../ne-ref]/nwi:components/nwi:component
            [nwi:component-id=current()]/nwi:class, 'ianahw:port')";
      description
        "The reference to the port component.";
    }
  }

  grouping basic-common-entity-attributes {
    description
      "The set of basic attributes which are common to all the
       entities (e.g., component, network elements, location, passive
       entities) defined in this module and in other inventory
       modules.";
    leaf uuid {
      type yang:uuid;
      description
        "The Universally Unique Identifier of the entity
         (e.g., component).";
    }
    leaf name {
      type string;
      description
        "The name of the  entity (e.g., component), as specified by
         a network operator, that provides a non-volatile 'handle'
         for the entity and that can be modified anytime during the
         entity lifetime.

         If no value is discovered, the server MAY set the value of
         this node to a locally unique value in the operational
         state.";
    }
    leaf alias {
      type string;
      description
        "The alias name of the entity (e.g., component). This alias
         name can be specified by a network operator.";
    }
    leaf description {
      type string;
      description
        "The textual description of the entity (e.g., component).";
    }
  }

  grouping ne-component-common-entity-attributes {
    description
      "The set of attributes which are common to all the entities
       (e.g., component, network elements) defined in this module.";
    uses basic-common-entity-attributes;
    list software-rev {
      key "name";
      description
        "The list of the software modules configured to be active
         within the entity (e.g., component).";
      leaf name {
        type string;
        description
          "The vendor-specific name of the software module.";
      }
      leaf revision {
        type string;
        description
          "The vendor-specific revision string of the software
           module when not implicitly defined as part of the name of
           the software module.";
      }
      list patch {
        key "revision";
        description
          "The list of software patches configured to be active for
           the software module.";
        leaf revision {
          type string;
          description
            "The vendor-specific revision string of the software
             patch when not implicitly defined as part of the name or
             revision of the software module.";
        }
      }
    }
    leaf mfg-name {
      type string;
      description
        "The name of the manufacturer of this entity
         (e.g., component).";
    }
    leaf product-name {
      type string;
      description
        "The vendor-specific and human-interpretable string
         describing the entity (e.g., component) type. It is expected
         that vendors assign unique product names to different entity
         (e.g., component) types within the scope of the vendor.";
    }
  }

  grouping component-attributes {
    description
      "The set of common attributes of a component.

       This grouping is intended also to be re-used by data models
       that need to report the common attributes of a component.";
    leaf component-id {
      type string;
      description
        "An identifier that uniquely identifies the component
         in a node.";
    }
    leaf class {
      type union {
        type identityref {
          base ianahw:hardware-class;
        }
        type identityref {
          base nwi:non-hardware-component-class;
        }
      }
      mandatory true;
      description
        "The type of the component.";
    }
    uses ne-component-common-entity-attributes {
      refine "software-rev" {
        reference
          "RFC 6933: Entity MIB (Version 4) -
                     entPhysicalSoftwareRev";
      }
      refine "mfg-name" {
        description
          "The name of the manufacturer of this component.

           The preferred value is the manufacturer name
           string actually printed on the component itself
           (if present).

           Note that comparisons between instances of the
           'part-number', 'software-rev', and 'serial-number' nodes
           are only meaningful amongst components with the same value
           of 'mfg-name'.

           If the manufacturer name string associated with
           the component is unknown to the server, then this node is
           not instantiated.";
        reference
          "RFC 6933: Entity MIB (Version 4) -
                     entPhysicalMfgName";
      }
    }
    leaf hardware-rev {
      type string;
      description
        "The vendor-specific hardware revision string for the
         component.

         The preferred value is the hardware revision identifier
         actually printed on the component itself (if present).";
      reference
        "RFC 6933: Entity MIB (Version 4) - entPhysicalHardwareRev";
    }
    leaf mfg-date {
      type yang:date-and-time;
      description
        "The date of manufacturing of the component.";
      reference
        "RFC 6933: Entity MIB (Version 4) - entPhysicalMfgDate";
    }
    leaf part-number {
      type string;
      description
        "The vendor-specific part number of the component
         type. It is expected that vendors assign unique part
         numbers to different component types within the
         scope of the vendor.";
    }
    leaf serial-number {
      type string;
      description
        "The vendor-specific serial number of the component instance.

         It is expected that vendors assign unique serial numbers to
         different component instances within the scope of the
         'part-number'.";
    }
    leaf asset-id {
      type string;
      description
        "This node is an asset tracking identifier for the component,
         as specified by a network operator.

         A server implementation MAY map this leaf to the
         entPhysicalAssetID MIB object.  Such an
         implementation needs to use some mechanism to handle
         the differences in size and characters allowed
         between this leaf and entPhysicalAssetID.

         The definition of such a mechanism is outside the
         scope of this document.";
      reference
        "RFC 6933: Entity MIB (Version 4) -
                   entPhysicalAssetID";
    }
    leaf is-fru {
      type boolean;
      description
        "This node indicates whether or not this component is
         considered a 'field-replaceable unit' by the vendor.
         If this node contains the value 'true', then this
         component identifies a field-replaceable unit.
         For all components that are permanently contained
         within a field-replaceable unit, the value 'false'
         should be returned for this node.";
      reference
        "RFC 6933: Entity MIB (Version 4) -
                   entPhysicalIsFRU";
    }
    leaf-list uri {
      type inet:uri;
      description
        "This node contains identification information about
         the component.";
      reference
        "RFC 6933: Entity MIB (Version 4) - entPhysicalUris";
    }
  }

  /* 
   * Data Nodes
   */

  container network-inventory {
    config false;
    description
      "Top-level container for network inventory.";
    container network-elements {
      description
        "The top-level container for the list of network elements
         within the network.";
      list network-element {
        key "ne-id";
        description
          "The list of network elements within the network.";
        leaf ne-id {
          type string;
          description
            "An identifier that uniquely identifies the NE in
             a network.";
        }
        leaf ne-type {
          type identityref {
            base nwi:ne-type;
          }
          default "nwi:ne-physical";
          description
            "The network element type.";
          reference
            "RFC XXXX: A YANG Data Model for Network Inventory,
                       Section 3.";
        }
        uses ne-component-common-entity-attributes;
        leaf product-rev {
          type string;
          description
            "The vendor-specific product revision string for the
             network-element.";
        }
        container components {
          description
            "The top-level container for the list of components
             within a network element.";
          list component {
            key "component-id";
            description
              "The list of components within a network element.";
            uses component-attributes;
            leaf-list parent {
              type leafref {
                path "../../component/component-id";
                require-instance false;
              }
              description
                "The identifiers of all the components that
                 physically contain this component.

                 If this list is empty, this component is not
                 contained in any other component but it is contained
                 in the network-element.";
              reference
                "RFC 6933: Entity MIB (Version 4) -
                           entPhysicalContainedIn";
            }
            leaf parent-rel-pos {
              when 'count(../parent) < 2' {
                description
                  "This data node is applicable only when this
                   component is contained in the network-element or
                   in only one parent component.";
              }
              type int32 {
                range "0 .. 2147483647";
              }
              description
                "The relative position with respect to the parent
                 component among all the sibling components.";
              reference
                "RFC 6933: Entity MIB (Version 4) -
                           entPhysicalParentRelPos";
            }
            leaf is-main {
              when "derived-from-or-self(../nwi:class, "
                 + "'ianahw:chassis')";
              type boolean;
              description
                "This node indicates whether the chassis is taking or
                 not the 'main' role.

                 This node is applicable only to scenarios where
                 there are chassis components which can take the
                 'main' role (e.g., multi-chassis network elements),
                 otherwise it is omitted.";
            }
          }
        }
      }
    }
  }
}
]]></sourcecode>
      </figure>
    </section>
    <section anchor="operational-considerations">
      <name>Operational Considerations</name>
      <t>The network inventory YANG data model defined in the document is intended to report the actual inventory data that a network controller knows of the network elements and components actually installed within the network. Therefore, this data model provides a read-only perspective of the network inventory information.</t>
      <t>It is worth noting that some information reported within this YANG data model can be configured on the device through mechanisms which are outside the scope of this document.</t>
      <t>As outlined in <xref target="intro"/>, per the definition of <xref target="RFC8309"/> and <xref target="RFC8969"/>, the network inventory model is a network model.</t>
      <t>This information can be provided by a network controller to an higher level hierarchical network controller, to an Inventory OSS or to any other type of application which needs to discover the network inventory information.</t>
      <t>For example, in the context of ACTN, the network inventory YANG data model can be used at the MPI interfaces, as defined in <xref target="RFC8453"/>, or on an interface, not defined in <xref target="RFC8453"/> between the MDSC and the Inventory OSS.</t>
      <t>The information in the model is populated by controller by reading it from the devices using the device model supported by the devices. This model does not constraint the device models used on the device: the YANG data model defined in <xref target="RFC8348"/> is an option but other options (e.g., vendor specific interfaces or YANG data models) are also allowed. In case some information is not provided by the device, the network controller SHALL omit this information unless this information is known by other sources of information (e.g., through local configuration within the network controller).</t>
      <t>In case of hierarchical controllers, a hierarchical network controller can also collect the network inventory information from its lower level network controllers using this YANG data model (or other mechanisms which are outside the scope of this document) and report the combined network inventory information to an higher level network controller, to an Inventory OSS or to any other type of application which needs to discover the network inventory information.</t>
      <t>When used in brownfield scenarios, it is worth noting that existing deployments are based on proprietary Inventory OSS and that the migration path is highly dependent on the specific proprietary solution. Therefore the migration processes are operator dependent: it is expected that the deployment of the standard YANG-based solution on the controllers will take some time and its integration with existing Inventory OSSes will also take longer time. In a longer term, the network controllers could provide inventory information, using this YANG data model, also to next generation OSSes.</t>
      <t>When this model is used, the source of truth for the inventory data in the scope of this model is the network controller providing this data. Some legacy inventory information (e.g., inactive assets, warehouse spares, procurement or commercial metadata) fall outside the scope of the base model.</t>
    </section>
    <section anchor="security-considerations">
      <name>Security Considerations</name>
      <t>This section is modeled after the template described in <xref section="3.7" sectionFormat="of" target="I-D.ietf-netmod-rfc8407bis"/>.</t>
      <t>The "ietf-network-inventory" YANG module defines a data model that is
designed to be accessed via YANG-based management protocols, such as
NETCONF <xref target="RFC6241"/> and RESTCONF <xref target="RFC8040"/>. These YANG-based management
protocols (1) have to use a secure transport layer (e.g., SSH <xref target="RFC4252"/>, TLS <xref target="RFC8446"/>,
and QUIC <xref target="RFC9000"/>) and (2) have to use mutual authentication.</t>
      <t>The Network Configuration Access Control Model (NACM) <xref target="RFC8341"/>
provides the means to restrict access for particular NETCONF or
RESTCONF users to a preconfigured subset of all available NETCONF or
RESTCONF protocol operations and content.</t>
      <t>Some of the readable data nodes in this YANG module may be considered
sensitive or vulnerable in some network environments.  It is thus
important to control read access (e.g., via get, get-config, or
notification) to these data nodes.</t>
      <t>Specifically, the following subtrees and data nodes have particular sensitivities/vulnerabilities:</t>
      <ul spacing="normal">
        <li>
          <t>"/nwi:network-elements"</t>
        </li>
      </ul>
      <ul empty="true">
        <li>
          <t>This subtree reports the inventory information for all the network elements and their hardware components deployed within the network as well as of the software modules being active on these network elements and components. Unauthorized access to this subtree can disclose this information. A malicious attacker can use this information to perform targeted attacks to network elements, hardware components or software modules with known vulnerabilities.</t>
        </li>
      </ul>
      <t>Modules that use the groupings that are defined in this document
should identify the corresponding security considerations. For example, reusing the 'component-attributes' grouping may expose sensitive information.</t>
    </section>
    <section anchor="iana-considerations">
      <name>IANA Considerations</name>
      <t>IANA is requested to register the following URI in the "ns"
registry within the "IETF XML Registry" group <xref target="RFC3688"/>:</t>
      <artwork><![CDATA[
      URI: urn:ietf:params:xml:ns:ietf-network-inventory
      Registrant Contact: The IESG
      XML: N/A; the requested URI is an XML namespace.
]]></artwork>
      <t>IANA is requested to register the following YANG module in the "YANG
Module Names" registry <xref target="RFC6020"/> within the "YANG Parameters"
registry group.</t>
      <artwork><![CDATA[
      name:         ietf-network-inventory
      namespace:    urn:ietf:params:xml:ns:yang:ietf-network-inventory
      prefix:       nwi
      reference:    RFC XXXX
]]></artwork>
    </section>
  </middle>
  <back>
    <references anchor="sec-combined-references">
      <name>References</name>
      <references anchor="sec-normative-references">
        <name>Normative References</name>
        <reference anchor="TMF_SD2-20" target="https://www.tmforum.org/resources/suite/mtosi-4-0/">
          <front>
            <title>SD2-20_Equipment Model</title>
            <author>
              <organization>TM Forum</organization>
            </author>
            <date year="2008" month="May"/>
          </front>
          <seriesInfo name="TMF MTOSI 4.0, Network Resource Fulfilment (NRF), SD2-20" value=""/>
        </reference>
        <reference anchor="IANA_ENTITY_MIB" target="https://www.iana.org/assignments/ianaentity-mib/ianaentity-mib.xhtml">
          <front>
            <title>IANA-ENTITY-MIB</title>
            <author>
              <organization>IANA</organization>
            </author>
            <date>n.d.</date>
          </front>
        </reference>
        <reference anchor="IANA_HW_YANG" target="https://www.iana.org/assignments/iana-hardware/iana-hardware.xhtml">
          <front>
            <title>iana-hardware YANG Module</title>
            <author>
              <organization>IANA</organization>
            </author>
            <date>n.d.</date>
          </front>
        </reference>
        <reference anchor="RFC8348">
          <front>
            <title>A YANG Data Model for Hardware Management</title>
            <author fullname="A. Bierman" initials="A." surname="Bierman"/>
            <author fullname="M. Bjorklund" initials="M." surname="Bjorklund"/>
            <author fullname="J. Dong" initials="J." surname="Dong"/>
            <author fullname="D. Romascanu" initials="D." surname="Romascanu"/>
            <date month="March" year="2018"/>
            <abstract>
              <t>This document defines a YANG data model for the management of hardware on a single server.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8348"/>
          <seriesInfo name="DOI" value="10.17487/RFC8348"/>
        </reference>
        <reference anchor="RFC8342">
          <front>
            <title>Network Management Datastore Architecture (NMDA)</title>
            <author fullname="M. Bjorklund" initials="M." surname="Bjorklund"/>
            <author fullname="J. Schoenwaelder" initials="J." surname="Schoenwaelder"/>
            <author fullname="P. Shafer" initials="P." surname="Shafer"/>
            <author fullname="K. Watsen" initials="K." surname="Watsen"/>
            <author fullname="R. Wilton" initials="R." surname="Wilton"/>
            <date month="March" year="2018"/>
            <abstract>
              <t>Datastores are a fundamental concept binding the data models written in the YANG data modeling language to network management protocols such as the Network Configuration Protocol (NETCONF) and RESTCONF. This document defines an architectural framework for datastores based on the experience gained with the initial simpler model, addressing requirements that were not well supported in the initial model. This document updates RFC 7950.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8342"/>
          <seriesInfo name="DOI" value="10.17487/RFC8342"/>
        </reference>
        <reference anchor="RFC2119">
          <front>
            <title>Key words for use in RFCs to Indicate Requirement Levels</title>
            <author fullname="S. Bradner" initials="S." surname="Bradner"/>
            <date month="March" year="1997"/>
            <abstract>
              <t>In many standards track documents several words are used to signify the requirements in the specification. These words are often capitalized. This document defines these words as they should be interpreted in IETF documents. This document specifies an Internet Best Current Practices for the Internet Community, and requests discussion and suggestions for improvements.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="14"/>
          <seriesInfo name="RFC" value="2119"/>
          <seriesInfo name="DOI" value="10.17487/RFC2119"/>
        </reference>
        <reference anchor="RFC8174">
          <front>
            <title>Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words</title>
            <author fullname="B. Leiba" initials="B." surname="Leiba"/>
            <date month="May" year="2017"/>
            <abstract>
              <t>RFC 2119 specifies common key words that may be used in protocol specifications. This document aims to reduce the ambiguity by clarifying that only UPPERCASE usage of the key words have the defined special meanings.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="14"/>
          <seriesInfo name="RFC" value="8174"/>
          <seriesInfo name="DOI" value="10.17487/RFC8174"/>
        </reference>
        <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="RFC6241">
          <front>
            <title>Network Configuration Protocol (NETCONF)</title>
            <author fullname="R. Enns" initials="R." role="editor" surname="Enns"/>
            <author fullname="M. Bjorklund" initials="M." role="editor" surname="Bjorklund"/>
            <author fullname="J. Schoenwaelder" initials="J." role="editor" surname="Schoenwaelder"/>
            <author fullname="A. Bierman" initials="A." role="editor" surname="Bierman"/>
            <date month="June" year="2011"/>
            <abstract>
              <t>The Network Configuration Protocol (NETCONF) defined in this document provides mechanisms to install, manipulate, and delete the configuration of network devices. It uses an Extensible Markup Language (XML)-based data encoding for the configuration data as well as the protocol messages. The NETCONF protocol operations are realized as remote procedure calls (RPCs). This document obsoletes RFC 4741. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="6241"/>
          <seriesInfo name="DOI" value="10.17487/RFC6241"/>
        </reference>
        <reference anchor="RFC6991">
          <front>
            <title>Common YANG Data Types</title>
            <author fullname="J. Schoenwaelder" initials="J." role="editor" surname="Schoenwaelder"/>
            <date month="July" year="2013"/>
            <abstract>
              <t>This document introduces a collection of common data types to be used with the YANG data modeling language. This document obsoletes RFC 6021.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="6991"/>
          <seriesInfo name="DOI" value="10.17487/RFC6991"/>
        </reference>
        <reference anchor="RFC6933">
          <front>
            <title>Entity MIB (Version 4)</title>
            <author fullname="A. Bierman" initials="A." surname="Bierman"/>
            <author fullname="D. Romascanu" initials="D." surname="Romascanu"/>
            <author fullname="J. Quittek" initials="J." surname="Quittek"/>
            <author fullname="M. Chandramouli" initials="M." surname="Chandramouli"/>
            <date month="May" year="2013"/>
            <abstract>
              <t>This memo defines a portion of the Management Information Base (MIB) for use with network management protocols in the Internet community. In particular, it describes managed objects used for managing multiple logical and physical entities managed by a single Simple Network Management Protocol (SNMP) agent. This document specifies version 4 of the Entity MIB. This memo obsoletes version 3 of the Entity MIB module published as RFC 4133.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="6933"/>
          <seriesInfo name="DOI" value="10.17487/RFC6933"/>
        </reference>
        <reference anchor="RFC8341">
          <front>
            <title>Network Configuration Access Control Model</title>
            <author fullname="A. Bierman" initials="A." surname="Bierman"/>
            <author fullname="M. Bjorklund" initials="M." surname="Bjorklund"/>
            <date month="March" year="2018"/>
            <abstract>
              <t>The standardization of network configuration interfaces for use with the Network Configuration Protocol (NETCONF) or the RESTCONF protocol requires a structured and secure operating environment that promotes human usability and multi-vendor interoperability. There is a need for standard mechanisms to restrict NETCONF or RESTCONF protocol access for particular users to a preconfigured subset of all available NETCONF or RESTCONF protocol operations and content. This document defines such an access control model.</t>
              <t>This document obsoletes RFC 6536.</t>
            </abstract>
          </front>
          <seriesInfo name="STD" value="91"/>
          <seriesInfo name="RFC" value="8341"/>
          <seriesInfo name="DOI" value="10.17487/RFC8341"/>
        </reference>
        <reference anchor="RFC6020">
          <front>
            <title>YANG - A Data Modeling Language for the Network Configuration Protocol (NETCONF)</title>
            <author fullname="M. Bjorklund" initials="M." role="editor" surname="Bjorklund"/>
            <date month="October" year="2010"/>
            <abstract>
              <t>YANG is a data modeling language used to model configuration and state data manipulated by the Network Configuration Protocol (NETCONF), NETCONF remote procedure calls, and NETCONF notifications. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="6020"/>
          <seriesInfo name="DOI" value="10.17487/RFC6020"/>
        </reference>
      </references>
      <references anchor="sec-informative-references">
        <name>Informative References</name>
        <reference anchor="I-D.ietf-teas-actn-poi-applicability">
          <front>
            <title>Applicability of Abstraction and Control of Traffic Engineered Networks (ACTN) to Packet Optical Integration (POI)</title>
            <author fullname="Fabio Peruzzini" initials="F." surname="Peruzzini">
              <organization>FiberCop</organization>
            </author>
            <author fullname="Jean-Francois Bouquier" initials="J." surname="Bouquier">
              <organization>Vodafone</organization>
            </author>
            <author fullname="Italo Busi" initials="I." surname="Busi">
              <organization>Huawei</organization>
            </author>
            <author fullname="Daniel King" initials="D." surname="King">
              <organization>Old Dog Consulting</organization>
            </author>
            <author fullname="Daniele Ceccarelli" initials="D." surname="Ceccarelli">
              <organization>Cisco</organization>
            </author>
            <date day="22" month="December" year="2025"/>
            <abstract>
              <t>   This document explores the applicability of the Abstraction and
   Control of TE Networks (ACTN) architecture to Packet Optical
   Integration (POI) within the context of IP/MPLS and optical
   internetworking.  It examines the YANG data models defined by the
   IETF that enable an ACTN-based deployment architecture and highlights
   specific scenarios pertinent to Service Providers.

   Existing IETF protocols and data models are identified for each
   multi-technology scenario (packet over optical), particularly
   emphasising the Multi-Domain Service Coordinator to Provisioning
   Network Controller Interface (MPI) within the ACTN architecture

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-teas-actn-poi-applicability-17"/>
        </reference>
        <reference anchor="RFC8309">
          <front>
            <title>Service Models Explained</title>
            <author fullname="Q. Wu" initials="Q." surname="Wu"/>
            <author fullname="W. Liu" initials="W." surname="Liu"/>
            <author fullname="A. Farrel" initials="A." surname="Farrel"/>
            <date month="January" year="2018"/>
            <abstract>
              <t>The IETF has produced many modules in the YANG modeling language. The majority of these modules are used to construct data models to model devices or monolithic functions.</t>
              <t>A small number of YANG modules have been defined to model services (for example, the Layer 3 Virtual Private Network Service Model (L3SM) produced by the L3SM working group and documented in RFC 8049).</t>
              <t>This document describes service models as used within the IETF and also shows where a service model might fit into a software-defined networking architecture. Note that service models do not make any assumption of how a service is actually engineered and delivered for a customer; details of how network protocols and devices are engineered to deliver a service are captured in other modules that are not exposed through the interface between the customer and the provider.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8309"/>
          <seriesInfo name="DOI" value="10.17487/RFC8309"/>
        </reference>
        <reference anchor="RFC8969">
          <front>
            <title>A Framework for Automating Service and Network Management with YANG</title>
            <author fullname="Q. Wu" initials="Q." role="editor" surname="Wu"/>
            <author fullname="M. Boucadair" initials="M." role="editor" surname="Boucadair"/>
            <author fullname="D. Lopez" initials="D." surname="Lopez"/>
            <author fullname="C. Xie" initials="C." surname="Xie"/>
            <author fullname="L. Geng" initials="L." surname="Geng"/>
            <date month="January" year="2021"/>
            <abstract>
              <t>Data models provide a programmatic approach to represent services and networks. Concretely, they can be used to derive configuration information for network and service components, and state information that will be monitored and tracked. Data models can be used during the service and network management life cycle (e.g., service instantiation, service provisioning, service optimization, service monitoring, service diagnosing, and service assurance). Data models are also instrumental in the automation of network management, and they can provide closed-loop control for adaptive and deterministic service creation, delivery, and maintenance.</t>
              <t>This document describes a framework for service and network management automation that takes advantage of YANG modeling technologies. This framework is drawn from a network operator perspective irrespective of the origin of a data model; thus, it can accommodate YANG modules that are developed outside the IETF.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8969"/>
          <seriesInfo name="DOI" value="10.17487/RFC8969"/>
        </reference>
        <reference anchor="RFC8453">
          <front>
            <title>Framework for Abstraction and Control of TE Networks (ACTN)</title>
            <author fullname="D. Ceccarelli" initials="D." role="editor" surname="Ceccarelli"/>
            <author fullname="Y. Lee" initials="Y." role="editor" surname="Lee"/>
            <date month="August" year="2018"/>
            <abstract>
              <t>Traffic Engineered (TE) networks have a variety of mechanisms to facilitate the separation of the data plane and control plane. They also have a range of management and provisioning protocols to configure and activate network resources. These mechanisms represent key technologies for enabling flexible and dynamic networking. The term "Traffic Engineered network" refers to a network that uses any connection-oriented technology under the control of a distributed or centralized control plane to support dynamic provisioning of end-to- end connectivity.</t>
              <t>Abstraction of network resources is a technique that can be applied to a single network domain or across multiple domains to create a single virtualized network that is under the control of a network operator or the customer of the operator that actually owns the network resources.</t>
              <t>This document provides a framework for Abstraction and Control of TE Networks (ACTN) to support virtual network services and connectivity services.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8453"/>
          <seriesInfo name="DOI" value="10.17487/RFC8453"/>
        </reference>
        <reference anchor="RFC8340">
          <front>
            <title>YANG Tree Diagrams</title>
            <author fullname="M. Bjorklund" initials="M." surname="Bjorklund"/>
            <author fullname="L. Berger" initials="L." role="editor" surname="Berger"/>
            <date month="March" year="2018"/>
            <abstract>
              <t>This document captures the current syntax used in YANG module tree diagrams. The purpose of this document is to provide a single location for this definition. This syntax may be updated from time to time based on the evolution of the YANG language.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="215"/>
          <seriesInfo name="RFC" value="8340"/>
          <seriesInfo name="DOI" value="10.17487/RFC8340"/>
        </reference>
        <reference anchor="RFC8792">
          <front>
            <title>Handling Long Lines in Content of Internet-Drafts and RFCs</title>
            <author fullname="K. Watsen" initials="K." surname="Watsen"/>
            <author fullname="E. Auerswald" initials="E." surname="Auerswald"/>
            <author fullname="A. Farrel" initials="A." surname="Farrel"/>
            <author fullname="Q. Wu" initials="Q." surname="Wu"/>
            <date month="June" year="2020"/>
            <abstract>
              <t>This document defines two strategies for handling long lines in width-bounded text content. One strategy, called the "single backslash" strategy, is based on the historical use of a single backslash ('\') character to indicate where line-folding has occurred, with the continuation occurring with the first character that is not a space character (' ') on the next line. The second strategy, called the "double backslash" strategy, extends the first strategy by adding a second backslash character to identify where the continuation begins and is thereby able to handle cases not supported by the first strategy. Both strategies use a self-describing header enabling automated reconstitution of the original content.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8792"/>
          <seriesInfo name="DOI" value="10.17487/RFC8792"/>
        </reference>
        <reference anchor="I-D.ietf-ivy-network-inventory-location">
          <front>
            <title>A YANG Data Model for Network Inventory Location</title>
            <author fullname="Bo Wu" initials="B." surname="Wu">
              <organization>Huawei</organization>
            </author>
            <author fullname="Sergio Belotti" initials="S." surname="Belotti">
              <organization>Nokia</organization>
            </author>
            <author fullname="Jean-Francois Bouquier" initials="J." surname="Bouquier">
              <organization>Vodafone</organization>
            </author>
            <author fullname="Fabio Peruzzini" initials="F." surname="Peruzzini">
              <organization>FiberCop</organization>
            </author>
            <author fullname="Phil Bedard" initials="P." surname="Bedard">
              <organization>Cisco</organization>
            </author>
            <date day="7" month="July" year="2025"/>
            <abstract>
              <t>   This document defines a YANG data model for Network Inventory
   location (e.g., site, room, rack, geo-location data), which provides
   location information with different granularity levels for
   inventoried network elements.

   Accurate location information is useful for network planning,
   deployment, and maintenance.  However, such information cannot be
   obtained or verified from the Network Elements themselves.  This
   document defines a location model for network inventory that extends
   the base inventory with comprehensive location data.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-ivy-network-inventory-location-03"/>
        </reference>
        <reference anchor="RFC1157">
          <front>
            <title>Simple Network Management Protocol (SNMP)</title>
            <author fullname="J.D. Case" initials="J.D." surname="Case"/>
            <author fullname="M. Fedor" initials="M." surname="Fedor"/>
            <author fullname="M.L. Schoffstall" initials="M.L." surname="Schoffstall"/>
            <author fullname="J. Davin" initials="J." surname="Davin"/>
            <date month="May" year="1990"/>
            <abstract>
              <t>This RFC is a re-release of RFC 1098, with a changed "Status of this Memo" section plus a few minor typographical corrections. This memo defines a simple protocol by which management information for a network element may be inspected or altered by logically remote users. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="1157"/>
          <seriesInfo name="DOI" value="10.17487/RFC1157"/>
        </reference>
        <reference anchor="I-D.ietf-ivy-network-inventory-software">
          <front>
            <title>A YANG Network Data Model of Network Inventory Software Extensions</title>
            <author fullname="Bo Wu" initials="B." surname="Wu">
              <organization>Huawei</organization>
            </author>
            <author fullname="Cheng Zhou" initials="C." surname="Zhou">
              <organization>China Mobile</organization>
            </author>
            <author fullname="Qin Wu" initials="Q." surname="Wu">
              <organization>Huawei</organization>
            </author>
            <author fullname="Mohamed Boucadair" initials="M." surname="Boucadair">
              <organization>Orange</organization>
            </author>
            <date day="20" month="October" year="2025"/>
            <abstract>
              <t>   This document extends the base Network Inventory YANG model to
   support non-physical network elements (NEs), such as controllers,
   virtual routers, and virtual firewalls, as well as software
   components like platform operating systems and software modules.  In
   addition to the software revisions and patches already defined in the
   base model, this extension introduces software status and time stamp
   information.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-ivy-network-inventory-software-02"/>
        </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="RFC8040">
          <front>
            <title>RESTCONF Protocol</title>
            <author fullname="A. Bierman" initials="A." surname="Bierman"/>
            <author fullname="M. Bjorklund" initials="M." surname="Bjorklund"/>
            <author fullname="K. Watsen" initials="K." surname="Watsen"/>
            <date month="January" year="2017"/>
            <abstract>
              <t>This document describes an HTTP-based protocol that provides a programmatic interface for accessing data defined in YANG, using the datastore concepts defined in the Network Configuration Protocol (NETCONF).</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8040"/>
          <seriesInfo name="DOI" value="10.17487/RFC8040"/>
        </reference>
        <reference anchor="RFC4252">
          <front>
            <title>The Secure Shell (SSH) Authentication Protocol</title>
            <author fullname="T. Ylonen" initials="T." surname="Ylonen"/>
            <author fullname="C. Lonvick" initials="C." role="editor" surname="Lonvick"/>
            <date month="January" year="2006"/>
            <abstract>
              <t>The Secure Shell Protocol (SSH) is a protocol for secure remote login and other secure network services over an insecure network. This document describes the SSH authentication protocol framework and public key, password, and host-based client authentication methods. Additional authentication methods are described in separate documents. The SSH authentication protocol runs on top of the SSH transport layer protocol and provides a single authenticated tunnel for the SSH connection protocol. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="4252"/>
          <seriesInfo name="DOI" value="10.17487/RFC4252"/>
        </reference>
        <reference anchor="RFC8446">
          <front>
            <title>The Transport Layer Security (TLS) Protocol Version 1.3</title>
            <author fullname="E. Rescorla" initials="E." surname="Rescorla"/>
            <date month="August" year="2018"/>
            <abstract>
              <t>This document specifies version 1.3 of the Transport Layer Security (TLS) protocol. TLS allows client/server applications to communicate over the Internet in a way that is designed to prevent eavesdropping, tampering, and message forgery.</t>
              <t>This document updates RFCs 5705 and 6066, and obsoletes RFCs 5077, 5246, and 6961. This document also specifies new requirements for TLS 1.2 implementations.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8446"/>
          <seriesInfo name="DOI" value="10.17487/RFC8446"/>
        </reference>
        <reference anchor="RFC9000">
          <front>
            <title>QUIC: A UDP-Based Multiplexed and Secure Transport</title>
            <author fullname="J. Iyengar" initials="J." role="editor" surname="Iyengar"/>
            <author fullname="M. Thomson" initials="M." role="editor" surname="Thomson"/>
            <date month="May" year="2021"/>
            <abstract>
              <t>This document defines the core of the QUIC transport protocol. QUIC provides applications with flow-controlled streams for structured communication, low-latency connection establishment, and network path migration. QUIC includes security measures that ensure confidentiality, integrity, and availability in a range of deployment circumstances. Accompanying documents describe the integration of TLS for key negotiation, loss detection, and an exemplary congestion control algorithm.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9000"/>
          <seriesInfo name="DOI" value="10.17487/RFC9000"/>
        </reference>
        <reference anchor="RFC3688">
          <front>
            <title>The IETF XML Registry</title>
            <author fullname="M. Mealling" initials="M." surname="Mealling"/>
            <date month="January" year="2004"/>
            <abstract>
              <t>This document describes an IANA maintained registry for IETF standards which use Extensible Markup Language (XML) related items such as Namespaces, Document Type Declarations (DTDs), Schemas, and Resource Description Framework (RDF) Schemas.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="81"/>
          <seriesInfo name="RFC" value="3688"/>
          <seriesInfo name="DOI" value="10.17487/RFC3688"/>
        </reference>
        <reference anchor="RFC7951">
          <front>
            <title>JSON Encoding of Data Modeled with YANG</title>
            <author fullname="L. Lhotka" initials="L." surname="Lhotka"/>
            <date month="August" year="2016"/>
            <abstract>
              <t>This document defines encoding rules for representing configuration data, state data, parameters of Remote Procedure Call (RPC) operations or actions, and notifications defined using YANG as JavaScript Object Notation (JSON) text.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7951"/>
          <seriesInfo name="DOI" value="10.17487/RFC7951"/>
        </reference>
        <reference anchor="I-D.ygb-ivy-passive-network-inventory">
          <front>
            <title>A YANG Data Model for Passive Network Inventory</title>
            <author fullname="Chaode Yu" initials="C." surname="Yu">
              <organization>Huawei</organization>
            </author>
            <author fullname="Aihua Guo" initials="A." surname="Guo">
              <organization>Futurewei</organization>
            </author>
            <author fullname="Italo Busi" initials="I." surname="Busi">
              <organization>Huawei</organization>
            </author>
            <author fullname="Mohammad Boroon" initials="M." surname="Boroon">
              <organization>Highstreet</organization>
            </author>
            <author fullname="Sergio Belotti" initials="S." surname="Belotti">
              <organization>Nokia</organization>
            </author>
            <author fullname="tom van caenegem" initials="T." surname="van caenegem">
              <organization>Nokia</organization>
            </author>
            <author fullname="Swaminathan 1. S." initials="S. 1." surname="S.">
              <organization>Nokia</organization>
            </author>
            <author fullname="Swaminathan B." initials="S." surname="B.">
              <organization>Nokia</organization>
            </author>
            <author fullname="Nigel Davis" initials="N." surname="Davis">
              <organization>Ciena</organization>
            </author>
            <author fullname="Mauro Tilocca" initials="M." surname="Tilocca">
              <organization>FiberCop</organization>
            </author>
            <author fullname="Brad Peters" initials="B." surname="Peters">
              <organization>NBN</organization>
            </author>
            <author fullname="Bin Yeong Yoon" initials="B. Y." surname="Yoon">
              <organization>ETRI</organization>
            </author>
            <author fullname="LIUYUCONG" initials="" surname="LIUYUCONG">
              <organization>China Mobile</organization>
            </author>
            <author fullname="Yang Zhao" initials="Y." surname="Zhao">
              <organization>China Mobile</organization>
            </author>
            <author fullname="Avinash Sakalabhaktula" initials="A." surname="Sakalabhaktula">
              <organization>Radisys</organization>
            </author>
            <date day="7" month="July" year="2025"/>
            <abstract>
              <t>   This document presents a YANG data model for tracking and managing
   passive network inventory.  The model enhances the base model
   outlined in [I-D.draft-ietf-ivy-network-inventory-yang] and is
   intended for use in the northbound interface of a domain controller
   as defined in [RFC8453].

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ygb-ivy-passive-network-inventory-02"/>
        </reference>
      </references>
    </references>
    <?line 1063?>

<section anchor="comparison-with-openconfig-platform-data-model">
      <name>Comparison With Openconfig-platform Data Model</name>
      <t>Since more and more devices can be managed by domain controller through OpenConfig, to ensure that our inventory data model can cover these devices' inventory data, we have compared our inventory data model with the "openconfig-platform" model which is the data model used to manage inventory information in OpenConfig.</t>
      <t>Openconfig-platform data model is NE-level and uses a generic component concept to describe its inner devices and containers, which is similar to "ietf-hardware" model in <xref target="RFC8348"/>. Since we have also reused the component concept of <xref target="RFC8348"/> in our inventory data model, we can compare the component's attributes between "openconfig-platform" and our model directly , which is stated in <xref target="tab-oc"/>.</t>
      <table anchor="tab-oc">
        <name>Comparison between openconfig platform and inventory data models</name>
        <thead>
          <tr>
            <th align="left">Attributes in oc-platform</th>
            <th align="left">Attributes in our model</th>
            <th align="left">remark</th>
          </tr>
        </thead>
        <tbody>
          <tr>
            <td align="left">name</td>
            <td align="left">name</td>
            <td align="left"> </td>
          </tr>
          <tr>
            <td align="left">type</td>
            <td align="left">class</td>
            <td align="left"> </td>
          </tr>
          <tr>
            <td align="left">id</td>
            <td align="left">uuid</td>
            <td align="left"> </td>
          </tr>
          <tr>
            <td align="left">location</td>
            <td align="left">location</td>
            <td align="left"> </td>
          </tr>
          <tr>
            <td align="left">description</td>
            <td align="left">description</td>
            <td align="left"> </td>
          </tr>
          <tr>
            <td align="left">mfg-name</td>
            <td align="left">mfg-name</td>
            <td align="left"> </td>
          </tr>
          <tr>
            <td align="left">mfg-date</td>
            <td align="left">mfg-date</td>
            <td align="left"> </td>
          </tr>
          <tr>
            <td align="left">hardware-version</td>
            <td align="left">hardware-rev</td>
            <td align="left"> </td>
          </tr>
          <tr>
            <td align="left">firmware-version</td>
            <td align="left">firmware-rev</td>
            <td align="left"> </td>
          </tr>
          <tr>
            <td align="left">software-version</td>
            <td align="left">software-rev</td>
            <td align="left"> </td>
          </tr>
          <tr>
            <td align="left">serial-no</td>
            <td align="left">serial-num</td>
            <td align="left"> </td>
          </tr>
          <tr>
            <td align="left">part-no</td>
            <td align="left">part-number</td>
            <td align="left"> </td>
          </tr>
          <tr>
            <td align="left">clei-code</td>
            <td align="left"> </td>
            <td align="left">Not defined even in RFC-8348 at device level</td>
          </tr>
          <tr>
            <td align="left">removable</td>
            <td align="left">is-fru</td>
            <td align="left"> </td>
          </tr>
          <tr>
            <td align="left">oper-status</td>
            <td align="left"> </td>
            <td align="left">state data</td>
          </tr>
          <tr>
            <td align="left">empty</td>
            <td align="left">contained-child?</td>
            <td align="left">If there is no contained child, it is empty.</td>
          </tr>
          <tr>
            <td align="left">parent</td>
            <td align="left">parent-references</td>
            <td align="left"> </td>
          </tr>
          <tr>
            <td align="left">redundant-role</td>
            <td align="left"> </td>
            <td align="left">functional information, may be part of future augmentation</td>
          </tr>
          <tr>
            <td align="left">last-switchover-reason</td>
            <td align="left"> </td>
            <td align="left">state data</td>
          </tr>
          <tr>
            <td align="left">last-switchover-time</td>
            <td align="left"> </td>
            <td align="left">state data</td>
          </tr>
          <tr>
            <td align="left">last-reboot-reason</td>
            <td align="left"> </td>
            <td align="left">state data</td>
          </tr>
          <tr>
            <td align="left">last-reboot-time</td>
            <td align="left"> </td>
            <td align="left">state data</td>
          </tr>
          <tr>
            <td align="left">switchover-ready</td>
            <td align="left"> </td>
            <td align="left">state data</td>
          </tr>
          <tr>
            <td align="left">temperature</td>
            <td align="left"> </td>
            <td align="left">performance data</td>
          </tr>
          <tr>
            <td align="left">memory</td>
            <td align="left"> </td>
            <td align="left">performance data</td>
          </tr>
          <tr>
            <td align="left">allocated-power</td>
            <td align="left"> </td>
            <td align="left">state/performance data</td>
          </tr>
          <tr>
            <td align="left">used-power</td>
            <td align="left"> </td>
            <td align="left">state/performance data</td>
          </tr>
          <tr>
            <td align="left">pcie</td>
            <td align="left"> </td>
            <td align="left">alarm  data</td>
          </tr>
          <tr>
            <td align="left">properties</td>
            <td align="left"> </td>
            <td align="left">Generic properties can be handled as part of "description"</td>
          </tr>
          <tr>
            <td align="left">subcomponents</td>
            <td align="left"> </td>
            <td align="left"> </td>
          </tr>
          <tr>
            <td align="left">chassis</td>
            <td align="left"> </td>
            <td align="left"> </td>
          </tr>
          <tr>
            <td align="left">port</td>
            <td align="left"> </td>
            <td align="left"> </td>
          </tr>
          <tr>
            <td align="left">power-supply</td>
            <td align="left">power-supply</td>
            <td align="left"> </td>
          </tr>
          <tr>
            <td align="left">fan</td>
            <td align="left"> </td>
            <td align="left">Fan is considered as a specific board. And no need to define as a single component</td>
          </tr>
          <tr>
            <td align="left">fabric</td>
            <td align="left"> </td>
            <td align="left">Fabric is considered as a specific board. And no need to define as a single component</td>
          </tr>
          <tr>
            <td align="left">storage</td>
            <td align="left">storage-drive</td>
            <td align="left"> </td>
          </tr>
          <tr>
            <td align="left">cpu</td>
            <td align="left">cpu</td>
            <td align="left"> </td>
          </tr>
          <tr>
            <td align="left">integrated-circuit</td>
            <td align="left"> </td>
            <td align="left"> </td>
          </tr>
          <tr>
            <td align="left">backplane</td>
            <td align="left"> </td>
            <td align="left">Backplane is considered as a part of board. And no need to define as a single component</td>
          </tr>
          <tr>
            <td align="left">software-module</td>
            <td align="left"> </td>
            <td align="left">managed in the software-rev list</td>
          </tr>
          <tr>
            <td align="left">controller-card</td>
            <td align="left"> </td>
            <td align="left">Controller card is considered as a specific functional board. And no need to define as a single component</td>
          </tr>
        </tbody>
      </table>
      <t>As it mentioned in <xref target="ne-component"/> that state data and performance data are out of scope of our data model, it is same for alarm data and it should be defined in some other alarm data models separately. And for some component specific structures in "openconfig-platform", we consider some of them can be contained by our existing structure, such as fan, backplane, and controller-card, while some others do not need to be included in this network inventory model like storage and CPU.</t>
      <t>Mostly, our inventory data model can cover the attributes from OpenConfig.</t>
    </section>
    <section anchor="terminology-of-container">
      <name>Terminology of Container</name>
      <t>Within this document , with the term "container" we consider an hardware component class capable of containing one or more removable physical entities, e.g. a slot in a chassis is containing a board.</t>
      <table anchor="tab-term">
        <name>terminology mapping</name>
        <thead>
          <tr>
            <th align="left">terminology of IVY base model</th>
            <th align="left">terminology in other model</th>
          </tr>
        </thead>
        <tbody>
          <tr>
            <td align="left">container</td>
            <td align="left">holder</td>
          </tr>
        </tbody>
      </table>
    </section>
    <section anchor="efficiency-issue">
      <name>Efficiency Issue</name>
      <t>During  the integration with OSS in some operators, some efficiency/scalability concerns have been discovered when synchronizing network inventory data for big networks.  More discussions are needed to address these concerns.</t>
      <t>Considering that relational databases are widely used by traditional OSS systems and also by some network controllers, the inventory objects are most likely to be saved in different tables. With the model defined in this document, when doing a full synchronization, network controller needs to convert all inventory objects of each NE into component objects and combine them together into a single list, and then construct a response and send to OSS or MDSC. The OSS or MDSC needs to classify the component list and divide them into different groups, in order to save them in different tables. The combining-regrouping steps are impacting the network controller &amp; OSS/MDSC processing, which may result in efficiency/scalability limitations in large scale networks.</t>
      <t>An alternative YANG model structure, which defines the inventory objects directly, instead of defining generic components, has also been analyzed. However, also with this model, there still could be some scalability limitations when synchronizing full inventory resources in large scale of networks. This scalability limitation is caused by the limited transmission capabilities of HTTP protocol. We think that this scalability limitation should be solved at protocol level rather than data model level.</t>
      <t>The model proposed by this document is designed to be as generic as possible so to cover future special types of inventory objects that could be used in other technologies, that have not been identified yet. If the inventory objects were to be defined directly with fixed hierarchical relationships in YANG model, this new type of inventory objects needs to be manually defined, which is not a backward compatible change and therefore is not an acceptable approach for implementation. With a generic model, it is only needed to augment a new component class and extend some specific attributes for this new inventory component class, which is more flexible. We consider that this generic data model, enabling a flexible and backward compatible approach for other technologies, represents the main scope of this document. Solution description to efficiency/scalability limitations mentioned above is considered as out-of-scope.</t>
    </section>
    <section anchor="port-examples">
      <name>Examples of ports</name>
      <t>This appendix provides some examples of port implementations and how they can be modelled using the "ietf-network-inventory" module defined in <xref target="ni-yang"/>.</t>
      <t><xref target="fig-board"/> shows an example of a single board which contains three type of ports:</t>
      <ol spacing="normal" type="1"><li>
          <t>An integrated port (non pluggable);</t>
        </li>
        <li>
          <t>An empty port;</t>
        </li>
        <li>
          <t>A pluggable port</t>
        </li>
      </ol>
      <figure anchor="fig-board">
        <name>Example of a board with different types of ports</name>
        <artset>
          <artwork type="svg"><svg xmlns="http://www.w3.org/2000/svg" version="1.1" height="400" width="456" viewBox="0 0 456 400" class="diagram" text-anchor="middle" font-family="monospace" font-size="13px" stroke-linecap="round">
              <path d="M 72,32 L 72,368" fill="none" stroke="black"/>
              <path d="M 104,128 L 104,208" fill="none" stroke="black"/>
              <path d="M 104,240 L 104,320" fill="none" stroke="black"/>
              <path d="M 128,256 L 128,304" fill="none" stroke="black"/>
              <path d="M 200,48 L 200,96" fill="none" stroke="black"/>
              <path d="M 224,264 L 224,296" fill="none" stroke="black"/>
              <path d="M 232,32 L 232,128" fill="none" stroke="black"/>
              <path d="M 232,208 L 232,240" fill="none" stroke="black"/>
              <path d="M 232,320 L 232,368" fill="none" stroke="black"/>
              <path d="M 256,256 L 256,304" fill="none" stroke="black"/>
              <path d="M 72,32 L 232,32" fill="none" stroke="black"/>
              <path d="M 200,48 L 232,48" fill="none" stroke="black"/>
              <path d="M 200,96 L 232,96" fill="none" stroke="black"/>
              <path d="M 104,128 L 232,128" fill="none" stroke="black"/>
              <path d="M 104,208 L 232,208" fill="none" stroke="black"/>
              <path d="M 104,240 L 232,240" fill="none" stroke="black"/>
              <path d="M 128,256 L 256,256" fill="none" stroke="black"/>
              <path d="M 128,304 L 256,304" fill="none" stroke="black"/>
              <path d="M 104,320 L 232,320" fill="none" stroke="black"/>
              <path d="M 72,368 L 232,368" fill="none" stroke="black"/>
              <g class="text">
                <text x="216" y="68">O</text>
                <text x="284" y="68">1)</text>
                <text x="352" y="68">Non-Pluggable</text>
                <text x="428" y="68">Port</text>
                <text x="216" y="84">O</text>
                <text x="348" y="84">(integrated)</text>
                <text x="284" y="148">2)</text>
                <text x="320" y="148">Empty</text>
                <text x="364" y="148">hole</text>
                <text x="412" y="148">(port)</text>
                <text x="20" y="164">Hole</text>
                <text x="52" y="164">#1</text>
                <text x="20" y="276">Hole</text>
                <text x="52" y="276">#2</text>
                <text x="240" y="276">O</text>
                <text x="284" y="276">3)</text>
                <text x="336" y="276">Pluggable</text>
                <text x="396" y="276">port</text>
                <text x="240" y="292">O</text>
                <text x="136" y="356">(SLOT</text>
                <text x="168" y="356">#</text>
                <text x="192" y="356">10)</text>
              </g>
            </svg>
          </artwork>
          <artwork type="ascii-art"><![CDATA[
          +-------------------+
          |               +---+
          |               | O |     1) Non-Pluggable Port 
          |               | O |        (integrated)
          |               +---+
          |                   |
          |   +---------------+
          |   |                     2) Empty hole (port)
  Hole #1 |   |                
          |   |                     
          |   |                
          |   +---------------+
          |                   |
          |   +---------------+
          |   |  +---------------+
  Hole #2 |   |  |           | O |  3) Pluggable port
          |   |  |           | O |     
          |   |  +---------------+
          |   +---------------+
          |                   |
          |     (SLOT # 10)   |
          +-------------------+
]]></artwork>
        </artset>
      </figure>
      <section anchor="json-examples">
        <name>JSON Examples</name>
        <t>This appendix contains an example of an instance data tree in JSON encoding <xref target="RFC7951"/>, instantiating the "ietf-network-inventory" module to describe the three types of ports on a single board, as shown in <xref target="fig-board"/>.</t>
        <artwork type="ascii-art"><![CDATA[
=============== NOTE: '\' line wrapping per RFC 8792 ================

{
  "ietf-network-inventory:network-inventory": {
    "network-elements": {
      "network-element" : [
        {
          "ne-id": "NE-1",
          "description": "Network element example with fixed and \
                                                   pluggable ports.",
          "components": {
            "component": [
              {
                "component-id": "board-1",
                "class": "iana-hardware:module",
                "description": "Board example with fixed and \
                                                    pluggable ports."
              },
              {
                "component-id": "port-1",
                "class": "iana-hardware:port",
                "description": "Example of an integrated (non-\
                                                   pluggable) port.",
                "parent": [
                  "board-1"
                ],
                "parent-rel-pos": 1
              },
              {
                "component-id": "port-2",
                "class": "iana-hardware:port",
                "description": "Example of an empty pluggable port.",
                "parent": [
                  "board-1"
                ],
                "parent-rel-pos": 2
              },
              {
                "component-id": "port-3",
                "class": "iana-hardware:port",
                "description": "Example of a non empty pluggable \
                                                              port.",
                "parent": [
                  "board-1"
                ],
                "parent-rel-pos": 3
              },
              {
                "component-id": "transceiver-module-3",
                "class": "iana-hardware:module",
                "description": "Example of a pluggable module \
                                   plugged within a pluggable port.",
                "parent": [
                  "port-3"
                ],
                "is-fru": true
              }
            ]
          }
        }
      ]
    }
  }
}
]]></artwork>
      </section>
    </section>
    <section anchor="multi-chassis-examples">
      <name>Example of multi-chassis network elements</name>
      <t>This appendix provides some examples of multi-chassis network elements and how they can be modelled using the "ietf-network-inventory" module defined in <xref target="ni-yang"/>.</t>
      <t>Multi-chassis network elements are network elements composed by two or more chassis interconnected, in principle, with any topology.</t>
      <t>Stacked switches are an example of multi-chassis which consist of multiple standalone switches that are interconnected through dedicated stack ports and cables and managed as a single logical unit. Stacked switch:</t>
      <ul spacing="normal">
        <li>
          <t>are connected using a daisy-chain or a ring topology</t>
        </li>
        <li>
          <t>are managed using a single IP Address</t>
        </li>
        <li>
          <t>synchronized software-upgrade</t>
        </li>
        <li>
          <t>use Priority/MAC-Addr(s) to decide Master/Members selection and communication.</t>
        </li>
      </ul>
      <t><xref target="fig-daisy-chain-stacked"/> and <xref target="fig-ring-stacked"/> describe two examples of stacked switch with three stacked switches (pizza boxes) connected in a daisy-chain or ring topology.</t>
      <figure anchor="fig-daisy-chain-stacked">
        <name>Example of a stacked switch in a daisy chain topology</name>
        <artset>
          <artwork type="svg"><svg xmlns="http://www.w3.org/2000/svg" version="1.1" height="528" width="360" viewBox="0 0 360 528" class="diagram" text-anchor="middle" font-family="monospace" font-size="13px" stroke-linecap="round">
              <path d="M 8,32 L 8,144" fill="none" stroke="black"/>
              <path d="M 8,192 L 8,304" fill="none" stroke="black"/>
              <path d="M 8,352 L 8,464" fill="none" stroke="black"/>
              <path d="M 272,48 L 272,128" fill="none" stroke="black"/>
              <path d="M 272,208 L 272,288" fill="none" stroke="black"/>
              <path d="M 272,368 L 272,448" fill="none" stroke="black"/>
              <path d="M 304,48 L 304,128" fill="none" stroke="black"/>
              <path d="M 304,208 L 304,288" fill="none" stroke="black"/>
              <path d="M 304,368 L 304,448" fill="none" stroke="black"/>
              <path d="M 320,32 L 320,104" fill="none" stroke="black"/>
              <path d="M 320,120 L 320,144" fill="none" stroke="black"/>
              <path d="M 320,192 L 320,216" fill="none" stroke="black"/>
              <path d="M 320,232 L 320,264" fill="none" stroke="black"/>
              <path d="M 320,280 L 320,304" fill="none" stroke="black"/>
              <path d="M 320,352 L 320,376" fill="none" stroke="black"/>
              <path d="M 320,392 L 320,464" fill="none" stroke="black"/>
              <path d="M 352,112 L 352,224" fill="none" stroke="black"/>
              <path d="M 352,272 L 352,384" fill="none" stroke="black"/>
              <path d="M 8,32 L 320,32" fill="none" stroke="black"/>
              <path d="M 272,48 L 304,48" fill="none" stroke="black"/>
              <path d="M 272,80 L 304,80" fill="none" stroke="black"/>
              <path d="M 272,96 L 304,96" fill="none" stroke="black"/>
              <path d="M 312,112 L 352,112" fill="none" stroke="black"/>
              <path d="M 272,128 L 304,128" fill="none" stroke="black"/>
              <path d="M 8,144 L 320,144" fill="none" stroke="black"/>
              <path d="M 8,192 L 320,192" fill="none" stroke="black"/>
              <path d="M 272,208 L 304,208" fill="none" stroke="black"/>
              <path d="M 312,224 L 352,224" fill="none" stroke="black"/>
              <path d="M 272,240 L 304,240" fill="none" stroke="black"/>
              <path d="M 272,256 L 304,256" fill="none" stroke="black"/>
              <path d="M 312,272 L 352,272" fill="none" stroke="black"/>
              <path d="M 272,288 L 304,288" fill="none" stroke="black"/>
              <path d="M 8,304 L 320,304" fill="none" stroke="black"/>
              <path d="M 8,352 L 320,352" fill="none" stroke="black"/>
              <path d="M 272,368 L 304,368" fill="none" stroke="black"/>
              <path d="M 312,384 L 352,384" fill="none" stroke="black"/>
              <path d="M 272,400 L 304,400" fill="none" stroke="black"/>
              <path d="M 272,416 L 304,416" fill="none" stroke="black"/>
              <path d="M 272,448 L 304,448" fill="none" stroke="black"/>
              <path d="M 8,464 L 320,464" fill="none" stroke="black"/>
              <polygon class="arrowhead" points="320,384 308,378.4 308,389.6" fill="black" transform="rotate(180,312,384)"/>
              <polygon class="arrowhead" points="320,272 308,266.4 308,277.6" fill="black" transform="rotate(180,312,272)"/>
              <polygon class="arrowhead" points="320,224 308,218.4 308,229.6" fill="black" transform="rotate(180,312,224)"/>
              <polygon class="arrowhead" points="320,112 308,106.4 308,117.6" fill="black" transform="rotate(180,312,112)"/>
              <g class="text">
                <text x="288" y="68">1</text>
                <text x="104" y="84">Chassis</text>
                <text x="144" y="84">1</text>
                <text x="288" y="116">2</text>
                <text x="288" y="228">1</text>
                <text x="104" y="244">Chassis</text>
                <text x="144" y="244">2</text>
                <text x="288" y="276">2</text>
                <text x="288" y="388">1</text>
                <text x="104" y="404">Chassis</text>
                <text x="144" y="404">3</text>
                <text x="288" y="436">2</text>
              </g>
            </svg>
          </artwork>
          <artwork type="ascii-art"><![CDATA[
    +--------------------------------------+
    |                                +---+ |
    |                                | 1 | |
    |        Chassis 1               +---+ |
    |                                +---+ |
    |                                | 2 |<----+
    |                                +---+ |   |
    +--------------------------------------+   |
                                               |
                                               |
    +--------------------------------------+   |
    |                                +---+ |   |
    |                                | 1 |<----+
    |        Chassis 2               +---+ |
    |                                +---+ |
    |                                | 2 |<----+
    |                                +---+ |   |
    +--------------------------------------+   |
                                               |
                                               |
    +--------------------------------------+   |
    |                                +---+ |   |
    |                                | 1 |<----+
    |        Chassis 3               +---+ |
    |                                +---+ |
    |                                | 2 | |
    |                                +---+ |
    +--------------------------------------+

    
]]></artwork>
        </artset>
      </figure>
      <figure anchor="fig-ring-stacked">
        <name>Example of a stacked switch in a ring topology</name>
        <artset>
          <artwork type="svg"><svg xmlns="http://www.w3.org/2000/svg" version="1.1" height="512" width="400" viewBox="0 0 400 512" class="diagram" text-anchor="middle" font-family="monospace" font-size="13px" stroke-linecap="round">
              <path d="M 8,48 L 8,160" fill="none" stroke="black"/>
              <path d="M 8,208 L 8,320" fill="none" stroke="black"/>
              <path d="M 8,368 L 8,480" fill="none" stroke="black"/>
              <path d="M 272,64 L 272,144" fill="none" stroke="black"/>
              <path d="M 272,224 L 272,304" fill="none" stroke="black"/>
              <path d="M 272,384 L 272,464" fill="none" stroke="black"/>
              <path d="M 304,64 L 304,144" fill="none" stroke="black"/>
              <path d="M 304,224 L 304,304" fill="none" stroke="black"/>
              <path d="M 304,384 L 304,464" fill="none" stroke="black"/>
              <path d="M 320,48 L 320,72" fill="none" stroke="black"/>
              <path d="M 320,88 L 320,120" fill="none" stroke="black"/>
              <path d="M 320,136 L 320,160" fill="none" stroke="black"/>
              <path d="M 320,208 L 320,232" fill="none" stroke="black"/>
              <path d="M 320,248 L 320,280" fill="none" stroke="black"/>
              <path d="M 320,296 L 320,320" fill="none" stroke="black"/>
              <path d="M 320,368 L 320,392" fill="none" stroke="black"/>
              <path d="M 320,408 L 320,440" fill="none" stroke="black"/>
              <path d="M 320,456 L 320,480" fill="none" stroke="black"/>
              <path d="M 352,128 L 352,240" fill="none" stroke="black"/>
              <path d="M 352,288 L 352,400" fill="none" stroke="black"/>
              <path d="M 392,80 L 392,448" fill="none" stroke="black"/>
              <path d="M 8,48 L 320,48" fill="none" stroke="black"/>
              <path d="M 272,64 L 304,64" fill="none" stroke="black"/>
              <path d="M 312,80 L 392,80" fill="none" stroke="black"/>
              <path d="M 272,96 L 304,96" fill="none" stroke="black"/>
              <path d="M 272,112 L 304,112" fill="none" stroke="black"/>
              <path d="M 312,128 L 352,128" fill="none" stroke="black"/>
              <path d="M 272,144 L 304,144" fill="none" stroke="black"/>
              <path d="M 8,160 L 320,160" fill="none" stroke="black"/>
              <path d="M 8,208 L 320,208" fill="none" stroke="black"/>
              <path d="M 272,224 L 304,224" fill="none" stroke="black"/>
              <path d="M 312,240 L 352,240" fill="none" stroke="black"/>
              <path d="M 272,256 L 304,256" fill="none" stroke="black"/>
              <path d="M 272,272 L 304,272" fill="none" stroke="black"/>
              <path d="M 312,288 L 352,288" fill="none" stroke="black"/>
              <path d="M 272,304 L 304,304" fill="none" stroke="black"/>
              <path d="M 8,320 L 320,320" fill="none" stroke="black"/>
              <path d="M 8,368 L 320,368" fill="none" stroke="black"/>
              <path d="M 272,384 L 304,384" fill="none" stroke="black"/>
              <path d="M 312,400 L 352,400" fill="none" stroke="black"/>
              <path d="M 272,416 L 304,416" fill="none" stroke="black"/>
              <path d="M 272,432 L 304,432" fill="none" stroke="black"/>
              <path d="M 312,448 L 392,448" fill="none" stroke="black"/>
              <path d="M 272,464 L 304,464" fill="none" stroke="black"/>
              <path d="M 8,480 L 320,480" fill="none" stroke="black"/>
              <polygon class="arrowhead" points="320,448 308,442.4 308,453.6" fill="black" transform="rotate(180,312,448)"/>
              <polygon class="arrowhead" points="320,400 308,394.4 308,405.6" fill="black" transform="rotate(180,312,400)"/>
              <polygon class="arrowhead" points="320,288 308,282.4 308,293.6" fill="black" transform="rotate(180,312,288)"/>
              <polygon class="arrowhead" points="320,240 308,234.4 308,245.6" fill="black" transform="rotate(180,312,240)"/>
              <polygon class="arrowhead" points="320,128 308,122.4 308,133.6" fill="black" transform="rotate(180,312,128)"/>
              <polygon class="arrowhead" points="320,80 308,74.4 308,85.6" fill="black" transform="rotate(180,312,80)"/>
              <g class="text">
                <text x="288" y="84">1</text>
                <text x="104" y="100">Chassis</text>
                <text x="144" y="100">1</text>
                <text x="288" y="132">2</text>
                <text x="288" y="244">1</text>
                <text x="104" y="260">Chassis</text>
                <text x="144" y="260">2</text>
                <text x="288" y="292">2</text>
                <text x="288" y="404">1</text>
                <text x="104" y="420">Chassis</text>
                <text x="144" y="420">3</text>
                <text x="288" y="452">2</text>
              </g>
            </svg>
          </artwork>
          <artwork type="ascii-art"><![CDATA[

    +--------------------------------------+
    |                                +---+ |
    |                                | 1 |<---------+
    |        Chassis 1               +---+ |        |
    |                                +---+ |        |
    |                                | 2 |<----+    |
    |                                +---+ |   |    |
    +--------------------------------------+   |    |
                                               |    |
                                               |    |
    +--------------------------------------+   |    |
    |                                +---+ |   |    |
    |                                | 1 |<----+    |
    |        Chassis 2               +---+ |        |
    |                                +---+ |        |
    |                                | 2 |<----+    |
    |                                +---+ |   |    |
    +--------------------------------------+   |    |
                                               |    |
                                               |    |
    +--------------------------------------+   |    |
    |                                +---+ |   |    |
    |                                | 1 |<----+    |
    |        Chassis 3               +---+ |        |
    |                                +---+ |        |
    |                                | 2 |<---------+
    |                                +---+ |
    +--------------------------------------+
]]></artwork>
        </artset>
      </figure>
      <t>Using the base network inventory YANG data model, each stackable switch can be modelled as a chassis within the same network element, which models the stacked switch. The stack ports are modelled like other ports. The stack cables are not reported using the base network inventory YANG data model but can be reported using the passive network inventory YANG data model under definition in <xref target="I-D.ygb-ivy-passive-network-inventory"/>.</t>
      <t>Cascaded switches are another example of multi-chassis which consist of multiple standalone switches that are interconnected and managed as a single logical unit. Cascaded switch:</t>
      <ul spacing="normal">
        <li>
          <t>are usually connected in a tree topology</t>
        </li>
        <li>
          <t>are managed using a single IP Address</t>
        </li>
        <li>
          <t>the root of the tree is configured as Master.</t>
        </li>
      </ul>
      <t><xref target="fig-tree-cascaded"/> describe an example of cascaded switch with three chassis connected in a tree topology.</t>
      <figure anchor="fig-tree-cascaded">
        <name>Example of a cascaded switch in a tree topology</name>
        <artset>
          <artwork type="svg"><svg xmlns="http://www.w3.org/2000/svg" version="1.1" height="752" width="488" viewBox="0 0 488 752" class="diagram" text-anchor="middle" font-family="monospace" font-size="13px" stroke-linecap="round">
              <path d="M 8,144 L 8,464" fill="none" stroke="black"/>
              <path d="M 32,384 L 32,456" fill="none" stroke="black"/>
              <path d="M 32,472 L 32,528" fill="none" stroke="black"/>
              <path d="M 56,32 L 56,128" fill="none" stroke="black"/>
              <path d="M 56,160 L 56,336" fill="none" stroke="black"/>
              <path d="M 64,64 L 64,96" fill="none" stroke="black"/>
              <path d="M 64,128 L 64,160" fill="none" stroke="black"/>
              <path d="M 64,288 L 64,320" fill="none" stroke="black"/>
              <path d="M 72,448 L 72,480" fill="none" stroke="black"/>
              <path d="M 80,392 L 80,520" fill="none" stroke="black"/>
              <path d="M 96,64 L 96,96" fill="none" stroke="black"/>
              <path d="M 96,128 L 96,160" fill="none" stroke="black"/>
              <path d="M 96,288 L 96,320" fill="none" stroke="black"/>
              <path d="M 104,40 L 104,328" fill="none" stroke="black"/>
              <path d="M 200,576 L 200,720" fill="none" stroke="black"/>
              <path d="M 240,392 L 240,520" fill="none" stroke="black"/>
              <path d="M 248,584 L 248,712" fill="none" stroke="black"/>
              <path d="M 264,40 L 264,328" fill="none" stroke="black"/>
              <path d="M 288,384 L 288,528" fill="none" stroke="black"/>
              <path d="M 312,40 L 312,328" fill="none" stroke="black"/>
              <path d="M 384,40 L 384,328" fill="none" stroke="black"/>
              <path d="M 392,64 L 392,96" fill="none" stroke="black"/>
              <path d="M 392,192 L 392,224" fill="none" stroke="black"/>
              <path d="M 392,288 L 392,320" fill="none" stroke="black"/>
              <path d="M 408,584 L 408,712" fill="none" stroke="black"/>
              <path d="M 416,656 L 416,688" fill="none" stroke="black"/>
              <path d="M 424,64 L 424,96" fill="none" stroke="black"/>
              <path d="M 424,192 L 424,224" fill="none" stroke="black"/>
              <path d="M 424,288 L 424,320" fill="none" stroke="black"/>
              <path d="M 432,32 L 432,192" fill="none" stroke="black"/>
              <path d="M 432,224 L 432,336" fill="none" stroke="black"/>
              <path d="M 448,656 L 448,688" fill="none" stroke="black"/>
              <path d="M 456,576 L 456,656" fill="none" stroke="black"/>
              <path d="M 456,688 L 456,720" fill="none" stroke="black"/>
              <path d="M 480,208 L 480,672" fill="none" stroke="black"/>
              <path d="M 56,32 L 432,32" fill="none" stroke="black"/>
              <path d="M 72,64 L 88,64" fill="none" stroke="black"/>
              <path d="M 400,64 L 416,64" fill="none" stroke="black"/>
              <path d="M 72,96 L 88,96" fill="none" stroke="black"/>
              <path d="M 400,96 L 416,96" fill="none" stroke="black"/>
              <path d="M 72,128 L 88,128" fill="none" stroke="black"/>
              <path d="M 8,144 L 56,144" fill="none" stroke="black"/>
              <path d="M 72,160 L 88,160" fill="none" stroke="black"/>
              <path d="M 400,192 L 416,192" fill="none" stroke="black"/>
              <path d="M 432,208 L 480,208" fill="none" stroke="black"/>
              <path d="M 400,224 L 416,224" fill="none" stroke="black"/>
              <path d="M 72,288 L 88,288" fill="none" stroke="black"/>
              <path d="M 400,288 L 416,288" fill="none" stroke="black"/>
              <path d="M 72,320 L 88,320" fill="none" stroke="black"/>
              <path d="M 400,320 L 416,320" fill="none" stroke="black"/>
              <path d="M 56,336 L 432,336" fill="none" stroke="black"/>
              <path d="M 32,384 L 288,384" fill="none" stroke="black"/>
              <path d="M 48,448 L 64,448" fill="none" stroke="black"/>
              <path d="M 8,464 L 40,464" fill="none" stroke="black"/>
              <path d="M 48,480 L 64,480" fill="none" stroke="black"/>
              <path d="M 32,528 L 288,528" fill="none" stroke="black"/>
              <path d="M 200,576 L 456,576" fill="none" stroke="black"/>
              <path d="M 424,656 L 440,656" fill="none" stroke="black"/>
              <path d="M 456,672 L 480,672" fill="none" stroke="black"/>
              <path d="M 424,688 L 440,688" fill="none" stroke="black"/>
              <path d="M 200,720 L 456,720" fill="none" stroke="black"/>
              <path d="M 72,64 C 63.16936,64 56,71.16936 56,80" fill="none" stroke="black"/>
              <path d="M 72,64 C 63.16936,64 56,56.83064 56,48" fill="none" stroke="black"/>
              <path d="M 88,64 C 96.83064,64 104,71.16936 104,80" fill="none" stroke="black"/>
              <path d="M 88,64 C 96.83064,64 104,56.83064 104,48" fill="none" stroke="black"/>
              <path d="M 400,64 C 391.16936,64 384,71.16936 384,80" fill="none" stroke="black"/>
              <path d="M 400,64 C 391.16936,64 384,56.83064 384,48" fill="none" stroke="black"/>
              <path d="M 416,64 C 424.83064,64 432,71.16936 432,80" fill="none" stroke="black"/>
              <path d="M 416,64 C 424.83064,64 432,56.83064 432,48" fill="none" stroke="black"/>
              <path d="M 72,96 C 63.16936,96 56,103.16936 56,112" fill="none" stroke="black"/>
              <path d="M 72,96 C 63.16936,96 56,88.83064 56,80" fill="none" stroke="black"/>
              <path d="M 88,96 C 96.83064,96 104,103.16936 104,112" fill="none" stroke="black"/>
              <path d="M 88,96 C 96.83064,96 104,88.83064 104,80" fill="none" stroke="black"/>
              <path d="M 400,96 C 391.16936,96 384,103.16936 384,112" fill="none" stroke="black"/>
              <path d="M 400,96 C 391.16936,96 384,88.83064 384,80" fill="none" stroke="black"/>
              <path d="M 416,96 C 424.83064,96 432,103.16936 432,112" fill="none" stroke="black"/>
              <path d="M 416,96 C 424.83064,96 432,88.83064 432,80" fill="none" stroke="black"/>
              <path d="M 72,128 C 63.16936,128 56,120.83064 56,112" fill="none" stroke="black"/>
              <path d="M 88,128 C 96.83064,128 104,135.16936 104,144" fill="none" stroke="black"/>
              <path d="M 88,128 C 96.83064,128 104,120.83064 104,112" fill="none" stroke="black"/>
              <path d="M 72,160 C 63.16936,160 56,167.16936 56,176" fill="none" stroke="black"/>
              <path d="M 88,160 C 96.83064,160 104,167.16936 104,176" fill="none" stroke="black"/>
              <path d="M 88,160 C 96.83064,160 104,152.83064 104,144" fill="none" stroke="black"/>
              <path d="M 400,192 C 391.16936,192 384,199.16936 384,208" fill="none" stroke="black"/>
              <path d="M 400,192 C 391.16936,192 384,184.83064 384,176" fill="none" stroke="black"/>
              <path d="M 416,192 C 424.83064,192 432,184.83064 432,176" fill="none" stroke="black"/>
              <path d="M 400,224 C 391.16936,224 384,231.16936 384,240" fill="none" stroke="black"/>
              <path d="M 400,224 C 391.16936,224 384,216.83064 384,208" fill="none" stroke="black"/>
              <path d="M 416,224 C 424.83064,224 432,231.16936 432,240" fill="none" stroke="black"/>
              <path d="M 72,288 C 63.16936,288 56,295.16936 56,304" fill="none" stroke="black"/>
              <path d="M 72,288 C 63.16936,288 56,280.83064 56,272" fill="none" stroke="black"/>
              <path d="M 88,288 C 96.83064,288 104,295.16936 104,304" fill="none" stroke="black"/>
              <path d="M 88,288 C 96.83064,288 104,280.83064 104,272" fill="none" stroke="black"/>
              <path d="M 400,288 C 391.16936,288 384,295.16936 384,304" fill="none" stroke="black"/>
              <path d="M 400,288 C 391.16936,288 384,280.83064 384,272" fill="none" stroke="black"/>
              <path d="M 416,288 C 424.83064,288 432,295.16936 432,304" fill="none" stroke="black"/>
              <path d="M 416,288 C 424.83064,288 432,280.83064 432,272" fill="none" stroke="black"/>
              <path d="M 72,320 C 63.16936,320 56,327.16936 56,336" fill="none" stroke="black"/>
              <path d="M 72,320 C 63.16936,320 56,312.83064 56,304" fill="none" stroke="black"/>
              <path d="M 88,320 C 96.83064,320 104,312.83064 104,304" fill="none" stroke="black"/>
              <path d="M 400,320 C 391.16936,320 384,312.83064 384,304" fill="none" stroke="black"/>
              <path d="M 416,320 C 424.83064,320 432,327.16936 432,336" fill="none" stroke="black"/>
              <path d="M 416,320 C 424.83064,320 432,312.83064 432,304" fill="none" stroke="black"/>
              <path d="M 48,448 C 39.16936,448 32,440.83064 32,432" fill="none" stroke="black"/>
              <path d="M 64,448 C 72.83064,448 80,455.16936 80,464" fill="none" stroke="black"/>
              <path d="M 64,448 C 72.83064,448 80,440.83064 80,432" fill="none" stroke="black"/>
              <path d="M 48,480 C 39.16936,480 32,487.16936 32,496" fill="none" stroke="black"/>
              <path d="M 64,480 C 72.83064,480 80,487.16936 80,496" fill="none" stroke="black"/>
              <path d="M 64,480 C 72.83064,480 80,472.83064 80,464" fill="none" stroke="black"/>
              <path d="M 424,656 C 415.16936,656 408,663.16936 408,672" fill="none" stroke="black"/>
              <path d="M 424,656 C 415.16936,656 408,648.83064 408,640" fill="none" stroke="black"/>
              <path d="M 440,656 C 448.83064,656 456,648.83064 456,640" fill="none" stroke="black"/>
              <path d="M 424,688 C 415.16936,688 408,695.16936 408,704" fill="none" stroke="black"/>
              <path d="M 424,688 C 415.16936,688 408,680.83064 408,672" fill="none" stroke="black"/>
              <path d="M 440,688 C 448.83064,688 456,695.16936 456,704" fill="none" stroke="black"/>
              <polygon class="arrowhead" points="464,672 452,666.4 452,677.6" fill="black" transform="rotate(180,456,672)"/>
              <polygon class="arrowhead" points="440,208 428,202.4 428,213.6" fill="black" transform="rotate(180,432,208)"/>
              <polygon class="arrowhead" points="64,144 52,138.4 52,149.6" fill="black" transform="rotate(0,56,144)"/>
              <polygon class="arrowhead" points="48,464 36,458.4 36,469.6" fill="black" transform="rotate(0,40,464)"/>
              <g class="text">
                <text x="84" y="52">S1</text>
                <text x="168" y="52">Chassis</text>
                <text x="208" y="52">1</text>
                <text x="288" y="52">S20</text>
                <text x="408" y="52">S32</text>
                <text x="80" y="84">1</text>
                <text x="408" y="84">1</text>
                <text x="80" y="116">...</text>
                <text x="80" y="148">4</text>
                <text x="408" y="148">...</text>
                <text x="168" y="212">...</text>
                <text x="352" y="212">...</text>
                <text x="408" y="212">6</text>
                <text x="80" y="228">...</text>
                <text x="408" y="260">...</text>
                <text x="76" y="308">10</text>
                <text x="404" y="308">10</text>
                <text x="60" y="404">S1</text>
                <text x="152" y="404">Chassis</text>
                <text x="192" y="404">2</text>
                <text x="264" y="404">S16</text>
                <text x="56" y="468">5</text>
                <text x="228" y="596">S1</text>
                <text x="320" y="596">Chassis</text>
                <text x="360" y="596">3</text>
                <text x="432" y="596">S16</text>
                <text x="432" y="676">7</text>
              </g>
            </svg>
          </artwork>
          <artwork type="ascii-art"><![CDATA[
        +----------------------------------------------+
        |  S1 |    Chassis 1      | S20 |        | S32 |
        |+---+|                   |     |        |+---+|
        || 1 ||                   |     |        || 1 ||
        |+---+|                   |     |        |+---+|
        | ... |                   |     |        |     |
        |+---+|                   |     |        |     |
  +----->| 4 ||                   |     |        | ... |
  |     |+---+|                   |     |        |     |
  |     |     |                   |     |        |     |
  |     |     |                   |     |        |+---+|
  |     |     |      ...          |     |   ...  || 6 |<-----+
  |     | ... |                   |     |        |+---+|     |
  |     |     |                   |     |        |     |     |
  |     |     |                   |     |        | ... |     |
  |     |     |                   |     |        |     |     |
  |     |+---+|                   |     |        |+---+|     |
  |     ||10 ||                   |     |        ||10 ||     |
  |     |+---+|                   |     |        |+---+|     |
  |     +----------------------------------------------+     |
  |                                                          |
  |                                                          |
  |  +-------------------------------+                       |
  |  |  S1 |     Chassis 2     | S16 |                       |
  |  |     |                   |     |                       |
  |  |     |                   |     |                       |
  |  |+---+|                   |     |                       |
  +---> 5 ||                   |     |                       |
     |+---+|                   |     |                       |
     |     |                   |     |                       |
     |     |                   |     |                       |
     +-------------------------------+                       |
                                                             |
                                                             |
                          +-------------------------------+  |
                          |  S1 |     Chassis 3     | S16 |  |
                          |     |                   |     |  |
                          |     |                   |     |  |
                          |     |                   |     |  |
                          |     |                   |+---+|  |
                          |     |                   || 7 |<--+
                          |     |                   |+---+|
                          |     |                   |     |
                          +-------------------------------+
]]></artwork>
        </artset>
      </figure>
      <t>Using the base network inventory YANG data model each interconnected switch can be modelled as a chassis within the same network element, which models the cascaded switch. The ports used to interconnect the different chassis are normal (traffic) ports and modelled like other ports. The interconnecting cables are not reported using the base network inventory YANG data model but can be reported using the passive network inventory model under definition in <xref target="I-D.ygb-ivy-passive-network-inventory"/>.</t>
      <section anchor="json-examples-1">
        <name>JSON Examples</name>
        <t>This appendix contains an example of an instance data tree in JSON encoding <xref target="RFC7951"/>, instantiating the "ietf-network-inventory" model to describe the three examples of multi-chassis NEs, as shown in <xref target="fig-daisy-chain-stacked"/>, <xref target="fig-ring-stacked"/> and <xref target="fig-tree-cascaded"/>.</t>
        <ul empty="true">
          <li>
            <t>Note: the base inventory model allows reporting only the chassis and ports configuration. Reporting the link between the chassis of the same NE is outside the scope of the base inventory model. The YANG data model under definition in <xref target="I-D.ygb-ivy-passive-network-inventory"/> as an augmentation of the base inventory YANG data model can be used to provide this additional information.</t>
          </li>
        </ul>
        <artwork type="ascii-art"><![CDATA[
=============== NOTE: '\' line wrapping per RFC 8792 ================

{
  "ietf-network-inventory:network-inventory": {
    "network-elements": {
      "network-element" : [
        {
          "ne-id": "NE-1",
          "description": "Stack Switch in a daisy chain topology.",
          "components": {
            "component": [
              {
                "component-id": "chassis-1",
                "class": "iana-hardware:chassis",
                "description": "First switch of the stack.",
                "parent-rel-pos": 1,
                "is-fru": true
              },
              {
                "component-id": "port-1-1",
                "class": "iana-hardware:port",
                "description": "First stack port of the first \
                                               switch in the stack.",
                "parent": [
                  "chassis-1"
                ],
                "parent-rel-pos": 1
              },
              {
                "component-id": "port-1-2",
                "class": "iana-hardware:port",
                "description": "Second stack port of the first \
                                               switch in the stack.",
                "parent": [
                  "chassis-1"
                ],
                "parent-rel-pos": 2
              },
              {
                "component-id": "transceiver-module-1-2",
                "class": "iana-hardware:module",
                "description": "Transceiver module plugged in the \
                second stack port of the first switch in the stack.",
                "parent": [
                  "port-1-2"
                ],
                "is-fru": true
              },
              {
                "component-id": "chassis-2",
                "class": "iana-hardware:chassis",
                "description": "Second switch of the stack.",
                "parent-rel-pos": 2,
                "is-fru": true
              },
              {
                "component-id": "port-2-1",
                "class": "iana-hardware:port",
                "description": "First stack port of the second \
                                               switch in the stack.",
                "parent": [
                  "chassis-2"
                ],
                "parent-rel-pos": 1
              },
              {
                "component-id": "transceiver-module-2-1",
                "class": "iana-hardware:module",
                "description": "Transceiver module plugged in the \
                 first stack port of the first switch in the stack.",
                "parent": [
                  "port-2-1"
                ],
                "is-fru": true
              },
              {
                "component-id": "port-2-2",
                "class": "iana-hardware:port",
                "description": "Second stack port of the second \
                                               switch in the stack.",
                "parent": [
                  "chassis-2"
                ],
                "parent-rel-pos": 2
              },
              {
                "component-id": "transceiver-module-2-2",
                "class": "iana-hardware:module",
                "description": "Transceiver module plugged in the \
                second stack port of the first switch in the stack.",
                "parent": [
                  "port-2-2"
                ],
                "is-fru": true
              },
              {
                "component-id": "chassis-3",
                "class": "iana-hardware:chassis",
                "description": "Third switch of the stack.",
                "parent-rel-pos": 3,
                "is-fru": true
              },
              {
                "component-id": "port-3-1",
                "class": "iana-hardware:port",
                "description": "First stack port of the third \
                                               switch in the stack.",
                "parent": [
                  "chassis-3"
                ],
                "parent-rel-pos": 1
              },
              {
                "component-id": "transceiver-module-3-1",
                "class": "iana-hardware:module",
                "description": "Transceiver module plugged in the \
                 first stack port of the third switch in the stack.",
                "parent": [
                  "port-3-1"
                ],
                "is-fru": true
              },
              {
                "component-id": "port-3-2",
                "class": "iana-hardware:port",
                "description": "Second stack port of the second \
                                               switch in the stack.",
                "parent": [
                  "chassis-3"
                ],
                "parent-rel-pos": 2
              }
            ]
          }
        },
        {
          "ne-id": "NE-2",
          "description": "Stack Switch in a ring topology.",
          "components": {
            "component": [
              {
                "component-id": "chassis-1",
                "class": "iana-hardware:chassis",
                "description": "First switch of the stack.",
                "parent-rel-pos": 1,
                "is-fru": true
              },
              {
                "component-id": "port-1-1",
                "class": "iana-hardware:port",
                "description": "First stack port of the first \
                                               switch in the stack.",
                "parent": [
                  "chassis-1"
                ],
                "parent-rel-pos": 1
              },
              {
                "component-id": "transceiver-module-1-1",
                "class": "iana-hardware:module",
                "description": "Transceiver module plugged in the \
                 first stack port of the first switch in the stack.",
                "parent": [
                  "port-1-1"
                ],
                "is-fru": true
              },
              {
                "component-id": "port-1-2",
                "class": "iana-hardware:port",
                "description": "Second stack port of the first \
                                               switch in the stack.",
                "parent": [
                  "chassis-1"
                ],
                "parent-rel-pos": 2
              },
              {
                "component-id": "transceiver-module-1-2",
                "class": "iana-hardware:module",
                "description": "Transceiver module plugged in the \
                second stack port of the first switch in the stack.",
                "parent": [
                  "port-1-2"
                ],
                "is-fru": true
              },
              {
                "component-id": "chassis-2",
                "class": "iana-hardware:chassis",
                "description": "Second switch of the stack.",
                "parent-rel-pos": 2,
                "is-fru": true
              },
              {
                "component-id": "port-2-1",
                "class": "iana-hardware:port",
                "description": "First stack port of the second \
                                               switch in the stack.",
                "parent": [
                  "chassis-2"
                ],
                "parent-rel-pos": 1
              },
              {
                "component-id": "transceiver-module-2-1",
                "class": "iana-hardware:module",
                "description": "Transceiver module plugged in the \
                first stack port of the second switch in the stack.",
                "parent": [
                  "port-2-1"
                ],
                "is-fru": true
              },
              {
                "component-id": "port-2-2",
                "class": "iana-hardware:port",
                "description": "Second stack port of the second \
                                               switch in the stack.",
                "parent": [
                  "chassis-2"
                ],
                "parent-rel-pos": 2
              },
              {
                "component-id": "transceiver-module-2-2",
                "class": "iana-hardware:module",
                "description": "Transceiver module plugged in the \
               second stack port of the second switch in the stack.",
                "parent": [
                  "port-2-2"
                ],
                "is-fru": true
              },
              {
                "component-id": "chassis-3",
                "class": "iana-hardware:chassis",
                "description": "Third switch of the stack.",
                "parent-rel-pos": 3,
                "is-fru": true
              },
              {
                "component-id": "port-3-1",
                "class": "iana-hardware:port",
                "description": "First stack port of the third \
                                               switch in the stack.",
                "parent": [
                  "chassis-3"
                ],
                "parent-rel-pos": 1
              },
              {
                "component-id": "transceiver-module-3-1",
                "class": "iana-hardware:module",
                "description": "Transceiver module plugged in the \
                 first stack port of the third switch in the stack.",
                "parent": [
                  "port-3-1"
                ],
                "is-fru": true
              },
              {
                "component-id": "port-3-2",
                "class": "iana-hardware:port",
                "description": "Second stack port of the third \
                                               switch in the stack.",
                "parent": [
                  "chassis-3"
                ],
                "parent-rel-pos": 2
              },
              {
                "component-id": "transceiver-module-3-2",
                "class": "iana-hardware:module",
                "description": "Transceiver module plugged in the \
                second stack port of the third switch in the stack.",
                "parent": [
                  "port-3-2"
                ],
                "is-fru": true
              }
            ]
          }
        },
        {
          "ne-id": "NE-3",
          "description": "Cascaded Switch in a tree topology.",
          "components": {
            "component": [
              {
                "component-id": "chassis-1",
                "class": "iana-hardware:chassis",
                "description": "First chassis of the cascaded switch\
                                                                  .",
                "parent-rel-pos": 1,
                "is-fru": true
              },
              {
                "component-id": "slot-1-1",
                "class": "iana-hardware:container",
                "description": "Slot 1 of the first chassis of the \
                                                   cascaded switch.",
                "parent": [
                  "chassis-1"
                ],
                "parent-rel-pos": 1
              },
              {
                "component-id": "card-1-1",
                "class": "iana-hardware:module",
                "description": "Card plugged into slot 1 of the \
                              first chassis of the cascaded switch.",
                "parent": [
                  "slot-1-1"
                ],
                "is-fru": true
              },
              {
                "component-id": "port-1-1-1",
                "class": "iana-hardware:port",
                "description": "Empty port 1 on the card plugged \
           into slot 1 of the first chassis of the cascaded switch.",
                "parent": [
                  "card-1-1"
                ],
                "parent-rel-pos": 1
              },
              {
                "component-id": "port-1-1-4",
                "class": "iana-hardware:port",
                "description": "Pluggable port 4 on the card \
   plugged into slot 1 of the first chassis of the cascaded switch.",
                "parent": [
                  "card-1-1"
                ],
                "parent-rel-pos": 4
              },
              {
                "component-id": "transceiver-module-1-1-4",
                "class": "iana-hardware:module",
                "description": "Transceiver module plugged in port \
4 on the card plugged into slot 1 of the first chassis of the \
                                                   cascaded switch.",
                "parent": [
                  "port-1-1-4"
                ],
                "is-fru": true
              },
              {
                "component-id": "port-1-1-10",
                "class": "iana-hardware:port",
                "description": "Empty port 10 on the card plugged \
           into slot 1 of the first chassis of the cascaded switch.",
                "parent": [
                  "card-1-1"
                ],
                "parent-rel-pos": 10
              },
              {
                "component-id": "slot-1-20",
                "class": "iana-hardware:container",
                "description": "Empty slot 20 of the first chassis \
                                            of the cascaded switch.",
                "parent": [
                  "chassis-1"
                ],
                "parent-rel-pos": 20
              },
              {
                "component-id": "slot-1-32",
                "class": "iana-hardware:container",
                "description": "Slot 32 of the first chassis of the \
                                                   cascaded switch.",
                "parent": [
                  "chassis-1"
                ],
                "parent-rel-pos": 32
              },
              {
                "component-id": "card-1-32",
                "class": "iana-hardware:module",
                "description": "Card plugged into slot 32 of the \
                              first chassis of the cascaded switch.",
                "parent": [
                  "slot-1-32"
                ],
                "is-fru": true
              },
              {
                "component-id": "port-1-32-1",
                "class": "iana-hardware:port",
                "description": "Empty port 1 on the card plugged \
          into slot 32 of the first chassis of the cascaded switch.",
                "parent": [
                  "card-1-32"
                ],
                "parent-rel-pos": 1
              },
              {
                "component-id": "port-1-32-6",
                "class": "iana-hardware:port",
                "description": "Pluggable port 6 on the card \
  plugged into slot 32 of the first chassis of the cascaded switch.",
                "parent": [
                  "card-1-32"
                ],
                "parent-rel-pos": 6
              },
              {
                "component-id": "transceiver-module-1-32-6",
                "class": "iana-hardware:module",
                "description": "Transceiver module plugged in port \
6 on the card plugged into slot 32 of the first chassis of the \
                                                   cascaded switch.",
                "parent": [
                  "port-1-32-6"
                ],
                "is-fru": true
              },
              {
                "component-id": "port-1-32-10",
                "class": "iana-hardware:port",
                "description": "Empty port 10 on the card plugged \
          into slot 32 of the first chassis of the cascaded switch.",
                "parent": [
                  "card-1-32"
                ],
                "parent-rel-pos": 10
              },
              {
                "component-id": "chassis-2",
                "class": "iana-hardware:chassis",
                "description": "Second chassis of the cascaded \
                                                            switch.",
                "parent-rel-pos": 2,
                "is-fru": true
              },
              {
                "component-id": "slot-2-1",
                "class": "iana-hardware:container",
                "description": "Slot 1 of the second chassis of the \
                                                   cascaded switch.",
                "parent": [
                  "chassis-2"
                ],
                "parent-rel-pos": 1
              },
              {
                "component-id": "card-2-1",
                "class": "iana-hardware:module",
                "description": "Card plugged into slot 1 of the \
                             second chassis of the cascaded switch.",
                "parent": [
                  "slot-2-1"
                ],
                "is-fru": true
              },
              {
                "component-id": "port-2-1-5",
                "class": "iana-hardware:port",
                "description": "Pluggable port 5 on the card \
  plugged into slot 1 of the second chassis of the cascaded switch.",
                "parent": [
                  "card-2-1"
                ],
                "parent-rel-pos": 5
              },
              {
                "component-id": "transceiver-module-2-1-5",
                "class": "iana-hardware:module",
                "description": "Transceiver module plugged in port \
5 on the card plugged into slot 1 of the second chassis of the \
                                                   cascaded switch.",
                "parent": [
                  "port-2-1-5"
                ],
                "is-fru": true
              },
              {
                "component-id": "slot-2-16",
                "class": "iana-hardware:container",
                "description": "Slot 16 of the second chassis of \
                                               the cascaded switch.",
                "parent": [
                  "chassis-2"
                ],
                "parent-rel-pos": 16
              },
              {
                "component-id": "chassis-3",
                "class": "iana-hardware:chassis",
                "description": "Third chassis of the cascaded switch\
                                                                  .",
                "parent-rel-pos": 3,
                "is-fru": true
              },
              {
                "component-id": "slot-3-1",
                "class": "iana-hardware:container",
                "description": "Empty slot 1 of the third chassis \
                                            of the cascaded switch.",
                "parent": [
                  "chassis-3"
                ],
                "parent-rel-pos": 1
              },
              {
                "component-id": "slot-3-16",
                "class": "iana-hardware:container",
                "description": "Slot 16 of the third chassis of the \
                                                   cascaded switch.",
                "parent": [
                  "chassis-3"
                ],
                "parent-rel-pos": 16
              },
              {
                "component-id": "card-3-16",
                "class": "iana-hardware:module",
                "description": "Card plugged into slot 16 of the \
                              third chassis of the cascaded switch.",
                "parent": [
                  "slot-3-16"
                ],
                "is-fru": true
              },
              {
                "component-id": "port-3-16-7",
                "class": "iana-hardware:port",
                "description": "Pluggable port 7 on the card \
  plugged into slot 16 of the third chassis of the cascaded switch.",
                "parent": [
                  "card-3-16"
                ],
                "parent-rel-pos": 7
              },
              {
                "component-id": "transceiver-module-3-16-7",
                "class": "iana-hardware:module",
                "description": "Transceiver module plugged in port \
7 on the card plugged into slot 16 of the third chassis of the \
                                                   cascaded switch.",
                "parent": [
                  "port-3-16-7"
                ],
                "is-fru": true
              }
            ]
          }
        }
      ]
    }
  }
}
]]></artwork>
      </section>
    </section>
    <section anchor="non-modular-examples">
      <name>Example of non-modular network elements</name>
      <t>This appendix provides some examples of non-modular network elements and how they can be modelled using the "ietf-network-inventory" module defined in <xref target="ni-yang"/>.</t>
      <t>Non-modular network elements (also known as "pizza boxes") are network elements composed by a single chassis as a self-contained system. A non-modular network element does not have any slots to take cards so it cannot take any non-field replaceable modules other than pluggable ports.</t>
      <t><xref target="fig-pizza-box"/> describes an example of a pizza box with 8 ports.</t>
      <figure anchor="fig-pizza-box">
        <name>Example of an 8 ports pizza box device</name>
        <artset>
          <artwork type="svg"><svg xmlns="http://www.w3.org/2000/svg" version="1.1" height="128" width="432" viewBox="0 0 432 128" class="diagram" text-anchor="middle" font-family="monospace" font-size="13px" stroke-linecap="round">
              <path d="M 8,32 L 8,96" fill="none" stroke="black"/>
              <path d="M 24,48 L 24,80" fill="none" stroke="black"/>
              <path d="M 56,48 L 56,80" fill="none" stroke="black"/>
              <path d="M 72,48 L 72,80" fill="none" stroke="black"/>
              <path d="M 104,48 L 104,80" fill="none" stroke="black"/>
              <path d="M 120,48 L 120,80" fill="none" stroke="black"/>
              <path d="M 152,48 L 152,80" fill="none" stroke="black"/>
              <path d="M 168,48 L 168,80" fill="none" stroke="black"/>
              <path d="M 200,48 L 200,80" fill="none" stroke="black"/>
              <path d="M 216,48 L 216,80" fill="none" stroke="black"/>
              <path d="M 248,48 L 248,80" fill="none" stroke="black"/>
              <path d="M 264,48 L 264,80" fill="none" stroke="black"/>
              <path d="M 296,48 L 296,80" fill="none" stroke="black"/>
              <path d="M 312,48 L 312,80" fill="none" stroke="black"/>
              <path d="M 344,48 L 344,80" fill="none" stroke="black"/>
              <path d="M 360,48 L 360,80" fill="none" stroke="black"/>
              <path d="M 392,48 L 392,80" fill="none" stroke="black"/>
              <path d="M 408,32 L 408,96" fill="none" stroke="black"/>
              <path d="M 8,32 L 408,32" fill="none" stroke="black"/>
              <path d="M 24,48 L 56,48" fill="none" stroke="black"/>
              <path d="M 72,48 L 104,48" fill="none" stroke="black"/>
              <path d="M 120,48 L 152,48" fill="none" stroke="black"/>
              <path d="M 168,48 L 200,48" fill="none" stroke="black"/>
              <path d="M 216,48 L 248,48" fill="none" stroke="black"/>
              <path d="M 264,48 L 296,48" fill="none" stroke="black"/>
              <path d="M 312,48 L 344,48" fill="none" stroke="black"/>
              <path d="M 360,48 L 392,48" fill="none" stroke="black"/>
              <path d="M 24,80 L 56,80" fill="none" stroke="black"/>
              <path d="M 72,80 L 104,80" fill="none" stroke="black"/>
              <path d="M 120,80 L 152,80" fill="none" stroke="black"/>
              <path d="M 168,80 L 200,80" fill="none" stroke="black"/>
              <path d="M 216,80 L 248,80" fill="none" stroke="black"/>
              <path d="M 264,80 L 296,80" fill="none" stroke="black"/>
              <path d="M 312,80 L 344,80" fill="none" stroke="black"/>
              <path d="M 360,80 L 392,80" fill="none" stroke="black"/>
              <path d="M 8,96 L 408,96" fill="none" stroke="black"/>
              <g class="text">
                <text x="40" y="68">1</text>
                <text x="88" y="68">2</text>
                <text x="136" y="68">3</text>
                <text x="184" y="68">4</text>
                <text x="232" y="68">5</text>
                <text x="280" y="68">6</text>
                <text x="328" y="68">7</text>
                <text x="376" y="68">8</text>
              </g>
            </svg>
          </artwork>
          <artwork type="ascii-art"><![CDATA[
    +-------------------------------------------------+
    | +---+ +---+ +---+ +---+ +---+ +---+ +---+ +---+ |
    | | 1 | | 2 | | 3 | | 4 | | 5 | | 6 | | 7 | | 8 | |
    | +---+ +---+ +---+ +---+ +---+ +---+ +---+ +---+ |  
    +-------------------------------------------------+
]]></artwork>
        </artset>
      </figure>
      <t>Using the base network inventory YANG data model a non-modular network element can be modelled as a network element containing only one chassis and ports (as child components of the chassis).</t>
      <t>Reporting the single chassis component within a non-modular network element is required because the chassis component is the type of component which provides the physical characteristics of the network element chassis (the network element is defined just as an assembly of components) and its location, using the network inventory YANG data model under definition in <xref target="I-D.ietf-ivy-network-inventory-location"/>.</t>
      <section anchor="json-examples-2">
        <name>JSON Examples</name>
        <t>This appendix contains an example of an instance data tree in JSON encoding <xref target="RFC7951"/>, instantiating the "ietf-network-inventory" module to describe the pizza box example, as shown in <xref target="fig-pizza-box"/>.</t>
        <artwork type="ascii-art"><![CDATA[
{
  "ietf-network-inventory:network-inventory": {
    "network-elements": {
      "network-element" : [
        {
          "ne-id": "Pizza-box-NE",
          "description": "Example of a pizza box NE.",
          "components": {
            "component": [
              {
                "component-id": "pizza-chassis",
                "class": "iana-hardware:chassis",
                "description": "Pizza box chassis.",
                "is-fru": true
              },
              {
                "component-id": "port-1",
                "class": "iana-hardware:port",
                "description": "Port 1 of the pizza box.",
                "parent": [
                  "pizza-chassis"
                ],
                "parent-rel-pos": 1
              },
              {
                "component-id": "port-2",
                "class": "iana-hardware:port",
                "description": "Port 2 of the pizza box.",
                "parent": [
                  "pizza-chassis"
                ],
                "parent-rel-pos": 2
              },
              {
                "component-id": "port-3",
                "class": "iana-hardware:port",
                "description": "Port 3 of the pizza box.",
                "parent": [
                  "pizza-chassis"
                ],
                "parent-rel-pos": 3
              },
              {
                "component-id": "port-4",
                "class": "iana-hardware:port",
                "description": "Port 4 of the pizza box.",
                "parent": [
                  "pizza-chassis"
                ],
                "parent-rel-pos": 4
              },
              {
                "component-id": "port-5",
                "class": "iana-hardware:port",
                "description": "Port 5 of the pizza box.",
                "parent": [
                  "pizza-chassis"
                ],
                "parent-rel-pos": 5
              },
              {
                "component-id": "port-6",
                "class": "iana-hardware:port",
                "description": "Port 6 of the pizza box.",
                "parent": [
                  "pizza-chassis"
                ],
                "parent-rel-pos": 6
              },
              {
                "component-id": "port-7",
                "class": "iana-hardware:port",
                "description": "Port 7 of the pizza box.",
                "parent": [
                  "pizza-chassis"
                ],
                "parent-rel-pos": 7
              },
              {
                "component-id": "port-8",
                "class": "iana-hardware:port",
                "description": "Port 8 of the pizza box.",
                "parent": [
                  "pizza-chassis"
                ],
                "parent-rel-pos": 8
              }
            ]
          }
        }
      ]
    }
  }
}
]]></artwork>
      </section>
    </section>
    <section numbered="false" anchor="acknowledgments">
      <name>Acknowledgments</name>
      <t>The authors of this document would like to thank the authors of <xref target="I-D.ietf-teas-actn-poi-applicability"/> for having identified the gap and requirements to trigger this work.</t>
      <t>This document was prepared using kramdown.</t>
    </section>
    <section anchor="contributors" numbered="false" toc="include" removeInRFC="false">
      <name>Contributors</name>
      <contact initials="I." surname="Busi" fullname="Italo Busi">
        <organization>Huawei Technologies</organization>
        <address>
          <email>italo.busi@huawei.com</email>
        </address>
      </contact>
      <contact initials="A." surname="Guo" fullname="Aihua Guo">
        <organization>Futurewei Technologies</organization>
        <address>
          <email>aihuaguo.ietf@gmail.com</email>
        </address>
      </contact>
      <contact initials="V." surname="Lopez" fullname="Victor Lopez">
        <organization>Nokia</organization>
        <address>
          <email>victor.lopez@nokia.com</email>
        </address>
      </contact>
      <contact initials="B." surname="Wu" fullname="Bo Wu">
        <organization>Huawei Technologies</organization>
        <address>
          <email>lana.wubo@huawei.com</email>
        </address>
      </contact>
      <contact initials="C." surname="Zhang" fullname="Chenfang Zhang">
        <organization>China Unicom</organization>
        <address>
          <email>zhangcf80@chinaunicom.cn</email>
        </address>
      </contact>
      <contact initials="O." surname="Gonzalez de Dios" fullname="Oscar Gonzalez de Dios">
        <organization>Telefonica</organization>
        <address>
          <email>oscar.gonzalezdedios@telefonica.com</email>
        </address>
      </contact>
      <contact initials="N." surname="Davis" fullname="Nigel Davis">
        <organization>Ciena</organization>
        <address>
          <email>ndavis@ciena.com</email>
        </address>
      </contact>
    </section>
  </back>
  <!-- ##markdown-source:
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
akbVESBjgIbhNRyg3ahgiS9JeF/U5A8j5vTEMQj3IMjn7LNGtxZClpKk7Nof
h/13an8qStIR9t7v2KaSo1PETeAvQIK0UUmZvjYIbSpimUMrvIqL8nyWh4U9
Qiu6zyzXQFlSaojDc2gybm2ABBKikK8NxR81Lru62ckh62QW1cNr6sQMqyRP
ERsoQN4xitZVdknXaPHMc9Rm/PAIZqc350e/C6K9q+2rFxEaiHjD5gZ5tIhM
J7kWU0GQs0HZ3Xker/tgjoHCoqesumrkkUqbOlBUatpG7/OlYqbFvZYxG92A
jFleKoZ6nByyPCZ9dSsEDPCsJgPBINCsUsV103oTsBnQy6K4aU9hukICheo+
/q4RpQnbjXlJtjAllS9TrqDkkGrrS7ohC8wooJB0P80iUgjSpAJhUKLCeCjW
gSpK4RZRDOkVB2fgvvE7ztVIPXSOMqyOtIVHC10V3sE/czp9kJ6h1RZuIqKY
5ioSSmVhFgsqeKEYDcNzh8+FGieACgFKyKtNwmm0cRqqbfICRifdonFO1jqg
loRX4+RG3E/4phxfJcNltPClhnwLdaRWK8q7w6zcI3cvvlhJqgMJfUh8Uraq
6EnkLOqDBo9CoFgjb7yu7Y2HDj5rajPr1UEF3bh7su9JOxiAatKlx+i3i8PS
v8jFB71DOqLmbU7951rKmEm1gCVTOm8glyC9uQyj7ki3Pt8VY76k0zEtKq6s
XAucG8jaLivOkNco2LOjEm6/QLZkZCRLSGYtiKBsXzQEGk7u76gjWHfZlJ5a
UzAtqxArcXW3L1DRMBINEQ+8Z09UFfcCiyHEPcyNf2Qbc9ylHLcTgKE8XoM6
7BjPrm+4dMZbiJ6xSuuU0p71cy2d1kWaSpOmgYpoUTWOovMOMgP83pW3D3OY
54cJ+fzKju03dBkIrc7EU4LMvJP6aNJH13Cfl4wqSRfLhtGoO7aUoS4bBFiJ
QvV7HE3p0hkfjzFLsF+a84bZlES5+ikOOc80iXowiv8DHxEE+eWo5XUvkZ+v
a74jX88tf12TOq/vtH3dz/xm76vY1t7x5zu8f2wuKPb1SoC+hv/lJtiEX0vV
wO2pPLauv+12Fw18tRHJXhoa/YM+W3sn/OX6Wv4+5t9/+GtdX3vco/S3pr7+
sTlvhLWFqGD516L5tQ0DfH5N34jk0XCrw4f/mawJZ6fBrL6Hd5uaXvqr6u93
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
uVxHvsAay9tpCgmTgcQ5J2h/T7zRdfiaUfLOyRCh6qsorLhx8FpeviBUdWWE
jMt3a/ag3Z24UXr8Q5iXcQPDs8qQ5nQ7IxjoW5hu5NH/1q605KQhzhacPX06
L1jlOrSKG6iss4Sn16soywvFU0zk/v67OQ5attflqr5XN3aCvQ83WDl5bVdV
ABjS85W9DA3vXwaKTW5uZr1rbz+tI+zWfbjCnmHs9MG/GszvwpvW49u52gos
7d15bnpS7n/KW1PCsb4M+fx1u5tl0Gi31CrcNZ1RSLAKzJcntArxb0pptz8V
pd3+lJRWotUDb/slEe5eSK1n26+2Ave67dX2vv9tv70s8b0npP+UvO6vjfX3
xOxWW4J/EWa3/dDMbpXrI8szu/NxlN2C1+18qm2/8yl5XUFAeeBNv+T9mU/F
6lZbgIdhdYWNzHex6XcelNXt/DdkdTfF+hqrc343XB0zDTdaoNwVWGyBcm+s
fDE9fTE9VT6fhxnknpjEagvwL6IPbT0ok/hi+8PPF9sffb7Y/r7Y/r7Y/v7b
2f6aWF3uYPMX2x8X/2spRF9sfw1Y38jr7gPrv9j+vtj+5n4+DyvIF9vfF9uf
XXxZVveXRvp74nSrrcDDqHX3gPR3wemc3ze3vbpcrwpIfXXTNr+6Vxv/pcyv
FafXihv4bQPt4efzseZi6poVjYkmzc4SdBAz42y5tpEKeG8Ez6pr/l/Trtun
2In3w/IPMJiroXeYZ8RZi0Vg967V7cGu8e3hGP7W/ZxeHOrg8Ahk6T5vL4ID
cc+K3BPENZI9HJ5rsO/ePdjdCOhi1wE9gXzOJvg8Qb57P2LWqgtwR4IWLcs/
WrvePbHsmjwQk7AQ94Hp1eP7JViP/5Uo1uO7k4u2V4H7KoIRA5/Auf3YD8/V
cP7uoH/bs787BP/OSmdPq8qlO9ufI825Lfx37kJLl1twJfjfVjQ1y/GwsunO
A5mgJbHfuZcDx5WkU9+a3C+tXxbm9ymeAuCf3rt8+rQmn87bCJ8p0J/el4C6
4hLcrYT6dIGE+nmyCxt5H5psPbiQ+hfaQ3cipX4SF50m0N3OELoQ8J/Y14eY
/2qs9+aG0NwL2QcWOB+SBdNuuic/n1taQv1rdUfS5kN7+Wx1n9y7yPNkCZFn
wc64I3K9NLRrOP7kfiSeVRfgbgWeJ8ua5D4rcmVh7oPsHLVvVxFUV+cUT5th
vzLc79YudGM2cRdaw6dw0/pcjn8/hdcXIfNqTkc3tHJqYlI4QH5gI+dDun8p
2H8iQlL4kPuBRc4bg/9OaAmKBCvC/9ZC59NlIe9drjuSOmnSDyd2YvfdZ/cu
dz5bRu6cvz3uSO5cHt41TH92P4Lnyktwt5Lns0WS52dJtWzkvf3ucX7fMuMm
ZigmYAeZL9+m9fom2Tbntn7fuTZP5nW+HsR5Kt4lGHYzyGGFTMLD9sbiPJw6
hYQOk0npK8J42FWMFtBllhfhpCf258FBDFKAFUZkHQeXIWXqRETOMb5kEbxj
REfQiojCrmJJeo4lsd1hFMYDjOAZB/3QSiyby5CwxRhAW02nrfJX0LS7MG0r
d0UtcqrQwOHEFc91I5WsFCvGhKfIwFjvWiawWf7vtawn0ztyCjaxQ3936e8T
+vuU/j6jv8/x7037E+LGM7RjH2t4++IeJwqyFsAH4WXUD28U7jiYi3beiMe1
QozLOjAsZnWpB4Zdh7r9cRQPhHHf1XyQS28AsrgBYyv7R9c0KY7njT7CmLX/
VUaYleUi7AeYedXqzmou4ojMxYzjzFr9UNBmTbuw0HQ8yynxDDSTBf0izKK8
iPp6MjXwyN7WfS/huSJN/yzzQgWdzfNwcoGgtMaSbxA0IwBbnHL2145FAW+V
BoioJwbErVHQruqLqOVnHFcZqXw1sLLZIXIsvjDKFnWrx+H9gBHNV4qgyyHQ
vSF0VXR0bwxdEzr9gx1F3fjRn6pxdk8O2x2nzNxU4hoGJ4e9Sj3Xkd4N3u56
0lcDu3+oR3qvC+M0YG0e8dVYYFHxVKnK5Hp2slLPW8uRlKrvP9ZqLDU7Opdc
ZVqsZiwxJ+lFMXRx2D8zI1L6Yu9X1qBe5PfmNm19+A5Btn1vINv+nEC2fYcg
27k3kO18TiDbuUOQ7d4byHY/J5Dt3iHIntwbyJ58TiB7cocge3pvIHv6OYHs
6R2C7Nm9gezZ5wSyZ3cIsuf3BrLnnxPIntdA5j743f5pvdNfZQH6DX+UJevD
nkjKyUUIWuB37WEQ56QoPxL7fTTsgFZLCT5IkwlFUBbjNJO6HCpnab8kRe0q
LWOZRAdtLuMgeUeQsyrYulQRBnkXlMMEJgeaxHQag8p4EcVRgalFhmmGhhxU
a0CtBBVnGGGuEGhuFExJy5N6K9uUsMMsGo3IToOphkB36EnNywwQNJtpFiJY
lWHsXRZMBqDr9Fr/H83rX7m0ZwEA

-->

</rfc>
