<?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.43 (Ruby 3.4.9) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-ietf-ivy-passive-network-inventory-01" category="std" consensus="true" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.34.0 -->
  <front>
    <title abbrev="Passive Network Inventory YANG Model">A YANG Data Model for Passive Network Inventory</title>
    <seriesInfo name="Internet-Draft" value="draft-ietf-ivy-passive-network-inventory-01"/>
    <author initials="A." surname="Guo" fullname="Aihua Guo">
      <organization>Futurewei</organization>
      <address>
        <email>aihuaguo.ietf@gmail.com</email>
      </address>
    </author>
    <author initials="T. V." surname="Caenegem" fullname="Tom Van Caenegem">
      <organization>Nokia</organization>
      <address>
        <email>tom.van_caenegem@nokia.com</email>
      </address>
    </author>
    <author initials="N." surname="Davis" fullname="Nigel Davis">
      <organization>Ciena</organization>
      <address>
        <email>ndavis@ciena.com</email>
      </address>
    </author>
    <author initials="M." surname="Tilocca" fullname="Mauro Tilocca">
      <organization>FiberCop</organization>
      <address>
        <email>mauro.tilocca@fibercop.it</email>
      </address>
    </author>
    <author initials="B." surname="Peters" fullname="Brad Peters">
      <organization>NBN</organization>
      <address>
        <email>bradpeters@nbnco.com.au</email>
      </address>
    </author>
    <date year="2026" month="September" day="10"/>
    <area>Operations and Management</area>
    <workgroup>Network Inventory YANG</workgroup>
    <keyword>next generation</keyword>
    <keyword>unicorn</keyword>
    <keyword>sparkling distributed ledger</keyword>
    <abstract>
      <?line 94?>

<t>This document presents a YANG data model for tracking and managing passive network
inventory. The model augments the base network inventory model.</t>
    </abstract>
    <note removeInRFC="true">
      <name>About This Document</name>
      <t>
        The latest revision of this draft can be found at <eref target="https://aguoietf.github.io/draft-ygb-ivy-passive-network-inventory/draft-ygb-ivy-passive-network-inventory.html"/>.
        Status information for this document may be found at <eref target="https://datatracker.ietf.org/doc/draft-ietf-ivy-passive-network-inventory/"/>.
      </t>
      <t>
        Discussion of this document takes place on the
        Network Inventory YANG Working Group mailing list (<eref target="mailto:ivy@ietf.org"/>),
        which is archived at <eref target="https://mailarchive.ietf.org/arch/browse/ivy"/>.
        Subscribe at <eref target="https://www.ietf.org/mailman/listinfo/ivy/"/>.
      </t>
      <t>Source for this draft and an issue tracker can be found at
        <eref target="https://github.com/aguoietf/draft-ygb-ivy-passive-network-inventory"/>.</t>
    </note>
  </front>
  <middle>
    <?line 100?>

<section anchor="introduction">
      <name>Introduction</name>
      <t>Passive infrastructure refers to the underlying infrastructure of a telecommunication network that is
not actively detectable or manageable. It typically includes non-powered, non-communicating devices and components,
such as cabinets, cables, connectors, splitters, antennas, distribution frames, etc., that are either hosted
within an actively managed device or deployed along the physical pathway between active devices.
Passive infrastructure serves as physical connections between active network devices, forming the
backbone for network topology. As a crucial part of communication networks,the inventory information
for these devices is also essential for inventory management.</t>
      <t>Passive inventory contains a collection of inventory objects pertaining to the physical network infrastructure that are not powered and may have no direct management communication, and that are used to realize the underlying physical infrastructure carrying signals through a network. Passive inventory includes elements such as optical cables, fiber segments, splice points, closures, ducts, and supporting structures that do not perform active processing, forwarding, or control functions. These objects are maintained for purposes such as identification, location, connectivity, and lifecycle management.</t>
      <t>While passive inventory generally refers to non-powered infrastructure with no direct management
communication, certain exceptions exist within the scope of passive inventory with respect to
these characteristics. Following are a non-exhausive list of exceptions:</t>
      <ul spacing="normal">
        <li>
          <t>Fibers used in Raman amplification, where the fiber itself participates in amplification stimulated by an externally supplied pump laser. In this scenario, the fiber is still considered as a passive element.</t>
        </li>
        <li>
          <t>Passive optical components embedded within an active device, such as an optical splitter located inside a managed network element.</t>
        </li>
        <li>
          <t>Fibers or other passive elements that are not currently lit or carrying traffic, but are still part of the physical infrastructure and require inventory representation.</t>
        </li>
        <li>
          <t>Passive devices that may have auxiliary or incidental powering (e.g., for environmental monitoring or enclosure heating) but do not perform active forwarding, processing, or control functions.
<xref target="I-D.ietf-ivy-network-inventory-yang"/> incorporates the component concept from <xref target="RFC8348"/> to detail the equipment and holder information of a NE. This encompasses chassis, slot/sub-slot, board/sub-board, port, and transceiver. As these items are recognized by the NE through internal protocols, the passive devices that cannot be discovered by the NE are thus not included in the modeling and needs to be addressed.</t>
        </li>
      </ul>
      <t><xref target="I-D.ietf-ivy-network-inventory-location"/> emphasizes the relative and geographic location, e.g. equipment room, geo-loation for NE. A passive device is deployed in a certain location visible by the operator, and thus can reference the location defined by <xref target="I-D.ietf-ivy-network-inventory-location"/>.</t>
      <t>This document focuses on modeling passive device inventory. The scope of this model is intended to be applicable to a varity types of networks, including but not limited to, IP/MPLS, optical access, optical transport and microwave networks.
