<?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.34 (Ruby 3.4.8) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-busi-nmop-simap-rfc8795-applicability-01" category="info" consensus="true" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.32.0 -->
  <front>
    <title abbrev="RFC8795 for SIMAP">Applicability of RFC8795 YANG data model to SIMAP</title>
    <seriesInfo name="Internet-Draft" value="draft-busi-nmop-simap-rfc8795-applicability-01"/>
    <author initials="I." surname="Busi" fullname="Italo Busi">
      <organization>Huawei</organization>
      <address>
        <email>italo.busi@huawei.com</email>
      </address>
    </author>
    <author initials="A." surname="Guo" fullname="Aihua Guo">
      <organization>Futurewei Technologies</organization>
      <address>
        <email>aihuaguo.ietf@gmail.com</email>
      </address>
    </author>
    <author initials="V. P." surname="Beeram" fullname="Vishnu Pavan Beeram">
      <organization>HPE</organization>
      <address>
        <email>vbeeram@hpe.com</email>
      </address>
    </author>
    <author initials="S." surname="Belotti" fullname="Sergio Belotti">
      <organization>Nokia</organization>
      <address>
        <email>sergio.belotti@nokia.com</email>
      </address>
    </author>
    <author initials="T." surname="Saad" fullname="Tarek Saad">
      <organization>Cisco Systems Inc.</organization>
      <address>
        <email>tsaad.net@gmail.com</email>
      </address>
    </author>
    <author initials="J." surname="Meuric" fullname="Julien Meuric">
      <organization>Orange</organization>
      <address>
        <email>julien.meuric@orange.com</email>
      </address>
    </author>
    <date year="2026" month="March" day="16"/>
    <area>Operations and Management</area>
    <workgroup>Network Management Operations</workgroup>
    <keyword>next generation</keyword>
    <keyword>unicorn</keyword>
    <keyword>sparkling distributed ledger</keyword>
    <abstract>
      <?line 56?>

<t>This document analyses the applicability of the RFC 8795 YANG data model to
Service &amp; Infrastructure Maps (SIMAP) and in particular analysis which requirements
can be supported by the existing YANG data model defined in RFC 8795.</t>
    </abstract>
    <note removeInRFC="true">
      <name>About This Document</name>
      <t>
        The latest revision of this draft can be found at <eref target="https://italobusi.github.io/simap-yang/draft-xyz-nmop-simap-yang-applicability.html"/>.
        Status information for this document may be found at <eref target="https://datatracker.ietf.org/doc/draft-busi-nmop-simap-rfc8795-applicability/"/>.
      </t>
      <t>
        Discussion of this document takes place on the
        Network Management Operations Working Group mailing list (<eref target="mailto:nmop@ietf.org"/>),
        which is archived at <eref target="https://mailarchive.ietf.org/arch/browse/nmop/"/>.
        Subscribe at <eref target="https://www.ietf.org/mailman/listinfo/nmop/"/>.
      </t>
      <t>Source for this draft and an issue tracker can be found at
        <eref target="https://github.com/italobusi/simap-yang"/>.</t>
    </note>
  </front>
  <middle>
    <?line 62?>

<section anchor="introduction">
      <name>Introduction</name>
      <t>The concept of Service &amp; Infrastructure Maps (SIMAP) is being defined in <xref target="I-D.ietf-nmop-simap-concept"/>
together with a set of SIMP requirements and use cases.</t>
      <t>SIMAP is defined in <xref target="I-D.ietf-nmop-simap-concept"/>, as:</t>
      <ul empty="true">
        <li>
          <t>SIMAP is a data model that provides a topological view of the operator's networks and services, including how it is connected to other models (e.g., inventory) and external data sources (e.g., observability data, and operational knowledge). This model represents a multi-layered topology and offers mechanisms to navigate amongst layers and correlate between them. This includes layers from physical topology to service topology. This model is applicable to multiple domains (access, core, data center, etc.) and technologies (Optical, IP, etc.).</t>
        </li>
      </ul>
      <t>It is worth noting that the YANG data model in <xref target="RFC8795"/> defines a topology model which:</t>
      <ul spacing="normal">
        <li>
          <t>represents a multi-layered topology;</t>
        </li>
        <li>
          <t>offers mechanisms to navigate amongst layers and correlate between them;</t>
        </li>
        <li>
          <t>is applicable to multiple domains (access, core, data center, etc.) and technologies (Optical, IP, etc.).</t>
        </li>
      </ul>
      <t><xref target="I-D.ietf-teas-te-topology-profiles"/> clarifies that</t>
      <t>It is therefore worthwhile analyzing the applicability of the YANG data model in <xref target="RFC8795"/> to meet the SIMAP requirements and identify any gaps
that need to be addressed before starting the work on new YANG data models to meet the SIMAP requirements, as outlined in <xref target="I-D.ietf-nmop-simap-concept"/>.</t>
      <t>Understanding the degree of standardization and identifying potential gaps are crucial for supporting
the SIMAP applications while ensuring multi-vendor interoperability and compatibility with other applications
which can run on top of the same network controller.</t>
    </section>
    <section anchor="conventions-and-definitions">
      <name>Conventions and Definitions</name>
      <!-- {::boilerplate bcp14-tagged} -->

<t>TODO Conventions and Definitions</t>
    </section>
    <section anchor="gap-analysis">
      <name>Gap Analysis</name>
      <section anchor="bidirectional-links">
        <name>Bidirectional Links</name>
        <t>Bidirectional links can be modelled as two unidirectional links, one for each direction,
