<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE rfc [
  <!ENTITY nbsp    "&#160;">
  <!ENTITY zwsp   "&#8203;">
  <!ENTITY nbhy   "&#8209;">
  <!ENTITY wj     "&#8288;">
]>
<?xml-stylesheet type="text/xsl" href="rfc2629.xslt" ?>
<!-- generated by https://github.com/cabo/kramdown-rfc version 1.7.30 (Ruby 3.4.8) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-busi-nmop-simap-rfc8795-applicability-00" category="info" consensus="true" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.31.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-00"/>
    <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>Juniper Networks</organization>
      <address>
        <email>vbeeram@juniper.net</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>
    <date year="2026" month="March" day="02"/>
    <area>Operations and Management</area>
    <workgroup>Network Management Operations</workgroup>
    <keyword>next generation</keyword>
    <keyword>unicorn</keyword>
    <keyword>sparkling distributed ledger</keyword>
    <abstract>
      <?line 52?>

<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 58?>

<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 293?>

<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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
c7h5X3RiCe3aI2yYFdD1a0yj/fxCcI+sBnRkFQbCrv4xh6lVAJkONiEZbEFm
hMQid3FVM+COI7a/ISHaza3bC/3V9lncOft7ERvyEugTixyP+25PfGYXdYXp
dyLAFGQ0M5PcbUvPw/U7kV8hxSgX/GLjCacjvBrH70Ro5LW6MFlgyWW7Zlcj
+p2Ir93wip7jAsb9AH3LQi/Se5Hfssjvc6WNivM+h9qSYO9zqy2F3Puca8Pe
f5+LNcSKp5c4rvEH5n7j7ckF0T/E+10NRnuj8i0KYSLSONWLSVvn08F1ixxK
pe+6C/SN3kG0xdChz77RRpA8BYvK3ZMct8lzjTXQq4tbV657ZMUsaO7qQxHg
5WOZz0S091klENiz1/eioPr2vRxEAHTnW5xL3E05oPJxcTm8hZGtQvVZOS5K
yDPiwLkiMqArIreYQxLGrptEtyiH4oiux+iXwwgmtzF5f3gRxOJSxCY/nGVp
IrYpD43ZO3God+pUuKtT6JtcBVwqEcgBscW21jkdCZy/1NdzbGGtc2UuG5mu
LXXoyYC+MibAXL23cCs0XxrodSbqgtf2BEfg2TTNfjcC4yrQv3+3PaEdv7+D
EtN3g95b2Nbl9f/RwBp9tIemhd6mGKBotljfqBDpE/O2vqEVaCrJtFmWrpq6
M0JbJ1faYrJYldz7s6ZKeLbP50yjbizV25OhI7G7KKrt7rKydHTurrpLfkjP
8Gdzr7Y4uNE1fNUGw8/PtK+VgA473JoNELa7YgPdRQozCwrUXBYh/r5AEPLM
7Azv6jHjV0GssmDEk2guI8gVtiZMQCVn5Yy9fn/GKnSf36JuY8XdzxW9Ffe7
YUx1QLm1tIdCSyP3+fwyIH/A57fgEBUKr8a3iw4bgrvu3SXbQLmA3V7eC6cz
d7PHte4l40sGHkdizMu4CGYCg95WS2QGFdOo7nYSS5KBlHvrciEsd14WcpJt
XRKnr85+K6ah8niyxTzk/ZTj63dSXdA11frMMf4C/bvXr9TenRdPsmX5vIXs
p1dGb5tCugtVhdtcs0dSbn1h8gYSuIU1+9+MKLa8Zv+bkcOW1+zvphxyEeLt
n5vh2/wAornhqiiVRWgO8ltkOLfDLVP6ksxbTkc3utO7wXFdHarGpapmb9dp
Lf5bZPk2NmYY877VjRkJMtzcetGdLRTZNg6LW1ythYWtFEbX5vpO8LvgoDkp
5VccM19dEndjcaAlts9oG6sUhTcbIS0ZDxdjfWh/tKS9WncnxBXQby0GcRpe
bD6kOGJykDGD7E6F1INb2+XtILm5H33y7yCtREK/ddvxs1pIsyM45/KfnYHO
2/BmpgDvbPt+Z9G9bD/oe30Og8eHQ8RlL/HvvaFu37n1T19B9TDDjg9BQGm8
376ArvopTRVKGfC8MLfQHXkXsA3ogtx8bm+UNMmZ9+xL9jfzF1jbz5XavTZo
h86nftrTHIv3VSKI1/zq13ZcNjfffNHo7fz6WZu2XIx/bkN03uLz4Ck7qC3d
mnkvtaBMxKCvPumCrt+w5sc8b3dwOTDAHQKpW5OPLlYa7+01ycAdjKH6n7as
DvoBONwYQfXKiuJBH3tdgQJ4pCG9hynokXWJsP7Q+77ODpttzD1i6pQ5oukQ
vYtroQK6dADxs6HwBTrwMBmibo6mF4Ar9lrXkKoLPu4zDO2WXzTeMfc1hjz/
B3v0B1cu7d183T27fi0OIenL6bp7ptQTT3iZzO1Zu539YDzBaIOBxenRF3w8
LlkjMDVOcDWaepA6z8u1O3h99Da6IB1T2UEKpSVagoge/3FJX6kCunNYRJ4a
RjA6CJ4s6dxxZg/ctuGzPerzXBdJfXK4vBfeINDXylcIWSmy1GGg3bCdK+s2
DNmXca9o6w7GqmXUdI0+Ofm4RjhhCAu/s5hlxfWinn2u2OGLza62DOFcj+pe
ejeFmRz+qsn1p2dtKJ6knDDX3dR+aJBxs8/+MXmR+9cAl7l7Ff+wNgFGrndF
OZbebNMYnMyjzuY6BXRffWy9pRjyjLUieOfA2g2hyDS/Tbt1SYnoXnTuJNwt
aNjk11BD/VehxRmcjNDdAZgE6o28DTxdQyZbdTBckPo00Fg6rJ77GGoOE+67
XdpI3Tr3sves0VrjPXKaN68KbjqUbhWRAFVn297mIG8Fsym8CvTnvp5eZ9ta
P2+EqoUd8zDoD6uLeoItLe3pjcSNhb5O+ZrW5iQuRoUOPVh63LihgdfdFkEX
V/oXU00G04lgSVx0mzomvWpc7Makf643qG9uXIzPZb/D7xci0Geasl4crAOH
n9R3yLV3/Ks+/kDYAaJ3IKw+jRGxA0a103npQNgtJf0Tw/X430waunu5p336
1LaeUf1Ku/Kpc46CQHBxvzZHUubj74axACmrKe+LQw3gu/ZsSlfQde2xCsA6
64ZgSXY/TbOOWOx27EjZnc5L+3piMK4WlLlcQq4vDDNEL5ZcP761cC2JCL24
QBgLgm6jm/0UJMSeqLtYfRSGbqo+23k9FuvIZ2jvCWsbE5Ojk9XE1MRW/Rbm
ulohVqveK+qmTNbVDvOD75r6aQKo9bOCh/mM28LUTRGuhWw1y2kiWz14NFhb
MXj04FuXsxvhWtErWshW84omtlW9wv+s5hVOUl6fsMTqCp7E6R4sPdqondNk
wTjI1soKHMHdMCtgvzYrYAtgLEDqUL5YGmzVrIA5zdfKCtyv62YF7le2lmM3
eq7o2MvwrYVriWP34lrs2I1u9rPMsavPulmB+3XdrKCXxTWygs2IadX414tt
Sfxr9LOf1eJf9Vk/K2B+7zWzAtYHYJWsgLUe0mdhVrACwrWQrWY5TWSrB48G
aysGjx5863J2I1wrekUL2Wpe0cS2qlf4nxW8orH41bvr5ct2V/v5W1d7JpIw
jeBZd53PKdR1dWb2p0GK676ynVvX0Jia3PdDWLJu53O4rIrfBClVQD+oan4W
1JZbdIlIb/IYPGDH4UWSzmMR0W/TqMGHKtJ/vzPmsRK0DQN/hJJXLcVw8H+8
LOceLbUAAA==

-->

</rfc>