The methods for learning about these devices are implementation-specific and fall outside the scope of this document.</t>
    </section>
    <section anchor="examples-of-passive-network-inventory">
      <name>Examples of Passive Network Inventory</name>
      <t>Network segments built on different technologies share many common passive infrastructure components across the system. To explore the practical applications of these components, we can examine example scenarios for optical access networks, optical transport systems, and microwave networks.</t>
      <section anchor="passive-infrastructure-in-optical-transport-networks">
        <name>Passive Infrastructure in Optical Transport Networks</name>
        <t>Passive infrastructure in optical transport networks serves as the backbone for high-capacity data transmission. Key components include fiber optic cables, which act as the primary medium of long distance transmission. Optical connectors, patch panels, and splice enclosures are crucial for joining and managing fiber links. Couplers and splitters are used for signal distribution and combining.</t>
        <t>Within a phyical network element (NE) there are also presence of passive components. For example, fiber optic cables are used to connect the ports of different modules within the same or between different chassises. Attenuators, on the other hand, are placed at places through connectors or built-in modules for reducing optical power.</t>
        <t><xref target="fig-example-optical-transport"/> illustrates a typical passive infrastructure for a point-to-point optical transport network.</t>
        <figure anchor="fig-example-optical-transport">
          <name>Passive Infrastructure for Optical Transport Networks</name>
          <artset>
            <artwork type="svg"><svg xmlns="http://www.w3.org/2000/svg" version="1.1" height="320" width="568" viewBox="0 0 568 320" class="diagram" text-anchor="middle" font-family="monospace" font-size="13px" stroke-linecap="round">
                <path d="M 8,48 L 8,272" fill="none" stroke="black"/>
                <path d="M 24,64 L 24,128" fill="none" stroke="black"/>
                <path d="M 24,176 L 24,240" fill="none" stroke="black"/>
                <path d="M 48,80 L 48,96" fill="none" stroke="black"/>
                <path d="M 48,192 L 48,208" fill="none" stroke="black"/>
                <path d="M 56,64 L 56,128" fill="none" stroke="black"/>
                <path d="M 56,176 L 56,240" fill="none" stroke="black"/>
                <path d="M 64,80 L 64,96" fill="none" stroke="black"/>
                <path d="M 64,192 L 64,208" fill="none" stroke="black"/>
                <path d="M 72,112 L 72,128" fill="none" stroke="black"/>
                <path d="M 72,160 L 72,176" fill="none" stroke="black"/>
                <path d="M 80,96 L 80,208" fill="none" stroke="black"/>
                <path d="M 88,112 L 88,128" fill="none" stroke="black"/>
                <path d="M 88,160 L 88,176" fill="none" stroke="black"/>
                <path d="M 104,128 L 104,160" fill="none" stroke="black"/>
                <path d="M 112,96 L 112,128" fill="none" stroke="black"/>
                <path d="M 112,160 L 112,208" fill="none" stroke="black"/>
                <path d="M 120,128 L 120,160" fill="none" stroke="black"/>
                <path d="M 128,48 L 128,272" fill="none" stroke="black"/>
                <path d="M 168,128 L 168,160" fill="none" stroke="black"/>
                <path d="M 184,128 L 184,160" fill="none" stroke="black"/>
                <path d="M 224,128 L 224,160" fill="none" stroke="black"/>
                <path d="M 232,64 L 232,128" fill="none" stroke="black"/>
                <path d="M 232,160 L 232,240" fill="none" stroke="black"/>
                <path d="M 240,128 L 240,160" fill="none" stroke="black"/>
                <path d="M 280,48 L 280,80" fill="none" stroke="black"/>
                <path d="M 280,224 L 280,256" fill="none" stroke="black"/>
                <path d="M 296,48 L 296,80" fill="none" stroke="black"/>
                <path d="M 296,224 L 296,256" fill="none" stroke="black"/>
                <path d="M 328,128 L 328,160" fill="none" stroke="black"/>
                <path d="M 336,64 L 336,128" fill="none" stroke="black"/>
                <path d="M 336,160 L 336,240" fill="none" stroke="black"/>
                <path d="M 344,128 L 344,160" fill="none" stroke="black"/>
                <path d="M 376,128 L 376,160" fill="none" stroke="black"/>
                <path d="M 392,128 L 392,160" fill="none" stroke="black"/>
                <path d="M 440,48 L 440,272" fill="none" stroke="black"/>
                <path d="M 448,128 L 448,160" fill="none" stroke="black"/>
                <path d="M 456,96 L 456,128" fill="none" stroke="black"/>
                <path d="M 456,160 L 456,208" fill="none" stroke="black"/>
                <path d="M 464,128 L 464,160" fill="none" stroke="black"/>
                <path d="M 480,112 L 480,128" fill="none" stroke="black"/>
                <path d="M 480,160 L 480,176" fill="none" stroke="black"/>
                <path d="M 488,96 L 488,208" fill="none" stroke="black"/>
                <path d="M 496,112 L 496,128" fill="none" stroke="black"/>
                <path d="M 496,160 L 496,176" fill="none" stroke="black"/>
                <path d="M 504,80 L 504,96" fill="none" stroke="black"/>
                <path d="M 504,192 L 504,208" fill="none" stroke="black"/>
                <path d="M 512,64 L 512,128" fill="none" stroke="black"/>
                <path d="M 512,176 L 512,240" fill="none" stroke="black"/>
                <path d="M 520,80 L 520,96" fill="none" stroke="black"/>
                <path d="M 520,192 L 520,208" fill="none" stroke="black"/>
                <path d="M 544,64 L 544,128" fill="none" stroke="black"/>
                <path d="M 544,176 L 544,240" fill="none" stroke="black"/>
                <path d="M 560,48 L 560,272" fill="none" stroke="black"/>
                <path d="M 8,48 L 128,48" fill="none" stroke="black"/>
                <path d="M 280,48 L 296,48" fill="none" stroke="black"/>
                <path d="M 440,48 L 560,48" fill="none" stroke="black"/>
                <path d="M 24,64 L 48,64" fill="none" stroke="black"/>
                <path d="M 232,64 L 280,64" fill="none" stroke="black"/>
                <path d="M 296,64 L 336,64" fill="none" stroke="black"/>
                <path d="M 520,64 L 544,64" fill="none" stroke="black"/>
                <path d="M 48,80 L 64,80" fill="none" stroke="black"/>
                <path d="M 136,80 L 152,80" fill="none" stroke="black"/>
                <path d="M 200,80 L 224,80" fill="none" stroke="black"/>
                <path d="M 280,80 L 296,80" fill="none" stroke="black"/>
                <path d="M 344,80 L 360,80" fill="none" stroke="black"/>
                <path d="M 408,80 L 432,80" fill="none" stroke="black"/>
                <path d="M 504,80 L 520,80" fill="none" stroke="black"/>
                <path d="M 88,96 L 112,96" fill="none" stroke="black"/>
                <path d="M 456,96 L 480,96" fill="none" stroke="black"/>
                <path d="M 80,112 L 88,112" fill="none" stroke="black"/>
                <path d="M 480,112 L 488,112" fill="none" stroke="black"/>
                <path d="M 24,128 L 56,128" fill="none" stroke="black"/>
                <path d="M 104,128 L 112,128" fill="none" stroke="black"/>
                <path d="M 136,128 L 160,128" fill="none" stroke="black"/>
                <path d="M 192,128 L 240,128" fill="none" stroke="black"/>
                <path d="M 328,128 L 344,128" fill="none" stroke="black"/>
                <path d="M 400,128 L 432,128" fill="none" stroke="black"/>
                <path d="M 456,128 L 464,128" fill="none" stroke="black"/>
                <path d="M 512,128 L 544,128" fill="none" stroke="black"/>
                <path d="M 136,144 L 160,144" fill="none" stroke="black"/>
                <path d="M 192,144 L 216,144" fill="none" stroke="black"/>
                <path d="M 248,144 L 320,144" fill="none" stroke="black"/>
                <path d="M 352,144 L 368,144" fill="none" stroke="black"/>
                <path d="M 400,144 L 432,144" fill="none" stroke="black"/>
                <path d="M 72,160 L 88,160" fill="none" stroke="black"/>
                <path d="M 104,160 L 112,160" fill="none" stroke="black"/>
                <path d="M 136,160 L 160,160" fill="none" stroke="black"/>
                <path d="M 192,160 L 240,160" fill="none" stroke="black"/>
                <path d="M 328,160 L 368,160" fill="none" stroke="black"/>
                <path d="M 400,160 L 432,160" fill="none" stroke="black"/>
                <path d="M 456,160 L 464,160" fill="none" stroke="black"/>
                <path d="M 480,160 L 496,160" fill="none" stroke="black"/>
                <path d="M 24,176 L 48,176" fill="none" stroke="black"/>
                <path d="M 520,176 L 544,176" fill="none" stroke="black"/>
                <path d="M 48,208 L 64,208" fill="none" stroke="black"/>
                <path d="M 80,208 L 112,208" fill="none" stroke="black"/>
                <path d="M 456,208 L 488,208" fill="none" stroke="black"/>
                <path d="M 504,208 L 520,208" fill="none" stroke="black"/>
                <path d="M 288,224 L 296,224" fill="none" stroke="black"/>
                <path d="M 24,240 L 56,240" fill="none" stroke="black"/>
                <path d="M 232,240 L 280,240" fill="none" stroke="black"/>
                <path d="M 296,240 L 336,240" fill="none" stroke="black"/>
                <path d="M 512,240 L 544,240" fill="none" stroke="black"/>
                <path d="M 280,256 L 296,256" fill="none" stroke="black"/>
                <path d="M 8,272 L 128,272" fill="none" stroke="black"/>
                <path d="M 440,272 L 560,272" fill="none" stroke="black"/>
                <path d="M 48,80 L 84,152" fill="none" stroke="black"/>
                <path d="M 236,136 L 280,224" fill="none" stroke="black"/>
                <path d="M 296,80 L 332,152" fill="none" stroke="black"/>
                <path d="M 484,136 L 516,200" fill="none" stroke="black"/>
                <path d="M 48,208 L 84,136" fill="none" stroke="black"/>
                <path d="M 236,152 L 256,112" fill="none" stroke="black"/>
                <path d="M 272,96 L 280,80" fill="none" stroke="black"/>
                <path d="M 292,216 L 332,136" fill="none" stroke="black"/>
                <path d="M 484,152 L 520,80" fill="none" stroke="black"/>
                <path d="M 48,64 C 56.83064,64 64,71.16936 64,80" fill="none" stroke="black"/>
                <path d="M 520,64 C 511.16936,64 504,71.16936 504,80" fill="none" stroke="black"/>
                <path d="M 64,80 C 55.16936,80 48,87.16936 48,96" fill="none" stroke="black"/>
                <path d="M 504,80 C 512.83064,80 520,87.16936 520,96" fill="none" stroke="black"/>
                <path d="M 48,96 C 56.83064,96 64,88.83064 64,80" fill="none" stroke="black"/>
                <path d="M 88,96 C 79.16936,96 72,103.16936 72,112" fill="none" stroke="black"/>
                <path d="M 480,96 C 488.83064,96 496,103.16936 496,112" fill="none" stroke="black"/>
                <path d="M 520,96 C 511.16936,96 504,88.83064 504,80" fill="none" stroke="black"/>
                <path d="M 72,112 C 80.83064,112 88,119.16936 88,128" fill="none" stroke="black"/>
                <path d="M 496,112 C 487.16936,112 480,119.16936 480,128" fill="none" stroke="black"/>
                <path d="M 88,128 C 79.16936,128 72,120.83064 72,112" fill="none" stroke="black"/>
                <path d="M 104,128 C 112.83064,128 120,135.16936 120,144" fill="none" stroke="black"/>
                <path d="M 120,128 C 111.16936,128 104,135.16936 104,144" fill="none" stroke="black"/>
                <path d="M 112,128 C 120.83064,128 128,135.16936 128,144" fill="none" stroke="black"/>
                <path d="M 112,128 C 120.83064,128 128,120.83064 128,112" fill="none" stroke="black"/>
                <path d="M 224,128 C 232.83064,128 240,135.16936 240,144" fill="none" stroke="black"/>
                <path d="M 240,128 C 231.16936,128 224,135.16936 224,144" fill="none" stroke="black"/>
                <path d="M 328,128 C 336.83064,128 344,135.16936 344,144" fill="none" stroke="black"/>
                <path d="M 344,128 C 335.16936,128 328,135.16936 328,144" fill="none" stroke="black"/>
                <path d="M 456,128 C 447.16936,128 440,135.16936 440,144" fill="none" stroke="black"/>
                <path d="M 456,128 C 447.16936,128 440,120.83064 440,112" fill="none" stroke="black"/>
                <path d="M 448,128 C 456.83064,128 464,135.16936 464,144" fill="none" stroke="black"/>
                <path d="M 464,128 C 455.16936,128 448,135.16936 448,144" fill="none" stroke="black"/>
                <path d="M 480,128 C 488.83064,128 496,120.83064 496,112" fill="none" stroke="black"/>
                <path d="M 216,144 C 224.83064,144 232,151.16936 232,160" fill="none" stroke="black"/>
                <path d="M 216,144 C 224.83064,144 232,136.83064 232,128" fill="none" stroke="black"/>
                <path d="M 352,144 C 343.16936,144 336,151.16936 336,160" fill="none" stroke="black"/>
                <path d="M 352,144 C 343.16936,144 336,136.83064 336,128" fill="none" stroke="black"/>
                <path d="M 72,160 C 80.83064,160 88,167.16936 88,176" fill="none" stroke="black"/>
                <path d="M 104,160 C 112.83064,160 120,152.83064 120,144" fill="none" stroke="black"/>
                <path d="M 120,160 C 111.16936,160 104,152.83064 104,144" fill="none" stroke="black"/>
                <path d="M 112,160 C 120.83064,160 128,167.16936 128,176" fill="none" stroke="black"/>
                <path d="M 112,160 C 120.83064,160 128,152.83064 128,144" fill="none" stroke="black"/>
                <path d="M 216,160 C 224.83064,160 232,167.16936 232,176" fill="none" stroke="black"/>
                <path d="M 224,160 C 232.83064,160 240,152.83064 240,144" fill="none" stroke="black"/>
                <path d="M 240,160 C 231.16936,160 224,152.83064 224,144" fill="none" stroke="black"/>
                <path d="M 328,160 C 336.83064,160 344,152.83064 344,144" fill="none" stroke="black"/>
                <path d="M 344,160 C 335.16936,160 328,152.83064 328,144" fill="none" stroke="black"/>
                <path d="M 352,160 C 343.16936,160 336,167.16936 336,176" fill="none" stroke="black"/>
                <path d="M 456,160 C 447.16936,160 440,167.16936 440,176" fill="none" stroke="black"/>
                <path d="M 456,160 C 447.16936,160 440,152.83064 440,144" fill="none" stroke="black"/>
                <path d="M 448,160 C 456.83064,160 464,152.83064 464,144" fill="none" stroke="black"/>
                <path d="M 464,160 C 455.16936,160 448,152.83064 448,144" fill="none" stroke="black"/>
                <path d="M 496,160 C 487.16936,160 480,167.16936 480,176" fill="none" stroke="black"/>
                <path d="M 48,176 C 56.83064,176 64,183.16936 64,192" fill="none" stroke="black"/>
                <path d="M 88,176 C 79.16936,176 72,168.83064 72,160" fill="none" stroke="black"/>
                <path d="M 480,176 C 488.83064,176 496,168.83064 496,160" fill="none" stroke="black"/>
                <path d="M 520,176 C 511.16936,176 504,183.16936 504,192" fill="none" stroke="black"/>
                <path d="M 48,208 C 56.83064,208 64,200.83064 64,192" fill="none" stroke="black"/>
                <path d="M 64,208 C 55.16936,208 48,200.83064 48,192" fill="none" stroke="black"/>
                <path d="M 504,208 C 512.83064,208 520,200.83064 520,192" fill="none" stroke="black"/>
                <path d="M 520,208 C 511.16936,208 504,200.83064 504,192" fill="none" stroke="black"/>
                <polygon class="arrowhead" points="440,128 428,122.4 428,133.6" fill="black" transform="rotate(0,432,128)"/>
                <polygon class="arrowhead" points="440,80 428,74.4 428,85.6" fill="black" transform="rotate(0,432,80)"/>
                <polygon class="arrowhead" points="408,128 396,122.4 396,133.6" fill="black" transform="rotate(180,400,128)"/>
                <polygon class="arrowhead" points="352,80 340,74.4 340,85.6" fill="black" transform="rotate(180,344,80)"/>
                <polygon class="arrowhead" points="232,80 220,74.4 220,85.6" fill="black" transform="rotate(0,224,80)"/>
                <polygon class="arrowhead" points="224,128 212,122.4 212,133.6" fill="black" transform="rotate(0,216,128)"/>
                <polygon class="arrowhead" points="200,128 188,122.4 188,133.6" fill="black" transform="rotate(180,192,128)"/>
                <polygon class="arrowhead" points="168,128 156,122.4 156,133.6" fill="black" transform="rotate(0,160,128)"/>
                <polygon class="arrowhead" points="144,128 132,122.4 132,133.6" fill="black" transform="rotate(180,136,128)"/>
                <polygon class="arrowhead" points="144,80 132,74.4 132,85.6" fill="black" transform="rotate(180,136,80)"/>
                <circle cx="56" cy="192" r="6" class="closeddot" fill="black"/>
                <circle cx="64" cy="96" r="6" class="closeddot" fill="black"/>
                <circle cx="72" cy="128" r="6" class="closeddot" fill="black"/>
                <circle cx="72" cy="176" r="6" class="closeddot" fill="black"/>
                <circle cx="280" cy="224" r="6" class="closeddot" fill="black"/>
                <circle cx="496" cy="128" r="6" class="closeddot" fill="black"/>
                <circle cx="496" cy="176" r="6" class="closeddot" fill="black"/>
                <circle cx="504" cy="96" r="6" class="closeddot" fill="black"/>
                <circle cx="512" cy="192" r="6" class="closeddot" fill="black"/>
                <g class="text">
                  <text x="292" y="36">Port</text>
                  <text x="176" y="84">Cable</text>
                  <text x="384" y="84">Cable</text>
                  <text x="36" y="116">NE</text>
                  <text x="156" y="116">Cable-</text>
                  <text x="208" y="116">Cable</text>
                  <text x="364" y="116">Cable-</text>
                  <text x="416" y="116">Cable</text>
                  <text x="532" y="116">NE</text>
                  <text x="360" y="132">&lt;-&gt;</text>
                  <text x="176" y="180">-</text>
                  <text x="384" y="180">-</text>
                  <text x="96" y="196">ODF</text>
                  <text x="184" y="196">Joint</text>
                  <text x="392" y="196">Joint</text>
                  <text x="472" y="196">ODF</text>
                  <text x="176" y="212">Box</text>
                  <text x="384" y="212">Box</text>
                  <text x="36" y="228">NE</text>
                  <text x="532" y="228">NE</text>
                  <text x="40" y="260">Central</text>
                  <text x="100" y="260">Office</text>
                  <text x="472" y="260">Central</text>
                  <text x="532" y="260">Office</text>
                  <text x="264" y="276">Fiber</text>
                  <text x="292" y="292">Distribution</text>
                  <text x="276" y="308">Terminal</text>
                </g>
              </svg>
            </artwork>
            <artwork type="ascii-art"><![CDATA[
                                  Port
+--------------+                  +-+                 +--------------+
| +---+        |            +-----+ +----+            |        +---+ |
| |  +++       |<--Cable--->|     +-+    |<--Cable--->|       +++  | |
| |  ++* +---+ |            |    /   \   |            | +---+ *++  | |
| |NE |\+++  | |Cable- Cable|  /      \  |Cable- Cable| |  +++/| NE| |
| +---+ *++ +++|<-->| |<-->+++/        \+++<->| |<--->|+++ ++* +---+ |
|        |  + +|----| |----+ |----------| +---| |-----|+ +  |        |
|       +++ +++|----| |----+++\        /+++---| |-----|+++ +++       |
| +---+/*++  | |     -      |  \      /  |     -      | |  ++*\+---+ |
| |  +*+ |ODF| |    Joint   |   \    /   |    Joint   | |ODF| +*+  | |
| |  +++ +---+ |    Box     |    \  /    |    Box     | +---+ +++  | |
| |NE |        |            |     *-+    |            |        | NE| |
| +---+        |            +-----+ +----+            |        +---+ |
|Central Office|                  +-+                 |Central Office|
+--------------+              Fiber                   +--------------+
                              Distribution
                              Terminal
]]></artwork>
          </artset>
        </figure>
      </section>
      <section anchor="passive-infrastructure-in-optical-access-networks">
        <name>Passive Infrastructure in Optical Access Networks</name>
        <t>Passive Optical Networks (PONs) are a typical type of optical access network with significant passive infrastructure. The passive infrastructure in PON, often referred to as Optical Distribution Network (ODN), is the physical optical fiber-based network that connects the Optical Line Terminal (OLT) typically hosted in a central office to the Optical Network Unit/Terminal (ONU/ONT) typically deployed at the user's location. The ODN is equipped with one or multiple cascaded passive optical splitter thus creating a physical point-to-multipoint fiber network between an OLT port and the multiple connected ONU/ONTs.</t>
        <t>The feeder segment of an ODN refers to the cabling between the OLT and the first splitter, whereas the distribution segment of the ODN comprises the fiber cabling between the first and second splitter stage. The drop segment comprises the drop fibers between the ONT/ONU and the second splitter stage.</t>
        <t>The PON ODN hence comprises optical fiber cables and splitters but also many auxiliary components, such as connectors, fiber distribution terminals (FDT), fiber access terminals (FAT), wavelength co-existence elements, etc. The passive components where the optical signals entering or leaving the optical fibers are split/combined or cross-connected are typically hosted in mini cabinets e.g. at street corners, manholes, attached to utility poles, etc.</t>
        <t><xref target="fig-example-optical-access"/> illustrates a typical passive infrastructure for optical access networks.</t>
        <figure anchor="fig-example-optical-access">
          <name>Passive Infrastructure for Optical Access Networks</name>
          <artset>
            <artwork type="svg"><svg xmlns="http://www.w3.org/2000/svg" version="1.1" height="320" width="552" viewBox="0 0 552 320" class="diagram" text-anchor="middle" font-family="monospace" font-size="13px" stroke-linecap="round">
                <path d="M 8,32 L 8,288" fill="none" stroke="black"/>
                <path d="M 24,48 L 24,120" fill="none" stroke="black"/>
                <path d="M 24,160 L 24,232" fill="none" stroke="black"/>
                <path d="M 48,64 L 48,80" fill="none" stroke="black"/>
                <path d="M 48,176 L 48,192" fill="none" stroke="black"/>
                <path d="M 56,48 L 56,120" fill="none" stroke="black"/>
                <path d="M 56,160 L 56,232" fill="none" stroke="black"/>
                <path d="M 64,64 L 64,80" fill="none" stroke="black"/>
                <path d="M 64,176 L 64,192" fill="none" stroke="black"/>
                <path d="M 72,96 L 72,112" fill="none" stroke="black"/>
                <path d="M 72,144 L 72,160" fill="none" stroke="black"/>
                <path d="M 80,80 L 80,192" fill="none" stroke="black"/>
                <path d="M 88,96 L 88,112" fill="none" stroke="black"/>
                <path d="M 88,144 L 88,160" fill="none" stroke="black"/>
                <path d="M 104,112 L 104,144" fill="none" stroke="black"/>
                <path d="M 112,80 L 112,112" fill="none" stroke="black"/>
                <path d="M 112,144 L 112,192" fill="none" stroke="black"/>
                <path d="M 120,112 L 120,144" fill="none" stroke="black"/>
                <path d="M 128,32 L 128,288" fill="none" stroke="black"/>
                <path d="M 184,128 L 184,144" fill="none" stroke="black"/>
                <path d="M 200,128 L 200,144" fill="none" stroke="black"/>
                <path d="M 288,96 L 288,192" fill="none" stroke="black"/>
                <path d="M 344,160 L 344,224" fill="none" stroke="black"/>
                <path d="M 416,64 L 416,128" fill="none" stroke="black"/>
                <path d="M 504,64 L 504,80" fill="none" stroke="black"/>
                <path d="M 504,128 L 504,144" fill="none" stroke="black"/>
                <path d="M 504,208 L 504,224" fill="none" stroke="black"/>
                <path d="M 520,64 L 520,80" fill="none" stroke="black"/>
                <path d="M 520,128 L 520,144" fill="none" stroke="black"/>
                <path d="M 520,208 L 520,224" fill="none" stroke="black"/>
                <path d="M 8,32 L 128,32" fill="none" stroke="black"/>
                <path d="M 424,32 L 440,32" fill="none" stroke="black"/>
                <path d="M 480,32 L 496,32" fill="none" stroke="black"/>
                <path d="M 24,48 L 48,48" fill="none" stroke="black"/>
                <path d="M 48,64 L 64,64" fill="none" stroke="black"/>
                <path d="M 296,64 L 312,64" fill="none" stroke="black"/>
                <path d="M 360,64 L 384,64" fill="none" stroke="black"/>
                <path d="M 424,64 L 520,64" fill="none" stroke="black"/>
                <path d="M 88,80 L 112,80" fill="none" stroke="black"/>
                <path d="M 504,80 L 520,80" fill="none" stroke="black"/>
                <path d="M 80,96 L 88,96" fill="none" stroke="black"/>
                <path d="M 296,96 L 384,96" fill="none" stroke="black"/>
                <path d="M 24,112 L 56,112" fill="none" stroke="black"/>
                <path d="M 104,112 L 112,112" fill="none" stroke="black"/>
                <path d="M 136,112 L 176,112" fill="none" stroke="black"/>
                <path d="M 208,112 L 248,112" fill="none" stroke="black"/>
                <path d="M 136,128 L 176,128" fill="none" stroke="black"/>
                <path d="M 208,128 L 248,128" fill="none" stroke="black"/>
                <path d="M 424,128 L 520,128" fill="none" stroke="black"/>
                <path d="M 72,144 L 88,144" fill="none" stroke="black"/>
                <path d="M 104,144 L 112,144" fill="none" stroke="black"/>
                <path d="M 136,144 L 176,144" fill="none" stroke="black"/>
                <path d="M 208,144 L 248,144" fill="none" stroke="black"/>
                <path d="M 504,144 L 520,144" fill="none" stroke="black"/>
                <path d="M 24,160 L 48,160" fill="none" stroke="black"/>
                <path d="M 48,192 L 64,192" fill="none" stroke="black"/>
                <path d="M 80,192 L 112,192" fill="none" stroke="black"/>
                <path d="M 368,208 L 392,208" fill="none" stroke="black"/>
                <path d="M 480,208 L 520,208" fill="none" stroke="black"/>
                <path d="M 24,224 L 56,224" fill="none" stroke="black"/>
                <path d="M 368,224 L 520,224" fill="none" stroke="black"/>
                <path d="M 8,288 L 128,288" fill="none" stroke="black"/>
                <path d="M 48,64 L 84,136" fill="none" stroke="black"/>
                <path d="M 264,160 L 280,192" fill="none" stroke="black"/>
                <path d="M 328,208 L 336,224" fill="none" stroke="black"/>
                <path d="M 400,112 L 408,128" fill="none" stroke="black"/>
                <path d="M 48,192 L 84,120" fill="none" stroke="black"/>
                <path d="M 264,128 L 280,96" fill="none" stroke="black"/>
                <path d="M 328,176 L 336,160" fill="none" stroke="black"/>
                <path d="M 400,80 L 408,64" fill="none" stroke="black"/>
                <path d="M 48,48 C 56.83064,48 64,55.16936 64,64" fill="none" stroke="black"/>
                <path d="M 64,64 C 55.16936,64 48,71.16936 48,80" fill="none" stroke="black"/>
                <path d="M 48,80 C 56.83064,80 64,72.83064 64,64" fill="none" stroke="black"/>
                <path d="M 88,80 C 79.16936,80 72,87.16936 72,96" fill="none" stroke="black"/>
                <path d="M 72,96 C 80.83064,96 88,103.16936 88,112" fill="none" stroke="black"/>
                <path d="M 88,112 C 79.16936,112 72,104.83064 72,96" fill="none" stroke="black"/>
                <path d="M 104,112 C 112.83064,112 120,119.16936 120,128" fill="none" stroke="black"/>
                <path d="M 120,112 C 111.16936,112 104,119.16936 104,128" fill="none" stroke="black"/>
                <path d="M 112,112 C 120.83064,112 128,119.16936 128,128" fill="none" stroke="black"/>
                <path d="M 112,112 C 120.83064,112 128,104.83064 128,96" fill="none" stroke="black"/>
                <path d="M 72,144 C 80.83064,144 88,151.16936 88,160" fill="none" stroke="black"/>
                <path d="M 104,144 C 112.83064,144 120,136.83064 120,128" fill="none" stroke="black"/>
                <path d="M 120,144 C 111.16936,144 104,136.83064 104,128" fill="none" stroke="black"/>
                <path d="M 112,144 C 120.83064,144 128,151.16936 128,160" fill="none" stroke="black"/>
                <path d="M 112,144 C 120.83064,144 128,136.83064 128,128" fill="none" stroke="black"/>
                <path d="M 48,160 C 56.83064,160 64,167.16936 64,176" fill="none" stroke="black"/>
                <path d="M 88,160 C 79.16936,160 72,152.83064 72,144" fill="none" stroke="black"/>
                <path d="M 48,192 C 56.83064,192 64,184.83064 64,176" fill="none" stroke="black"/>
                <path d="M 64,192 C 55.16936,192 48,184.83064 48,176" fill="none" stroke="black"/>
                <polygon class="arrowhead" points="504,208 492,202.4 492,213.6" fill="black" transform="rotate(0,496,208)"/>
                <polygon class="arrowhead" points="504,32 492,26.4 492,37.6" fill="black" transform="rotate(0,496,32)"/>
                <polygon class="arrowhead" points="432,32 420,26.4 420,37.6" fill="black" transform="rotate(180,424,32)"/>
                <polygon class="arrowhead" points="392,64 380,58.4 380,69.6" fill="black" transform="rotate(0,384,64)"/>
                <polygon class="arrowhead" points="376,208 364,202.4 364,213.6" fill="black" transform="rotate(180,368,208)"/>
                <polygon class="arrowhead" points="304,64 292,58.4 292,69.6" fill="black" transform="rotate(180,296,64)"/>
                <polygon class="arrowhead" points="256,112 244,106.4 244,117.6" fill="black" transform="rotate(0,248,112)"/>
                <polygon class="arrowhead" points="216,112 204,106.4 204,117.6" fill="black" transform="rotate(180,208,112)"/>
                <polygon class="arrowhead" points="184,112 172,106.4 172,117.6" fill="black" transform="rotate(0,176,112)"/>
                <polygon class="arrowhead" points="144,112 132,106.4 132,117.6" fill="black" transform="rotate(180,136,112)"/>
                <circle cx="56" cy="176" r="6" class="closeddot" fill="black"/>
                <circle cx="64" cy="80" r="6" class="closeddot" fill="black"/>
                <circle cx="72" cy="112" r="6" class="closeddot" fill="black"/>
                <circle cx="72" cy="160" r="6" class="closeddot" fill="black"/>
                <g class="text">
                  <text x="460" y="36">Drop</text>
                  <text x="464" y="52">Cable</text>
                  <text x="164" y="68">&lt;-Feeder</text>
                  <text x="232" y="68">Cable-&gt;</text>
                  <text x="336" y="68">Distr</text>
                  <text x="536" y="68">ONU</text>
                  <text x="336" y="84">Cable</text>
                  <text x="36" y="100">NE</text>
                  <text x="160" y="100">Cable</text>
                  <text x="192" y="100">-</text>
                  <text x="232" y="100">Cable</text>
                  <text x="392" y="100">x</text>
                  <text x="432" y="100">FDT</text>
                  <text x="184" y="116">/</text>
                  <text x="200" y="116">\</text>
                  <text x="40" y="132">(OLT)</text>
                  <text x="256" y="132">x</text>
                  <text x="536" y="132">ONU</text>
                  <text x="256" y="148">x</text>
                  <text x="332" y="148">cccccccc</text>
                  <text x="184" y="164">\</text>
                  <text x="200" y="164">/</text>
                  <text x="304" y="164">c</text>
                  <text x="360" y="164">c</text>
                  <text x="96" y="180">ODF</text>
                  <text x="192" y="180">-</text>
                  <text x="304" y="180">c</text>
                  <text x="360" y="180">c</text>
                  <text x="192" y="196">Joint</text>
                  <text x="308" y="196">-c-x</text>
                  <text x="360" y="196">c</text>
                  <text x="36" y="212">NE</text>
                  <text x="184" y="212">Box</text>
                  <text x="272" y="212">FDT</text>
                  <text x="304" y="212">c</text>
                  <text x="360" y="212">c</text>
                  <text x="412" y="212">Drop</text>
                  <text x="456" y="212">Cable</text>
                  <text x="536" y="212">ONU</text>
                  <text x="304" y="228">c</text>
                  <text x="356" y="228">-c</text>
                  <text x="40" y="244">(OLT)</text>
                  <text x="304" y="244">c</text>
                  <text x="328" y="244">FDT</text>
                  <text x="356" y="244">&lt;c</text>
                  <text x="304" y="260">c</text>
                  <text x="360" y="260">c</text>
                  <text x="40" y="276">Central</text>
                  <text x="100" y="276">Office</text>
                  <text x="332" y="276">cccccccc</text>
                  <text x="328" y="292">Cabinet</text>
                </g>
              </svg>
            </artwork>
            <artwork type="ascii-art"><![CDATA[
+--------------+                                    <--Drop-->
| +---+        |                                       Cable
| |  +++       |<-Feeder Cable->    <--Distr.-->  /|----------+-+ONU
| |  ++* +---+ |                       Cable     / |          +-+
| |NE |\+++  | | Cable -  Cable   /|------------x  |FDT
| +---+ *++ +++|<---->/ \<---->  / |             \ |
| (OLT)  |  + +|------| |------x/  |              \|----------+-+ONU
|       +++ +++|------| |------x   | cccccccc                 +-+
| +---+/*++  | |      \ /       \  | c   /| c
| |  +*+ |ODF| |       -         \ | c  / | c
| |  +++ +---+ |     Joint        \|-c-x  | c
| |NE |        |     Box        FDT  c  \ | c<---Drop Cable-->+-+ONU
| +---+        |                     c   \|-c-----------------+-+
| (OLT)        |                     c FDT <c
|              |                     c      c
|Central Office|                     cccccccc
+--------------+                     Cabinet

]]></artwork>
          </artset>
        </figure>
      </section>
      <section anchor="passive-infrastructure-in-microwave-networks">
        <name>Passive Infrastructure in Microwave Networks</name>
        <t>To be developed.</t>
      </section>
      <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>
          <li>
            <t>YYYY --&gt; the assigned RFC number for <xref target="I-D.ietf-ivy-network-inventory-yang"/></t>
          </li>
          <li>
            <t>ZZZZ --&gt; the assigned RFC number for <xref target="I-D.ietf-ivy-network-inventory-location"/></t>
          </li>
        </ul>
        <t>Please replace the revision date of the latest revision of the 'ietf-nwi-passive-inventory' module with the publication date of this I-D, using the the format (year-month-day).</t>
        <t>Please manually fix the YANG trees in <xref target="yang-tree"/> which have been generated by pyang and have some bugs.</t>
      </section>
    </section>
    <section anchor="terminology-and-notations">
      <name>Terminology and Notations</name>
      <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>client</t>
          </li>
          <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>configuration data</t>
          </li>
          <li>
            <t>state data</t>
          </li>
        </ul>
        <t>The following terms are defined and used in this document.</t>
        <ul spacing="normal">
          <li>
            <t>Passive device: refers to a physical device within a network that does not require external power to function, and simply manipulates signals through processes like transmission, reflection, splitting, filtering, or attenuation without actively amplifying or generating the signal. Examples include optical fibers, splitters, couplers, and optical filters, all of which are used to direct signals within a system without needing power. A passive device typically does not have management interfaces and is typically deployed in a location tracked by the network operator.</t>
          </li>
          <li>
            <t>Active device: refers to a physical device that contains hardware and software and is managable through communication interfaces. Network elements defined by <xref target="I-D.ietf-ivy-network-inventory-yang"/> are examples of active device.</t>
          </li>
          <li>
            <t>Guiding media: refers to physical transmission pathways - such as optical fiber cables, electrical cables, and coaxial cables - that direct and confine electromagnetic signals along a specific route. These media provide a bounded channel for data transmission, ensuring signal integrity, minimizing interference, and enabling high-speed communication over varying distances. This category is also commonly known as guided media or wired transmission media. Guiding media can be concatenated to form longer guiding media.</t>
          </li>
          <li>
            <t>Optical Cable: refers to a type of guiding media that uses optical fiber as media to transmit optical signals. An optical cable can contain one or multiple fiber cores, also known as fiber strands, each serving as an independent guiding media for data transmission. Optical cables can be spliced or fused through joint boxes, optical distribution frames (ODF), or fiber jumpers.</t>
          </li>
          <li>
            <t>Electrical Cable: refers to a type of guiding media that uses metal conductors (such as copper or aluminum wires) as a medium to carry electrical signals for communication or power distribution. Common examples include twisted-pair cables (such as CAT-5/6 and DSL cables), and coaxial cables, which feature a single-core conductor commonly used in DOCSIS and MoCA-based broadband access networks. Electrical cables can be connected through splicing, connectors, or junction boxes.</t>
          </li>
        </ul>
      </section>
      <section anchor="tree-diagram">
        <name>Tree Diagram</name>
        <t>Tree diagrams used in this document follow the notation defined in <xref target="RFC8340"/>.</t>
      </section>
      <section anchor="prefixes-in-data-node-names">
        <name>Prefixes in Data Node Names</name>
        <t>In this document, names of data nodes and other data model objects
are prefixed using the standard prefix associated with the
corresponding YANG imported modules, as shown in <xref target="tab-prefixes"/>.</t>
        <table anchor="tab-prefixes">
          <name>Prefixes and corresponding YANG module</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">nwi</td>
              <td align="left">ietf-network-inventory</td>
              <td align="left">[RFCYYYY]</td>
            </tr>
            <tr>
              <td align="left">nil</td>
              <td align="left">ietf-ni-location</td>
              <td align="left">[RFCZZZZ]</td>
            </tr>
            <tr>
              <td align="left">l0-types</td>
              <td align="left">ietf-layer0-types</td>
              <td align="left">RFC XXXX</td>
            </tr>
          </tbody>
        </table>
      </section>
    </section>
    <section anchor="modeling-considerations">
      <name>Modeling Considerations</name>
      <section anchor="relationship-with-network-inventory">
        <name>Relationship with Network Inventory</name>
        <t>TBD</t>
      </section>
      <section anchor="relationship-with-topology">
        <name>Relationship with Topology</name>
        <t>TBD</t>
      </section>
    </section>
    <section anchor="yang-model-overview">
      <name>YANG Model Overview</name>
      <t>The YANG data model in this draft augments the model defined in <xref target="I-D.ietf-ivy-network-inventory-yang"/> with the following information:</t>
      <ul spacing="normal">
        <li>
          <t>Passive devices: a list of passive devices with extended attributed reported by the domain controller.</t>
        </li>
        <li>
          <t>Cables: a list of cables with each containing an optional list of child cables.</t>
        </li>
      </ul>
    </section>
    <section anchor="yang-modules">
      <name>YANG Modules</name>
      <section anchor="yang-data-model-for-passive-device-inventory">
        <name>YANG Data Model for Passive Device Inventory</name>
        <figure anchor="fig-nwi-passive-yang">
          <name>YANG model for passive network inventory</name>
          <sourcecode type="yang" markers="true" name="ietf-nwi-passive-inventory@2026-03-19.yang"><![CDATA[
module ietf-nwi-passive-inventory {
  yang-version 1.1;
  namespace "urn:ietf:params:xml:ns:yang:ietf-nwi-passive-inventory";
  prefix nwi-passive;

  import ietf-network-inventory {
    prefix nwi;
    reference
      "RFC YYYY: A YANG Data Model for Network Inventory";
  }
  import ietf-ni-location {
    prefix nil;
    reference
      "RFC ZZZZ: A YANG Data Model for Network Inventory Location";
  }

  organization
    "IETF Network Inventory YANG (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:   Aihua Guo
               <aihuaguo.ietf@gmail.com>

     Editor:   Italo Busi
               <italo.busi@huawei.com>";
  description
    "This YANG module specifies a data model for passive
     devices, such as fibers, cables, and passive sites,
     deployed within and between network elements.

     Copyright (c) 2026 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.";

  revision 2026-03-19 {
    description
      "Initial version";
    reference
      "RFC XXXX: A YANG Data Model for Passive Device Info in
                 Network Inventory.";
  }

  /* Identities */

  identity fiber-type {
    description
      "Base identity for fiber types.";
  }

  identity G652A {
    base fiber-type;
    description
      "ITU-T G.652A fiber.";
  }

  identity G652B {
    base fiber-type;
    description
      "ITU-T G.652B fiber.";
  }

  identity G652C {
    base fiber-type;
    description
      "ITU-T G.652C fiber.";
  }

  identity G652D {
    base fiber-type;
    description
      "ITU-T G.652D fiber.";
  }

  identity G653 {
    base fiber-type;
    description
      "ITU-T G.653 fiber.";
  }

  identity G654 {
    base fiber-type;
    description
      "ITU-T G.654 fiber.";
  }

  identity G655 {
    base fiber-type;
    description
      "ITU-T G.655 fiber.";
  }

  identity G656 {
    base fiber-type;
    description
      "ITU-T G.656 fiber.";
  }

  identity G657A1 {
    base fiber-type;
    description
      "ITU-T G.657A1 fiber.";
  }

  identity G657A2 {
    base fiber-type;
    description
      "ITU-T G.657A2 fiber.";
  }

  identity G657B {
    base fiber-type;
    description
      "ITU-T G.657B fiber.";
  }

  identity other {
    base fiber-type;
    description
      "Other type of fiber.";
  }

  identity cable-type {
    description
      "Base identity for cable types.";
  }

  identity optical-fiber {
    base cable-type;
    description
      "Fiber optic cable.";
  }

  identity electrical-cable {
    base cable-type;
    description
      "Electrical cable.";
  }

  identity coaxial-cable {
    base electrical-cable;
    description
      "Coaxial cable.";
  }

  identity cable-role {
    description
      "Base identity for cable roles.";
  }

  identity backbone {
    base cable-role;
    description
      "Backbone cable.";
  }

  identity aggregation {
    base cable-role;
    description
      "Aggregation cable.";
  }

  identity access {
    base cable-role;
    description
      "Access cable.";
  }

  identity trunk {
    base cable-role;
    description
      "Trunk cable.";
  }

  identity distribution {
    base cable-role;
    description
      "Distribution cable.";
  }

  identity branch {
    base cable-role;
    description
      "Branch cable.";
  }

  identity passive-port-type {
    description
      "Base identity for passive port types.";
  }

  identity service-port {
    base passive-port-type;
    description
      "Service port.";
  }

  identity input-port {
    base passive-port-type;
    description
      "Input port.";
  }

  identity output-port {
    base passive-port-type;
    description
      "Output port.";
  }

  identity p2mp-port {
    base passive-port-type;
    description
      "Input port.";
  }

  identity connected-device-type {
    description
      "Base identity for connected device types.";
  }

  identity passive-device {
    base connected-device-type;
    description
      "Passive/unmanaged device.";
  }

  identity active-device {
    base connected-device-type;
    description
      "Active device, e.g. network element.";
  }

  identity passive-device-type {
    description
      "Base identity for passive device types.";
  }

  identity ODF {
    base passive-device-type;
    description
      "Optical Distribution Frame.";
  }

  identity WDM {
    base passive-device-type;
    description
      "Wavelength Division Multiplexer.";
  }

  identity FAT {
    base passive-device-type;
    description
      "Fiber Access Terminal.";
  }

  identity FDT {
    base passive-device-type;
    description
      "Fiber Distribution Terminal.";
  }

  identity ATB {
    base passive-device-type;
    description
      "Access Terminal Box.";
  }

  /* Groupings */

  grouping connected-device-end {
    description
      "Attributes applicable to connected device end.";
    leaf device-type {
      type identityref {
        base connected-device-type;
      }
      description
        "Type of connected device.";
    }
    choice connected-device-type {
      description
        "Device end based on the type of connected device.";
      case passive {
        leaf device-id {
          type string;
          must "derived-from-or-self(../device-type,
                'nwi-passive:passive-device')";
          description
            "Connected passive device identifier.";
        }
      }
      case active {
        leaf ne-ref {
          type leafref {
            path "/nwi:network-inventory/nwi:network-elements"
               + "/nwi:network-element/nwi:ne-id";
          }
          must "derived-from-or-self(../device-type,
                'nwi-passive:active-device')";
          description
            "Referenced Network Element (NE).";
        }
        leaf component-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(../device-type,
                'nwi-passive:active-device')";
          description
            "Referenced connected active device's component,
             e.g. port component.";
        }
      }
    }
  }

  grouping connected-device-ref {
    description
      "Attributes applicable to connected devices.";
    container a-end {
      description
        "A-end device reference";
      uses connected-device-end;
    }
    container z-end {
      description
        "Z-end device reference";
      uses connected-device-end;
    }
  }

  grouping common-cable-attributes {
    description
      "Common attributes of cables applicable to the cable
       and its child cables.";
    leaf id {
      type string;
      description
        "Cable identifier.";
    }
    leaf length {
      type uint32;
      units "meter";
      description
        "Length of the cable in meter.";
    }
    uses connected-device-ref;
  }

  grouping optical-cable-attributes {
    description
      "Attributes applicable to fiber optic cables.";
    container optical-cable {
      when "derived-from-or-self(../cable-type, 'optical-fiber')";
      description
        "Container for attributes associated with fiber
         optic cables.";
      leaf fiber-core-num {
        type uint32;
        description
          "Number of fiber cores within the cable.";
      }
      leaf fiber-type {
        type identityref {
          base fiber-type;
        }
        description
          "Type of fiber contained in the cable.";
      }
      leaf attenuation {
        type decimal64 {
          fraction-digits 2;
        }
        units "dB";
        description
          "The fiber attenuation in dB.";
      }
    }
  }

  grouping cable-attributes {
    description
      "Attributes of cables.";
    uses common-cable-attributes;
    uses nwi:basic-common-entity-attributes;
    leaf cable-type {
      type identityref {
        base cable-type;
      }
      description
        "Type of cable.";
    }
    leaf cable-role {
      type identityref {
        base cable-role;
      }
      description
        "Role of cable.";
    }
    uses optical-cable-attributes;
  }

  grouping child-cables {
    description
      "Attributes applicable to child cables that are concatnated
       to form the cable.";
    list child-cable {
      key "index";
      min-elements 2;
      description
        "Ordered list of concatenated child cables.";
      leaf index {
        type uint8;
        description
          "An index number used to identify the concatenation
           order of the child cables.";
      }
      uses common-cable-attributes;
    }
  }

  grouping cables {
    description
      "Attributes applicable to cables.";
    list cable {
      key "id";
      description
        "List of cables.";
      uses cable-attributes;
      uses child-cables;
    }
  }

  grouping passive-device-ports {
    description
      "Attributes applicable to passive device ports.";
    list passive-port {
      key "id";
      description
        "List of ports on a passive device.";
      leaf id {
        type string;
        description
          "Port identifier.";
      }
      uses nwi:basic-common-entity-attributes;
      leaf port-type {
        type identityref {
          base passive-port-type;
        }
        description
          "Type of passive port.";
      }
      leaf fiber-core-num {
        type uint32;
        description
          "Number of fiber cores within the port.";
      }
    }
  }

  grouping passive-devices {
    description
      "Attributes applicable to passive devices.";
    list passive-device {
      key "id";
      description
        "List of passive devices.";
      leaf id {
        type string;
        description
          "Cable identifier.";
      }
      uses nwi:basic-common-entity-attributes;
      leaf device-type {
        type identityref {
          base passive-device-type;
        }
        description
          "Type of passive device.";
      }
      leaf-list custom-tags {
        type string;
        description
          "Customized tags, e.g. RFID, QR code that are
           attached to the device.";
      }
      leaf location-ref {
        type nil:ni-location-ref;
        description
          "Referenced location for the passive device.";
      }
      uses passive-device-ports;
    }
  }

  /* Augmentation */

  augment "/nwi:network-inventory" {
    description
      "Augment network inventory with information
       for optical cables and passive devices.";
    uses cables;
    uses passive-devices;
  }
}
]]></sourcecode>
        </figure>
      </section>
    </section>
    <section anchor="operational-considerations">
      <name>Operational Considerations</name>
      <t>TBC per <xref target="I-D.opsarea-rfc5706bis"/>.</t>
    </section>
    <section anchor="security-considerations">
      <name>Security Considerations</name>
      <t>The YANG module specified in this document defines a schema for data