terminated on the same two termination points, as described in <xref section="4.4.5" sectionFormat="of" target="RFC8345"/>.</t>
        <t>It is worth noting that a bidirectional link can be unambiguously distinguished from two unidirectional links between the same two nodes since the two unidirectional links will be terminated on different termination points, as shown in <xref target="fig-bidir-link"/>.</t>
        <figure anchor="fig-bidir-link">
          <name>Difference between one bidirectional link and two unidirectional links</name>
          <artset>
            <artwork type="svg"><svg xmlns="http://www.w3.org/2000/svg" version="1.1" height="464" width="528" viewBox="0 0 528 464" class="diagram" text-anchor="middle" font-family="monospace" font-size="13px" stroke-linecap="round">
                <path d="M 8,32 L 8,192" fill="none" stroke="black"/>
                <path d="M 8,240 L 8,432" fill="none" stroke="black"/>
                <path d="M 24,48 L 24,176" fill="none" stroke="black"/>
                <path d="M 24,256 L 24,416" fill="none" stroke="black"/>
                <path d="M 128,80 L 128,144" fill="none" stroke="black"/>
                <path d="M 128,288 L 128,320" fill="none" stroke="black"/>
                <path d="M 128,352 L 128,384" fill="none" stroke="black"/>
                <path d="M 136,48 L 136,72" fill="none" stroke="black"/>
                <path d="M 136,152 L 136,176" fill="none" stroke="black"/>
                <path d="M 136,256 L 136,280" fill="none" stroke="black"/>
                <path d="M 136,328 L 136,344" fill="none" stroke="black"/>
                <path d="M 136,392 L 136,416" fill="none" stroke="black"/>
                <path d="M 152,32 L 152,72" fill="none" stroke="black"/>
                <path d="M 152,152 L 152,192" fill="none" stroke="black"/>
                <path d="M 152,240 L 152,280" fill="none" stroke="black"/>
                <path d="M 152,328 L 152,344" fill="none" stroke="black"/>
                <path d="M 152,392 L 152,432" fill="none" stroke="black"/>
                <path d="M 160,80 L 160,144" fill="none" stroke="black"/>
                <path d="M 160,288 L 160,320" fill="none" stroke="black"/>
                <path d="M 160,352 L 160,384" fill="none" stroke="black"/>
                <path d="M 368,80 L 368,144" fill="none" stroke="black"/>
                <path d="M 368,288 L 368,320" fill="none" stroke="black"/>
                <path d="M 368,352 L 368,384" fill="none" stroke="black"/>
                <path d="M 376,32 L 376,72" fill="none" stroke="black"/>
                <path d="M 376,152 L 376,192" fill="none" stroke="black"/>
                <path d="M 376,240 L 376,280" fill="none" stroke="black"/>
                <path d="M 376,328 L 376,344" fill="none" stroke="black"/>
                <path d="M 376,392 L 376,432" fill="none" stroke="black"/>
                <path d="M 392,48 L 392,72" fill="none" stroke="black"/>
                <path d="M 392,152 L 392,176" fill="none" stroke="black"/>
                <path d="M 392,256 L 392,280" fill="none" stroke="black"/>
                <path d="M 392,328 L 392,344" fill="none" stroke="black"/>
                <path d="M 392,392 L 392,416" fill="none" stroke="black"/>
                <path d="M 400,80 L 400,144" fill="none" stroke="black"/>
                <path d="M 400,288 L 400,320" fill="none" stroke="black"/>
                <path d="M 400,352 L 400,384" fill="none" stroke="black"/>
                <path d="M 504,48 L 504,176" fill="none" stroke="black"/>
                <path d="M 504,256 L 504,416" fill="none" stroke="black"/>
                <path d="M 520,32 L 520,192" fill="none" stroke="black"/>
                <path d="M 520,240 L 520,432" fill="none" stroke="black"/>
                <path d="M 8,32 L 152,32" fill="none" stroke="black"/>
                <path d="M 376,32 L 520,32" fill="none" stroke="black"/>
                <path d="M 24,48 L 136,48" fill="none" stroke="black"/>
                <path d="M 392,48 L 504,48" fill="none" stroke="black"/>
                <path d="M 128,80 L 160,80" fill="none" stroke="black"/>
                <path d="M 368,80 L 400,80" fill="none" stroke="black"/>
                <path d="M 160,96 L 360,96" fill="none" stroke="black"/>
                <path d="M 168,128 L 368,128" fill="none" stroke="black"/>
                <path d="M 128,144 L 160,144" fill="none" stroke="black"/>
                <path d="M 368,144 L 400,144" fill="none" stroke="black"/>
                <path d="M 24,176 L 136,176" fill="none" stroke="black"/>
                <path d="M 392,176 L 504,176" fill="none" stroke="black"/>
                <path d="M 8,192 L 152,192" fill="none" stroke="black"/>
                <path d="M 376,192 L 520,192" fill="none" stroke="black"/>
                <path d="M 8,240 L 152,240" fill="none" stroke="black"/>
                <path d="M 376,240 L 520,240" fill="none" stroke="black"/>
                <path d="M 24,256 L 136,256" fill="none" stroke="black"/>
                <path d="M 392,256 L 504,256" fill="none" stroke="black"/>
                <path d="M 128,288 L 160,288" fill="none" stroke="black"/>
                <path d="M 368,288 L 400,288" fill="none" stroke="black"/>
                <path d="M 160,304 L 360,304" fill="none" stroke="black"/>
                <path d="M 128,320 L 160,320" fill="none" stroke="black"/>
                <path d="M 368,320 L 400,320" fill="none" stroke="black"/>
                <path d="M 128,352 L 160,352" fill="none" stroke="black"/>
                <path d="M 368,352 L 400,352" fill="none" stroke="black"/>
                <path d="M 168,368 L 368,368" fill="none" stroke="black"/>
                <path d="M 128,384 L 160,384" fill="none" stroke="black"/>
                <path d="M 368,384 L 400,384" fill="none" stroke="black"/>
                <path d="M 24,416 L 136,416" fill="none" stroke="black"/>
                <path d="M 392,416 L 504,416" fill="none" stroke="black"/>
                <path d="M 8,432 L 152,432" fill="none" stroke="black"/>
                <path d="M 376,432 L 520,432" fill="none" stroke="black"/>
                <polygon class="arrowhead" points="368,304 356,298.4 356,309.6" fill="black" transform="rotate(0,360,304)"/>
                <polygon class="arrowhead" points="368,96 356,90.4 356,101.6" fill="black" transform="rotate(0,360,96)"/>
                <polygon class="arrowhead" points="176,368 164,362.4 164,373.6" fill="black" transform="rotate(180,168,368)"/>
                <polygon class="arrowhead" points="176,128 164,122.4 164,133.6" fill="black" transform="rotate(180,168,128)"/>
                <g class="text">
                  <text x="80" y="116">A</text>
                  <text x="144" y="116">TP1</text>
                  <text x="384" y="116">TP2</text>
                  <text x="448" y="116">B</text>
                  <text x="144" y="308">TP3</text>
                  <text x="384" y="308">TP4</text>
                  <text x="80" y="340">C</text>
                  <text x="448" y="340">D</text>
                  <text x="144" y="372">TP4</text>
                  <text x="384" y="372">TP5</text>
                </g>
              </svg>
            </artwork>
            <artwork type="ascii-art"><![CDATA[
    +-----------------+                           +-----------------+
    | +-------------+ |                           | +-------------+ |
    | |             | |                           | |             | |
    | |            +---+                         +---+            | |
    | |            |   +------------------------>|   |            | |
    | |      A     |TP1|                         |TP2|     B      | |
    | |            |   |<------------------------+   |            | |
    | |            +---+                         +---+            | |
    | |             | |                           | |             | |
    | +-------------+ |                           | +-------------+ |
    +-----------------+                           +-----------------+


    +-----------------+                           +-----------------+
    | +-------------+ |                           | +-------------+ |
    | |             | |                           | |             | |
    | |            +---+                         +---+            | |
    | |            |TP3+------------------------>|TP4|            | |
    | |            +---+                         +---+            | |
    | |      C      | |                           | |      D      | |
    | |            +---+                         +---+            | |
    | |            |TP4|<------------------------+TP5|            | |
    | |            +---+                         +---+            | |
    | |             | |                           | |             | |
    | +-------------+ |                           | +-------------+ |
    +-----------------+                           +-----------------+
]]></artwork>
          </artset>
        </figure>
      </section>
      <section anchor="multipoint-links">
        <name>Multipoint Links</name>
        <t>Multipoint links can be modelled as pseudonodes, as described in <xref section="4.4.5" sectionFormat="of" target="RFC8345"/>.</t>
        <t>The type of multipoint link (e.g., point-to-multipoint or multipoint-to-multipoint, as defined in <xref target="I-D.ietf-nmop-simap-concept"/>) and the role of the termination points in the link (e.g., source, destination, hub, spoke, as defined in <xref target="I-D.ietf-nmop-simap-concept"/>) can be unambiguously understood from:
- the links entering to or departing from the termination points of the pseudonode, and
- the 'is-allowed' attribute of the connectivity matrix of the pseudonode, as defined in <xref target="RFC8795"/>.</t>
        <ul empty="true">
          <li>
            <t>Note: some examples for multipoint links are described in <xref section="2.5" sectionFormat="of" target="I-D.ietf-teas-te-topology-profiles"/>. More examples can be provided in future versions of this document.</t>
          </li>
        </ul>
      </section>
      <section anchor="links-and-nodes-down-in-topology">
        <name>Links and nodes down in topology</name>
        <t><xref target="RFC8795"/> defines the 'oper-status' attribute for nodes, links and termination points, therefore allowing to report links and nodes down in the topology, and to unambiguously distinguishing between nodes and links which are up or down.</t>
      </section>
      <section anchor="multi-layer-topologies">
        <name>Multi-Layer Topologies</name>
        <t>As outlined in <xref section="2" sectionFormat="of" target="I-D.ietf-nmop-simap-concept"/>:</t>
        <ul empty="true">
          <li>
            <t><xref target="RFC8345"/> is flexible and can support both the same network topology instance with multiple layers (e.g., Layer 2 and Layer 3) or separate network topology instances with supporting relations between them (e.g., separate Layer 2 and Layer 3). Therefore, multiple topology layers can be grouped into the same network topology instance, if solution requires.</t>
          </li>
        </ul>
        <t><xref target="RFC8795"/> augments <xref target="RFC8345"/> and therefore provide the same flexibility.</t>
        <t>As described in <xref section="3" sectionFormat="of" target="I-D.havel-nmop-simap-yang"/>:</t>
        <ul empty="true">
          <li>
            <ul spacing="normal">
              <li>
                <t>Layering relationships are expressed solely through the supporting
