<?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.39 (Ruby 3.4.9) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-ygb-ivy-passive-network-inventory-05" category="std" consensus="true" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.33.0 -->
  <front>
    <title abbrev="Passive Network Inventory YANG Model">A YANG Data Model for Passive Network Inventory</title>
    <seriesInfo name="Internet-Draft" value="draft-ygb-ivy-passive-network-inventory-05"/>
    <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="May" day="26"/>
    <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-ygb-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="13" 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-17"/>
        </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="28" month="February" 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-05"/>
        </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>sergio.belotti@nokia.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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
yT0+Pz4Xge0ph95/AxDfVPmtlQAA

-->

</rfc>