that is designed to be accessed via network management protocols such
as NETCONF <xref target="RFC6241"/> or RESTCONF <xref target="RFC8040"/>.  The lowest NETCONF layer
is the secure transport layer, and the mandatory-to-implement secure
transport is Secure Shell (SSH) <xref target="RFC6242"/>.  The lowest RESTCONF layer
is HTTPS, and the mandatory-to-implement secure transport is TLS
<xref target="RFC8446"/>.</t>
      <t>The NETCONF access control model <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>There are a number of data nodes defined in this YANG module that are
writable/creatable/deletable (i.e., config true, which is the
default).  These data nodes may be considered sensitive or vulnerable
in some network environments.  Write operations (e.g., edit-config)
to these data nodes without proper protection can have a negative
effect on network operations.  Considerations in Section 8 of
<xref target="RFC8795"/> are also applicable to their subtrees in the module defined
in this document.</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.  Considerations in Section 8 of
<xref target="RFC8795"/> are also applicable to their subtrees in the module defined
in this document.</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:yang:ietf-nwi-passive-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-nwi-passive-inventory
   Maintained by IANA? N
   namespace: urn:ietf:params:xml:ns:yang:ietf-nwi-passive-inventory
   prefix: nwi-passive
   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="I-D.ietf-ivy-network-inventory-yang">
          <front>
            <title>A Base YANG Data Model for Network Inventory</title>
            <author fullname="Chaode Yu" initials="C." surname="Yu">
              <organization>Huawei Technologies</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="27" month="May" year="2026"/>
            <abstract>
              <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>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-ivy-network-inventory-yang-18"/>
        </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="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="6" month="July" year="2026"/>
            <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-06"/>
        </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="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="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="RFC6242">
          <front>
            <title>Using the NETCONF Protocol over Secure Shell (SSH)</title>
            <author fullname="M. Wasserman" initials="M." surname="Wasserman"/>
            <date month="June" year="2011"/>
            <abstract>
              <t>This document describes a method for invoking and running the Network Configuration Protocol (NETCONF) within a Secure Shell (SSH) session as an SSH subsystem. This document obsoletes RFC 4742. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="6242"/>
          <seriesInfo name="DOI" value="10.17487/RFC6242"/>
        </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="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="RFC8795">
          <front>
            <title>YANG Data Model for Traffic Engineering (TE) Topologies</title>
            <author fullname="X. Liu" initials="X." surname="Liu"/>
            <author fullname="I. Bryskin" initials="I." surname="Bryskin"/>
            <author fullname="V. Beeram" initials="V." surname="Beeram"/>
            <author fullname="T. Saad" initials="T." surname="Saad"/>
            <author fullname="H. Shah" initials="H." surname="Shah"/>
            <author fullname="O. Gonzalez de Dios" initials="O." surname="Gonzalez de Dios"/>
            <date month="August" year="2020"/>
            <abstract>
              <t>This document defines a YANG data model for representing, retrieving, and manipulating Traffic Engineering (TE) Topologies. The model serves as a base model that other technology-specific TE topology models can augment.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8795"/>
          <seriesInfo name="DOI" value="10.17487/RFC8795"/>
        </reference>
      </references>
      <references anchor="sec-informative-references">
        <name>Informative References</name>
        <reference anchor="I-D.opsarea-rfc5706bis">
          <front>
            <title>Guidelines for Considering Operations and Management in IETF Specifications</title>
            <author fullname="Benoît Claise" initials="B." surname="Claise">
              <organization>Everything OPS</organization>
            </author>
            <author fullname="Joe Clarke" initials="J." surname="Clarke">
              <organization>Cisco</organization>
            </author>
            <author fullname="Adrian Farrel" initials="A." surname="Farrel">
              <organization>Old Dog Consulting</organization>
            </author>
            <author fullname="Samier Barguil" initials="S." surname="Barguil">
              <organization>Nokia</organization>
            </author>
            <author fullname="Carlos Pignataro" initials="C." surname="Pignataro">
              <organization>Blue Fern Consulting</organization>
            </author>
            <author fullname="Ran Chen" initials="R." surname="Chen">
              <organization>ZTE</organization>
            </author>
            <date day="20" month="October" year="2025"/>
            <abstract>
              <t>   New Protocols or Protocol Extensions are best designed with due
   consideration of the functionality needed to operate and manage them.
   Retrofitting operations and management considerations is suboptimal.
   The purpose of this document is to provide guidance to authors and
   reviewers on what operational and management aspects should be
   addressed when defining New Protocols or Protocol Extensions.

   This document obsoletes RFC 5706, replacing it completely and
   updating it with new operational and management techniques and
   mechanisms.  It also introduces a requirement to include an
   "Operational Considerations" section in new RFCs in the IETF Stream.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-opsarea-rfc5706bis-06"/>
        </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="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>
    <?line 870?>