construct, without additional semantics such as underlay, primary,
backup, load-sharing, path, sequential, or parallel roles.</t>
              </li>
            </ul>
          </li>
        </ul>
        <t>This issue was taken into account when designing the YANG data model in <xref target="RFC8795"/> and the 'underlay' relationship has been properly defined to support navigation between overlay and underlay layers, as described in <xref section="2.3" sectionFormat="of" target="I-D.ietf-teas-te-topology-profiles"/>.</t>
        <t>Some guidelines on how to unambiguously use the supporting relationship, defined in <xref target="RFC8345"/>, and the 'underlay' relationship defined in <xref target="RFC8795"/>, have been clarified in <xref section="2.3.1" sectionFormat="of" target="I-D.ietf-teas-te-topology-profiles"/>.</t>
        <t>As outlined in REQ-BIDIR of <xref target="I-D.ietf-nmop-simap-concept"/>, a bidirectional link can be supported by two unidirectional links in the lower layer. For example, a Ethernet (bidirectional) link can be supported by two physical layer links associated with two unidirectional fibers.</t>
        <t>This relationship can be modelled using the link 'underlay' relationship, as shown in <xref target="fig-unidir-supporting-bidir-link"/>:</t>
        <figure anchor="fig-unidir-supporting-bidir-link">
          <name>Example of two unidirectional links supporting one bidirectional link</name>
          <artset>
            <artwork type="svg"><svg xmlns="http://www.w3.org/2000/svg" version="1.1" height="464" width="528" viewBox="0 0 528 464" class="diagram" text-anchor="middle" font-family="monospace" font-size="13px" stroke-linecap="round">
                <path d="M 8,32 L 8,192" fill="none" stroke="black"/>
                <path d="M 8,240 L 8,432" fill="none" stroke="black"/>
                <path d="M 24,48 L 24,176" fill="none" stroke="black"/>
                <path d="M 24,256 L 24,416" fill="none" stroke="black"/>
                <path d="M 128,80 L 128,144" fill="none" stroke="black"/>
                <path d="M 128,288 L 128,320" fill="none" stroke="black"/>
                <path d="M 128,352 L 128,384" fill="none" stroke="black"/>
                <path d="M 136,48 L 136,72" fill="none" stroke="black"/>
                <path d="M 136,152 L 136,176" fill="none" stroke="black"/>
                <path d="M 136,256 L 136,280" fill="none" stroke="black"/>
                <path d="M 136,328 L 136,344" fill="none" stroke="black"/>
                <path d="M 136,392 L 136,416" fill="none" stroke="black"/>
                <path d="M 152,32 L 152,72" fill="none" stroke="black"/>
                <path d="M 152,152 L 152,192" fill="none" stroke="black"/>
                <path d="M 152,240 L 152,280" fill="none" stroke="black"/>
                <path d="M 152,328 L 152,344" fill="none" stroke="black"/>
                <path d="M 152,392 L 152,432" fill="none" stroke="black"/>
                <path d="M 160,80 L 160,144" fill="none" stroke="black"/>
                <path d="M 160,288 L 160,320" fill="none" stroke="black"/>
                <path d="M 160,352 L 160,384" fill="none" stroke="black"/>
                <path d="M 224,96 L 224,120" fill="none" stroke="black"/>
                <path d="M 224,136 L 224,296" fill="none" stroke="black"/>
                <path d="M 304,128 L 304,296" fill="none" stroke="black"/>
                <path d="M 304,312 L 304,360" fill="none" stroke="black"/>
                <path d="M 368,80 L 368,144" fill="none" stroke="black"/>
                <path d="M 368,288 L 368,320" fill="none" stroke="black"/>
                <path d="M 368,352 L 368,384" fill="none" stroke="black"/>
                <path d="M 376,32 L 376,72" fill="none" stroke="black"/>
                <path d="M 376,152 L 376,192" fill="none" stroke="black"/>
                <path d="M 376,240 L 376,280" fill="none" stroke="black"/>
                <path d="M 376,328 L 376,344" fill="none" stroke="black"/>
                <path d="M 376,392 L 376,432" fill="none" stroke="black"/>
                <path d="M 392,48 L 392,72" fill="none" stroke="black"/>
                <path d="M 392,152 L 392,176" fill="none" stroke="black"/>
                <path d="M 392,256 L 392,280" fill="none" stroke="black"/>
                <path d="M 392,328 L 392,344" fill="none" stroke="black"/>
                <path d="M 392,392 L 392,416" fill="none" stroke="black"/>
                <path d="M 400,80 L 400,144" fill="none" stroke="black"/>
                <path d="M 400,288 L 400,320" fill="none" stroke="black"/>
                <path d="M 400,352 L 400,384" fill="none" stroke="black"/>
                <path d="M 504,48 L 504,176" fill="none" stroke="black"/>
                <path d="M 504,256 L 504,416" fill="none" stroke="black"/>
                <path d="M 520,32 L 520,192" fill="none" stroke="black"/>
                <path d="M 520,240 L 520,432" fill="none" stroke="black"/>
                <path d="M 8,32 L 152,32" fill="none" stroke="black"/>
                <path d="M 376,32 L 520,32" fill="none" stroke="black"/>
                <path d="M 24,48 L 136,48" fill="none" stroke="black"/>
                <path d="M 392,48 L 504,48" fill="none" stroke="black"/>
                <path d="M 128,80 L 160,80" fill="none" stroke="black"/>
                <path d="M 368,80 L 400,80" fill="none" stroke="black"/>
                <path d="M 160,96 L 360,96" fill="none" stroke="black"/>
                <path d="M 168,128 L 368,128" fill="none" stroke="black"/>
                <path d="M 128,144 L 160,144" fill="none" stroke="black"/>
                <path d="M 368,144 L 400,144" fill="none" stroke="black"/>
                <path d="M 24,176 L 136,176" fill="none" stroke="black"/>
                <path d="M 392,176 L 504,176" fill="none" stroke="black"/>
                <path d="M 8,192 L 152,192" fill="none" stroke="black"/>
                <path d="M 376,192 L 520,192" fill="none" stroke="black"/>
                <path d="M 8,240 L 152,240" fill="none" stroke="black"/>
                <path d="M 376,240 L 520,240" fill="none" stroke="black"/>
                <path d="M 24,256 L 136,256" fill="none" stroke="black"/>
                <path d="M 392,256 L 504,256" fill="none" stroke="black"/>
                <path d="M 128,288 L 160,288" fill="none" stroke="black"/>
                <path d="M 368,288 L 400,288" fill="none" stroke="black"/>
                <path d="M 160,304 L 360,304" fill="none" stroke="black"/>
                <path d="M 128,320 L 160,320" fill="none" stroke="black"/>
                <path d="M 368,320 L 400,320" fill="none" stroke="black"/>
                <path d="M 128,352 L 160,352" fill="none" stroke="black"/>
                <path d="M 368,352 L 400,352" fill="none" stroke="black"/>
                <path d="M 168,368 L 368,368" fill="none" stroke="black"/>
                <path d="M 128,384 L 160,384" fill="none" stroke="black"/>
                <path d="M 368,384 L 400,384" fill="none" stroke="black"/>
                <path d="M 24,416 L 136,416" fill="none" stroke="black"/>
                <path d="M 392,416 L 504,416" fill="none" stroke="black"/>
                <path d="M 8,432 L 152,432" fill="none" stroke="black"/>
                <path d="M 376,432 L 520,432" fill="none" stroke="black"/>
                <polygon class="arrowhead" points="368,304 356,298.4 356,309.6" fill="black" transform="rotate(0,360,304)"/>
                <polygon class="arrowhead" points="368,96 356,90.4 356,101.6" fill="black" transform="rotate(0,360,96)"/>
                <polygon class="arrowhead" points="312,360 300,354.4 300,365.6" fill="black" transform="rotate(90,304,360)"/>
                <polygon class="arrowhead" points="232,296 220,290.4 220,301.6" fill="black" transform="rotate(90,224,296)"/>
                <polygon class="arrowhead" points="176,368 164,362.4 164,373.6" fill="black" transform="rotate(180,168,368)"/>
                <polygon class="arrowhead" points="176,128 164,122.4 164,133.6" fill="black" transform="rotate(180,168,128)"/>
                <g class="text">
                  <text x="80" y="116">A</text>
                  <text x="144" y="116">TP1</text>
                  <text x="384" y="116">TP2</text>
                  <text x="448" y="116">B</text>
                  <text x="144" y="308">TP3</text>
                  <text x="384" y="308">TP4</text>
                  <text x="80" y="340">C</text>
                  <text x="448" y="340">D</text>
                  <text x="144" y="372">TP4</text>
                  <text x="384" y="372">TP5</text>
                </g>
              </svg>
            </artwork>
            <artwork type="ascii-art"><![CDATA[
    +-----------------+                           +-----------------+
    | +-------------+ |                           | +-------------+ |
    | |             | |                           | |             | |
    | |            +---+                         +---+            | |
    | |            |   +-------+---------------->|   |            | |
    | |      A     |TP1|       |                 |TP2|     B      | |
    | |            |   |<----------------+-------+   |            | |
    | |            +---+       |         |       +---+            | |
    | |             | |        |         |        | |             | |
    | +-------------+ |        |         |        | +-------------+ |
    +-----------------+        |         |        +-----------------+
                               |         |
                               |         |
    +-----------------+        |         |        +-----------------+
    | +-------------+ |        |         |        | +-------------+ |
    | |             | |        |         |        | |             | |
    | |            +---+       V         |       +---+            | |
    | |            |TP3+------------------------>|TP4|            | |
    | |            +---+                 |       +---+            | |
    | |      C      | |                  |        | |      D      | |
    | |            +---+                 V       +---+            | |
    | |            |TP4|<------------------------+TP5|            | |
    | |            +---+                         +---+            | |
    | |             | |                           | |             | |
    | +-------------+ |                           | +-------------+ |
    +-----------------+                           +-----------------+
]]></artwork>
          </artset>
        </figure>
        <t>Note: in this case each link is supported by a primary path composed by a single link.</t>
        <t>It is worth noting that modelling the bidirectional link is modelled as two unidirectional link instances allows also to unambiguously understand which unidirectional underlay link/path supports which direction (forward or reverse) of the overlay bidirectional link.
ls
## Multi-domain Links</t>
        <t>Multi-domain links can be represented as open-ended links on each topology instance and unambiguously associated as multi-domain links using either the remote node ID / link ID attribute or the inter-domain-plug-id, as described in <xref section="4.2" sectionFormat="of" target="RFC8795"/>.</t>
      </section>
    </section>
    <section anchor="design-considerations">
      <name>Design Considerations</name>
      <t>Reusing existing YANG data models to support multiple applications is a key enabler to achieve multi-vendor interoperability.</t>
      <t>A network controller needs to support multiple applications (some of which may not be defined at the time the network controller is defined) and different applications have different requirements on the data model they use internally to perform their tasks.</t>
      <t>Exposing application-specific data models at the northbound of a network controller appears making the application simpler to implement when it is the only application to be implemented on top of a given controller but results in more complex implementations for network controllers and the applications and increase complexity to achieve multi-vendor interoperability and integration.</t>
      <t><xref target="fig-as-dm"/> shows a case where a controller-A is interfacing an Application-1 through the application-specific data model designed for Application-1 (i.e., AS1-DM) and a controller-B is interfacing another Application-2 through the application-specific data model designed for Application-2 (i.e., AS2-DM).</t>
      <figure anchor="fig-as-dm">
        <name>Concerns with defining application-specific data models</name>
        <artset>
          <artwork type="svg"><svg xmlns="http://www.w3.org/2000/svg" version="1.1" height="352" width="528" viewBox="0 0 528 352" class="diagram" text-anchor="middle" font-family="monospace" font-size="13px" stroke-linecap="round">
              <path d="M 24,32 L 24,80" fill="none" stroke="black"/>
              <path d="M 24,240 L 24,272" fill="none" stroke="black"/>
              <path d="M 56,88 L 56,160" fill="none" stroke="black"/>
              <path d="M 88,32 L 88,80" fill="none" stroke="black"/>
              <path d="M 128,160 L 128,240" fill="none" stroke="black"/>
              <path d="M 168,32 L 168,80" fill="none" stroke="black"/>
              <path d="M 232,32 L 232,80" fill="none" stroke="black"/>
              <path d="M 232,240 L 232,272" fill="none" stroke="black"/>
              <path d="M 312,32 L 312,80" fill="none" stroke="black"/>
              <path d="M 312,240 L 312,272" fill="none" stroke="black"/>
              <path d="M 376,32 L 376,80" fill="none" stroke="black"/>
              <path d="M 416,160 L 416,240" fill="none" stroke="black"/>
              <path d="M 456,32 L 456,80" fill="none" stroke="black"/>
              <path d="M 488,88 L 488,160" fill="none" stroke="black"/>
              <path d="M 520,32 L 520,80" fill="none" stroke="black"/>
              <path d="M 520,240 L 520,272" fill="none" stroke="black"/>
              <path d="M 24,32 L 88,32" fill="none" stroke="black"/>
              <path d="M 168,32 L 232,32" fill="none" stroke="black"/>
              <path d="M 312,32 L 376,32" fill="none" stroke="black"/>
              <path d="M 456,32 L 520,32" fill="none" stroke="black"/>
              <path d="M 24,80 L 88,80" fill="none" stroke="black"/>
              <path d="M 168,80 L 232,80" fill="none" stroke="black"/>
              <path d="M 312,80 L 376,80" fill="none" stroke="black"/>
              <path d="M 456,80 L 520,80" fill="none" stroke="black"/>
              <path d="M 56,160 L 128,160" fill="none" stroke="black"/>
              <path d="M 416,160 L 488,160" fill="none" stroke="black"/>
              <path d="M 24,240 L 232,240" fill="none" stroke="black"/>
              <path d="M 312,240 L 520,240" fill="none" stroke="black"/>
              <path d="M 24,272 L 232,272" fill="none" stroke="black"/>
              <path d="M 312,272 L 520,272" fill="none" stroke="black"/>
              <path d="M 340,88 L 416,240" fill="none" stroke="black"/>
              <path d="M 128,240 L 204,88" fill="none" stroke="black"/>
              <polygon class="arrowhead" points="496,88 484,82.4 484,93.6" fill="black" transform="rotate(270,488,88)"/>
              <polygon class="arrowhead" points="348,88 336,82.4 336,93.6" fill="black" transform="rotate(243.43494882292202,340,88)"/>
              <polygon class="arrowhead" points="212,88 200,82.4 200,93.6" fill="black" transform="rotate(296.565051177078,204,88)"/>
              <polygon class="arrowhead" points="64,88 52,82.4 52,93.6" fill="black" transform="rotate(270,56,88)"/>
              <g class="text">
                <text x="56" y="52">APP-1</text>
                <text x="200" y="52">APP-2</text>
                <text x="344" y="52">APP-1</text>
                <text x="488" y="52">APP-2</text>
                <text x="52" y="68">(Core)</text>
                <text x="196" y="68">(Core)</text>
                <text x="340" y="68">(Core)</text>
                <text x="484" y="68">(Core)</text>
                <text x="208" y="132">???</text>
                <text x="336" y="132">???</text>
                <text x="92" y="196">AS1-DM</text>
                <text x="452" y="196">AS2-DM</text>
                <text x="132" y="260">Controller-A</text>
                <text x="420" y="260">Controller-B</text>
                <text x="28" y="308">Notes:</text>
                <text x="8" y="324">-</text>
                <text x="48" y="324">AS1-DM:</text>
                <text x="128" y="324">Application</text>
                <text x="184" y="324">1</text>
                <text x="224" y="324">(APP-1)</text>
                <text x="340" y="324">application-specific</text>
                <text x="444" y="324">data</text>
                <text x="488" y="324">model</text>
                <text x="8" y="340">-</text>
                <text x="48" y="340">AS2-DM:</text>
                <text x="128" y="340">Application</text>
                <text x="184" y="340">1</text>
                <text x="224" y="340">(APP-2)</text>
                <text x="340" y="340">application-specific</text>
                <text x="444" y="340">data</text>
                <text x="488" y="340">model</text>
              </g>
            </svg>
          </artwork>
          <artwork type="ascii-art"><![CDATA[
  +-------+         +-------+         +-------+         +-------+
  | APP-1 |         | APP-2 |         | APP-1 |         | APP-2 |
  |(Core) |         |(Core) |         |(Core) |         |(Core) |
  +-------+         +-------+         +-------+         +-------+
      ^                 ^                 ^                 ^
      |                /                   \                |
      |               / ???             ??? \               |
      |              /                       \              |
      +--------+    /                         \    +--------+
               |   /                           \   |
        AS1-DM |  /                             \  | AS2-DM
               | /                               \ |
               |/                                 \|
  +------------+------------+         +------------+------------+
  |       Controller-A      |         |       Controller-B      |
  +-------------------------+         +-------------------------+

Notes:
- AS1-DM: Application 1 (APP-1) application-specific data model
- AS2-DM: Application 1 (APP-2) application-specific data model
]]></artwork>
        </artset>
      </figure>
      <t>The two application-specific data models can provide the same information but with different formatting. For example, Application-1 may need to model bidirectional links as a single entity (link of type bidirectional) while Application-2 may need to model bidirectional links as two unidirectional links.</t>
      <t>This solution works well as long as Application-1 and controller-A are deployed in different silos than Application-2 and controller-B. Otherwise, operational and implementation issues have to be faces when there is the need to run Application-1 over network controller-B or, Application-2 over network controller-A.</t>
      <t>This would require the operator to negotiate with the vendor and controller vendors customized solutions before integrating a new application or a new controller in the network and increased complexity in the application and network controller implementations.</t>
      <t><xref target="fig-common-dm"/> describes an architecture based on a common and standardized data model to support multi-vendor integration.</t>
      <figure anchor="fig-common-dm">
        <name>Use of a common and standardized data model to support multi-vendor integration</name>
        <artset>
          <artwork type="svg"><svg xmlns="http://www.w3.org/2000/svg" version="1.1" height="512" width="552" viewBox="0 0 552 512" class="diagram" text-anchor="middle" font-family="monospace" font-size="13px" stroke-linecap="round">
              <path d="M 16,144 L 16,192" fill="none" stroke="black"/>
              <path d="M 24,32 L 24,80" fill="none" stroke="black"/>
              <path d="M 24,320 L 24,352" fill="none" stroke="black"/>
              <path d="M 56,88 L 56,136" fill="none" stroke="black"/>
              <path d="M 56,200 L 56,240" fill="none" stroke="black"/>
              <path d="M 88,32 L 88,80" fill="none" stroke="black"/>
              <path d="M 96,144 L 96,192" fill="none" stroke="black"/>
              <path d="M 128,240 L 128,320" fill="none" stroke="black"/>
              <path d="M 160,144 L 160,192" fill="none" stroke="black"/>
              <path d="M 168,32 L 168,80" fill="none" stroke="black"/>
              <path d="M 200,88 L 200,136" fill="none" stroke="black"/>
              <path d="M 200,200 L 200,240" fill="none" stroke="black"/>
              <path d="M 232,32 L 232,80" fill="none" stroke="black"/>
              <path d="M 232,320 L 232,352" fill="none" stroke="black"/>
              <path d="M 240,144 L 240,192" fill="none" stroke="black"/>
              <path d="M 304,144 L 304,192" fill="none" stroke="black"/>
              <path d="M 312,32 L 312,80" fill="none" stroke="black"/>
              <path d="M 312,320 L 312,352" fill="none" stroke="black"/>
              <path d="M 344,88 L 344,136" fill="none" stroke="black"/>
              <path d="M 344,200 L 344,240" fill="none" stroke="black"/>
              <path d="M 376,32 L 376,80" fill="none" stroke="black"/>
              <path d="M 384,144 L 384,192" fill="none" stroke="black"/>
              <path d="M 416,240 L 416,320" fill="none" stroke="black"/>
              <path d="M 448,144 L 448,192" fill="none" stroke="black"/>
              <path d="M 456,32 L 456,80" fill="none" stroke="black"/>
              <path d="M 488,88 L 488,136" fill="none" stroke="black"/>
              <path d="M 488,200 L 488,240" fill="none" stroke="black"/>
              <path d="M 520,32 L 520,80" fill="none" stroke="black"/>
              <path d="M 520,320 L 520,352" fill="none" stroke="black"/>
              <path d="M 528,144 L 528,192" fill="none" stroke="black"/>
              <path d="M 24,32 L 88,32" fill="none" stroke="black"/>
              <path d="M 168,32 L 232,32" fill="none" stroke="black"/>
              <path d="M 312,32 L 376,32" fill="none" stroke="black"/>
              <path d="M 456,32 L 520,32" fill="none" stroke="black"/>
              <path d="M 24,80 L 88,80" fill="none" stroke="black"/>
              <path d="M 168,80 L 232,80" fill="none" stroke="black"/>
              <path d="M 312,80 L 376,80" fill="none" stroke="black"/>
              <path d="M 456,80 L 520,80" fill="none" stroke="black"/>
              <path d="M 16,144 L 96,144" fill="none" stroke="black"/>
              <path d="M 160,144 L 240,144" fill="none" stroke="black"/>
              <path d="M 304,144 L 384,144" fill="none" stroke="black"/>
              <path d="M 448,144 L 528,144" fill="none" stroke="black"/>
              <path d="M 16,192 L 96,192" fill="none" stroke="black"/>
              <path d="M 160,192 L 240,192" fill="none" stroke="black"/>
              <path d="M 304,192 L 384,192" fill="none" stroke="black"/>
              <path d="M 448,192 L 528,192" fill="none" stroke="black"/>
              <path d="M 232,224 L 312,224" fill="none" stroke="black"/>
              <path d="M 56,240 L 200,240" fill="none" stroke="black"/>
              <path d="M 344,240 L 488,240" fill="none" stroke="black"/>
              <path d="M 232,272 L 312,272" fill="none" stroke="black"/>
              <path d="M 24,320 L 232,320" fill="none" stroke="black"/>
              <path d="M 312,320 L 520,320" fill="none" stroke="black"/>
              <path d="M 24,352 L 232,352" fill="none" stroke="black"/>
              <path d="M 312,352 L 520,352" fill="none" stroke="black"/>
              <path d="M 212,248 L 224,272" fill="none" stroke="black"/>
              <path d="M 320,224 L 332,248" fill="none" stroke="black"/>
              <path d="M 212,248 L 224,224" fill="none" stroke="black"/>
              <path d="M 320,272 L 332,248" fill="none" stroke="black"/>
              <polygon class="arrowhead" points="496,200 484,194.4 484,205.6" fill="black" transform="rotate(270,488,200)"/>
              <polygon class="arrowhead" points="496,88 484,82.4 484,93.6" fill="black" transform="rotate(270,488,88)"/>
              <polygon class="arrowhead" points="352,200 340,194.4 340,205.6" fill="black" transform="rotate(270,344,200)"/>
              <polygon class="arrowhead" points="352,88 340,82.4 340,93.6" fill="black" transform="rotate(270,344,88)"/>
              <polygon class="arrowhead" points="208,200 196,194.4 196,205.6" fill="black" transform="rotate(270,200,200)"/>
              <polygon class="arrowhead" points="208,88 196,82.4 196,93.6" fill="black" transform="rotate(270,200,88)"/>
              <polygon class="arrowhead" points="64,200 52,194.4 52,205.6" fill="black" transform="rotate(270,56,200)"/>
              <polygon class="arrowhead" points="64,88 52,82.4 52,93.6" fill="black" transform="rotate(270,56,88)"/>
              <g class="text">
                <text x="56" y="52">APP-1</text>
                <text x="200" y="52">APP-2</text>
                <text x="344" y="52">APP-1</text>
                <text x="488" y="52">APP-2</text>
                <text x="52" y="68">(Core)</text>
                <text x="196" y="68">(Core)</text>
                <text x="340" y="68">(Core)</text>
                <text x="484" y="68">(Core)</text>
                <text x="92" y="116">AS1-DM</text>
                <text x="164" y="116">AS2-DM</text>
                <text x="380" y="116">AS1-DM</text>
                <text x="452" y="116">AS2-DM</text>
                <text x="56" y="164">APP-1</text>
                <text x="200" y="164">APP-2</text>
                <text x="344" y="164">APP-1</text>
                <text x="488" y="164">APP-2</text>
                <text x="56" y="180">(DM-Map1)</text>
                <text x="204" y="180">(DM-Map)</text>
                <text x="348" y="180">(DM-Map)</text>
                <text x="488" y="180">(DM-Map2)</text>
                <text x="276" y="244">Common</text>
                <text x="276" y="260">Standard</text>
                <text x="76" y="276">NBI-DM</text>
                <text x="380" y="276">NBI-DM</text>
                <text x="132" y="340">Controller-A</text>
                <text x="420" y="340">Controller-B</text>
                <text x="28" y="388">Notes:</text>
                <text x="8" y="404">-</text>
                <text x="48" y="404">AS1-DM:</text>
                <text x="128" y="404">Application</text>
                <text x="184" y="404">1</text>
                <text x="224" y="404">(APP-1)</text>
                <text x="340" y="404">application-specific</text>
                <text x="444" y="404">data</text>
                <text x="488" y="404">model</text>
                <text x="8" y="420">-</text>
                <text x="48" y="420">AS2-DM:</text>
                <text x="128" y="420">Application</text>
                <text x="184" y="420">1</text>
                <text x="224" y="420">(APP-2)</text>
                <text x="340" y="420">application-specific</text>
                <text x="444" y="420">data</text>
                <text x="488" y="420">model</text>
                <text x="8" y="436">-</text>
                <text x="32" y="436">NBI</text>
                <text x="64" y="436">DM:</text>
                <text x="116" y="436">Standard</text>
                <text x="172" y="436">data</text>
                <text x="216" y="436">model</text>
                <text x="272" y="436">exposed</text>
                <text x="316" y="436">by</text>
                <text x="348" y="436">both</text>
                <text x="400" y="436">network</text>
                <text x="480" y="436">controllers</text>
                <text x="8" y="452">-</text>
                <text x="52" y="452">DM-Map1:</text>
                <text x="136" y="452">Application</text>
                <text x="220" y="452">specific</text>
                <text x="276" y="452">data</text>
                <text x="320" y="452">model</text>
                <text x="372" y="452">mapper</text>
                <text x="432" y="452">between</text>
                <text x="480" y="452">the</text>
                <text x="512" y="452">NBI</text>
                <text x="540" y="452">DM</text>
                <text x="32" y="468">and</text>
                <text x="64" y="468">the</text>
                <text x="108" y="468">AS1-DM</text>
                <text x="8" y="484">-</text>
                <text x="52" y="484">DM-Map2:</text>
                <text x="136" y="484">Application</text>
                <text x="220" y="484">specific</text>
                <text x="276" y="484">data</text>
                <text x="320" y="484">model</text>
                <text x="372" y="484">mapper</text>
                <text x="432" y="484">between</text>
                <text x="480" y="484">the</text>
                <text x="512" y="484">NBI</text>
                <text x="540" y="484">DM</text>
                <text x="32" y="500">and</text>
                <text x="64" y="500">the</text>
                <text x="108" y="500">AS2-DM</text>
              </g>
            </svg>
          </artwork>
          <artwork type="ascii-art"><![CDATA[
  +-------+         +-------+         +-------+         +-------+
  | APP-1 |         | APP-2 |         | APP-1 |         | APP-2 |
  |(Core) |         |(Core) |         |(Core) |         |(Core) |
  +-------+         +-------+         +-------+         +-------+
      ^                 ^                 ^                 ^
      | AS1-DM   AS2-DM |                 | AS1-DM   AS2-DM |
      |                 |                 |                 |
 +---------+       +---------+       +---------+       +---------+
 |  APP-1  |       |  APP-2  |       |  APP-1  |       |  APP-2  |
 |(DM-Map1)|       | (DM-Map)|       | (DM-Map)|       |(DM-Map2)|
 +---------+       +---------+       +---------+       +---------+
      ^                 ^                 ^                 ^
      |                 |  /-----------\  |                 |
      +--------+--------+ /    Common   \ +--------+--------+
               |          \   Standard  /          |
      NBI-DM   |           \-----------/    NBI-DM |
               |                                   |
               |                                   |
  +------------+------------+         +------------+------------+
  |       Controller-A      |         |       Controller-B      |
  +-------------------------+         +-------------------------+

Notes:
- AS1-DM: Application 1 (APP-1) application-specific data model
- AS2-DM: Application 1 (APP-2) application-specific data model
- NBI DM: Standard data model exposed by both network controllers
- DM-Map1: Application specific data model mapper between the NBI DM
  and the AS1-DM
- DM-Map2: Application specific data model mapper between the NBI DM
  and the AS2-DM
]]></artwork>
        </artset>
      </figure>
      <t>In this case, the data model exposed by network controllers (e.g., controller-A and controller-B) is the same and each application needs to translate/map the standardized data model exposed by the network controller to its own application-specific data model.</t>
      <t>Following this approach an existing application (e.g., Application-1) can be ported from one controller to another controller (e.g., from controller-A to controller-B) ideally with no change and additional testing.</t>
      <t>Reusing RFC8795 YANG data model for SIMAP applications will allow TE and SIMAP application to co-exist on top of the same network controller, allowing seamless migration from network scenarios supporting only on of these application to network scenarios where both applications are supported at the same time or even scenarios where either or both applications are supported together with new applications not yet defined.</t>
    </section>
    <section anchor="security-considerations">
      <name>Security Considerations</name>
      <t>TODO Security</t>
    </section>
    <section anchor="iana-considerations">
      <name>IANA Considerations</name>
      <t>This document has no IANA actions.</t>
    </section>
  </middle>
  <back>
    <references anchor="sec-combined-references">
      <name>References</name>
      <references anchor="sec-normative-references">
        <name>Normative References</name>
        <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>
        <reference anchor="RFC8345">
          <front>
            <title>A YANG Data Model for Network Topologies</title>
            <author fullname="A. Clemm" initials="A." surname="Clemm"/>
            <author fullname="J. Medved" initials="J." surname="Medved"/>
            <author fullname="R. Varga" initials="R." surname="Varga"/>
            <author fullname="N. Bahadur" initials="N." surname="Bahadur"/>
            <author fullname="H. Ananthakrishnan" initials="H." surname="Ananthakrishnan"/>
            <author fullname="X. Liu" initials="X." surname="Liu"/>
            <date month="March" year="2018"/>
            <abstract>
              <t>This document defines an abstract (generic, or base) YANG data model for network/service topologies and inventories. The data model serves as a base model that is augmented with technology-specific details in other, more specific topology and inventory data models.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8345"/>
          <seriesInfo name="DOI" value="10.17487/RFC8345"/>
        </reference>
      </references>
      <references anchor="sec-informative-references">
        <name>Informative References</name>
        <reference anchor="I-D.ietf-nmop-simap-concept">
          <front>
            <title>SIMAP: Concept, Requirements, and Use Cases</title>
            <author fullname="Olga Havel" initials="O." surname="Havel">
              <organization>Huawei</organization>
            </author>
            <author fullname="Benoît Claise" initials="B." surname="Claise">
              <organization>Everything OPS</organization>
            </author>
            <author fullname="Oscar Gonzalez de Dios" initials="O. G." surname="de Dios">
              <organization>Telefonica</organization>
            </author>
            <author fullname="Thomas Graf" initials="T." surname="Graf">
              <organization>Swisscom</organization>
            </author>
            <date day="23" month="February" year="2026"/>
            <abstract>
              <t>   This document defines the concept of Service &amp; Infrastructure Maps
   (SIMAP) and identifies a set of SIMAP requirements and use cases.
   The SIMAP was previously known as Digital Map.

   The document intends to be used as a reference for the assessment of
   the various topology modules to meet SIMAP requirements.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-nmop-simap-concept-08"/>
        </reference>
        <reference anchor="I-D.ietf-teas-te-topology-profiles">
          <front>
            <title>Profiles for Traffic Engineering (TE) Topology Data Model and Applicability to non-TE-centric Use Cases</title>
            <author fullname="Italo Busi" initials="I." surname="Busi">
              <organization>Huawei</organization>
            </author>
            <author fullname="Xufeng Liu" initials="X." surname="Liu">
              <organization>Alef Edge</organization>
            </author>
            <author fullname="Igor Bryskin" initials="I." surname="Bryskin">
              <organization>Individual</organization>
            </author>
            <author fullname="Tarek Saad" initials="T." surname="Saad">
              <organization>Cisco Systems Inc</organization>
            </author>
            <author fullname="Oscar Gonzalez de Dios" initials="O. G." surname="de Dios">
              <organization>Telefonica</organization>
            </author>
            <date day="2" month="March" year="2026"/>
            <abstract>
              <t>   This document describes how profiles of the Topology YANG data model,
   defined in RFC8795, can be used to address applications in Traffic
   Engineering aware (TE-aware) deployments, irrespective of whether
   they are TE-centric or not.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-teas-te-topology-profiles-05"/>
        </reference>
        <reference anchor="I-D.havel-nmop-simap-yang">
          <front>
            <title>A YANG Data Model for SIMAP</title>
            <author fullname="Olga Havel" initials="O." surname="Havel">
              <organization>Huawei</organization>
            </author>
            <author fullname="Nigel Davis" initials="N." surname="Davis">
              <organization>Ciena</organization>
            </author>
            <author fullname="Benoît Claise" initials="B." surname="Claise">
              <organization>Huawei</organization>
            </author>
            <author fullname="Oscar Gonzalez de Dios" initials="O. G." surname="de Dios">
              <organization>Telefonica</organization>
            </author>
            <author fullname="Thomas Graf" initials="T." surname="Graf">
              <organization>Swisscom</organization>
            </author>
            <date day="20" month="October" year="2025"/>
            <abstract>
              <t>   This document defines a YANG data model for Service &amp; Infrastructure
   Maps (SIMAP).  It extends the RFC8345 YANG modules to support all
   SIMAP requirements.  This document will only focus on modelling
   proposal for each of the requirements not supported by RFC8345.  Any
   related terminology, concepts, use cases and requirements are defined
   outside of this draft and this draft will only refer to them, analyze
   how to model and propose the implementation solutions.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-havel-nmop-simap-yang-01"/>
        </reference>
      </references>
    </references>
    <?line 297?>