<section anchor="yang-tree">
      <name>The Complete Schema Trees</name>
      <t>This appendix presents the complete tree of the Passive Network Inventory data model. See <xref target="RFC8340"/> for an explanation of the symbols used. The data type of every leaf node is shown near the right end of the corresponding line.</t>
      <figure anchor="fig-nwi-passive-tree">
        <name>Tree diagram for passive network inventory</name>
        <artwork type="ascii-art"><![CDATA[
module: ietf-nwi-passive-inventory

  augment /nwi:network-inventory:
    +--rw cable* [id]
    |  +--rw id               string
    |  +--rw length?          uint32
    |  +--rw a-end
    |  |  +--rw device-type?           identityref
    |  |  +--rw (connected-device-type)?
    |  |     +--:(passive)
    |  |     |  +--rw device-id?       string
    |  |     +--:(active)
    |  |        +--rw ne-ref?          leafref
    |  |        +--rw component-ref?   leafref
    |  +--rw z-end
    |  |  +--rw device-type?           identityref
    |  |  +--rw (connected-device-type)?
    |  |     +--:(passive)
    |  |     |  +--rw device-id?       string
    |  |     +--:(active)
    |  |        +--rw ne-ref?          leafref
    |  |        +--rw component-ref?   leafref
    |  +--ro uuid?            yang:uuid
    |  +--rw name?            string
    |  +--rw description?     string
    |  +--rw alias?           string
    |  +--rw cable-type?      identityref
    |  +--rw cable-role?      identityref
    |  +--rw optical-cable
    |  |  +--rw fiber-core-num?   uint32
    |  |  +--rw fiber-type?       identityref
    |  |  +--rw attenuation?      decimal64
    |  +--rw child-cable* [index]
    |     +--rw index     uint8
    |     +--rw id?       string
    |     +--rw length?   uint32
    |     +--rw a-end
    |     |  +--rw device-type?           identityref
    |     |  +--rw (connected-device-type)?
    |     |     +--:(passive)
    |     |     |  +--rw device-id?       string
    |     |     +--:(active)
    |     |        +--rw ne-ref?          leafref
    |     |        +--rw component-ref?   leafref
    |     +--rw z-end
    |        +--rw device-type?           identityref
    |        +--rw (connected-device-type)?
    |           +--:(passive)
    |           |  +--rw device-id?       string
    |           +--:(active)
    |              +--rw ne-ref?          leafref
    |              +--rw component-ref?   leafref
    +--rw passive-device* [id]
       +--rw id              string
       +--ro uuid?           yang:uuid
       +--rw name?           string
       +--rw description?    string
       +--rw alias?          string
       +--rw device-type?    identityref
       +--rw custom-tags*    string
       +--rw location-ref?   nil:ni-location-ref
       +--rw passive-port* [id]
          +--rw id                string
          +--ro uuid?             yang:uuid
          +--rw name?             string
          +--rw description?      string
          +--rw alias?            string
          +--rw port-type?        identityref
          +--rw fiber-core-num?   uint32

  grouping connected-device-end:
    +-- device-type?           identityref
    +-- (connected-device-type)?
       +--:(passive)
       |  +-- device-id?       string
       +--:(active)
          +-- ne-ref?          leafref
          +-- component-ref?   leafref
  grouping connected-device-ref:
    +-- a-end
    |  +-- device-type?           identityref
    |  +-- (connected-device-type)?
    |     +--:(passive)
    |     |  +-- device-id?       string
    |     +--:(active)
    |        +-- ne-ref?          leafref
    |        +-- component-ref?   leafref
    +-- z-end
       +-- device-type?           identityref
       +-- (connected-device-type)?
          +--:(passive)
          |  +-- device-id?       string
          +--:(active)
             +-- ne-ref?          leafref
             +-- component-ref?   leafref
  grouping common-cable-attributes:
    +-- id?       string
    +-- length?   uint32
    +-- a-end
    |  +-- device-type?           identityref
    |  +-- (connected-device-type)?
    |     +--:(passive)
    |     |  +-- device-id?       string
    |     +--:(active)
    |        +-- ne-ref?          leafref
    |        +-- component-ref?   leafref
    +-- z-end
       +-- device-type?           identityref
       +-- (connected-device-type)?
          +--:(passive)
          |  +-- device-id?       string
          +--:(active)
             +-- ne-ref?          leafref
             +-- component-ref?   leafref
  grouping optical-cable-attributes:
    +-- optical-cable
       +-- fiber-core-num?   uint32
       +-- fiber-type?       identityref
       +-- attenuation?      decimal64
  grouping cable-attributes:
    +-- id?              string
    +-- length?          uint32
    +-- a-end
    |  +-- device-type?           identityref
    |  +-- (connected-device-type)?
    |     +--:(passive)
    |     |  +-- device-id?       string
    |     +--:(active)
    |        +-- ne-ref?          leafref
    |        +-- component-ref?   leafref
    +-- z-end
    |  +-- device-type?           identityref
    |  +-- (connected-device-type)?
    |     +--:(passive)
    |     |  +-- device-id?       string
    |     +--:(active)
    |        +-- ne-ref?          leafref
    |        +-- component-ref?   leafref
    +--ro uuid?            yang:uuid
    +-- name?            string
    +-- description?     string
    +-- alias?           string
    +-- cable-type?      identityref
    +-- cable-role?      identityref
    +-- optical-cable
       +-- fiber-core-num?   uint32
       +-- fiber-type?       identityref
       +-- attenuation?      decimal64
  grouping child-cables:
    +-- child-cable* [index]
       +-- index     uint8
       +-- id?       string
       +-- length?   uint32
       +-- a-end
       |  +-- device-type?           identityref
       |  +-- (connected-device-type)?
       |     +--:(passive)
       |     |  +-- device-id?       string
       |     +--:(active)
       |        +-- ne-ref?          leafref
       |        +-- component-ref?   leafref
       +-- z-end
          +-- device-type?           identityref
          +-- (connected-device-type)?
             +--:(passive)
             |  +-- device-id?       string
             +--:(active)
                +-- ne-ref?          leafref
                +-- component-ref?   leafref
  grouping cables:
    +-- cable* [id]
       +-- id?              string
       +-- length?          uint32
       +-- a-end
       |  +-- device-type?           identityref
       |  +-- (connected-device-type)?
       |     +--:(passive)
       |     |  +-- device-id?       string
       |     +--:(active)
       |        +-- ne-ref?          leafref
       |        +-- component-ref?   leafref
       +-- z-end
       |  +-- device-type?           identityref
       |  +-- (connected-device-type)?
       |     +--:(passive)
       |     |  +-- device-id?       string
       |     +--:(active)
       |        +-- ne-ref?          leafref
       |        +-- component-ref?   leafref
       +--ro uuid?            yang:uuid
       +-- name?            string
       +-- description?     string
       +-- alias?           string
       +-- cable-type?      identityref
       +-- cable-role?      identityref
       +-- optical-cable
       |  +-- fiber-core-num?   uint32
       |  +-- fiber-type?       identityref
       |  +-- attenuation?      decimal64
       +-- child-cable* [index]
          +-- index     uint8
          +-- id?       string
          +-- length?   uint32
          +-- a-end
          |  +-- device-type?           identityref
          |  +-- (connected-device-type)?
          |     +--:(passive)
          |     |  +-- device-id?       string
          |     +--:(active)
          |        +-- ne-ref?          leafref
          |        +-- component-ref?   leafref
          +-- z-end
             +-- device-type?           identityref
             +-- (connected-device-type)?
                +--:(passive)
                |  +-- device-id?       string
                +--:(active)
                   +-- ne-ref?          leafref
                   +-- component-ref?   leafref
  grouping passive-device-ports:
    +-- passive-port* [id]
       +-- id                string
       +--ro uuid?             yang:uuid
       +-- name?             string
       +-- description?      string
       +-- alias?            string
       +-- port-type?        identityref
       +-- fiber-core-num?   uint32
  grouping passive-devices:
    +-- passive-device* [id]
       +-- id              string
       +--ro uuid?           yang:uuid
       +-- name?           string
       +-- description?    string
       +-- alias?          string
       +-- device-type?    identityref
       +-- custom-tags*    string
       +-- location-ref?   nil:ni-location-ref
       +-- passive-port* [id]
          +-- id                string
          +--ro uuid?             yang:uuid
          +-- name?             string
          +-- description?      string
          +-- alias?            string
          +-- port-type?        identityref
          +-- fiber-core-num?   uint32
]]></artwork>
      </figure>
    </section>
    <section numbered="false" anchor="acknowledgments">
      <name>Acknowledgments</name>
      <t>TODO acknowledge.</t>
    </section>
    <section anchor="contributors" numbered="false" toc="include" removeInRFC="false">
      <name>Contributors</name>
      <contact initials="C." surname="Yu" fullname="Chaode Yu">
        <organization>Huawei</organization>
        <address>
          <email>yuchaode@huawei.com</email>
        </address>
      </contact>
      <contact initials="M." surname="Boroon" fullname="Mohammad Boroon">
        <organization>Highstreet</organization>
        <address>
          <email>mohammad.boroon@highstreet-technologies.com</email>
        </address>
      </contact>
      <contact initials="I." surname="Busi" fullname="Italo Busi">
        <organization>Huawei</organization>
        <address>
          <email>italo.busi@huawei.com</email>
        </address>
      </contact>
      <contact initials="S." surname="Belotti" fullname="Sergio Belotti">
        <organization>Nokia</organization>
        <address>
          <email>s.belotti.ietf@gmail.com</email>
        </address>
      </contact>
      <contact initials="S." surname="Swaminathan" fullname="Swaminathan 1. S.">
        <organization>Nokia</organization>
        <address>
          <email>swaminathan.1.s@nokia.com</email>
        </address>
      </contact>
      <contact initials="S." surname="B." fullname="Swaminathan B.">
        <organization>Nokia</organization>
        <address>
          <email>swaminathan.b@nokia.com</email>
        </address>
      </contact>
      <contact initials="B. Y." surname="Yun" fullname="Bin Yu Yun">
        <organization>ETRI</organization>
        <address>
          <email>byyun@etri.re.kr</email>
        </address>
      </contact>
      <contact initials="Y." surname="Liu" fullname="Yucong Liu">
        <organization>China Mobile</organization>
        <address>
          <email>liuyucongyjy@chinamobile.com</email>
        </address>
      </contact>
      <contact initials="Y." surname="Zhao" fullname="Yang Zhao">
        <organization>China Mobile</organization>
        <address>
          <email>zhaoyangyjy@chinamobile.com</email>
        </address>
      </contact>
      <contact initials="A." surname="Sakalabhaktula" fullname="Avinash Sakalabhaktula">
        <organization>Radisys</organization>
        <address>
          <email>Avinash.Sakalabhaktula@radisys.com</email>
        </address>
      </contact>
    </section>
  </back>
  <!-- ##markdown-source:
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
Xsk9Pj8+F4HtKYfefwMfv5m1rpUAAA==

-->

</rfc>