<section anchor="example-of-deviation-statements">
      <name>Example of deviation statements</name>
      <t><xref target="I-D.ietf-teas-te-topology-profiles"/> notes that existing implementations of <xref target="RFC8795"/> have described the implemented profiled by manually pruning/profiling the YANG tree generated fom the YANG module defined in <xref target="RFC8795"/> and those pruned/profiled YANG trees provided sufficient input for the implementers to generate proper APIs.</t>
      <t>However, <xref target="I-D.ietf-teas-te-topology-profiles"/> is also exploring the possibility to use the YANG deviation statements to programmatically generate pruned/profiled YANG trees.</t>
      <t>An example of a YANG deviation module for SIMAP applications is provided below.</t>
      <figure anchor="fig-deviation-yang">
        <name>Example of SIMA deviation YANG module</name>
        <sourcecode type="yang" name="ietf-simap-deviation-example@2026-02-12.yang"><![CDATA[
module ietf-simap-deviation-example {
  yang-version 1.1;
  namespace "https://example.com/ns/ietf-simap-deviation-example";
  prefix simapd;

  import ietf-network {
    prefix nw;
    reference
      "RFC 8345: A YANG Data Model for Network Topologies";
  }
  import ietf-network-topology {
    prefix nt;
    reference
      "RFC 8345: A YANG Data Model for Network Topologies";
  }
  import ietf-te-topology {
    prefix tet;
    reference
      "RFC 8795: YANG Data Model for Traffic Engineering (TE)
                 Topologies";
  }

  organization
    "Network Management Operations (NMOP) Working Group";
  contact
    "WG Web:   <https://datatracker.ietf.org/group/nmop/>
     WG List:  <mailto:nmop@ietf.org>

     Editor:   Italo Busi
               <Italo.Busi@huawei.com>";
  description
    "This module defines an example of a YANG data model containing
     the YANG deviation statements to support the implementation of
     the SIMAP YANG data model re-using a sub-set of the TE topology
     model.

     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-02 {
    description
      "Initial version";
    reference
      "RFC XXXX: Applicability of existing YANG data models to
                 SIMAP";
  }

  /*
   * Deviations
   */

  deviation "/nw:networks/tet:te" {
    description
      "SIMAP implementations are not required to implement TE
       templates.";
    deviate not-supported;
  }

  deviation "/nw:networks/nw:network/tet:te-topology-identifier" {
    description
      "SIMAP implementations are not required to implement TE
       topology identifiers.";
    deviate not-supported;
  }

  deviation "/nw:networks/nw:network/tet:te" {
    description
      "SIMAP implementations are not required to implement the
       augmentation for TE topologies.";
    deviate not-supported;
  }

  deviation "/nw:networks/nw:network/nw:node/tet:te-node-id" {
    description
      "SIMAP implementations are not required to implement TE node
       identifiers.";
    deviate not-supported;
  }

  deviation "/nw:networks/nw:network/nw:node/tet:te" {
    description
      "SIMAP implementations are not required to implement TE node
       identifiers.";
    deviate delete {
      must '../te-node-id';
    }
  }

  deviation "/nw:networks/nw:network/nw:node/tet:te"
          + "/tet:te-node-template" {
    description
      "SIMAP implementations are not required to implement TE node
       templates.";
    deviate not-supported;
  }

  deviation "/nw:networks/nw:network/nw:node/tet:te"
          + "/tet:te-node-attributes/tet:admin-status" {
    description
      "SIMAP implementations are not required to implement the TE
       node administrative status.";
    deviate not-supported;
  }

  deviation "/nw:networks/nw:network/nw:node/tet:te"
          + "/tet:te-node-attributes/tet:connectivity-matrices"
          + "/tet:label-restrictions" {
    description
      "SIMAP implementations are not required to implement the label
       restrictions for the connectivity matrix.";
    deviate not-supported;
  }

  deviation "/nw:networks/nw:network/nw:node/tet:te"
          + "/tet:te-node-attributes/tet:connectivity-matrices"
          + "/tet:underlay" {
    description
      "SIMAP implementations are not required to implement the
       underlay paths for the connectivity matrix.";
    deviate not-supported;
  }

  deviation "/nw:networks/nw:network/nw:node/tet:te"
          + "/tet:te-node-attributes/tet:connectivity-matrices"
          + "/tet:path-constraints" {
    description
      "SIMAP implementations are not required to implement the
       path constraints for the connectivity matrix.";
    deviate not-supported;
  }

  deviation "/nw:networks/nw:network/nw:node/tet:te"
          + "/tet:te-node-attributes/tet:connectivity-matrices"
          + "/tet:optimizations" {
    description
      "SIMAP implementations are not required to implement the
       path optimizations for the connectivity matrix.";
    deviate not-supported;
  }

  deviation "/nw:networks/nw:network/nw:node/tet:te"
          + "/tet:te-node-attributes/tet:connectivity-matrices"
          + "/tet:tiebreaker" {
    description
      "SIMAP implementations are not required to implement the
       tiebreaker for the connectivity matrix.";
    deviate not-supported;
  }

  deviation "/nw:networks/nw:network/nw:node/tet:te"
          + "/tet:te-node-attributes/tet:connectivity-matrices"
          + "/tet:path-properties" {
    description
      "SIMAP implementations are not required to implement the
       path properties for the connectivity matrix.";
    deviate not-supported;
  }

  deviation "/nw:networks/nw:network/nw:node/tet:te"
          + "/tet:te-node-attributes/tet:connectivity-matrices"
          + "/tet:connectivity-matrix/tet:from"
          + "/tet:label-restrictions" {
    description
      "SIMAP implementations are not required to implement the label
       restrictions for the connectivity matrix.";
    deviate not-supported;
  }

  deviation "/nw:networks/nw:network/nw:node/tet:te"
          + "/tet:te-node-attributes/tet:connectivity-matrices"
          + "/tet:connectivity-matrix/tet:to"
          + "/tet:label-restrictions" {
    description
      "SIMAP implementations are not required to implement the label
       restrictions for the connectivity matrix.";
    deviate not-supported;
  }

  deviation "/nw:networks/nw:network/nw:node/tet:te"
          + "/tet:te-node-attributes/tet:connectivity-matrices"
          + "/tet:connectivity-matrix/tet:underlay" {
    description
      "SIMAP implementations are not required to implement the
       underlay paths for the connectivity matrix.";
    deviate not-supported;
  }

  deviation "/nw:networks/nw:network/nw:node/tet:te"
          + "/tet:te-node-attributes/tet:connectivity-matrices"
          + "/tet:connectivity-matrix/tet:path-constraints" {
    description
      "SIMAP implementations are not required to implement the
       path constraints for the connectivity matrix.";
    deviate not-supported;
  }

  deviation "/nw:networks/nw:network/nw:node/tet:te"
          + "/tet:te-node-attributes/tet:connectivity-matrices"
          + "/tet:connectivity-matrix/tet:optimizations" {
    description
      "SIMAP implementations are not required to implement the
       path optimizations for the connectivity matrix.";
    deviate not-supported;
  }

  deviation "/nw:networks/nw:network/nw:node/tet:te"
          + "/tet:te-node-attributes/tet:connectivity-matrices"
          + "/tet:connectivity-matrix/tet:tiebreaker" {
    description
      "SIMAP implementations are not required to implement the
       tiebreaker for the connectivity matrix.";
    deviate not-supported;
  }

  deviation "/nw:networks/nw:network/nw:node/tet:te"
          + "/tet:te-node-attributes/tet:connectivity-matrices"
          + "/tet:connectivity-matrix/tet:path-properties" {
    description
      "SIMAP implementations are not required to implement the
       path properties for the connectivity matrix.";
    deviate not-supported;
  }

  deviation "/nw:networks/nw:network/nw:node/tet:te"
          + "/tet:te-node-attributes/tet:signaling-address" {
    description
      "SIMAP implementations are not required to implement the
       node's signaling address.";
    deviate not-supported;
  }

  deviation "/nw:networks/nw:network/nw:node/tet:te"
          + "/tet:geolocation" {
    description
      "SIMAP implementations are not required to implement the
       node's geolocation.";
    deviate not-supported;
  }

  deviation "/nw:networks/nw:network/nw:node/tet:te"
          + "/tet:is-multi-access-dr" {
    description
      "SIMAP implementations are not required to implement the
       designated router information.";
    deviate not-supported;
  }

  deviation "/nw:networks/nw:network/nw:node/tet:te"
          + "/tet:information-source" {
    description
      "SIMAP implementations are not required to implement the
       node's information source (to be confirmed).";
    deviate not-supported;
  }

  deviation "/nw:networks/nw:network/nw:node/tet:te"
          + "/tet:information-source-instance" {
    description
      "SIMAP implementations are not required to implement the
       node's information source (to be confirmed).";
    deviate not-supported;
  }

  deviation "/nw:networks/nw:network/nw:node/tet:te"
          + "/tet:information-source-state" {
    description
      "SIMAP implementations are not required to implement the
       node's information source (to be confirmed).";
    deviate not-supported;
  }

  deviation "/nw:networks/nw:network/nw:node/tet:te"
          + "/tet:information-source-entry" {
    description
      "SIMAP implementations are not required to implement the
       node's information source (to be confirmed).";
    deviate not-supported;
  }

  deviation "/nw:networks/nw:network/nw:node/tet:te"
          + "/tet:statistics" {
    description
      "SIMAP implementations are not required to implement the
       node's statistics (to be confirmed).";
    deviate not-supported;
  }

  deviation "/nw:networks/nw:network/nw:node/tet:te"
          + "/tet:tunnel-termination-point" {
    description
      "SIMAP implementations are not required to implement the
       tunnel termination points (to be confirmed).";
    deviate not-supported;
  }

  deviation "/nw:networks/nw:network/nt:link/tet:te"
          + "/tet:bundle-stack-level/tet:component" {
    description
      "SIMAP implementations are not required to implement the
       bundle links as a set of component interfaces.";
    deviate not-supported;
  }

  deviation "/nw:networks/nw:network/nt:link/tet:te"
          + "/tet:te-link-template" {
    description
      "SIMAP implementations are not required to implement the
       TE link templates.";
    deviate not-supported;
  }

  deviation "/nw:networks/nw:network/nt:link/tet:te"
          + "/tet:te-link-attributes/tet:underlay/tet:primary-path"
          + "/tet:path-element/tet:type/tet:label" {
    description
      "SIMAP implementations are not required to implement the
       label hop.";
    deviate not-supported;
  }

  deviation "/nw:networks/nw:network/nt:link/tet:te"
          + "/tet:te-link-attributes/tet:underlay/tet:primary-path"
          + "/tet:path-element/tet:type/tet:as-number" {
    description
      "SIMAP implementations are not required to implement the
       AS hop.";
    deviate not-supported;
  }

  deviation "/nw:networks/nw:network/nt:link/tet:te"
          + "/tet:te-link-attributes/tet:underlay/tet:backup-path"
          + "/tet:path-element/tet:type/tet:label" {
    description
      "SIMAP implementations are not required to implement the
       label hop.";
    deviate not-supported;
  }

  deviation "/nw:networks/nw:network/nt:link/tet:te"
          + "/tet:te-link-attributes/tet:underlay/tet:backup-path"
          + "/tet:path-element/tet:type/tet:as-number" {
    description
      "SIMAP implementations are not required to implement the
       AS hop.";
    deviate not-supported;
  }

  deviation "/nw:networks/nw:network/nt:link/tet:te"
          + "/tet:te-link-attributes/tet:underlay/"
          + "tet:protection-type" {
    description
      "SIMAP implementations are not required to implement the
       protection type for the backup paths of a link.";
    deviate not-supported;
  }

  deviation "/nw:networks/nw:network/nt:link/tet:te"
          + "/tet:te-link-attributes/tet:underlay"
          + "/tet:tunnel-termination-points" {
    description
      "SIMAP implementations are not required to implement the
       underlay tunnel termination points of a link
       (to be confirmed).";
    deviate not-supported;
  }

  deviation "/nw:networks/nw:network/nt:link/tet:te"
          + "/tet:te-link-attributes/tet:underlay"
          + "/tet:tunnels" {
    description
      "SIMAP implementations are not required to implement the
       underlay tunnels of a link (to be confirmed).";
    deviate not-supported;
  }

  deviation "/nw:networks/nw:network/nt:link/tet:te"
          + "/tet:te-link-attributes/tet:admin-status" {
    description
      "SIMAP implementations are not required to implement the
       administrative status of a link.";
    deviate not-supported;
  }

  deviation "/nw:networks/nw:network/nt:link/tet:te"
          + "/tet:te-link-attributes/tet:link-index" {
    description
      "SIMAP implementations are not required to implement the
       link identifier.";
    deviate not-supported;
  }

  deviation "/nw:networks/nw:network/nt:link/tet:te"
          + "/tet:te-link-attributes/tet:administrative-group" {
    description
      "SIMAP implementations are not required to implement the
       administrative groups of a link.";
    deviate not-supported;
  }

  deviation "/nw:networks/nw:network/nt:link/tet:te"
          + "/tet:te-link-attributes"
          + "/tet:interface-switching-capability"
          + "/tet:max-lsp-bandwidth" {
    description
      "SIMAP implementations are not required to implement the
       maximum LSP bandwidth.";
    deviate not-supported;
  }

  deviation "/nw:networks/nw:network/nt:link/tet:te"
          + "/tet:te-link-attributes/tet:label-restrictions" {
    description
      "SIMAP implementations are not required to implement the
       label restrictions of a link.";
    deviate not-supported;
  }

  deviation "/nw:networks/nw:network/nt:link/tet:te"
          + "/tet:te-link-attributes/tet:link-protection-type" {
    description
      "SIMAP implementations are not required to implement the
       link protection type.";
    deviate not-supported;
  }

  deviation "/nw:networks/nw:network/nt:link/tet:te"
          + "/tet:te-link-attributes/tet:max-link-bandwidth" {
    description
      "SIMAP implementations are not required to implement the
       bandwidth information (capacity) of a link.";
    deviate not-supported;
  }

  deviation "/nw:networks/nw:network/nt:link/tet:te"
          + "/tet:te-link-attributes/tet:max-resv-link-bandwidth" {
    description
      "SIMAP implementations are not required to implement the
       bandwidth information (capacity) of a link.";
    deviate not-supported;
  }

  deviation "/nw:networks/nw:network/nt:link/tet:te"
          + "/tet:te-link-attributes/tet:unreserved-bandwidth" {
    description
      "SIMAP implementations are not required to implement the
       bandwidth information (capacity) of a link.";
    deviate not-supported;
  }

  deviation "/nw:networks/nw:network/nt:link/tet:te"
          + "/tet:te-link-attributes/tet:te-default-metric" {
    description
      "SIMAP implementations are not required to implement the
       TE default metric of a link (to be confirmed).";
    deviate not-supported;
  }

  deviation "/nw:networks/nw:network/nt:link/tet:te"
          + "/tet:te-link-attributes/tet:te-delay-metric" {
    description
      "SIMAP implementations are not required to implement the
       delay of a link (to be confirmed).";
    deviate not-supported;
  }

  deviation "/nw:networks/nw:network/nt:link/tet:te"
          + "/tet:te-link-attributes/tet:te-igp-metric" {
    description
      "SIMAP implementations are not required to implement the
       IGP metric of a link (to be confirmed).";
    deviate not-supported;
  }

  deviation "/nw:networks/nw:network/nt:link/tet:te"
          + "/tet:te-link-attributes/tet:te-srlgs" {
    description
      "SIMAP implementations are not required to implement the
       Shared Risk Link Groups (SRLGs) of a link (to be confirmed).";
    deviate not-supported;
  }

  deviation "/nw:networks/nw:network/nt:link/tet:te"
          + "/tet:te-link-attributes/tet:te-nsrlgs" {
    description
      "SIMAP implementations are not required to implement the
       Non-Shared Risk Link Groups (NSRLGs) of a link
       (to be confirmed).";
    deviate not-supported;
  }

  deviation "/nw:networks/nw:network/nt:link/tet:te"
          + "/tet:information-source" {
    description
      "SIMAP implementations are not required to implement the
       link's information source (to be confirmed).";
    deviate not-supported;
  }

  deviation "/nw:networks/nw:network/nt:link/tet:te"
          + "/tet:information-source-instance" {
    description
      "SIMAP implementations are not required to implement the
       link's information source (to be confirmed).";
    deviate not-supported;
  }

  deviation "/nw:networks/nw:network/nt:link/tet:te"
          + "/tet:information-source-state" {
    description
      "SIMAP implementations are not required to implement the
       link's information source (to be confirmed).";
    deviate not-supported;
  }

  deviation "/nw:networks/nw:network/nt:link/tet:te"
          + "/tet:information-source-entry" {
    description
      "SIMAP implementations are not required to implement the
       link's information source (to be confirmed).";
    deviate not-supported;
  }

  deviation "/nw:networks/nw:network/nt:link/tet:te"
          + "/tet:recovery" {
    description
      "SIMAP implementations are not required to report the status
       of the recovery process on a link.";
    deviate not-supported;
  }

  deviation "/nw:networks/nw:network/nt:link/tet:te"
          + "/tet:underlay" {
    description
      "SIMAP implementations are not required to report the state
       attributes for the TE link underlay.";
    deviate not-supported;
  }

  deviation "/nw:networks/nw:network/nt:link/tet:te"
          + "/tet:statistics" {
    description
      "SIMAP implementations are not required to implement the
       link's statistics (to be confirmed).";
    deviate not-supported;
  }

  deviation "/nw:networks/nw:network/nw:node/nt:termination-point"
          + "/tet:te-tp-id" {
    description
      "SIMAP implementations are not required to implement TE
       termination point identifier.";
    deviate not-supported;
  }

  deviation "/nw:networks/nw:network/nw:node/nt:termination-point"
          + "/tet:te" {
    description
      "SIMAP implementations are not required to implement TE
       termination point identifier.";
    deviate delete {
      must '../te-tp-id';
    }
  }

  deviation "/nw:networks/nw:network/nw:node/nt:termination-point"
          + "/tet:te/tet:admin-status" {
    description
      "SIMAP implementations are not required to implement the
       administrative status of a termination point.";
    deviate not-supported;
  }

  deviation "/nw:networks/nw:network/nw:node/nt:termination-point"
          + "/tet:te/tet:interface-switching-capability" {
    description
      "SIMAP implementations are not required to report the
       'interface-switching-capability' on the termination points.";
    deviate not-supported;
  }

  deviation "/nw:networks/nw:network/nw:node/nt:termination-point"
          + "/tet:te/tet:inter-layer-lock-id" {
    description
      "SIMAP implementations are not required to implement the
       inter-layer lock-id (to be confirmed).";
    deviate not-supported;
  }

  deviation "/nw:networks/nw:network/nw:node/nt:termination-point"
          + "/tet:te/tet:geolocation" {
    description
      "SIMAP implementations are not required to implement the
       geolocation of a termination point.";
    deviate not-supported;
  }
}
]]></sourcecode>
      </figure>
      <t>The pruned/profiled YANG tree, generated using 'pyang' tool, is provided below:</t>
      <artwork type="ascii-art"><![CDATA[
module: ietf-network
  +--rw networks
     +--rw network* [network-id]
        +--rw network-id            network-id
        +--rw network-types
        |  +--rw tet:te-topology!
        +--rw supporting-network* [network-ref]
        |  +--rw network-ref    -> /networks/network/network-id
        +--rw node* [node-id]
        |  +--rw node-id                 node-id
        |  +--rw supporting-node* [network-ref node-ref]
        |  |  +--rw network-ref
        |  |  |       -> ../../../supporting-network/network-ref
        |  |  +--rw node-ref       -> /networks/network/node/node-id
        |  +--rw nt:termination-point* [tp-id]
        |  |  +--rw nt:tp-id                           tp-id
        |  |  +--rw nt:supporting-termination-point*
        |  |  |       [network-ref node-ref tp-ref]
        |  |  |  +--rw nt:network-ref
        |  |  |  |       -> ../../../nw:supporting-node/network-ref
        |  |  |  +--rw nt:node-ref
        |  |  |  |       -> ../../../nw:supporting-node/node-ref
        |  |  |  +--rw nt:tp-ref         leafref
        |  |  +--rw tet:te!
        |  |     +--rw tet:name?                   string
        |  |     +--rw tet:inter-domain-plug-id?   binary
        |  |     +--ro tet:oper-status?
        |  |             te-types:te-oper-status
        |  +--rw tet:te!
        |     +--rw tet:te-node-attributes
        |     |  +--rw tet:connectivity-matrices
        |     |  |  +--rw tet:number-of-entries?     uint16
        |     |  |  +--rw tet:is-allowed?            boolean
        |     |  |  +--rw tet:connectivity-matrix* [id]
        |     |  |     +--rw tet:id            uint32
        |     |  |     +--rw tet:from
        |     |  |     |  +--rw tet:tp-ref?   leafref
        |     |  |     +--rw tet:to
        |     |  |     |  +--rw tet:tp-ref?   leafref
        |     |  |     +--rw tet:is-allowed?   boolean
        |     |  +--rw tet:domain-id?               uint32
        |     |  +--rw tet:is-abstract?             empty
        |     |  +--rw tet:name?                    string
        |     |  +--rw tet:underlay-topology {te-topology-hierarchy}?
        |     |     +--rw tet:network-ref?
        |     |             -> /nw:networks/network/network-id
        |     +--ro tet:oper-status?          te-types:te-oper-status
        +--rw nt:link* [link-id]
           +--rw nt:link-id            link-id
           +--rw nt:source
           |  +--rw nt:source-node?   -> ../../../nw:node/node-id
           |  +--rw nt:source-tp?     leafref
           +--rw nt:destination
           |  +--rw nt:dest-node?   -> ../../../nw:node/node-id
           |  +--rw nt:dest-tp?     leafref
           +--rw nt:supporting-link* [network-ref link-ref]
           |  +--rw nt:network-ref
           |  |       -> ../../../nw:supporting-network/network-ref
           |  +--rw nt:link-ref       leafref
           +--rw tet:te!
              +--rw (tet:bundle-stack-level)?
              |  +--:(tet:bundle)
              |     +--rw tet:bundled-links
              |        +--rw tet:bundled-link* [sequence]
              |           +--rw tet:sequence      uint32
              |           +--rw tet:src-tp-ref?   leafref
              |           +--rw tet:des-tp-ref?   leafref
              +--rw tet:te-link-attributes
              |  +--rw tet:access-type?
              |  |       te-types:te-link-access-type
              |  +--rw tet:external-domain
              |  |  +--rw tet:network-ref?
              |  |  |       -> /nw:networks/network/network-id
              |  |  +--rw tet:remote-te-node-id?
              |  |  |       te-types:te-node-id
              |  |  +--rw tet:remote-te-link-tp-id?
              |  |          te-types:te-tp-id
              |  +--rw tet:is-abstract?                      empty
              |  +--rw tet:name?                             string
              |  +--rw tet:underlay {te-topology-hierarchy}?
              |  |  +--rw tet:enabled?        boolean
              |  |  +--rw tet:primary-path
              |  |  |  +--rw tet:network-ref?
              |  |  |  |       -> /nw:networks/network/network-id
              |  |  |  +--rw tet:path-element* [path-element-id]
              |  |  |     +--rw tet:path-element-id
              |  |  |     |       uint32
              |  |  |     +--rw (tet:type)?
              |  |  |        +--:(tet:numbered-node-hop)
              |  |  |        |  +--rw tet:numbered-node-hop
              |  |  |        |     +--rw tet:node-id-uri?
              |  |  |        |     |       nw:node-id
              |  |  |        |     +--rw tet:node-id?
              |  |  |        |     |       te-node-id
              |  |  |        |     +--rw tet:hop-type?
              |  |  |        |             te-hop-type
              |  |  |        +--:(tet:numbered-link-hop)
              |  |  |        |  +--rw tet:numbered-link-hop
              |  |  |        |     +--rw tet:link-tp-id    te-tp-id
              |  |  |        |     +--rw tet:hop-type?
              |  |  |        |     |       te-hop-type
              |  |  |        |     +--rw tet:direction?
              |  |  |        |             te-link-direction
              |  |  |        +--:(tet:unnumbered-link-hop)
              |  |  |           +--rw tet:unnumbered-link-hop
              |  |  |              +--rw tet:link-tp-id-uri?
              |  |  |              |       nt:tp-id
              |  |  |              +--rw tet:link-tp-id?
              |  |  |              |       te-tp-id
              |  |  |              +--rw tet:node-id-uri?
              |  |  |              |       nw:node-id
              |  |  |              +--rw tet:node-id?
              |  |  |              |       te-node-id
              |  |  |              +--rw tet:hop-type?
              |  |  |              |       te-hop-type
              |  |  |              +--rw tet:direction?
              |  |  |                      te-link-direction
              |  |  +--rw tet:backup-path* [index]
              |  |     +--rw tet:index           uint32
              |  |     +--rw tet:network-ref?
              |  |     |       -> /nw:networks/network/network-id
              |  |     +--rw tet:path-element* [path-element-id]
              |  |        +--rw tet:path-element-id
              |  |        |       uint32
              |  |        +--rw (tet:type)?
              |  |           +--:(tet:numbered-node-hop)
              |  |           |  +--rw tet:numbered-node-hop
              |  |           |     +--rw tet:node-id-uri?
              |  |           |     |       nw:node-id
              |  |           |     +--rw tet:node-id?
              |  |           |     |       te-node-id
              |  |           |     +--rw tet:hop-type?
              |  |           |             te-hop-type
              |  |           +--:(tet:numbered-link-hop)
              |  |           |  +--rw tet:numbered-link-hop
              |  |           |     +--rw tet:link-tp-id    te-tp-id
              |  |           |     +--rw tet:hop-type?
              |  |           |     |       te-hop-type
              |  |           |     +--rw tet:direction?
              |  |           |             te-link-direction
              |  |           +--:(tet:unnumbered-link-hop)
              |  |              +--rw tet:unnumbered-link-hop
              |  |                 +--rw tet:link-tp-id-uri?
              |  |                 |       nt:tp-id
              |  |                 +--rw tet:link-tp-id?
              |  |                 |       te-tp-id
              |  |                 +--rw tet:node-id-uri?
              |  |                 |       nw:node-id
              |  |                 +--rw tet:node-id?
              |  |                 |       te-node-id
              |  |                 +--rw tet:hop-type?
              |  |                 |       te-hop-type
              |  |                 +--rw tet:direction?
              |  |                         te-link-direction
              |  +--rw tet:interface-switching-capability*
              |          [switching-capability encoding]
              |     +--rw tet:switching-capability    identityref
              |     +--rw tet:encoding                identityref
              +--ro tet:oper-status?
              |       te-types:te-oper-status
              +--ro tet:is-transitional?       empty

]]></artwork>
    </section>
    <section numbered="false" anchor="acknowledgments">
      <name>Acknowledgments</name>
      <t>TODO acknowledge.</t>
    </section>
  </back>
  <!-- ##markdown-source:
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

-->

</rfc>
