<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE rfc [
  <!ENTITY nbsp    "&#160;">
  <!ENTITY zwsp   "&#8203;">
  <!ENTITY nbhy   "&#8209;">
  <!ENTITY wj     "&#8288;">
]>
<?xml-stylesheet type="text/xsl" href="rfc2629.xslt" ?>
<!-- generated by https://github.com/cabo/kramdown-rfc version 1.7.39 (Ruby 3.4.9) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-ietf-ccamp-fgotn-yang-01" category="std" consensus="true" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.34.0 -->
  <front>
    <title abbrev="Fine grain OTN YANG">YANG Data Models for fine grain Optical Transport Network</title>
    <seriesInfo name="Internet-Draft" value="draft-ietf-ccamp-fgotn-yang-01"/>
    <author initials="Y." surname="Tan" fullname="Yanxia Tan">
      <organization>China Unicom</organization>
      <address>
        <postal>
          <city>Beijing</city>
          <country>China</country>
        </postal>
        <email>tanyx11@chinaunicom.cn</email>
      </address>
    </author>
    <author initials="Y." surname="Zheng" fullname="Yanlei Zheng">
      <organization>China Unicom</organization>
      <address>
        <postal>
          <city>Beijing</city>
          <country>China</country>
        </postal>
        <email>zhengyanlei@chinaunicom.cn</email>
      </address>
    </author>
    <author initials="I." surname="Busi" fullname="Italo Busi">
      <organization>Huawei Technologies</organization>
      <address>
        <email>italo.busi@huawei.com</email>
      </address>
    </author>
    <author initials="C." surname="Yu" fullname="Chaode Yu">
      <organization>Huawei Technologies</organization>
      <address>
        <postal>
          <country>China</country>
        </postal>
        <email>yuchaode@huawei.com</email>
      </address>
    </author>
    <author initials="X." surname="Zhao" fullname="Xing Zhao">
      <organization>CAICT</organization>
      <address>
        <postal>
          <country>China</country>
        </postal>
        <email>zhaoxing@caict.ac.cn</email>
      </address>
    </author>
    <date year="2026" month="July" day="29"/>
    <area>Routing</area>
    <workgroup>CCAMP Working Group</workgroup>
    <keyword>next generation</keyword>
    <keyword>unicorn</keyword>
    <keyword>sparkling distributed ledger</keyword>
    <abstract>
      <?line 95?>
<t>This document defines YANG data models to describe the topology and tunnel information of a fine grain Optical Transport Network. The YANG data models defined in this document are designed to meet the requirements for efficient transmission of sub-1Gbit/s client signals in transport network.</t>
    </abstract>
    <note removeInRFC="true">
      <name>About This Document</name>
      <t>
        The latest revision of this draft can be found at <eref target="https://ietf-ccamp-wg.github.io/draft-ietf-ccamp-fgotn-yang/draft-ietf-ccamp-fgotn-yang.html"/>.
        Status information for this document may be found at <eref target="https://datatracker.ietf.org/doc/draft-ietf-ccamp-fgotn-yang/"/>.
      </t>
      <t>
        Discussion of this document takes place on the
        CCAMP Working Group Working Group mailing list (<eref target="mailto:ccamp@ietf.org"/>),
        which is archived at <eref target="https://mailarchive.ietf.org/arch/browse/ccamp/"/>.
        Subscribe at <eref target="https://www.ietf.org/mailman/listinfo/ccamp/"/>.
      </t>
      <t>Source for this draft and an issue tracker can be found at
        <eref target="https://github.com/ietf-ccamp-wg/draft-ietf-ccamp-fgotn-yang"/>.</t>
    </note>
  </front>
  <middle>
    <?line 98?>

<section anchor="sec-intro">
      <name>Introduction</name>
      <t>Optical Transport Networks (OTN) is a mainstream layer 1 technology for the transport network. Over the years, it has continued to evolve, to improve its transport functions for the emerging requirements. The topology and tunnel information in the OTN has already been defined by generic traffic-engineering models and technology-specific models, including <xref target="I-D.ietf-ccamp-otn-topo-yang"/> and <xref target="I-D.ietf-ccamp-otn-tunnel-model"/>.</t>
      <t>In the latest version of OTN, ITU-T G.709/Y.1331 Edition 6.5 <xref target="ITU-T_G.709"/>, the fine grain OTN (fgOTN) is introduced for the efficient transmission of low rate client signals (e.g., sub-1G).</t>
      <t>This document presents the control interface requirements of fgOTN, and defines three YANG data models for fgOTN topology, fgOTN tunnel, and fgOTN types. The topology model can capture topological and resource-related information pertaining to fgOTN. The fgOTN tunnel YANG data model defined in this document is used for the provisioning and management of fgOTN Traffic Engineering (TE) tunnels and Label Switched Paths (LSPs). The fgOTN types model contains a collection of YANG data types considered generally useful for fgOTN networks.</t>
      <t>Furthermore, this document also imports the generic Layer 1 types defined in <xref target="I-D.ietf-ccamp-layer1-types"/>.</t>
      <t>The YANG data models defined in this document conform to the Network Management Datastore Architecture (NMDA) defined in <xref target="RFC8342"/>.</t>
      <section anchor="terminology-and-notations">
        <name>Terminology and Notations</name>
        <t>Some of the key terms used in this document are listed as follow.</t>
        <ul spacing="normal">
          <li>
            <t>fgTS: fine grain Tributary Slot.</t>
          </li>
          <li>
            <t>fgODUflex: fine grain Optical channel Data Unit flex.</t>
          </li>
        </ul>
        <t>The following terms are defined in <xref target="RFC7950"/> and are not redefined here:</t>
        <ul spacing="normal">
          <li>
            <t>client</t>
          </li>
          <li>
            <t>server</t>
          </li>
          <li>
            <t>augment</t>
          </li>
          <li>
            <t>data model</t>
          </li>
          <li>
            <t>data node</t>
          </li>
        </ul>
        <t>The following terms are defined in <xref target="RFC6241"/> and are not redefined here:</t>
        <ul spacing="normal">
          <li>
            <t>configuration data</t>
          </li>
          <li>
            <t>state data</t>
          </li>
        </ul>
        <t>The terminology for describing YANG data models is found in <xref target="RFC7950"/>.</t>
      </section>
      <section anchor="tree-diagram">
        <name>Tree Diagram</name>
        <t>A simplified graphical representation of the data model is used in <xref target="fgotn-tree"/> of this document. The meaning of the symbols in this diagram is defined in <xref target="RFC8340"/>.</t>
      </section>
      <section anchor="requirements-language">
        <name>Requirements Language</name>
        <t>The key words "<bcp14>MUST</bcp14>", "<bcp14>MUST NOT</bcp14>", "<bcp14>REQUIRED</bcp14>", "<bcp14>SHALL</bcp14>", "<bcp14>SHALL
NOT</bcp14>", "<bcp14>SHOULD</bcp14>", "<bcp14>SHOULD NOT</bcp14>", "<bcp14>RECOMMENDED</bcp14>", "<bcp14>NOT RECOMMENDED</bcp14>",
"<bcp14>MAY</bcp14>", and "<bcp14>OPTIONAL</bcp14>" in this document are to be interpreted as
described in BCP 14 <xref target="RFC2119"/> <xref target="RFC8174"/> when, and only when, they
appear in all capitals, as shown here.</t>
        <?line -18?>

</section>
      <section anchor="prefixes-in-model-names">
        <name>Prefixes in Model Names</name>
        <t>In this documents, names of data nodes and other data model objects are prefixed using the standard prefix associated with the corresponding YANG imported modules, as shown in the following table.</t>
        <table anchor="tab-prefixes">
          <name>Prefixes and corresponding YANG modules</name>
          <thead>
            <tr>
              <th align="left">Prefix</th>
              <th align="left">Yang Module</th>
              <th align="left">Reference</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left">l1-types</td>
              <td align="left">ietf-layer1-types</td>
              <td align="left">[RFC YYYY]</td>
            </tr>
            <tr>
              <td align="left">otnt</td>
              <td align="left">ietf-otn-topology</td>
              <td align="left">[RFC ZZZZ]</td>
            </tr>
            <tr>
              <td align="left">te</td>
              <td align="left">ietf-te</td>
              <td align="left">[RFC KKKK]</td>
            </tr>
            <tr>
              <td align="left">otn-tnl</td>
              <td align="left">ietf-otn-tunnel</td>
              <td align="left">[RFC JJJJ]</td>
            </tr>
            <tr>
              <td align="left">fgotnt</td>
              <td align="left">ietf-fgotn-topology</td>
              <td align="left">RFC XXXX</td>
            </tr>
            <tr>
              <td align="left">fgotn-tnl</td>
              <td align="left">ietf-fgotn-tunnel</td>
              <td align="left">RFC XXXX</td>
            </tr>
            <tr>
              <td align="left">fgotn-types</td>
              <td align="left">ietf-fgotn-types</td>
              <td align="left">RFC XXXX</td>
            </tr>
          </tbody>
        </table>
        <t>RFC Editor Note:
Please replace XXXX with the number assigned to the RFC once this draft becomes an RFC.
Please replace YYYY with the RFC numbers assigned to <xref target="I-D.ietf-ccamp-layer1-types"/>.
Please replace ZZZZ with the RFC numbers assigned to <xref target="I-D.ietf-ccamp-otn-topo-yang"/>.
Please replace KKKK with the RFC numbers assigned to <xref target="I-D.ietf-teas-yang-te"/>.
Please replace JJJJ with the RFC numbers assigned to <xref target="I-D.ietf-ccamp-otn-tunnel-model"/>.
Please remove this note.</t>
      </section>
    </section>
    <section anchor="fine-grain-optical-transport-network-scenarios-overview">
      <name>Fine grain Optical Transport Network Scenarios Overview</name>
      <t>OTN network will cover a larger scope of networks, it may include the backbone network, metro core, metro aggregation, metro access, and even the OTN CPE in the customers' networks <xref target="ITU-T_G.709.20"/>. In general, the metro OTN networks support both fgODUflex and ODUk switching.  At the boundary nodes (e.g., metro-core nodes) of the metro OTN networks, the fgODUflexes to other metro OTN networks are multiplexed into ODUk of backbone networks. Therefore, the backbone OTN network could only support ODUk switching.</t>
      <t>The typical scenarios for fgOTN is to provide low bit rate private line or private network services for customers. The interface function requirements of fgOTN mainly include topology resource reporting and service provisioning. Three scenarios that require special consideration are listed based on the characteristics of fgOTN.</t>
      <section anchor="retrieve-server-tunnels-scenario-of-fgotn">
        <name>Retrieve Server Tunnels Scenario of fgOTN</name>
        <t><xref target="fig-multiplexing"/> below shows an example of scenario to retrieve server tunnels for multi-domain fgOTN service.
In this example, some small bandwidth fgOTN service are aggregated by the access ring (10G), and then aggregated into a bigger bandwidth in metro ring (100G).
The allocation of TS to support fgOTN switching maybe different in access ring and metro ring.
All link bandwidth information that supports fgOTN should be reported to MDSC by the PNC controller. E.g. there could be three ODU0 allocated in the access ring while there could be two ODU2 are allocated in the metro ring to support fgOTN switching. In this example, the server layer ODUk tunnel for fgOTN tunnel from node A to node E is ODU0, and the server layer tunnel from node E to node G is ODU2. The server layer tunnel for fgOTN tunnel will include one ODU0 tunnel and one ODU2 tunnel.</t>
        <figure anchor="fig-multiplexing">
          <name>The Scenario to Retrieve Server Tunnels</name>
          <artset>
            <artwork type="svg"><svg xmlns="http://www.w3.org/2000/svg" version="1.1" height="384" width="496" viewBox="0 0 496 384" class="diagram" text-anchor="middle" font-family="monospace" font-size="13px" stroke-linecap="round">
                <path d="M 8,32 L 8,64" fill="none" stroke="black"/>
                <path d="M 8,128 L 8,160" fill="none" stroke="black"/>
                <path d="M 8,208 L 8,240" fill="none" stroke="black"/>
                <path d="M 8,304 L 8,336" fill="none" stroke="black"/>
                <path d="M 32,64 L 32,128" fill="none" stroke="black"/>
                <path d="M 32,240 L 32,304" fill="none" stroke="black"/>
                <path d="M 56,32 L 56,64" fill="none" stroke="black"/>
                <path d="M 56,128 L 56,160" fill="none" stroke="black"/>
                <path d="M 56,208 L 56,240" fill="none" stroke="black"/>
                <path d="M 56,304 L 56,336" fill="none" stroke="black"/>
                <path d="M 128,128 L 128,160" fill="none" stroke="black"/>
                <path d="M 128,208 L 128,240" fill="none" stroke="black"/>
                <path d="M 152,160 L 152,208" fill="none" stroke="black"/>
                <path d="M 176,128 L 176,160" fill="none" stroke="black"/>
                <path d="M 176,208 L 176,240" fill="none" stroke="black"/>
                <path d="M 248,128 L 248,160" fill="none" stroke="black"/>
                <path d="M 248,208 L 248,240" fill="none" stroke="black"/>
                <path d="M 272,160 L 272,208" fill="none" stroke="black"/>
                <path d="M 296,128 L 296,160" fill="none" stroke="black"/>
                <path d="M 296,208 L 296,240" fill="none" stroke="black"/>
                <path d="M 336,48 L 336,136" fill="none" stroke="black"/>
                <path d="M 368,128 L 368,160" fill="none" stroke="black"/>
                <path d="M 368,208 L 368,240" fill="none" stroke="black"/>
                <path d="M 392,160 L 392,208" fill="none" stroke="black"/>
                <path d="M 416,128 L 416,160" fill="none" stroke="black"/>
                <path d="M 416,208 L 416,240" fill="none" stroke="black"/>
                <path d="M 8,32 L 56,32" fill="none" stroke="black"/>
                <path d="M 56,48 L 88,48" fill="none" stroke="black"/>
                <path d="M 8,64 L 56,64" fill="none" stroke="black"/>
                <path d="M 8,128 L 56,128" fill="none" stroke="black"/>
                <path d="M 128,128 L 176,128" fill="none" stroke="black"/>
                <path d="M 248,128 L 296,128" fill="none" stroke="black"/>
                <path d="M 368,128 L 416,128" fill="none" stroke="black"/>
                <path d="M 56,144 L 72,144" fill="none" stroke="black"/>
                <path d="M 112,144 L 128,144" fill="none" stroke="black"/>
                <path d="M 176,144 L 248,144" fill="none" stroke="black"/>
                <path d="M 296,144 L 368,144" fill="none" stroke="black"/>
                <path d="M 416,144 L 488,144" fill="none" stroke="black"/>
                <path d="M 8,160 L 56,160" fill="none" stroke="black"/>
                <path d="M 128,160 L 176,160" fill="none" stroke="black"/>
                <path d="M 248,160 L 296,160" fill="none" stroke="black"/>
                <path d="M 368,160 L 416,160" fill="none" stroke="black"/>
                <path d="M 8,208 L 56,208" fill="none" stroke="black"/>
                <path d="M 128,208 L 176,208" fill="none" stroke="black"/>
                <path d="M 248,208 L 296,208" fill="none" stroke="black"/>
                <path d="M 368,208 L 416,208" fill="none" stroke="black"/>
                <path d="M 56,224 L 72,224" fill="none" stroke="black"/>
                <path d="M 112,224 L 128,224" fill="none" stroke="black"/>
                <path d="M 176,224 L 248,224" fill="none" stroke="black"/>
                <path d="M 296,224 L 368,224" fill="none" stroke="black"/>
                <path d="M 416,224 L 488,224" fill="none" stroke="black"/>
                <path d="M 8,240 L 56,240" fill="none" stroke="black"/>
                <path d="M 128,240 L 176,240" fill="none" stroke="black"/>
                <path d="M 248,240 L 296,240" fill="none" stroke="black"/>
                <path d="M 368,240 L 416,240" fill="none" stroke="black"/>
                <path d="M 8,304 L 56,304" fill="none" stroke="black"/>
                <path d="M 56,320 L 88,320" fill="none" stroke="black"/>
                <path d="M 8,336 L 56,336" fill="none" stroke="black"/>
                <path d="M 72,144 L 112,224" fill="none" stroke="black"/>
                <path d="M 88,48 L 128,128" fill="none" stroke="black"/>
                <path d="M 72,224 L 112,144" fill="none" stroke="black"/>
                <path d="M 88,320 L 128,240" fill="none" stroke="black"/>
                <g class="text">
                  <text x="32" y="52">A</text>
                  <text x="220" y="68">Domain</text>
                  <text x="256" y="68">1</text>
                  <text x="412" y="68">Domain</text>
                  <text x="448" y="68">2</text>
                  <text x="64" y="100">10G</text>
                  <text x="32" y="148">B</text>
                  <text x="152" y="148">E</text>
                  <text x="272" y="148">G</text>
                  <text x="392" y="148">I</text>
                  <text x="212" y="180">100G</text>
                  <text x="460" y="180">100G</text>
                  <text x="32" y="228">C</text>
                  <text x="152" y="228">F</text>
                  <text x="272" y="228">H</text>
                  <text x="392" y="228">J</text>
                  <text x="64" y="276">10G</text>
                  <text x="32" y="324">D</text>
                </g>
              </svg>
            </artwork>
            <artwork type="ascii-art"><![CDATA[
      +-----+
      |  A  +---+                              |
      +--+--+    \            Domain 1         |      Domain 2
         |        \                            |
         |  10G    \                           |
         |          \                          |
      +--+--+        +-----+        +-----+    |   +-----+
      |  B  +-+    +-+  E  +--------+  G  +--------+  I  +---------
      +-----+  \  /  +--+--+        +--+--+        +--+--+
                \/      |     100G     |              |      100G
                /\      |              |              |
      +-----+  /  \  +--+--+        +--+--+        +--+--+
      |  C  +-+    +-+  F  +--------+  H  +--------+  J  +---------
      +--+--+        +-----+        +-----+        +-----+
         |          /
         |  10G    /
         |        /
      +--+--+    /
      |  D  +---+
      +-----+

]]></artwork>
          </artset>
        </figure>
      </section>
      <section anchor="multi-layer-path-splicing-scenario-of-fgotn">
        <name>Multi-layer Path Splicing Scenario of fgOTN</name>
        <t>Some operators that would like to provide the paths when there could be different switching capabilities of nodes in their LSP, so that the MDSC coordinator can clearly display multi-layer paths and the relationship between primary-path and secondary-path. In the current network, not all nodes in the operator network support fgOTN, as shown in figure 2, node f1, f2, f3 and f4 support fgOTN, node N-f5 and node N-f6 do not support fgOTN. To present the end-to-end multi-layer primary-path and secondary-path of the services on the client side, it is necessary to complete the end-to-end path splicing based on the the ODU tunnel information associated with the fgotn tunnel.</t>
        <t>In <xref target="fig-service"/>, assuming that the server layer ODUk tunnel for the fgOTN primary tunnel from node f1 to node f2 is ODU0, the server layer tunnel from node f2 to node f3 is ODU2, and the server layer tunnel from node f3 to node f4 is ODU1. Assuming the server layer ODUk tunnel for the fgOTN secondary tunnel from node f1 to node f2 is ODU2. We need to setup four server layer ODUk tunnels before setting up an fgODUflex tunnel with a primary path and a secondary path to provide protection. To support multi-layer path splicing, we should make some extension on the dependency tunnel structure or on the path element, such as extending the working roles and index of the tunnels.</t>
        <figure anchor="fig-service">
          <name>Multi-layer Path Splicing Scenario of fgOTN</name>
          <artset>
            <artwork type="svg"><svg xmlns="http://www.w3.org/2000/svg" version="1.1" height="256" width="376" viewBox="0 0 376 256" class="diagram" text-anchor="middle" font-family="monospace" font-size="13px" stroke-linecap="round">
                <path d="M 8,112 L 8,144" fill="none" stroke="black"/>
                <path d="M 56,112 L 56,144" fill="none" stroke="black"/>
                <path d="M 88,32 L 88,64" fill="none" stroke="black"/>
                <path d="M 88,192 L 88,224" fill="none" stroke="black"/>
                <path d="M 136,32 L 136,64" fill="none" stroke="black"/>
                <path d="M 144,192 L 144,224" fill="none" stroke="black"/>
                <path d="M 232,192 L 232,224" fill="none" stroke="black"/>
                <path d="M 240,32 L 240,64" fill="none" stroke="black"/>
                <path d="M 288,32 L 288,64" fill="none" stroke="black"/>
                <path d="M 288,192 L 288,224" fill="none" stroke="black"/>
                <path d="M 320,112 L 320,144" fill="none" stroke="black"/>
                <path d="M 368,112 L 368,144" fill="none" stroke="black"/>
                <path d="M 88,32 L 136,32" fill="none" stroke="black"/>
                <path d="M 240,32 L 288,32" fill="none" stroke="black"/>
                <path d="M 56,48 L 88,48" fill="none" stroke="black"/>
                <path d="M 136,48 L 240,48" fill="none" stroke="black"/>
                <path d="M 288,48 L 320,48" fill="none" stroke="black"/>
                <path d="M 88,64 L 136,64" fill="none" stroke="black"/>
                <path d="M 240,64 L 288,64" fill="none" stroke="black"/>
                <path d="M 56,80 L 120,80" fill="none" stroke="black"/>
                <path d="M 240,80 L 320,80" fill="none" stroke="black"/>
                <path d="M 8,112 L 56,112" fill="none" stroke="black"/>
                <path d="M 320,112 L 368,112" fill="none" stroke="black"/>
                <path d="M 8,144 L 56,144" fill="none" stroke="black"/>
                <path d="M 320,144 L 368,144" fill="none" stroke="black"/>
                <path d="M 56,176 L 112,176" fill="none" stroke="black"/>
                <path d="M 248,176 L 320,176" fill="none" stroke="black"/>
                <path d="M 88,192 L 144,192" fill="none" stroke="black"/>
                <path d="M 232,192 L 288,192" fill="none" stroke="black"/>
                <path d="M 56,208 L 88,208" fill="none" stroke="black"/>
                <path d="M 144,208 L 232,208" fill="none" stroke="black"/>
                <path d="M 288,208 L 320,208" fill="none" stroke="black"/>
                <path d="M 88,224 L 144,224" fill="none" stroke="black"/>
                <path d="M 232,224 L 288,224" fill="none" stroke="black"/>
                <path d="M 24,144 L 56,208" fill="none" stroke="black"/>
                <path d="M 40,144 L 56,176" fill="none" stroke="black"/>
                <path d="M 320,80 L 336,112" fill="none" stroke="black"/>
                <path d="M 320,48 L 352,112" fill="none" stroke="black"/>
                <path d="M 24,112 L 56,48" fill="none" stroke="black"/>
                <path d="M 40,112 L 56,80" fill="none" stroke="black"/>
                <path d="M 320,176 L 336,144" fill="none" stroke="black"/>
                <path d="M 320,208 L 352,144" fill="none" stroke="black"/>
                <g class="text">
                  <text x="116" y="52">f2</text>
                  <text x="268" y="52">f3</text>
                  <text x="180" y="84">primary-path</text>
                  <text x="36" y="132">f1</text>
                  <text x="348" y="132">f4</text>
                  <text x="180" y="180">secondary-path</text>
                  <text x="116" y="212">N-f5</text>
                  <text x="260" y="212">N-f6</text>
                </g>
              </svg>
            </artwork>
            <artwork type="ascii-art"><![CDATA[
                   +-----+            +-----+
               +---+  f2 +------------+  f3 +---+
              /    +-----+            +-----+    \
             / +-------- primary-path ----------+ \
            / /                                  \ \
         +-+-+-+                                +-+-+-+
         |  f1 |                                |  f4 |
         +-+-+-+                                +-+-+-+
            \ \                                  / /
             \ +------- secondary-path ---------+ /
              \    +------+          +------+    /
               +---+ N-f5 +----------+ N-f6 +---+
                   +------+          +------+
]]></artwork>
          </artset>
        </figure>
      </section>
      <section anchor="hitless-bandwidth-adjustment-scenario-of-fgotn">
        <name>Hitless Bandwidth Adjustment Scenario of fgOTN</name>
        <t><xref target="ITU-T_G.709"/> defines the data plane procedure to support fgODUflex hitless resizing. The support of management of hitless resizing of fgODUflex needs to be carefully considered.</t>
        <t>The range of fgOTN service's Bandwidth on Demand (BoD) cannot exceed its server layer's bandwidth.</t>
        <t>The client needs to know how many bandwidth of a link is allocated for fgOTN. When performs hitless resizing, the client sends the fgODUflex identifier and the target bandwidth to the source node controller. After receiving the network management configuration information, the source node triggers the bandwidth adjustment. During the hitless bandwidth adjustment process, it is necessary to reserve or mark the corresponding bandwidth resources first, and then trigger the bandwidth adjustment actions.</t>
        <t>Another point to note is that when performing bidirectional hitless resizing for fgODUflex service, the adjustment should be initiated by the client side to a single network management system. Specifically, the adjustment is first performed in the Node 1 to Node 6 direction, and then the reverse direction (Node 6 to Node 1) is automatically triggered for adjustment. For bidirectional hitless resizing, the adjustment shall be regarded as successful only when both directions are completed. If only one direction succeeds while the other fails, the controller may issue a command to perform forced bandwidth adjustment to ensure consistent status in both directions (which may be hit-impairing).</t>
        <t>When 1+1 protection is configured for fgODUflex, if hitless bandwidth adjustment is performed on fgODUflex, both the working path and the protection path shall initiate the adjustment protocol and signaling transmission. Each node shall check the signaling delivered by both the working path and the protection path simultaneously during state processing.</t>
        <t>Both single domain and multi-domain hitless resizing should be supported. For single domain and multi-domain hitless resizing scenario, the source controller alone report the bandwidth adjustment status to the MDSC coordinator upon completion.</t>
        <figure anchor="fig-hitless">
          <name>Hitless Resizing Scenario of fgOTN</name>
          <artset>
            <artwork type="svg"><svg xmlns="http://www.w3.org/2000/svg" version="1.1" height="368" width="592" viewBox="0 0 592 368" class="diagram" text-anchor="middle" font-family="monospace" font-size="13px" stroke-linecap="round">
                <path d="M 8,240 L 8,288" fill="none" stroke="black"/>
                <path d="M 48,128 L 48,176" fill="none" stroke="black"/>
                <path d="M 64,240 L 64,288" fill="none" stroke="black"/>
                <path d="M 112,240 L 112,288" fill="none" stroke="black"/>
                <path d="M 152,128 L 152,176" fill="none" stroke="black"/>
                <path d="M 168,240 L 168,288" fill="none" stroke="black"/>
                <path d="M 192,280 L 192,336" fill="none" stroke="black"/>
                <path d="M 216,240 L 216,288" fill="none" stroke="black"/>
                <path d="M 240,128 L 240,176" fill="none" stroke="black"/>
                <path d="M 248,32 L 248,80" fill="none" stroke="black"/>
                <path d="M 272,240 L 272,288" fill="none" stroke="black"/>
                <path d="M 288,80 L 288,128" fill="none" stroke="black"/>
                <path d="M 320,240 L 320,288" fill="none" stroke="black"/>
                <path d="M 336,32 L 336,80" fill="none" stroke="black"/>
                <path d="M 344,128 L 344,176" fill="none" stroke="black"/>
                <path d="M 376,240 L 376,288" fill="none" stroke="black"/>
                <path d="M 408,280 L 408,336" fill="none" stroke="black"/>
                <path d="M 424,240 L 424,288" fill="none" stroke="black"/>
                <path d="M 432,128 L 432,176" fill="none" stroke="black"/>
                <path d="M 480,240 L 480,288" fill="none" stroke="black"/>
                <path d="M 528,240 L 528,288" fill="none" stroke="black"/>
                <path d="M 536,128 L 536,176" fill="none" stroke="black"/>
                <path d="M 584,240 L 584,288" fill="none" stroke="black"/>
                <path d="M 248,32 L 336,32" fill="none" stroke="black"/>
                <path d="M 128,48 L 248,48" fill="none" stroke="black"/>
                <path d="M 336,48 L 448,48" fill="none" stroke="black"/>
                <path d="M 248,80 L 336,80" fill="none" stroke="black"/>
                <path d="M 48,128 L 152,128" fill="none" stroke="black"/>
                <path d="M 240,128 L 344,128" fill="none" stroke="black"/>
                <path d="M 432,128 L 536,128" fill="none" stroke="black"/>
                <path d="M 48,176 L 152,176" fill="none" stroke="black"/>
                <path d="M 240,176 L 344,176" fill="none" stroke="black"/>
                <path d="M 432,176 L 536,176" fill="none" stroke="black"/>
                <path d="M 16,224 L 576,224" fill="none" stroke="black"/>
                <path d="M 8,240 L 64,240" fill="none" stroke="black"/>
                <path d="M 112,240 L 168,240" fill="none" stroke="black"/>
                <path d="M 216,240 L 272,240" fill="none" stroke="black"/>
                <path d="M 320,240 L 376,240" fill="none" stroke="black"/>
                <path d="M 424,240 L 480,240" fill="none" stroke="black"/>
                <path d="M 528,240 L 584,240" fill="none" stroke="black"/>
                <path d="M 64,256 L 112,256" fill="none" stroke="black"/>
                <path d="M 168,256 L 216,256" fill="none" stroke="black"/>
                <path d="M 272,256 L 320,256" fill="none" stroke="black"/>
                <path d="M 376,256 L 424,256" fill="none" stroke="black"/>
                <path d="M 480,256 L 528,256" fill="none" stroke="black"/>
                <path d="M 64,272 L 112,272" fill="none" stroke="black"/>
                <path d="M 168,272 L 216,272" fill="none" stroke="black"/>
                <path d="M 272,272 L 320,272" fill="none" stroke="black"/>
                <path d="M 376,272 L 424,272" fill="none" stroke="black"/>
                <path d="M 480,272 L 528,272" fill="none" stroke="black"/>
                <path d="M 8,288 L 64,288" fill="none" stroke="black"/>
                <path d="M 112,288 L 168,288" fill="none" stroke="black"/>
                <path d="M 216,288 L 272,288" fill="none" stroke="black"/>
                <path d="M 320,288 L 376,288" fill="none" stroke="black"/>
                <path d="M 424,288 L 480,288" fill="none" stroke="black"/>
                <path d="M 528,288 L 584,288" fill="none" stroke="black"/>
                <path d="M 448,48 L 484,120" fill="none" stroke="black"/>
                <path d="M 88,128 L 128,48" fill="none" stroke="black"/>
                <polygon class="arrowhead" points="584,224 572,218.4 572,229.6" fill="black" transform="rotate(0,576,224)"/>
                <polygon class="arrowhead" points="24,224 12,218.4 12,229.6" fill="black" transform="rotate(180,16,224)"/>
                <g class="text">
                  <text x="292" y="52">MDSC</text>
                  <text x="100" y="148">Controller</text>
                  <text x="292" y="148">Controller</text>
                  <text x="484" y="148">Controller</text>
                  <text x="96" y="164">1</text>
                  <text x="288" y="164">2</text>
                  <text x="480" y="164">3</text>
                  <text x="284" y="212">End-to-end</text>
                  <text x="352" y="212">fgOTN</text>
                  <text x="408" y="212">service</text>
                  <text x="36" y="260">node</text>
                  <text x="140" y="260">node</text>
                  <text x="244" y="260">node</text>
                  <text x="348" y="260">node</text>
                  <text x="452" y="260">node</text>
                  <text x="556" y="260">node</text>
                  <text x="32" y="276">1</text>
                  <text x="136" y="276">2</text>
                  <text x="240" y="276">3</text>
                  <text x="344" y="276">4</text>
                  <text x="448" y="276">5</text>
                  <text x="552" y="276">6</text>
                  <text x="36" y="308">source</text>
                  <text x="536" y="308">destination</text>
                  <text x="84" y="324">Domain</text>
                  <text x="120" y="324">1</text>
                  <text x="292" y="324">Domain</text>
                  <text x="328" y="324">2</text>
                  <text x="492" y="324">Domain</text>
                  <text x="528" y="324">3</text>
                </g>
              </svg>
            </artwork>
            <artwork type="ascii-art"><![CDATA[
                                 +----------+
                  +--------------+   MDSC   +-------------+
                 /               |          |              \
                /                +----+-----+               \
               /                      |                      \
              /                       |                       \
        +----+-------+          +-----+------+          +-----+------+
        | Controller |          | Controller |          | Controller |
        |     1      |          |     2      |          |     3      |
        +------------+          +------------+          +------------+

                                 End-to-end fgOTN service
    <--------------------------------------------------------------------->
   +------+     +------+     +------+     +------+     +------+     +------+
   | node +-----+ node +-----+ node +-----+ node +-----+ node +-----+ node |
   |  1   +-----+  2   +-----+  3   +-----+  4   +-----+  5   +-----+  6   |
   +------+     +------+  |  +------+     +------+   | +------+     +------+
    source                |                          |          destination
          Domain 1        |         Domain 2         |       Domain 3
                          |                          |
]]></artwork>
          </artset>
        </figure>
      </section>
    </section>
    <section anchor="yang-data-model-for-fine-grain-optical-transport-network-overview">
      <name>YANG Data Model for fine grain Optical Transport Network Overview</name>
      <t>In order to provide fgOTN capabilities, this document defines two extension YANG data models augmenting to OTN topology and OTN tunnel YANG model, as defined in <xref target="I-D.ietf-ccamp-otn-topo-yang"/> and <xref target="I-D.ietf-ccamp-otn-tunnel-model"/>.</t>
      <t>As defined in Annex M of <xref target="ITU-T_G.709"/>, fgOTN is defining a new path layer network which complements the existing OTN. Therefore:</t>
      <ul spacing="normal">
        <li>
          <t>A single network topology instance is used to report both OTN and fgOTN topology information: fgOTN technology-specific attributes are therefore defined in the fgOTN topology model as augmentations of the OTN topology model, but without defining a new network type for fgOTN.</t>
        </li>
        <li>
          <t>The OTN tunnel model can be used to setup either an OTN or an fgOTN tunnel: fgOTN technology-specific attributes are therefore defined in the fgOTN tunnel model as augmentations of the OTN tunnel model, which are applicable only when the OTN tunnel is an fgOTN tunnel.</t>
        </li>
      </ul>
      <t>In other words, the same switching-capability and encoding types can be used for ODUk and fgODUflex. Accordingly, additional parameters are required to identify fgODUflex tunnels. This document defines a new YANG module ietf-fgotn-types containing fgOTN-specific type definitions. In order to identify the fgODUflex tunnel, a new identity fgODUflex based on the odu-type in <xref target="I-D.ietf-ccamp-layer1-types"/> is defined in ietf-fgotn-types YANG module.</t>
    </section>
    <section anchor="yang-data-model-for-fgotn-topology">
      <name>YANG Data Model for fgOTN Topology</name>
      <section anchor="fine-grain-otn-topology-data-model-overview">
        <name>Fine Grain OTN Topology Data Model Overview</name>
        <t>This document aims to describe the data model for fine grain OTN topology. The YANG module presented in this document augments from OTN topology data model, i.e., the ietf-otn-topology, as specified in <xref target="I-D.ietf-ccamp-otn-topo-yang"/>. In section 6 of <xref target="I-D.ietf-ccamp-otn-topo-yang"/>, the guideline for augmenting OTN topology model was provided, and in this draft, we augment the OTN topology model to describe the topology characteristics of fgOTN.</t>
        <t>Common types, identities and groupings defined in <xref target="I-D.ietf-ccamp-layer1-types"/> is reused in this document.</t>
        <t><xref target="RFC8345"/> defines an abstract (generic, or base) YANG data model for network/service topologies and inventories, and provides the fundamental model for <xref target="RFC8795"/>. OTN topology module in <xref target="I-D.ietf-ccamp-otn-topo-yang"/> augments from the TE topology YANG model defined in <xref target="RFC8795"/>. <xref target="fig-fgotn-topology-relationship"/> shows the augmentation relationship.</t>
        <figure anchor="fig-fgotn-topology-relationship">
          <name>Relationship between fgOTN topology and OTN topology model</name>
          <artset>
            <artwork type="svg"><svg xmlns="http://www.w3.org/2000/svg" version="1.1" height="400" width="384" viewBox="0 0 384 400" class="diagram" text-anchor="middle" font-family="monospace" font-size="13px" stroke-linecap="round">
                <path d="M 8,32 L 8,64" fill="none" stroke="black"/>
                <path d="M 72,336 L 72,368" fill="none" stroke="black"/>
                <path d="M 80,144 L 80,176" fill="none" stroke="black"/>
                <path d="M 80,240 L 80,272" fill="none" stroke="black"/>
                <path d="M 104,72 L 104,104" fill="none" stroke="black"/>
                <path d="M 128,32 L 128,64" fill="none" stroke="black"/>
                <path d="M 152,104 L 152,144" fill="none" stroke="black"/>
                <path d="M 160,184 L 160,240" fill="none" stroke="black"/>
                <path d="M 160,280 L 160,336" fill="none" stroke="black"/>
                <path d="M 168,104 L 168,144" fill="none" stroke="black"/>
                <path d="M 184,32 L 184,64" fill="none" stroke="black"/>
                <path d="M 216,72 L 216,104" fill="none" stroke="black"/>
                <path d="M 240,144 L 240,176" fill="none" stroke="black"/>
                <path d="M 240,240 L 240,272" fill="none" stroke="black"/>
                <path d="M 248,336 L 248,368" fill="none" stroke="black"/>
                <path d="M 376,32 L 376,64" fill="none" stroke="black"/>
                <path d="M 8,32 L 128,32" fill="none" stroke="black"/>
                <path d="M 184,32 L 376,32" fill="none" stroke="black"/>
                <path d="M 8,64 L 128,64" fill="none" stroke="black"/>
                <path d="M 184,64 L 376,64" fill="none" stroke="black"/>
                <path d="M 80,144 L 240,144" fill="none" stroke="black"/>
                <path d="M 80,176 L 240,176" fill="none" stroke="black"/>
                <path d="M 80,240 L 240,240" fill="none" stroke="black"/>
                <path d="M 80,272 L 240,272" fill="none" stroke="black"/>
                <path d="M 72,336 L 248,336" fill="none" stroke="black"/>
                <path d="M 72,368 L 248,368" fill="none" stroke="black"/>
                <path d="M 104,104 L 152,104" fill="none" stroke="black"/>
                <path d="M 168,104 L 216,104" fill="none" stroke="black"/>
                <polygon class="arrowhead" points="224,72 212,66.4 212,77.6" fill="black" transform="rotate(270,216,72)"/>
                <polygon class="arrowhead" points="168,280 156,274.4 156,285.6" fill="black" transform="rotate(270,160,280)"/>
                <polygon class="arrowhead" points="168,184 156,178.4 156,189.6" fill="black" transform="rotate(270,160,184)"/>
                <polygon class="arrowhead" points="112,72 100,66.4 100,77.6" fill="black" transform="rotate(270,104,72)"/>
                <g class="text">
                  <text x="68" y="52">ietf-network</text>
                  <text x="280" y="52">ietf-network-topology</text>
                  <text x="212" y="132">Augments</text>
                  <text x="156" y="164">ietf-te-topology</text>
                  <text x="204" y="212">Augments</text>
                  <text x="160" y="260">ietf-otn-topology</text>
                  <text x="204" y="308">Augments</text>
                  <text x="160" y="356">ietf-fgotn-topology</text>
                </g>
              </svg>
            </artwork>
            <artwork type="ascii-art"><![CDATA[
    +--------------+      +-----------------------+
    | ietf-network |      | ietf-network-topology |
    +--------------+      +-----------------------+
                ^             ^
                |_____   _____|
                      | |
                      | | Augments
             +--------+-+--------+
             | ietf-te-topology  |
             +-------------------+
                       ^
                       | Augments
                       |
             +---------+---------+
             | ietf-otn-topology |
             +-------------------+
                       ^
                       | Augments
                       |
            +----------+----------+
            | ietf-fgotn-topology |
            +---------------------+
]]></artwork>
          </artset>
        </figure>
        <t>The entities, TE attributes and OTN attributes, such as nodes, termination points and links, are still applicable for describing an fgOTN topology and the model presented in this document only specifies technology-specific attributes/information. The fgOTN-specific attributes including the fgTS, can be used to represent the bandwidth and label information. At the same time, it is necessary to extend the encoding and switching-capability enumeration values in <xref target="I-D.ietf-teas-rfc8776-update"/> to identify that the current Tunnel Termination Point (TTP) is a termination point of an fgOTN tunnel.</t>
      </section>
      <section anchor="bandwidth-augmentation">
        <name>Bandwidth Augmentation</name>
        <t>Building upon the OTN topology model, the odu-list structure within the OTN topology YANG module is leveraged to represent the maximum link bandwidth and unreserved bandwidth for fgOTN. As an illustration, if an OTU2 port supports fgOTN, fgOTN is enabled across the entire port. In this case, the odu-type shall be set to ietf-fgotn-types:fgODUflex, with the associated number equal to 952. When a portion of fgts on the port is occupied, the value of maximum link bandwidth remains unchanged, while the number representing available bandwidth decreases accordingly.</t>
        <sourcecode type="json"><![CDATA[
  "ietf-otn-topology:odulist": [{
    "odu-type": "ietf-fgotn-types:fgODUflex",
    "number": 952
  }]
]]></sourcecode>
      </section>
      <section anchor="label-augmentation">
        <name>Label Augmentation</name>
        <t>The model augments the label-restriction list with fgOTN technology-specific label information using the otn-label-range-info grouping defined in <xref target="I-D.ietf-ccamp-layer1-types"/>.</t>
        <sourcecode type="yangtree"><![CDATA[
  augment /nw:networks/tet:te/tet:templates/tet:link-template
          /tet:te-link-attributes/tet:label-restrictions
          /tet:label-restriction:
    +--rw fgts-range* [odu-type odu-ts-number]
        +--rw odu-type           identityref
        +--rw odu-ts-number?     fgotnt:ts-list
        +--rw fgts-reserved?     fgotnt:ts-list
        +--rw fgts-unreserved?   fgotnt:ts-list
]]></sourcecode>
        <t>The fgts-range list is used to describe the availability of fgOTN timeslot in the server ODUk, including the fgts-reserved and fgts-unreserved. The odu-ts-number is used to indicate the index of server ODUk channel.</t>
      </section>
    </section>
    <section anchor="yang-data-model-for-fgotn-tunnel">
      <name>YANG Data Model for fgOTN Tunnel</name>
      <section anchor="fine-grain-otn-tunnel-data-model-overview">
        <name>Fine Grain OTN Tunnel Data Model Overview</name>
        <t>This document aims to describe the data model for fgOTN tunnel. The fgOTN tunnel model augments to OTN tunnel <xref target="I-D.ietf-ccamp-otn-tunnel-model"/> with fgOTN-specific parameters, including the bandwidth information and label information. <xref target="fig-fgotn-tunnel-relationship"/> shows the augmentation relationship.</t>
        <figure anchor="fig-fgotn-tunnel-relationship">
          <name>Relationship between fgOTN and OTN tunnel model</name>
          <artset>
            <artwork type="svg"><svg xmlns="http://www.w3.org/2000/svg" version="1.1" height="288" width="176" viewBox="0 0 176 288" class="diagram" text-anchor="middle" font-family="monospace" font-size="13px" stroke-linecap="round">
                <path d="M 8,224 L 8,256" fill="none" stroke="black"/>
                <path d="M 16,32 L 16,64" fill="none" stroke="black"/>
                <path d="M 16,128 L 16,160" fill="none" stroke="black"/>
                <path d="M 96,72 L 96,128" fill="none" stroke="black"/>
                <path d="M 96,168 L 96,224" fill="none" stroke="black"/>
                <path d="M 160,128 L 160,160" fill="none" stroke="black"/>
                <path d="M 168,32 L 168,64" fill="none" stroke="black"/>
                <path d="M 168,224 L 168,256" fill="none" stroke="black"/>
                <path d="M 16,32 L 168,32" fill="none" stroke="black"/>
                <path d="M 16,64 L 168,64" fill="none" stroke="black"/>
                <path d="M 16,128 L 160,128" fill="none" stroke="black"/>
                <path d="M 16,160 L 160,160" fill="none" stroke="black"/>
                <path d="M 8,224 L 168,224" fill="none" stroke="black"/>
                <path d="M 8,256 L 168,256" fill="none" stroke="black"/>
                <polygon class="arrowhead" points="104,168 92,162.4 92,173.6" fill="black" transform="rotate(270,96,168)"/>
                <polygon class="arrowhead" points="104,72 92,66.4 92,77.6" fill="black" transform="rotate(270,96,72)"/>
                <g class="text">
                  <text x="96" y="52">ietf-te</text>
                  <text x="140" y="100">Augments</text>
                  <text x="88" y="148">ietf-otn-tunnel</text>
                  <text x="140" y="196">Augments</text>
                  <text x="88" y="244">ietf-fgotn-tunnel</text>
                </g>
              </svg>
            </artwork>
            <artwork type="ascii-art"><![CDATA[
                +------------------+
                |      ietf-te     |
                +------------------+
                          ^
                          | Augments
                          |
                +---------+-------+
                | ietf-otn-tunnel |
                +-----------------+
                          ^
                          | Augments
                          |
               +----------+--------+
               | ietf-fgotn-tunnel |
               +-------------------+
]]></artwork>
          </artset>
        </figure>
        <t>It's also worth noting that the fgOTN tunnel provisioning is usually based on the fgOTN topology. Therefore the fgOTN tunnel model is usually used together with fgOTN topology model specified in this document. The OTN tunnel model also imports a few type modules, including ietf-layer1-types and ietf-te-types.</t>
        <t>A new identity based on odu-type should be defined in fgotn-types yang module to indicate the fgODUflex tunnel.</t>
      </section>
      <section anchor="bandwidth-augmentation-1">
        <name>Bandwidth Augmentation</name>
        <t>The model augment TE bandwidth information of fgOTN tunnel.</t>
        <sourcecode type="yangtree"><![CDATA[
  augment /te:te/te:tunnels/te:tunnel/te:te-bandwidth/te:technology
          /otn-tnl:otn/otn-tnl:otn-bandwidth:
    +--rw fgoduflex-bandwidth?   string
]]></sourcecode>
        <t>The string value fgoduflex-bandwidth is used to indicate the bandwidth of this fgOTN tunnel.</t>
      </section>
      <section anchor="label-augmentation-1">
        <name>Label Augmentation</name>
        <t>The module augments TE label-hop for the explicit route objects included or excluded by the path computation of the primary-paths and secondary-paths using the fgts-numbers. The fgts-numbers is used to specify fgTS information on inter-domain ports of the routing path. When specifying the fgotn time slot in the routing constraint information, the ODU time slot must also be specified. We also augment the TE label-hop for the record route of the LSP using the fgts-numbers.</t>
      </section>
    </section>
    <section anchor="yang-data-model-for-fgotn-types">
      <name>YANG Data Model for fgOTN types</name>
      <figure anchor="fgotn-types-yang">
        <name>fgOTN types YANG module</name>
        <sourcecode type="yang" markers="true" name="ietf-fgotn-types@2026-02-27.yang"><![CDATA[
module ietf-fgotn-types {
  yang-version 1.1;
  namespace "urn:ietf:params:xml:ns:yang:ietf-fgotn-types";
  prefix fgotn-types;

  import ietf-layer1-types {
    prefix l1-types;
    reference
      "This module defines Layer 1 YANG types.";
  }

  /* Note: The RFC Editor will replace YYYY with the number assigned
     to the RFC once draft-ietf-ccamp-layer1-types becomes an RFC.*/

  organization
    "Internet Engineering Task Force (IETF) CCAMP WG";
  contact
    "
      ID-draft editor:
        Yanxia Tan (tanyx11@chinaunicom.cn);
        Yanlei Zheng (zhengyanlei@chinaunicom.cn);
        Italo Busi (italo.busi@huawei.com);
        Chaode Yu (yuchaode@huawei.com);
        Xing Zhao (zhaoxing@caict.ac.cn);
    ";
  description
    "This module contains a collection of YANG data types considered
     generally useful for fine grain Optical Transport Network
     (fgOTN) networks.

     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.";

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

  revision 2026-02-27 {
    description
      "initial version";
    reference
      "RFC XXXX: YANG Data Models for fine grain Optical Transport
                 Network";
  }

  identity fgODUflex {
    base l1-types:odu-type;
    description
      "fgODUflex type (fine grain flexible bit rate, resizable).";
  }
}
]]></sourcecode>
      </figure>
    </section>
    <section anchor="fgotn-tree">
      <name>YANG Tree for fgOTN topology</name>
      <t><xref target="fig-fgotn-topo-tree"/> below shows the tree diagram of the YANG data model defined in module "ietf-fgotn-topology" (<xref target="fgotn-topology-yang"/>).</t>
      <figure anchor="fig-fgotn-topo-tree">
        <sourcecode type="yangtree" name="ietf-fgotn-topology.tree"><![CDATA[
module: ietf-fgotn-topology

  augment /nw:networks/nw:network/nt:link/tet:te
            /tet:te-link-attributes/tet:label-restrictions
            /tet:label-restriction:
    +--rw fgts-range* [odu-type odu-ts-number]
       +--rw odu-type           identityref
       +--rw odu-ts-number      fgotnt:ts-list
       +--rw fgts-reserved?     fgotnt:ts-list
       +--rw fgts-unreserved?   fgotnt:ts-list
]]></sourcecode>
      </figure>
    </section>
    <section anchor="yang-data-model-for-fgotn-topology-1">
      <name>YANG Data Model for fgOTN topology</name>
      <figure anchor="fgotn-topology-yang">
        <name>fgOTN topology YANG module</name>
        <sourcecode type="yang" markers="true" name="ietf-fgotn-topology@2026-07-23.yang"><![CDATA[
module ietf-fgotn-topology {
  yang-version 1.1;
  namespace "urn:ietf:params:xml:ns:yang:ietf-fgotn-topology";
  prefix fgotnt;

  import ietf-network {
    prefix nw;
    reference
      "RFC8345: A YANG Data Model for Network Topologies";
  }
  import ietf-network-topology {
    prefix nt;
    reference
      "RFC8345: A YANG Data Model for Network Topologies";
  }
  import ietf-te-topology {
    prefix tet;
    reference
      "RFC 8795: YANG Data Model for Traffic Engineering (TE)
                 Topologies";
  }
  import ietf-layer1-types {
    prefix l1-types;
    reference
      "RFC YYYY: A YANG Data Model for Layer 1 Types";
  }

  /* Note: The RFC Editor will replace YYYY with the number assigned
     to the RFC once draft-ietf-ccamp-layer1-types becomes an RFC.*/

  import ietf-otn-topology {
    prefix otnt;
    reference
      "RFC ZZZZ: A YANG Data Model for Optical Transport Network
                 Topology";
  }

  /* Note: The RFC Editor will replace ZZZZ with the number assigned
     to the RFC once draft-ietf-ccamp-otn-topo-yang becomes an RFC.*/

  organization
    "Internet Engineering Task Force (IETF) CCAMP WG";
  contact
    "
      ID-draft editor:
        Yanxia Tan (tanyx11@chinaunicom.cn);
        Yanlei Zheng (zhengyanlei@chinaunicom.cn);
        Italo Busi (italo.busi@huawei.com);
        Chaode Yu (yuchaode@huawei.com);
        Xing Zhao (zhaoxing@caict.ac.cn);
    ";
  description
    "This module defines a YANG data model for fgOTN-specific
     extension based on existing network topology models. The model
     fully conforms to the Network Management Datastore Architecture
     (NMDA).

     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.

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

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

  revision 2026-07-23 {
    description
      "initial version";
    reference
      "RFC XXXX: YANG Data Models for fine grain Optical Transport
                 Network";
  }

  typedef ts-list {
    type string {
      pattern '([1-9][0-9]{0,3}(-[1-9][0-9]{0,3})?'
            + '(,[1-9][0-9]{0,3}(-[1-9][0-9]{0,3})?)*)?';
    }
    description
      "A list of Tributary Slots (TS) ranging between 1 and 4095.

       If multiple values or ranges are given, they all MUST be
       disjoint and MUST be in ascending order.

       For example 1-20,25,50-1000.";
    reference
      "RFC 7139: GMPLS Signaling Extensions for Control
                 of Evolving G.709 Optical Transport Networks";
  }

  augment "/nw:networks/nw:network/nt:link/tet:te"
        + "/tet:te-link-attributes/tet:label-restrictions"
        + "/tet:label-restriction" {
    when "./otnt:otn-label-range/otnt:range-type = 'trib-slot'" {
      description
        "Valid only when range-type represented by trib-slot.";
    }
    description
      "specific augmentation of fgOTN label";
    list fgts-range {
      key "odu-type odu-ts-number";
      description
        "This structure is used to describe the availability of
         fgOTN timeslot in the server ODUk";
      leaf odu-type {
        type identityref {
          base l1-types:odu-type;
        }
        description
          "The granularity of server ODUk";
      }
      leaf odu-ts-number {
        type fgotnt:ts-list;
        description
          "The index of server ODUk channel";
      }
      leaf fgts-reserved {
        type fgotnt:ts-list;
        description
          "The reserved fgOTN timeslot in this server ODUk";
      }
      leaf fgts-unreserved {
        type fgotnt:ts-list;
        description
          "The unreserved fgOTN timeslot in this server ODUk";
      }
    }
  }
}
]]></sourcecode>
      </figure>
    </section>
    <section anchor="yang-tree-for-fgotn-tunnel">
      <name>YANG Tree for fgOTN tunnel</name>
      <t><xref target="fig-fgotn-tunnel-tree"/> below shows the tree diagram of the YANG data model defined in module "ietf-fgotn-tunnel" (<xref target="fgotn-tunnel-yang"/>).</t>
      <figure anchor="fig-fgotn-tunnel-tree">
        <sourcecode type="yangtree" name="ietf-fgotn-tunnel.tree"><![CDATA[
module: ietf-fgotn-tunnel

  augment /te:te/te:tunnels/te:tunnel/te:te-bandwidth/te:technology
            /otn-tnl:otn/otn-tnl:otn-bandwidth:
    +--rw fgoduflex-bandwidth?   string
  augment /te:te/te:tunnels/te:tunnel/te:primary-paths
            /te:primary-path/te:explicit-route-objects
            /te:route-object-include-exclude/te:type/te:label
            /te:label-hop/te:te-label/te:technology/otn-tnl:otn
            /otn-tnl:otn-label:
    +--rw fgts-numbers?   string
  augment /te:te/te:tunnels/te:tunnel/te:primary-paths
            /te:primary-path/te:primary-reverse-path
            /te:explicit-route-objects
            /te:route-object-include-exclude/te:type/te:label
            /te:label-hop/te:te-label/te:technology/otn-tnl:otn
            /otn-tnl:otn-label:
    +--rw fgts-numbers?   string
  augment /te:te/te:tunnels/te:tunnel/te:secondary-paths
            /te:secondary-path/te:explicit-route-objects
            /te:route-object-include-exclude/te:type/te:label
            /te:label-hop/te:te-label/te:technology/otn-tnl:otn
            /otn-tnl:otn-label:
    +--rw fgts-numbers?   string
  augment /te:te/te:tunnels/te:tunnel/te:secondary-reverse-paths
            /te:secondary-reverse-path/te:explicit-route-objects
            /te:route-object-include-exclude/te:type/te:label
            /te:label-hop/te:te-label/te:technology/otn-tnl:otn
            /otn-tnl:otn-label:
    +--rw fgts-numbers?   string
  augment /te:te/te:lsps/te:lsp/te:lsp-actual-route-information
            /te:lsp-actual-route-information/te:type/te:label
            /te:label-hop/te:te-label/te:technology/otn-tnl:otn
            /otn-tnl:otn-label:
    +--ro fgts-numbers?   string
]]></sourcecode>
      </figure>
    </section>
    <section anchor="yang-data-model-for-fgotn-tunnel-1">
      <name>YANG Data Model for fgOTN tunnel</name>
      <figure anchor="fgotn-tunnel-yang">
        <name>fgOTN tunnel YANG module</name>
        <sourcecode type="yang" markers="true" name="ietf-fgotn-tunnel@2026-02-27.yang"><![CDATA[
module ietf-fgotn-tunnel {
  yang-version 1.1;
  namespace "urn:ietf:params:xml:ns:yang:ietf-fgotn-tunnel";
  prefix fgotn-tnl;

  import ietf-te {
    prefix te;
    reference
      "RFC KKKK: A YANG Data Model for Traffic Engineering Tunnels,
                 Label Switched Paths and Interfaces";
  }
  import ietf-fgotn-types {
    prefix fgotn-types;
    reference
      "RFC XXXX: YANG Data Models for fine grain Optical Transport
       Network";
  }

  /* Note: The RFC Editor will replace KKKK with the number assigned
     to the RFC once draft-ietf-teas-yang-te becomes an RFC.*/

  import ietf-otn-tunnel {
    prefix otn-tnl;
    reference
      "RFC JJJJ: OTN Tunnel YANG Model";
  }

  /* Note: The RFC Editor will replace JJJJ with the number assigned
     to the RFC once draft-ietf-ccamp-otn-tunnel-model becomes
     an RFC.*/

  organization
    "Internet Engineering Task Force (IETF) CCAMP WG";
  contact
    "
      ID-draft editor:
        Yanxia Tan (tanyx11@chinaunicom.cn);
        Yanlei Zheng (zhengyanlei@chinaunicom.cn);
        Italo Busi (italo.busi@huawei.com);
        Chaode Yu (yuchaode@huawei.com);
        Xing Zhao (zhaoxing@caict.ac.cn);
    ";
  description
    "This module defines a YANG data model for fgOTN-specific
     extension based on existing network topology models. The model
     fully conforms to the Network Management Datastore Architecture
     (NMDA).

     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.";

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

  revision 2026-02-27 {
    description
      "initial version";
    reference
      "RFC XXXX: YANG Data Models for fine grain Optical Transport
                 Network";
  }

  augment "/te:te/te:tunnels/te:tunnel/"
        + "te:te-bandwidth/te:technology/"
        + "otn-tnl:otn/otn-tnl:otn-bandwidth" {
    description
      "augmentation of fgOTN tunnel on bandwidth structure";
    leaf fgoduflex-bandwidth {
      when 'derived-from-or-self(../otn-tnl:odu-type,'
         + '"fgotn-types:fgODUflex")' {
        description
          "Applicable when odu-type is fgODUflex.";
      }
      type string;
      description
        "Augment TE bandwidth of the fgOTN tunnel";
    }
  }

  augment "/te:te/te:tunnels/te:tunnel/"
        + "te:primary-paths/te:primary-path/"
        + "te:explicit-route-objects/"
        + "te:route-object-include-exclude/te:type/te:label/"
        + "te:label-hop/te:te-label/te:technology/otn-tnl:otn"
        + "/otn-tnl:otn-label" {
    description
      "augmentation of fgOTN label";
    leaf fgts-numbers {
      type string;
      description
        "Augment fgOTN timeslot information of this label hop";
    }
  }

  augment "/te:te/te:tunnels/te:tunnel/te:primary-paths"
        + "/te:primary-path/te:primary-reverse-path"
        + "/te:explicit-route-objects"
        + "/te:route-object-include-exclude/te:type/te:label"
        + "/te:label-hop/te:te-label/te:technology/otn-tnl:otn"
        + "/otn-tnl:otn-label" {
    description
      "augmentation of fgOTN label";
    leaf fgts-numbers {
      type string;
      description
        "Augment fgOTN timeslot information of this label hop";
    }
  }

  augment "/te:te/te:tunnels/te:tunnel/te:secondary-paths"
        + "/te:secondary-path/te:explicit-route-objects"
        + "/te:route-object-include-exclude/te:type/te:label"
        + "/te:label-hop/te:te-label/te:technology/otn-tnl:otn"
        + "/otn-tnl:otn-label" {
    description
      "augmentation of fgOTN label";
    leaf fgts-numbers {
      type string;
      description
        "fgOTN timeslot information of this label hop";
    }
  }

  augment "/te:te/te:tunnels/te:tunnel/te:secondary-reverse-paths"
        + "/te:secondary-reverse-path/te:explicit-route-objects"
        + "/te:route-object-include-exclude/te:type/te:label"
        + "/te:label-hop/te:te-label/te:technology/otn-tnl:otn"
        + "/otn-tnl:otn-label" {
    description
      "augmentation of fgOTN label";
    leaf fgts-numbers {
      type string;
      description
        "fgOTN timeslot information of this label hop";
    }
  }

  augment "/te:te/te:lsps/te:lsp/te:lsp-actual-route-information"
        + "/te:lsp-actual-route-information/te:type/te:label"
        + "/te:label-hop/te:te-label/te:technology/otn-tnl:otn"
        + "/otn-tnl:otn-label" {
    description
      "augmentation of fgOTN label";
    leaf fgts-numbers {
      type string;
      description
        "fgOTN timeslot information of this label hop";
    }
  }
}
]]></sourcecode>
      </figure>
    </section>
    <section anchor="manageability-considerations">
      <name>Manageability Considerations</name>
      <t>&lt;Add any manageability considerations&gt;</t>
    </section>
    <section anchor="security-considerations">
      <name>Security Considerations</name>
      <t>&lt;Add any security considerations&gt;</t>
    </section>
    <section anchor="iana-considerations">
      <name>IANA Considerations</name>
      <t>&lt;Add any IANA considerations&gt;</t>
    </section>
  </middle>
  <back>
    <references anchor="sec-combined-references">
      <name>References</name>
      <references anchor="sec-normative-references">
        <name>Normative References</name>
        <reference anchor="ITU-T_G.709" target="https://www.itu.int/rec/T-REC-G.709/">
          <front>
            <title>Interfaces for the optical transport network</title>
            <author>
              <organization>International Telecommunication Union</organization>
            </author>
            <date year="2024" month="March"/>
          </front>
          <seriesInfo name="ITU-T Recommendation G.709, Amendment 3" value=""/>
        </reference>
        <reference anchor="ITU-T_G.709.20" target="https://www.itu.int/rec/T-REC-G.709.20/">
          <front>
            <title>Overview of fine grain OTN</title>
            <author>
              <organization>International Telecommunication Union</organization>
            </author>
            <date year="2025" month="May"/>
          </front>
          <seriesInfo name="ITU-T Recommendation G.709.20, Amendment 1" value=""/>
        </reference>
        <reference anchor="I-D.ietf-ccamp-otn-topo-yang">
          <front>
            <title>A YANG Data Model for Optical Transport Network Topology</title>
            <author fullname="Haomian Zheng" initials="H." surname="Zheng">
              <organization>Huawei Technologies</organization>
            </author>
            <author fullname="Italo Busi" initials="I." surname="Busi">
              <organization>Huawei Technologies</organization>
            </author>
            <author fullname="Xufeng Liu" initials="X." surname="Liu">
              <organization>Individual</organization>
            </author>
            <author fullname="Sergio Belotti" initials="S." surname="Belotti">
              <organization>Nokia</organization>
            </author>
            <author fullname="Oscar Gonzalez de Dios" initials="O. G." surname="de Dios">
              <organization>Telefonica</organization>
            </author>
            <date day="16" month="June" year="2026"/>
            <abstract>
              <t>   This document defines a YANG data model for representing, retrieving,
   and manipulating Optical Transport Network (OTN) topologies.  It is
   independent of control plane protocols and captures topological and
   resource-related information pertaining to OTN.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-ccamp-otn-topo-yang-21"/>
        </reference>
        <reference anchor="I-D.ietf-ccamp-otn-tunnel-model">
          <front>
            <title>A YANG Data Model for Optical Transport Network (OTN) Tunnels and Label Switched Paths</title>
            <author fullname="Haomian Zheng" initials="H." surname="Zheng">
              <organization>Huawei Technologies</organization>
            </author>
            <author fullname="Italo Busi" initials="I." surname="Busi">
              <organization>Huawei Technologies</organization>
            </author>
            <author fullname="Sergio Belotti" initials="S." surname="Belotti">
              <organization>Nokia</organization>
            </author>
            <author fullname="Victor Lopez" initials="V." surname="Lopez">
              <organization>Nokia</organization>
            </author>
            <author fullname="Yunbin Xu" initials="Y." surname="Xu">
              <organization>CAICT</organization>
            </author>
            <date day="27" month="May" year="2026"/>
            <abstract>
              <t>   This document describes the YANG data model for tunnels in OTN TE
   networks.  The model can be used to do the configuration in order to
   establish the tunnel in OTN network.  This work is independent with
   the control plane protocols.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-ccamp-otn-tunnel-model-25"/>
        </reference>
        <reference anchor="I-D.ietf-ccamp-layer1-types">
          <front>
            <title>Common YANG Data Types for Layer 1 Networks</title>
            <author fullname="Haomian Zheng" initials="H." surname="Zheng">
              <organization>Huawei Technologies</organization>
            </author>
            <author fullname="Italo Busi" initials="I." surname="Busi">
              <organization>Huawei Technologies</organization>
            </author>
            <date day="16" month="June" year="2026"/>
            <abstract>
              <t>   This document defines a collection of common data types, identities,
   and groupings in the YANG data modeling language.  These derived
   common data types, identities, and groupings are intended to be
   imported by modules that model Layer 1 configuration and state
   capabilities.  The Layer 1 types are representative of Layer 1 client
   signals applicable to transport networks, such as Optical Transport
   Networks (OTN).  The Optical Transport Network (OTN) data structures
   are included in this document as Layer 1 types.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-ccamp-layer1-types-19"/>
        </reference>
        <reference anchor="RFC8342">
          <front>
            <title>Network Management Datastore Architecture (NMDA)</title>
            <author fullname="M. Bjorklund" initials="M." surname="Bjorklund"/>
            <author fullname="J. Schoenwaelder" initials="J." surname="Schoenwaelder"/>
            <author fullname="P. Shafer" initials="P." surname="Shafer"/>
            <author fullname="K. Watsen" initials="K." surname="Watsen"/>
            <author fullname="R. Wilton" initials="R." surname="Wilton"/>
            <date month="March" year="2018"/>
            <abstract>
              <t>Datastores are a fundamental concept binding the data models written in the YANG data modeling language to network management protocols such as the Network Configuration Protocol (NETCONF) and RESTCONF. This document defines an architectural framework for datastores based on the experience gained with the initial simpler model, addressing requirements that were not well supported in the initial model. This document updates RFC 7950.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8342"/>
          <seriesInfo name="DOI" value="10.17487/RFC8342"/>
        </reference>
        <reference anchor="RFC7950">
          <front>
            <title>The YANG 1.1 Data Modeling Language</title>
            <author fullname="M. Bjorklund" initials="M." role="editor" surname="Bjorklund"/>
            <date month="August" year="2016"/>
            <abstract>
              <t>YANG is a data modeling language used to model configuration data, state data, Remote Procedure Calls, and notifications for network management protocols. This document describes the syntax and semantics of version 1.1 of the YANG language. YANG version 1.1 is a maintenance release of the YANG language, addressing ambiguities and defects in the original specification. There are a small number of backward incompatibilities from YANG version 1. This document also specifies the YANG mappings to the Network Configuration Protocol (NETCONF).</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7950"/>
          <seriesInfo name="DOI" value="10.17487/RFC7950"/>
        </reference>
        <reference anchor="RFC6241">
          <front>
            <title>Network Configuration Protocol (NETCONF)</title>
            <author fullname="R. Enns" initials="R." role="editor" surname="Enns"/>
            <author fullname="M. Bjorklund" initials="M." role="editor" surname="Bjorklund"/>
            <author fullname="J. Schoenwaelder" initials="J." role="editor" surname="Schoenwaelder"/>
            <author fullname="A. Bierman" initials="A." role="editor" surname="Bierman"/>
            <date month="June" year="2011"/>
            <abstract>
              <t>The Network Configuration Protocol (NETCONF) defined in this document provides mechanisms to install, manipulate, and delete the configuration of network devices. It uses an Extensible Markup Language (XML)-based data encoding for the configuration data as well as the protocol messages. The NETCONF protocol operations are realized as remote procedure calls (RPCs). This document obsoletes RFC 4741. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="6241"/>
          <seriesInfo name="DOI" value="10.17487/RFC6241"/>
        </reference>
        <reference anchor="RFC8340">
          <front>
            <title>YANG Tree Diagrams</title>
            <author fullname="M. Bjorklund" initials="M." surname="Bjorklund"/>
            <author fullname="L. Berger" initials="L." role="editor" surname="Berger"/>
            <date month="March" year="2018"/>
            <abstract>
              <t>This document captures the current syntax used in YANG module tree diagrams. The purpose of this document is to provide a single location for this definition. This syntax may be updated from time to time based on the evolution of the YANG language.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="215"/>
          <seriesInfo name="RFC" value="8340"/>
          <seriesInfo name="DOI" value="10.17487/RFC8340"/>
        </reference>
        <reference anchor="RFC2119">
          <front>
            <title>Key words for use in RFCs to Indicate Requirement Levels</title>
            <author fullname="S. Bradner" initials="S." surname="Bradner"/>
            <date month="March" year="1997"/>
            <abstract>
              <t>In many standards track documents several words are used to signify the requirements in the specification. These words are often capitalized. This document defines these words as they should be interpreted in IETF documents. This document specifies an Internet Best Current Practices for the Internet Community, and requests discussion and suggestions for improvements.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="14"/>
          <seriesInfo name="RFC" value="2119"/>
          <seriesInfo name="DOI" value="10.17487/RFC2119"/>
        </reference>
        <reference anchor="RFC8174">
          <front>
            <title>Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words</title>
            <author fullname="B. Leiba" initials="B." surname="Leiba"/>
            <date month="May" year="2017"/>
            <abstract>
              <t>RFC 2119 specifies common key words that may be used in protocol specifications. This document aims to reduce the ambiguity by clarifying that only UPPERCASE usage of the key words have the defined special meanings.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="14"/>
          <seriesInfo name="RFC" value="8174"/>
          <seriesInfo name="DOI" value="10.17487/RFC8174"/>
        </reference>
        <reference anchor="I-D.ietf-teas-yang-te">
          <front>
            <title>A YANG Data Model for Traffic Engineering Tunnels, Label Switched Paths, and Interfaces</title>
            <author fullname="Tarek Saad" initials="T." surname="Saad">
              <organization>Cisco Systems Inc</organization>
            </author>
            <author fullname="Rakesh Gandhi" initials="R." surname="Gandhi">
              <organization>Cisco Systems Inc</organization>
            </author>
            <author fullname="Xufeng Liu" initials="X." surname="Liu">
              <organization>Alef Edge</organization>
            </author>
            <author fullname="Vishnu Pavan Beeram" initials="V. P." surname="Beeram">
              <organization>Juniper Networks</organization>
            </author>
            <author fullname="Igor Bryskin" initials="I." surname="Bryskin">
              <organization>Individual</organization>
            </author>
            <date day="26" month="March" year="2026"/>
            <abstract>
              <t>   This document defines a YANG data model for the provisioning and
   management of Traffic Engineering (TE) tunnels, Label Switched Paths
   (LSPs), and interfaces.  The model covers data pertinent to TE
   tunnels, TE LSPs, and TE interfaces that are independent of any
   technology or dataplane encapsulation.  The model is divided into two
   YANG modules that address both device-specific and device-independent
   data, supporting configuration, operational state, Remote Procedure
   Calls (RPCs), and event notifications.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-teas-yang-te-44"/>
        </reference>
      </references>
      <references anchor="sec-informative-references">
        <name>Informative References</name>
        <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>
        <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="I-D.ietf-teas-rfc8776-update">
          <front>
            <title>Common YANG Data Types for Traffic Engineering</title>
            <author fullname="Italo Busi" initials="I." surname="Busi">
              <organization>Huawei</organization>
            </author>
            <author fullname="Aihua Guo" initials="A." surname="Guo">
              <organization>Futurewei Technologies</organization>
            </author>
            <author fullname="Xufeng Liu" initials="X." surname="Liu">
              <organization>Individual</organization>
            </author>
            <author fullname="Tarek Saad" initials="T." surname="Saad">
              <organization>Cisco Systems Inc.</organization>
            </author>
            <author fullname="Igor Bryskin" initials="I." surname="Bryskin">
              <organization>Individual</organization>
            </author>
            <date day="12" month="June" year="2026"/>
            <abstract>
              <t>   This document defines a collection of commonly used Traffic
   Engineering (TE) specific data types, identities, and groupings in
   YANG data modeling language.  These derived common data types,
   identities, and groupings are intended to be imported by other
   modules that model configuration and state for TE constructs, such as
   TE Topologies, TE Tunnels, TE Policies, TE Paths, TE Label Switched
   Paths (LSPs), and TE interfaces.

   This document obsoletes RFC 8776.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-teas-rfc8776-update-24"/>
        </reference>
        <reference anchor="RFC7951">
          <front>
            <title>JSON Encoding of Data Modeled with YANG</title>
            <author fullname="L. Lhotka" initials="L." surname="Lhotka"/>
            <date month="August" year="2016"/>
            <abstract>
              <t>This document defines encoding rules for representing configuration data, state data, parameters of Remote Procedure Call (RPC) operations or actions, and notifications defined using YANG as JavaScript Object Notation (JSON) text.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7951"/>
          <seriesInfo name="DOI" value="10.17487/RFC7951"/>
        </reference>
      </references>
    </references>
    <?line 879?>

<section anchor="multi-domain-fgotn-hitless-resizing-process">
      <name>Multi-domain fgOTN Hitless Resizing Process</name>
      <t>The process of multi-domain fgOTN hitless resizing include five steps. The source controller alone report the hitless bandwidth adjustment status to the MDSC coordinator. To be noted that, the resizing process is divided into two directions, and the resizing is considered successful when both directions have been adjusted.</t>
      <t>Step 1: The MDSC coordinator sends an resizing command to the source node (Node1) via Controller 1.</t>
      <t>Step 2: Controller 1 will report a bandwidth adjustment starting status notification, e.g. ietf-te-types:lsp-bandwidth-modifying, to the MDSC.</t>
      <t>Step 3: Node 1 to node 6 will modify their configuration in the forward direction through data plane node by node. The detail of this process can reference to Annex O.2 of <xref target="ITU-T_G.709"/>.</t>
      <t>Step 4: At the same time, the reverse direction bandwidth resizing will be triggered auotmatically by the data plane in node 6. Controller 3 needs to report an bandwidth adjustment starting status notification, ietf-te-types:lsp-bandwidth-modifying, to the MDSC.</t>
      <t>Step 5: After the reverse direction (Node 6 to Node 1) resizing is completed, Controller 1 will report an ending status notification, ietf-te-types:lsp-bandwidth-modified-ok, to the MDSC.</t>
      <t>If the hitless resizing fails, the source controller (i.e., Controller 1) needs to report an bandwidth adjustment failure status notification, ietf-te-types:lsp-bandwidth-modify-failed, to the MDSC coordinator.</t>
      <t>During the whole process, all domain controllers, including the intermediate domain Controller 2, need to report the notifications of topology and tunnel resource changes to the MDSC.</t>
    </section>
    <section anchor="json-examples">
      <name>JSON Examples</name>
      <t>This appendix contains an example of an instance data tree in JSON
encoding <xref target="RFC7951"/>.</t>
      <t>The example instantiates the "ietf-fgotn-topology" model for the OTN
topology depicted in <xref target="fig-example"/> below.</t>
      <figure anchor="fig-example">
        <name>Example of fgOTN topology</name>
        <artset>
          <artwork type="svg"><svg xmlns="http://www.w3.org/2000/svg" version="1.1" height="224" width="440" viewBox="0 0 440 224" class="diagram" text-anchor="middle" font-family="monospace" font-size="13px" stroke-linecap="round">
              <path d="M 40,96 L 40,128" fill="none" stroke="black"/>
              <path d="M 72,48 L 72,96" fill="none" stroke="black"/>
              <path d="M 72,128 L 72,176" fill="none" stroke="black"/>
              <path d="M 104,96 L 104,128" fill="none" stroke="black"/>
              <path d="M 176,32 L 176,64" fill="none" stroke="black"/>
              <path d="M 176,160 L 176,192" fill="none" stroke="black"/>
              <path d="M 240,32 L 240,64" fill="none" stroke="black"/>
              <path d="M 240,160 L 240,192" fill="none" stroke="black"/>
              <path d="M 336,96 L 336,128" fill="none" stroke="black"/>
              <path d="M 368,48 L 368,96" fill="none" stroke="black"/>
              <path d="M 368,128 L 368,176" fill="none" stroke="black"/>
              <path d="M 400,96 L 400,128" fill="none" stroke="black"/>
              <path d="M 176,32 L 240,32" fill="none" stroke="black"/>
              <path d="M 72,48 L 176,48" fill="none" stroke="black"/>
              <path d="M 240,48 L 368,48" fill="none" stroke="black"/>
              <path d="M 176,64 L 240,64" fill="none" stroke="black"/>
              <path d="M 40,96 L 104,96" fill="none" stroke="black"/>
              <path d="M 336,96 L 400,96" fill="none" stroke="black"/>
              <path d="M 8,112 L 40,112" fill="none" stroke="black"/>
              <path d="M 400,112 L 432,112" fill="none" stroke="black"/>
              <path d="M 40,128 L 104,128" fill="none" stroke="black"/>
              <path d="M 336,128 L 400,128" fill="none" stroke="black"/>
              <path d="M 176,160 L 240,160" fill="none" stroke="black"/>
              <path d="M 72,176 L 176,176" fill="none" stroke="black"/>
              <path d="M 240,176 L 368,176" fill="none" stroke="black"/>
              <path d="M 176,192 L 240,192" fill="none" stroke="black"/>
              <g class="text">
                <text x="152" y="36">(1)</text>
                <text x="264" y="36">(2)</text>
                <text x="208" y="52">NE2</text>
                <text x="88" y="84">(2)</text>
                <text x="352" y="84">(2)</text>
                <text x="16" y="100">(1)</text>
                <text x="424" y="100">(1)</text>
                <text x="72" y="116">NE1</text>
                <text x="368" y="116">NE4</text>
                <text x="88" y="148">(3)</text>
                <text x="352" y="148">(3)</text>
                <text x="208" y="180">NE3</text>
                <text x="152" y="196">(1)</text>
                <text x="264" y="196">(2)</text>
              </g>
            </svg>
          </artwork>
          <artwork type="ascii-art"><![CDATA[
                   (1) +-------+ (2)
          +------------+  NE2  +---------------+
          |            +-------+               |
          |(2)                              (2)|
  (1) +---+---+                            +---+---+ (1)
  ----+  NE1  |                            |  NE4  +----
      +---+---+                            +---+---+
          |(3)                              (3)|
          |            +-------+               |
          +------------+  NE3  +---------------+
                   (1) +-------+ (2)
]]></artwork>
        </artset>
      </figure>
      <t>In this network example:</t>
      <ul spacing="normal">
        <li>
          <t>nodes NE1, NE2, and NE4 support fgOTN switching, while node NE3 does not support fgOTN;</t>
        </li>
        <li>
          <t>all the links are OTU2 links</t>
        </li>
      </ul>
      <t>The topology examples, show how the topology changes in three different steps:</t>
      <ol spacing="normal" type="1"><li>
          <t>No OTN or fgOTN tunnels are setup in the network;</t>
        </li>
        <li>
          <t>The following ODUk tunnels are setup as server layer tunnels to support fgOTN tunnels:
  - an ODU1 tunnel between NE1 and NE2;
          </t>
          <ul spacing="normal">
            <li>
              <t>two ODU0 server layer tunnels between NE2 and NE4;</t>
            </li>
            <li>
              <t>one ODU1 server layer tunnel between NE1 and NE4 (through the NE1-NE3-NE4 path)</t>
            </li>
          </ul>
        </li>
        <li>
          <t>The following fgOTN tunnels are setup in the network:
  - a 20M protected fgOTN tunnel between NE1 and NE4 with:
          </t>
          <ul spacing="normal">
            <li>
              <t>a workting path setup through the NE1-NE2 ODU1 tunnel and the NE2-NE4 ODU0 tunnel;</t>
            </li>
            <li>
              <t>a protectin path setup through the NE1-NE3-NE4 ODU1 tunnel;
      - an 20M unprotected fgOTN tunnel throught the same NE2-NE4 ODU0 tunnel used by the other fgOTN tunnel.</t>
            </li>
          </ul>
        </li>
      </ol>
      <sourcecode type="json"><![CDATA[
=============== NOTE: '\' line wrapping per RFC 8792 ================

{
  "ietf-network:networks": {
    "network": [
      {
        "network-id": "example:otn-topology-example-1",
        "network-types": {
          "ietf-te-topology:te-topology": {
            "ietf-otn-topology:otn-topology": {}
          }
        },
        "ietf-te-topology:te-topology-identifier": {
          "client-id": 2,
          "provider-id": 1,
          "topology-id": "otn-topology-example-1"
        },
        "ietf-te-topology:te": {},
        "ietf-network-topology:link": [
          {
            "link-id": "example:link/NE1-2/NE2-1",
            "source": {
              "source-node": "NE1",
              "source-tp": "2"
            },
            "destination": {
              "dest-node": "NE2",
              "dest-tp": "1"
            },
            "ietf-te-topology:te": {
              "te-link-attributes": {
                "interface-switching-capability": [
                  {
                    "encoding": "ietf-te-types:lsp-encoding-oduk",
                    "switching-capability": "ietf-te-types:switching\
                                                                -otn"
                  }
                ],
                "label-restrictions": {
                  "label-restriction": [
                    {
                      "index": 1,
                      "restriction": "inclusive",
                      "ietf-otn-topology:otn-label-range": {
                        "range-type": "trib-slot"
                      },
                      "label-start": {
                        "te-label": {
                          "ietf-otn-topology:otn-label": {
                            "ts": 1
                          }
                        }
                      },
                      "label-end": {
                        "te-label": {
                          "ietf-otn-topology:otn-label": {
                            "ts": 8
                          }
                        }
                      },
                      "label-step": {
                        "generic": 1
                      },
                      "range-bitmap": "ff"
                    }
                  ]
                },
                "max-link-bandwidth": {
                  "te-bandwidth": {
                    "ietf-otn-topology:otn-bandwidth": {
                      "odulist": [
                        {
                          "odu-type": "ietf-layer1-types:ODU2",
                          "number": 1
                        },
                        {
                          "odu-type": "ietf-layer1-types:ODU1",
                          "number": 4
                        },
                        {
                          "odu-type": "ietf-layer1-types:ODU0",
                          "number": 8
                        },
                        {
                          "odu-type": "ietf-fgotn-types:fgODUflex",
                          "number": 952
                        }
                      ]
                    }
                  }
                },
                "unreserved-bandwidth": [
                  {
                    "priority": 7,
                    "te-bandwidth": {
                      "ietf-otn-topology:otn-bandwidth": {
                        "odulist": [
                          {
                            "odu-type": "ietf-layer1-types:ODU2",
                            "number": 1
                          },
                          {
                            "odu-type": "ietf-layer1-types:ODU1",
                            "number": 4
                          },
                          {
                            "odu-type": "ietf-layer1-types:ODU0",
                            "number": 8
                          },
                          {
                            "odu-type": "ietf-fgotn-types:fgODUflex",
                            "number": 952
                          }
                        ]
                      }
                    }
                  }
                ],
                "name": "Link between Node NE1 and Node NE2 (\
                                                  forward direction)"
              }
            }
          },
          {
            "link-id": "example:link/NE2-1/NE1-2",
            "source": {
              "source-node": "NE2",
              "source-tp": "1"
            },
            "destination": {
              "dest-node": "NE1",
              "dest-tp": "2"
            },
            "ietf-te-topology:te": {
              "te-link-attributes": {
                "interface-switching-capability": [
                  {
                    "encoding": "ietf-te-types:lsp-encoding-oduk",
                    "switching-capability": "ietf-te-types:switching\
                                                                -otn"
                  }
                ],
                "label-restrictions": {
                  "label-restriction": [
                    {
                      "index": 1,
                      "restriction": "inclusive",
                      "ietf-otn-topology:otn-label-range": {
                        "range-type": "trib-slot"
                      },
                      "label-start": {
                        "te-label": {
                          "ietf-otn-topology:otn-label": {
                            "ts": 1
                          }
                        }
                      },
                      "label-end": {
                        "te-label": {
                          "ietf-otn-topology:otn-label": {
                            "ts": 8
                          }
                        }
                      },
                      "label-step": {
                        "generic": 1
                      },
                      "range-bitmap": "ff"
                    }
                  ]
                },
                "max-link-bandwidth": {
                  "te-bandwidth": {
                    "ietf-otn-topology:otn-bandwidth": {
                      "odulist": [
                        {
                          "odu-type": "ietf-layer1-types:ODU2",
                          "number": 1
                        },
                        {
                          "odu-type": "ietf-layer1-types:ODU1",
                          "number": 4
                        },
                        {
                          "odu-type": "ietf-layer1-types:ODU0",
                          "number": 8
                        },
                        {
                          "odu-type": "ietf-fgotn-types:fgODUflex",
                          "number": 952
                        }
                      ]
                    }
                  }
                },
                "unreserved-bandwidth": [
                  {
                    "priority": 7,
                    "te-bandwidth": {
                      "ietf-otn-topology:otn-bandwidth": {
                        "odulist": [
                          {
                            "odu-type": "ietf-layer1-types:ODU2",
                            "number": 1
                          },
                          {
                            "odu-type": "ietf-layer1-types:ODU1",
                            "number": 4
                          },
                          {
                            "odu-type": "ietf-layer1-types:ODU0",
                            "number": 8
                          },
                          {
                            "odu-type": "ietf-fgotn-types:fgODUflex",
                            "number": 952
                          }
                        ]
                      }
                    }
                  }
                ],
                "name": "Link between Node NE1 and Node NE2 (\
                                                  reverse direction)"
              }
            }
          },
          {
            "link-id": "example:link/NE1-3/NE3-1",
            "source": {
              "source-node": "NE1",
              "source-tp": "3"
            },
            "destination": {
              "dest-node": "NE3",
              "dest-tp": "1"
            },
            "ietf-te-topology:te": {
              "te-link-attributes": {
                "interface-switching-capability": [
                  {
                    "encoding": "ietf-te-types:lsp-encoding-oduk",
                    "switching-capability": "ietf-te-types:switching\
                                                                -otn"
                  }
                ],
                "label-restrictions": {
                  "label-restriction": [
                    {
                      "index": 1,
                      "restriction": "inclusive",
                      "ietf-otn-topology:otn-label-range": {
                        "range-type": "trib-slot"
                      },
                      "label-start": {
                        "te-label": {
                          "ietf-otn-topology:otn-label": {
                            "ts": 1
                          }
                        }
                      },
                      "label-end": {
                        "te-label": {
                          "ietf-otn-topology:otn-label": {
                            "ts": 8
                          }
                        }
                      },
                      "label-step": {
                        "generic": 1
                      },
                      "range-bitmap": "ff"
                    }
                  ]
                },
                "max-link-bandwidth": {
                  "te-bandwidth": {
                    "ietf-otn-topology:otn-bandwidth": {
                      "odulist": [
                        {
                          "odu-type": "ietf-layer1-types:ODU2",
                          "number": 1
                        },
                        {
                          "odu-type": "ietf-layer1-types:ODU1",
                          "number": 4
                        },
                        {
                          "odu-type": "ietf-layer1-types:ODU0",
                          "number": 8
                        },
                        {
                          "odu-type": "ietf-fgotn-types:fgODUflex",
                          "number": 952
                        }
                      ]
                    }
                  }
                },
                "unreserved-bandwidth": [
                  {
                    "priority": 7,
                    "te-bandwidth": {
                      "ietf-otn-topology:otn-bandwidth": {
                        "odulist": [
                          {
                            "odu-type": "ietf-layer1-types:ODU2",
                            "number": 1
                          },
                          {
                            "odu-type": "ietf-layer1-types:ODU1",
                            "number": 4
                          },
                          {
                            "odu-type": "ietf-layer1-types:ODU0",
                            "number": 8
                          },
                          {
                            "odu-type": "ietf-fgotn-types:fgODUflex",
                            "number": 952
                          }
                        ]
                      }
                    }
                  }
                ],
                "name": "Link between Node NE1 and Node NE3 (\
                                                  forward direction)"
              }
            }
          },
          {
            "link-id": "example:link/NE3-1/NE1-3",
            "source": {
              "source-node": "NE3",
              "source-tp": "1"
            },
            "destination": {
              "dest-node": "NE1",
              "dest-tp": "3"
            },
            "ietf-te-topology:te": {
              "te-link-attributes": {
                "interface-switching-capability": [
                  {
                    "encoding": "ietf-te-types:lsp-encoding-oduk",
                    "switching-capability": "ietf-te-types:switching\
                                                                -otn"
                  }
                ],
                "label-restrictions": {
                  "label-restriction": [
                    {
                      "index": 1,
                      "restriction": "inclusive",
                      "ietf-otn-topology:otn-label-range": {
                        "range-type": "trib-slot"
                      },
                      "label-start": {
                        "te-label": {
                          "ietf-otn-topology:otn-label": {
                            "ts": 1
                          }
                        }
                      },
                      "label-end": {
                        "te-label": {
                          "ietf-otn-topology:otn-label": {
                            "ts": 8
                          }
                        }
                      },
                      "label-step": {
                        "generic": 1
                      },
                      "range-bitmap": "ff"
                    }
                  ]
                },
                "max-link-bandwidth": {
                  "te-bandwidth": {
                    "ietf-otn-topology:otn-bandwidth": {
                      "odulist": [
                        {
                          "odu-type": "ietf-layer1-types:ODU2",
                          "number": 1
                        },
                        {
                          "odu-type": "ietf-layer1-types:ODU1",
                          "number": 4
                        },
                        {
                          "odu-type": "ietf-layer1-types:ODU0",
                          "number": 8
                        }
                      ]
                    }
                  }
                },
                "unreserved-bandwidth": [
                  {
                    "priority": 7,
                    "te-bandwidth": {
                      "ietf-otn-topology:otn-bandwidth": {
                        "odulist": [
                          {
                            "odu-type": "ietf-layer1-types:ODU2",
                            "number": 1
                          },
                          {
                            "odu-type": "ietf-layer1-types:ODU1",
                            "number": 4
                          },
                          {
                            "odu-type": "ietf-layer1-types:ODU0",
                            "number": 8
                          }
                        ]
                      }
                    }
                  }
                ],
                "name": "Link between Node NE1 and Node NE3 (\
                                                  reverse direction)"
              }
            }
          },
          {
            "link-id": "example:link/NE4-2/NE2-2",
            "source": {
              "source-node": "NE4",
              "source-tp": "2"
            },
            "destination": {
              "dest-node": "NE2",
              "dest-tp": "2"
            },
            "ietf-te-topology:te": {
              "te-link-attributes": {
                "interface-switching-capability": [
                  {
                    "encoding": "ietf-te-types:lsp-encoding-oduk",
                    "switching-capability": "ietf-te-types:switching\
                                                                -otn"
                  }
                ],
                "label-restrictions": {
                  "label-restriction": [
                    {
                      "index": 1,
                      "restriction": "inclusive",
                      "ietf-otn-topology:otn-label-range": {
                        "range-type": "trib-slot"
                      },
                      "label-start": {
                        "te-label": {
                          "ietf-otn-topology:otn-label": {
                            "ts": 1
                          }
                        }
                      },
                      "label-end": {
                        "te-label": {
                          "ietf-otn-topology:otn-label": {
                            "ts": 8
                          }
                        }
                      },
                      "label-step": {
                        "generic": 1
                      },
                      "range-bitmap": "ff"
                    }
                  ]
                },
                "max-link-bandwidth": {
                  "te-bandwidth": {
                    "ietf-otn-topology:otn-bandwidth": {
                      "odulist": [
                        {
                          "odu-type": "ietf-layer1-types:ODU2",
                          "number": 1
                        },
                        {
                          "odu-type": "ietf-layer1-types:ODU1",
                          "number": 4
                        },
                        {
                          "odu-type": "ietf-layer1-types:ODU0",
                          "number": 8
                        },
                        {
                          "odu-type": "ietf-fgotn-types:fgODUflex",
                          "number": 952
                        }
                      ]
                    }
                  }
                },
                "unreserved-bandwidth": [
                  {
                    "priority": 7,
                    "te-bandwidth": {
                      "ietf-otn-topology:otn-bandwidth": {
                        "odulist": [
                          {
                            "odu-type": "ietf-layer1-types:ODU2",
                            "number": 1
                          },
                          {
                            "odu-type": "ietf-layer1-types:ODU1",
                            "number": 4
                          },
                          {
                            "odu-type": "ietf-layer1-types:ODU0",
                            "number": 8
                          },
                          {
                            "odu-type": "ietf-fgotn-types:fgODUflex",
                            "number": 952
                          }
                        ]
                      }
                    }
                  }
                ],
                "name": "Link between Node NE2 and Node NE4 (\
                                                  reverse direction)"
              }
            }
          },
          {
            "link-id": "example:link/NE2-2/NE4-2",
            "source": {
              "source-node": "NE2",
              "source-tp": "2"
            },
            "destination": {
              "dest-node": "NE4",
              "dest-tp": "2"
            },
            "ietf-te-topology:te": {
              "te-link-attributes": {
                "interface-switching-capability": [
                  {
                    "encoding": "ietf-te-types:lsp-encoding-oduk",
                    "switching-capability": "ietf-te-types:switching\
                                                                -otn"
                  }
                ],
                "label-restrictions": {
                  "label-restriction": [
                    {
                      "index": 1,
                      "restriction": "inclusive",
                      "ietf-otn-topology:otn-label-range": {
                        "range-type": "trib-slot"
                      },
                      "label-start": {
                        "te-label": {
                          "ietf-otn-topology:otn-label": {
                            "ts": 1
                          }
                        }
                      },
                      "label-end": {
                        "te-label": {
                          "ietf-otn-topology:otn-label": {
                            "ts": 8
                          }
                        }
                      },
                      "label-step": {
                        "generic": 1
                      },
                      "range-bitmap": "ff"
                    }
                  ]
                },
                "max-link-bandwidth": {
                  "te-bandwidth": {
                    "ietf-otn-topology:otn-bandwidth": {
                      "odulist": [
                        {
                          "odu-type": "ietf-layer1-types:ODU2",
                          "number": 1
                        },
                        {
                          "odu-type": "ietf-layer1-types:ODU1",
                          "number": 4
                        },
                        {
                          "odu-type": "ietf-layer1-types:ODU0",
                          "number": 8
                        },
                        {
                          "odu-type": "ietf-fgotn-types:fgODUflex",
                          "number": 952
                        }
                      ]
                    }
                  }
                },
                "unreserved-bandwidth": [
                  {
                    "priority": 7,
                    "te-bandwidth": {
                      "ietf-otn-topology:otn-bandwidth": {
                        "odulist": [
                          {
                            "odu-type": "ietf-layer1-types:ODU2",
                            "number": 1
                          },
                          {
                            "odu-type": "ietf-layer1-types:ODU1",
                            "number": 4
                          },
                          {
                            "odu-type": "ietf-layer1-types:ODU0",
                            "number": 8
                          },
                          {
                            "odu-type": "ietf-fgotn-types:fgODUflex",
                            "number": 952
                          }
                        ]
                      }
                    }
                  }
                ],
                "name": "Link between Node NE2 and Node NE4 (\
                                                  forward direction)"
              }
            }
          },
          {
            "link-id": "example:link/NE4-3/NE3-2",
            "source": {
              "source-node": "NE4",
              "source-tp": "3"
            },
            "destination": {
              "dest-node": "NE3",
              "dest-tp": "2"
            },
            "ietf-te-topology:te": {
              "oper-status": "up",
              "te-link-attributes": {
                "admin-status": "up",
                "interface-switching-capability": [
                  {
                    "encoding": "ietf-te-types:lsp-encoding-oduk",
                    "switching-capability": "ietf-te-types:switching\
                                                                -otn"
                  }
                ],
                "label-restrictions": {
                  "label-restriction": [
                    {
                      "index": 1,
                      "restriction": "inclusive",
                      "ietf-otn-topology:otn-label-range": {
                        "range-type": "trib-slot"
                      },
                      "label-start": {
                        "te-label": {
                          "ietf-otn-topology:otn-label": {
                            "ts": 1
                          }
                        }
                      },
                      "label-end": {
                        "te-label": {
                          "ietf-otn-topology:otn-label": {
                            "ts": 8
                          }
                        }
                      },
                      "label-step": {
                        "generic": 1
                      },
                      "range-bitmap": "ff"
                    }
                  ]
                },
                "max-link-bandwidth": {
                  "te-bandwidth": {
                    "ietf-otn-topology:otn-bandwidth": {
                      "odulist": [
                        {
                          "odu-type": "ietf-layer1-types:ODU2",
                          "number": 1
                        },
                        {
                          "odu-type": "ietf-layer1-types:ODU1",
                          "number": 4
                        },
                        {
                          "odu-type": "ietf-layer1-types:ODU0",
                          "number": 8
                        },
                        {
                          "odu-type": "ietf-fgotn-types:fgODUflex",
                          "number": 952
                        }
                      ]
                    }
                  }
                },
                "unreserved-bandwidth": [
                  {
                    "priority": 7,
                    "te-bandwidth": {
                      "ietf-otn-topology:otn-bandwidth": {
                        "odulist": [
                          {
                            "odu-type": "ietf-layer1-types:ODU2",
                            "number": 1
                          },
                          {
                            "odu-type": "ietf-layer1-types:ODU1",
                            "number": 4
                          },
                          {
                            "odu-type": "ietf-layer1-types:ODU0",
                            "number": 8
                          },
                          {
                            "odu-type": "ietf-fgotn-types:fgODUflex",
                            "number": 952
                          }
                        ]
                      }
                    }
                  }
                ],
                "name": "Link between Node NE3 and Node NE4 (\
                                                  reverse direction)"
              }
            }
          },
          {
            "link-id": "example:link/NE3-2/NE4-3",
            "source": {
              "source-node": "NE3",
              "source-tp": "2"
            },
            "destination": {
              "dest-node": "NE4",
              "dest-tp": "3"
            },
            "ietf-te-topology:te": {
              "te-link-attributes": {
                "interface-switching-capability": [
                  {
                    "encoding": "ietf-te-types:lsp-encoding-oduk",
                    "switching-capability": "ietf-te-types:switching\
                                                                -otn"
                  }
                ],
                "label-restrictions": {
                  "label-restriction": [
                    {
                      "index": 1,
                      "restriction": "inclusive",
                      "ietf-otn-topology:otn-label-range": {
                        "range-type": "trib-slot"
                      },
                      "label-start": {
                        "te-label": {
                          "ietf-otn-topology:otn-label": {
                            "ts": 1
                          }
                        }
                      },
                      "label-end": {
                        "te-label": {
                          "ietf-otn-topology:otn-label": {
                            "ts": 8
                          }
                        }
                      },
                      "label-step": {
                        "generic": 1
                      },
                      "range-bitmap": "ff"
                    }
                  ]
                },
                "max-link-bandwidth": {
                  "te-bandwidth": {
                    "ietf-otn-topology:otn-bandwidth": {
                      "odulist": [
                        {
                          "odu-type": "ietf-layer1-types:ODU2",
                          "number": 1
                        },
                        {
                          "odu-type": "ietf-layer1-types:ODU1",
                          "number": 4
                        },
                        {
                          "odu-type": "ietf-layer1-types:ODU0",
                          "number": 8
                        }
                      ]
                    }
                  }
                },
                "unreserved-bandwidth": [
                  {
                    "priority": 7,
                    "te-bandwidth": {
                      "ietf-otn-topology:otn-bandwidth": {
                        "odulist": [
                          {
                            "odu-type": "ietf-layer1-types:ODU2",
                            "number": 1
                          },
                          {
                            "odu-type": "ietf-layer1-types:ODU1",
                            "number": 4
                          },
                          {
                            "odu-type": "ietf-layer1-types:ODU0",
                            "number": 8
                          }
                        ]
                      }
                    }
                  }
                ],
                "name": "Link between Node NE3 and Node NE4 (\
                                                  forward direction)"
              }
            }
          }
        ],
        "node": [
          {
            "node-id": "example:NE1",
            "ietf-te-topology:te-node-id": "192.0.0.1",
            "ietf-te-topology:te": {
              "te-node-attributes": {
                "name": "Node NE1"
              }
            },
            "ietf-network-topology:termination-point": [
            {
                "tp-id": "example:NE1-1",
                "ietf-te-topology:te-tp-id": 1,
                "ietf-te-topology:te": {
                  "ietf-otn-topology:client-svc": {},
                  "interface-switching-capability": [
                    {
                      "encoding": "ietf-te-types:lsp-encoding-oduk",
                      "switching-capability": "ietf-te-types:\
                                                       switching-otn"
                    }
                  ],
                  "name": "Interface 1 of Node NE1"
                }
            },   
            {
                "tp-id": "example:NE1-2",
                "ietf-te-topology:te-tp-id": 2,
                "ietf-te-topology:te": {
                  "interface-switching-capability": [
                    {
                      "encoding": "ietf-te-types:lsp-encoding-oduk",
                      "switching-capability": "ietf-te-types:\
                                                       switching-otn"
                    }
                  ],
                  "name": "Interface 2 of Node NE1"
                }
              },
              {
                "tp-id": "example:NE1-3",
                "ietf-te-topology:te-tp-id": 3,
                "ietf-te-topology:te": {
                  "interface-switching-capability": [
                    {
                      "encoding": "ietf-te-types:lsp-encoding-oduk",
                      "switching-capability": "ietf-te-types:\
                                                       switching-otn"
                    }
                  ],
                  "name": "Interface 3 of Node NE1"
                }
              }
            ]
          },
          {
            "node-id": "example:NE2",
            "ietf-te-topology:te-node-id": "192.0.0.2",
            "ietf-te-topology:te": {
              "te-node-attributes": {
                "name": "Node NE2"
              }
            },
            "ietf-network-topology:termination-point": [
              {
                "tp-id": "example:NE2-1",
                "ietf-te-topology:te-tp-id": 1,
                "ietf-te-topology:te": {
                  "interface-switching-capability": [
                    {
                      "encoding": "ietf-te-types:lsp-encoding-oduk",
                      "switching-capability": "ietf-te-types:\
                                                       switching-otn"
                    }
                  ],
                  "name": "Interface 1 of Node NE2"
                }
              },
              {
                "tp-id": "example:NE2-2",
                "ietf-te-topology:te-tp-id": 2,
                "ietf-te-topology:te": {
                  "interface-switching-capability": [
                    {
                      "encoding": "ietf-te-types:lsp-encoding-oduk",
                      "switching-capability": "ietf-te-types:\
                                                       switching-otn"
                    }
                  ],
                  "name": "Interface 2 of Node NE2"
                }
              }
            ]
          },
          {
            "node-id": "example:NE3",
            "ietf-te-topology:te-node-id": "192.0.0.3",
            "ietf-te-topology:te": {
              "te-node-attributes": {
                "name": "Node NE3"
              }
            },
            "ietf-network-topology:termination-point": [
              {
                "tp-id": "example:NE3-1",
                "ietf-te-topology:te-tp-id": 1,
                "ietf-te-topology:te": {
                  "interface-switching-capability": [
                    {
                      "encoding": "ietf-te-types:lsp-encoding-oduk",
                      "switching-capability": "ietf-te-types:\
                                                       switching-otn"
                    }
                  ],
                  "name": "Interface 1 of Node NE3"
                }
              },
              {
                "tp-id": "example:NE3-2",
                "ietf-te-topology:te-tp-id": 2,
                "ietf-te-topology:te": {
                  "interface-switching-capability": [
                    {
                      "encoding": "ietf-te-types:lsp-encoding-oduk",
                      "switching-capability": "ietf-te-types:\
                                                       switching-otn"
                    }
                  ],
                  "name": "Interface 2 of Node NE3"
                }
              }
            ]
          },
          {
            "node-id": "example:NE4",
            "ietf-te-topology:te-node-id": "192.0.0.4",
            "ietf-te-topology:te": {
              "te-node-attributes": {
                "name": "Node NE4"
              }
            },
            "ietf-network-topology:termination-point": [
            {
                "tp-id": "example:NE4-1",
                "ietf-te-topology:te-tp-id": 1,
                "ietf-te-topology:te": {
                  "ietf-otn-topology:client-svc": {},
                  "interface-switching-capability": [
                    {
                      "encoding": "ietf-te-types:lsp-encoding-oduk",
                      "switching-capability": "ietf-te-types:\
                                                       switching-otn"
                    }
                  ],
                  "name": "Interface 1 of Node NE4"
                }
            },   
            {
                "tp-id": "example:NE4-2",
                "ietf-te-topology:te-tp-id": 2,
                "ietf-te-topology:te": {
                  "interface-switching-capability": [
                    {
                      "encoding": "ietf-te-types:lsp-encoding-oduk",
                      "switching-capability": "ietf-te-types:\
                                                       switching-otn"
                    }
                  ],
                  "name": "Interface 2 of Node NE4"
                }
              },
              {
                "tp-id": "example:NE4-3",
                "ietf-te-topology:te-tp-id": 3,
                "ietf-te-topology:te": {
                  "interface-switching-capability": [
                    {
                      "encoding": "ietf-te-types:lsp-encoding-oduk",
                      "switching-capability": "ietf-te-types:\
                                                       switching-otn"
                    }
                  ],
                  "name": "Interface 3 of Node NE4"
                }
              }
            ]
          }
        ]
      },
      {
        "network-id": "example:otn-topology-example-2",
        "network-types": {
          "ietf-te-topology:te-topology": {
            "ietf-otn-topology:otn-topology": {}
          }
        },
        "ietf-te-topology:te-topology-identifier": {
          "client-id": 2,
          "provider-id": 1,
          "topology-id": "otn-topology-example-2"
        },
        "ietf-te-topology:te": {},
        "ietf-network-topology:link": [
          {
            "link-id": "example:link/NE1-2/NE2-1",
            "source": {
              "source-node": "NE1",
              "source-tp": "2"
            },
            "destination": {
              "dest-node": "NE2",
              "dest-tp": "1"
            },
            "ietf-te-topology:te": {
              "te-link-attributes": {
                "interface-switching-capability": [
                  {
                    "encoding": "ietf-te-types:lsp-encoding-oduk",
                    "switching-capability": "ietf-te-types:switching\
                                                                -otn"
                  }
                ],
                "label-restrictions": {
                  "label-restriction": [
                    {
                      "index": 1,
                      "restriction": "inclusive",
                      "ietf-otn-topology:otn-label-range": {
                        "range-type": "trib-slot"
                      },
                      "label-start": {
                        "te-label": {
                          "ietf-otn-topology:otn-label": {
                            "ts": 1
                          }
                        }
                      },
                      "label-end": {
                        "te-label": {
                          "ietf-otn-topology:otn-label": {
                            "ts": 8
                          }
                        }
                      },
                      "label-step": {
                        "generic": 1
                      },
                      "range-bitmap": "fc",
                      "ietf-fgotn-topology:fgts-range": [
                        {
                          "odu-type": "ietf-layer1-types:ODU1",
                          "odu-ts-number": "1-2",
                          "fgts-reserved": "",
                          "fgts-unreserved": "1-238"
                        }
                      ]
                    }
                  ]
                },
                "max-link-bandwidth": {
                  "te-bandwidth": {
                    "ietf-otn-topology:otn-bandwidth": {
                      "odulist": [
                        {
                          "odu-type": "ietf-layer1-types:ODU2",
                          "number": 1
                        },
                        {
                          "odu-type": "ietf-layer1-types:ODU1",
                          "number": 4
                        },
                        {
                          "odu-type": "ietf-layer1-types:ODU0",
                          "number": 8
                        },
                        {
                          "odu-type": "ietf-fgotn-types:fgODUflex",
                          "number": 952
                        }
                      ]
                    }
                  }
                },
                "unreserved-bandwidth": [
                  {
                    "priority": 7,
                    "te-bandwidth": {
                      "ietf-otn-topology:otn-bandwidth": {
                        "odulist": [
                          {
                            "odu-type": "ietf-layer1-types:ODU2",
                            "number": 0
                          },
                          {
                            "odu-type": "ietf-layer1-types:ODU1",
                            "number": 3
                          },
                          {
                            "odu-type": "ietf-layer1-types:ODU0",
                            "number": 6
                          },
                          {
                            "odu-type": "ietf-fgotn-types:fgODUflex",
                            "number": 952
                          }
                        ]
                      }
                    }
                  }
                ],
                "name": "Link between Node NE1 and Node NE2 (\
                                                  forward direction)"
              }
            }
          },
          {
            "link-id": "example:link/NE2-1/NE1-2",
            "source": {
              "source-node": "NE2",
              "source-tp": "1"
            },
            "destination": {
              "dest-node": "NE1",
              "dest-tp": "2"
            },
            "ietf-te-topology:te": {
              "te-link-attributes": {
                "interface-switching-capability": [
                  {
                    "encoding": "ietf-te-types:lsp-encoding-oduk",
                    "switching-capability": "ietf-te-types:switching\
                                                                -otn"
                  }
                ],
                "label-restrictions": {
                  "label-restriction": [
                    {
                      "index": 1,
                      "restriction": "inclusive",
                      "ietf-otn-topology:otn-label-range": {
                        "range-type": "trib-slot"
                      },
                      "label-start": {
                        "te-label": {
                          "ietf-otn-topology:otn-label": {
                            "ts": 1
                          }
                        }
                      },
                      "label-end": {
                        "te-label": {
                          "ietf-otn-topology:otn-label": {
                            "ts": 8
                          }
                        }
                      },
                      "label-step": {
                        "generic": 1
                      },
                      "range-bitmap": "fc",
                      "ietf-fgotn-topology:fgts-range": [
                        {
                          "odu-type": "ietf-layer1-types:ODU1",
                          "odu-ts-number": "1-2",
                          "fgts-reserved": "",
                          "fgts-unreserved": "1-238"
                        }
                      ]
                    }
                  ]
                },
                "max-link-bandwidth": {
                  "te-bandwidth": {
                    "ietf-otn-topology:otn-bandwidth": {
                      "odulist": [
                        {
                          "odu-type": "ietf-layer1-types:ODU2",
                          "number": 1
                        },
                        {
                          "odu-type": "ietf-layer1-types:ODU1",
                          "number": 4
                        },
                        {
                          "odu-type": "ietf-layer1-types:ODU0",
                          "number": 8
                        },
                        {
                          "odu-type": "ietf-fgotn-types:fgODUflex",
                          "number": 952
                        }
                      ]
                    }
                  }
                },
                "unreserved-bandwidth": [
                  {
                    "priority": 7,
                    "te-bandwidth": {
                      "ietf-otn-topology:otn-bandwidth": {
                        "odulist": [
                          {
                            "odu-type": "ietf-layer1-types:ODU2",
                            "number": 0
                          },
                          {
                            "odu-type": "ietf-layer1-types:ODU1",
                            "number": 3
                          },
                          {
                            "odu-type": "ietf-layer1-types:ODU0",
                            "number": 6
                          },
                          {
                            "odu-type": "ietf-fgotn-types:fgODUflex",
                            "number": 952
                          }
                        ]
                      }
                    }
                  }
                ],
                "name": "Link between Node NE1 and Node NE2 (\
                                                  reverse direction)"
              }
            }
          },
          {
            "link-id": "example:link/NE1-3/NE3-1",
            "source": {
              "source-node": "NE1",
              "source-tp": "3"
            },
            "destination": {
              "dest-node": "NE3",
              "dest-tp": "1"
            },
            "ietf-te-topology:te": {
              "te-link-attributes": {
                "interface-switching-capability": [
                  {
                    "encoding": "ietf-te-types:lsp-encoding-oduk",
                    "switching-capability": "ietf-te-types:switching\
                                                                -otn"
                  }
                ],
                "label-restrictions": {
                  "label-restriction": [
                    {
                      "index": 1,
                      "restriction": "inclusive",
                      "ietf-otn-topology:otn-label-range": {
                        "range-type": "trib-slot"
                      },
                      "label-start": {
                        "te-label": {
                          "ietf-otn-topology:otn-label": {
                            "ts": 1
                          }
                        }
                      },
                      "label-end": {
                        "te-label": {
                          "ietf-otn-topology:otn-label": {
                            "ts": 8
                          }
                        }
                      },
                      "label-step": {
                        "generic": 1
                      },
                      "range-bitmap": "fc",
                      "ietf-fgotn-topology:fgts-range": [
                        {
                          "odu-type": "ietf-layer1-types:ODU1",
                          "odu-ts-number": "1-2",
                          "fgts-reserved": "",
                          "fgts-unreserved": "1-238"
                        }
                      ]
                    }
                  ]
                },
                "max-link-bandwidth": {
                  "te-bandwidth": {
                    "ietf-otn-topology:otn-bandwidth": {
                      "odulist": [
                        {
                          "odu-type": "ietf-layer1-types:ODU2",
                          "number": 1
                        },
                        {
                          "odu-type": "ietf-layer1-types:ODU1",
                          "number": 4
                        },
                        {
                          "odu-type": "ietf-layer1-types:ODU0",
                          "number": 8
                        },
                        {
                          "odu-type": "ietf-fgotn-types:fgODUflex",
                          "number": 952
                        }
                      ]
                    }
                  }
                },
                "unreserved-bandwidth": [
                  {
                    "priority": 7,
                    "te-bandwidth": {
                      "ietf-otn-topology:otn-bandwidth": {
                        "odulist": [
                          {
                            "odu-type": "ietf-layer1-types:ODU2",
                            "number": 0
                          },
                          {
                            "odu-type": "ietf-layer1-types:ODU1",
                            "number": 3
                          },
                          {
                            "odu-type": "ietf-layer1-types:ODU0",
                            "number": 6
                          },
                          {
                            "odu-type": "ietf-fgotn-types:fgODUflex",
                            "number": 952
                          }
                        ]
                      }
                    }
                  }
                ],
                "name": "Link between Node NE1 and Node NE3 (\
                                                  forward direction)"
              }
            }
          },
          {
            "link-id": "example:link/NE3-1/NE1-3",
            "source": {
              "source-node": "NE3",
              "source-tp": "1"
            },
            "destination": {
              "dest-node": "NE1",
              "dest-tp": "3"
            },
            "ietf-te-topology:te": {
              "te-link-attributes": {
                "interface-switching-capability": [
                  {
                    "encoding": "ietf-te-types:lsp-encoding-oduk",
                    "switching-capability": "ietf-te-types:switching\
                                                                -otn"
                  }
                ],
                "label-restrictions": {
                  "label-restriction": [
                    {
                      "index": 1,
                      "restriction": "inclusive",
                      "ietf-otn-topology:otn-label-range": {
                        "range-type": "trib-slot"
                      },
                      "label-start": {
                        "te-label": {
                          "ietf-otn-topology:otn-label": {
                            "ts": 1
                          }
                        }
                      },
                      "label-end": {
                        "te-label": {
                          "ietf-otn-topology:otn-label": {
                            "ts": 8
                          }
                        }
                      },
                      "label-step": {
                        "generic": 1
                      },
                      "range-bitmap": "fc"
                    }
                  ]
                },
                "max-link-bandwidth": {
                  "te-bandwidth": {
                    "ietf-otn-topology:otn-bandwidth": {
                      "odulist": [
                        {
                          "odu-type": "ietf-layer1-types:ODU2",
                          "number": 1
                        },
                        {
                          "odu-type": "ietf-layer1-types:ODU1",
                          "number": 4
                        },
                        {
                          "odu-type": "ietf-layer1-types:ODU0",
                          "number": 8
                        }
                      ]
                    }
                  }
                },
                "unreserved-bandwidth": [
                  {
                    "priority": 7,
                    "te-bandwidth": {
                      "ietf-otn-topology:otn-bandwidth": {
                        "odulist": [
                          {
                            "odu-type": "ietf-layer1-types:ODU2",
                            "number": 0
                          },
                          {
                            "odu-type": "ietf-layer1-types:ODU1",
                            "number": 3
                          },
                          {
                            "odu-type": "ietf-layer1-types:ODU0",
                            "number": 6
                          }
                        ]
                      }
                    }
                  }
                ],
                "name": "Link between Node NE1 and Node NE3 (\
                                                  reverse direction)"
              }
            }
          },
          {
            "link-id": "example:link/NE4-2/NE2-2",
            "source": {
              "source-node": "NE4",
              "source-tp": "2"
            },
            "destination": {
              "dest-node": "NE2",
              "dest-tp": "2"
            },
            "ietf-te-topology:te": {
              "te-link-attributes": {
                "interface-switching-capability": [
                  {
                    "encoding": "ietf-te-types:lsp-encoding-oduk",
                    "switching-capability": "ietf-te-types:switching\
                                                                -otn"
                  }
                ],
                "label-restrictions": {
                  "label-restriction": [
                    {
                      "index": 1,
                      "restriction": "inclusive",
                      "ietf-otn-topology:otn-label-range": {
                        "range-type": "trib-slot"
                      },
                      "label-start": {
                        "te-label": {
                          "ietf-otn-topology:otn-label": {
                            "ts": 1
                          }
                        }
                      },
                      "label-end": {
                        "te-label": {
                          "ietf-otn-topology:otn-label": {
                            "ts": 8
                          }
                        }
                      },
                      "label-step": {
                        "generic": 1
                      },
                      "range-bitmap": "fc",
                      "ietf-fgotn-topology:fgts-range": [
                        {
                          "odu-type": "ietf-layer1-types:ODU0",
                          "odu-ts-number": "1",
                          "fgts-reserved": "",
                          "fgts-unreserved": "1-119"
                        },
                        {
                          "odu-type": "ietf-layer1-types:ODU0",
                          "odu-ts-number": "2",
                          "fgts-reserved": "",
                          "fgts-unreserved": "1-119"
                        }
                      ]
                    }
                  ]
                },
                "max-link-bandwidth": {
                  "te-bandwidth": {
                    "ietf-otn-topology:otn-bandwidth": {
                      "odulist": [
                        {
                          "odu-type": "ietf-layer1-types:ODU2",
                          "number": 1
                        },
                        {
                          "odu-type": "ietf-layer1-types:ODU1",
                          "number": 4
                        },
                        {
                          "odu-type": "ietf-layer1-types:ODU0",
                          "number": 8
                        },
                        {
                          "odu-type": "ietf-fgotn-types:fgODUflex",
                          "number": 952
                        }
                      ]
                    }
                  }
                },
                "unreserved-bandwidth": [
                  {
                    "priority": 7,
                    "te-bandwidth": {
                      "ietf-otn-topology:otn-bandwidth": {
                        "odulist": [
                          {
                            "odu-type": "ietf-layer1-types:ODU2",
                            "number": 0
                          },
                          {
                            "odu-type": "ietf-layer1-types:ODU1",
                            "number": 3
                          },
                          {
                            "odu-type": "ietf-layer1-types:ODU0",
                            "number": 6
                          },
                          {
                            "odu-type": "ietf-fgotn-types:fgODUflex",
                            "number": 952
                          }
                        ]
                      }
                    }
                  }
                ],
                "name": "Link between Node NE2 and Node NE4 (\
                                                  reverse direction)"
              }
            }
          },
          {
            "link-id": "example:link/NE2-2/NE4-2",
            "source": {
              "source-node": "NE2",
              "source-tp": "2"
            },
            "destination": {
              "dest-node": "NE4",
              "dest-tp": "2"
            },
            "ietf-te-topology:te": {
              "te-link-attributes": {
                "interface-switching-capability": [
                  {
                    "encoding": "ietf-te-types:lsp-encoding-oduk",
                    "switching-capability": "ietf-te-types:switching\
                                                                -otn"
                  }
                ],
                "label-restrictions": {
                  "label-restriction": [
                    {
                      "index": 1,
                      "restriction": "inclusive",
                      "ietf-otn-topology:otn-label-range": {
                        "range-type": "trib-slot"
                      },
                      "label-start": {
                        "te-label": {
                          "ietf-otn-topology:otn-label": {
                            "ts": 1
                          }
                        }
                      },
                      "label-end": {
                        "te-label": {
                          "ietf-otn-topology:otn-label": {
                            "ts": 8
                          }
                        }
                      },
                      "label-step": {
                        "generic": 1
                      },
                      "range-bitmap": "fc",
                      "ietf-fgotn-topology:fgts-range": [
                        {
                          "odu-type": "ietf-layer1-types:ODU0",
                          "odu-ts-number": "1",
                          "fgts-reserved": "",
                          "fgts-unreserved": "1-119"
                        },
                        {
                          "odu-type": "ietf-layer1-types:ODU0",
                          "odu-ts-number": "2",
                          "fgts-reserved": "",
                          "fgts-unreserved": "1-119"
                        }
                      ]
                    }
                  ]
                },
                "max-link-bandwidth": {
                  "te-bandwidth": {
                    "ietf-otn-topology:otn-bandwidth": {
                      "odulist": [
                        {
                          "odu-type": "ietf-layer1-types:ODU2",
                          "number": 1
                        },
                        {
                          "odu-type": "ietf-layer1-types:ODU1",
                          "number": 4
                        },
                        {
                          "odu-type": "ietf-layer1-types:ODU0",
                          "number": 8
                        },
                        {
                          "odu-type": "ietf-fgotn-types:fgODUflex",
                          "number": 952
                        }
                      ]
                    }
                  }
                },
                "unreserved-bandwidth": [
                  {
                    "priority": 7,
                    "te-bandwidth": {
                      "ietf-otn-topology:otn-bandwidth": {
                        "odulist": [
                          {
                            "odu-type": "ietf-layer1-types:ODU2",
                            "number": 0
                          },
                          {
                            "odu-type": "ietf-layer1-types:ODU1",
                            "number": 3
                          },
                          {
                            "odu-type": "ietf-layer1-types:ODU0",
                            "number": 6
                          },
                          {
                            "odu-type": "ietf-fgotn-types:fgODUflex",
                            "number": 952
                          }
                        ]
                      }
                    }
                  }
                ],
                "name": "Link between Node NE2 and Node NE4 (\
                                                  forward direction)"
              }
            }
          },
          {
            "link-id": "example:link/NE4-3/NE3-2",
            "source": {
              "source-node": "NE4",
              "source-tp": "3"
            },
            "destination": {
              "dest-node": "NE3",
              "dest-tp": "2"
            },
            "ietf-te-topology:te": {
              "oper-status": "up",
              "te-link-attributes": {
                "admin-status": "up",
                "interface-switching-capability": [
                  {
                    "encoding": "ietf-te-types:lsp-encoding-oduk",
                    "switching-capability": "ietf-te-types:switching\
                                                                -otn"
                  }
                ],
                "label-restrictions": {
                  "label-restriction": [
                    {
                      "index": 1,
                      "restriction": "inclusive",
                      "ietf-otn-topology:otn-label-range": {
                        "range-type": "trib-slot"
                      },
                      "label-start": {
                        "te-label": {
                          "ietf-otn-topology:otn-label": {
                            "ts": 1
                          }
                        }
                      },
                      "label-end": {
                        "te-label": {
                          "ietf-otn-topology:otn-label": {
                            "ts": 8
                          }
                        }
                      },
                      "label-step": {
                        "generic": 1
                      },
                      "range-bitmap": "fc",
                      "ietf-fgotn-topology:fgts-range": [
                        {
                          "odu-type": "ietf-layer1-types:ODU1",
                          "odu-ts-number": "1-2",
                          "fgts-reserved": "",
                          "fgts-unreserved": "1-238"
                        }
                      ]
                    }
                  ]
                },
                "max-link-bandwidth": {
                  "te-bandwidth": {
                    "ietf-otn-topology:otn-bandwidth": {
                      "odulist": [
                        {
                          "odu-type": "ietf-layer1-types:ODU2",
                          "number": 1
                        },
                        {
                          "odu-type": "ietf-layer1-types:ODU1",
                          "number": 4
                        },
                        {
                          "odu-type": "ietf-layer1-types:ODU0",
                          "number": 8
                        },
                        {
                          "odu-type": "ietf-fgotn-types:fgODUflex",
                          "number": 952
                        }
                      ]
                    }
                  }
                },
                "unreserved-bandwidth": [
                  {
                    "priority": 7,
                    "te-bandwidth": {
                      "ietf-otn-topology:otn-bandwidth": {
                        "odulist": [
                          {
                            "odu-type": "ietf-layer1-types:ODU2",
                            "number": 0
                          },
                          {
                            "odu-type": "ietf-layer1-types:ODU1",
                            "number": 3
                          },
                          {
                            "odu-type": "ietf-layer1-types:ODU0",
                            "number": 6
                          },
                          {
                            "odu-type": "ietf-fgotn-types:fgODUflex",
                            "number": 952
                          }
                        ]
                      }
                    }
                  }
                ],
                "name": "Link between Node NE3 and Node NE4 (\
                                                  reverse direction)"
              }
            }
          },
          {
            "link-id": "example:link/NE3-2/NE4-3",
            "source": {
              "source-node": "NE3",
              "source-tp": "2"
            },
            "destination": {
              "dest-node": "NE4",
              "dest-tp": "3"
            },
            "ietf-te-topology:te": {
              "te-link-attributes": {
                "interface-switching-capability": [
                  {
                    "encoding": "ietf-te-types:lsp-encoding-oduk",
                    "switching-capability": "ietf-te-types:switching\
                                                                -otn"
                  }
                ],
                "label-restrictions": {
                  "label-restriction": [
                    {
                      "index": 1,
                      "restriction": "inclusive",
                      "ietf-otn-topology:otn-label-range": {
                        "range-type": "trib-slot"
                      },
                      "label-start": {
                        "te-label": {
                          "ietf-otn-topology:otn-label": {
                            "ts": 1
                          }
                        }
                      },
                      "label-end": {
                        "te-label": {
                          "ietf-otn-topology:otn-label": {
                            "ts": 8
                          }
                        }
                      },
                      "label-step": {
                        "generic": 1
                      },
                      "range-bitmap": "fc"
                    }
                  ]
                },
                "max-link-bandwidth": {
                  "te-bandwidth": {
                    "ietf-otn-topology:otn-bandwidth": {
                      "odulist": [
                        {
                          "odu-type": "ietf-layer1-types:ODU2",
                          "number": 1
                        },
                        {
                          "odu-type": "ietf-layer1-types:ODU1",
                          "number": 4
                        },
                        {
                          "odu-type": "ietf-layer1-types:ODU0",
                          "number": 8
                        }
                      ]
                    }
                  }
                },
                "unreserved-bandwidth": [
                  {
                    "priority": 7,
                    "te-bandwidth": {
                      "ietf-otn-topology:otn-bandwidth": {
                        "odulist": [
                          {
                            "odu-type": "ietf-layer1-types:ODU2",
                            "number": 0
                          },
                          {
                            "odu-type": "ietf-layer1-types:ODU1",
                            "number": 3
                          },
                          {
                            "odu-type": "ietf-layer1-types:ODU0",
                            "number": 6
                          }
                        ]
                      }
                    }
                  }
                ],
                "name": "Link between Node NE3 and Node NE4 (\
                                                  forward direction)"
              }
            }
          }
        ],
        "node": [
          {
            "node-id": "example:NE1",
            "ietf-te-topology:te-node-id": "192.0.0.1",
            "ietf-te-topology:te": {
              "te-node-attributes": {
                "name": "Node NE1"
              }
            },
            "ietf-network-topology:termination-point": [
            {
                "tp-id": "example:NE1-1",
                "ietf-te-topology:te-tp-id": 1,
                "ietf-te-topology:te": {
                  "ietf-otn-topology:client-svc": {},
                  "interface-switching-capability": [
                    {
                      "encoding": "ietf-te-types:lsp-encoding-oduk",
                      "switching-capability": "ietf-te-types:\
                                                       switching-otn"
                    }
                  ],
                  "name": "Interface 1 of Node NE1"
                }
            },   
            {
                "tp-id": "example:NE1-2",
                "ietf-te-topology:te-tp-id": 2,
                "ietf-te-topology:te": {
                  "interface-switching-capability": [
                    {
                      "encoding": "ietf-te-types:lsp-encoding-oduk",
                      "switching-capability": "ietf-te-types:\
                                                       switching-otn"
                    }
                  ],
                  "name": "Interface 2 of Node NE1"
                }
              },
              {
                "tp-id": "example:NE1-3",
                "ietf-te-topology:te-tp-id": 3,
                "ietf-te-topology:te": {
                  "interface-switching-capability": [
                    {
                      "encoding": "ietf-te-types:lsp-encoding-oduk",
                      "switching-capability": "ietf-te-types:\
                                                       switching-otn"
                    }
                  ],
                  "name": "Interface 3 of Node NE1"
                }
              }
            ]
          },
          {
            "node-id": "example:NE2",
            "ietf-te-topology:te-node-id": "192.0.0.2",
            "ietf-te-topology:te": {
              "te-node-attributes": {
                "name": "Node NE2"
              }
            },
            "ietf-network-topology:termination-point": [
              {
                "tp-id": "example:NE2-1",
                "ietf-te-topology:te-tp-id": 1,
                "ietf-te-topology:te": {
                  "interface-switching-capability": [
                    {
                      "encoding": "ietf-te-types:lsp-encoding-oduk",
                      "switching-capability": "ietf-te-types:\
                                                       switching-otn"
                    }
                  ],
                  "name": "Interface 1 of Node NE2"
                }
              },
              {
                "tp-id": "example:NE2-2",
                "ietf-te-topology:te-tp-id": 2,
                "ietf-te-topology:te": {
                  "interface-switching-capability": [
                    {
                      "encoding": "ietf-te-types:lsp-encoding-oduk",
                      "switching-capability": "ietf-te-types:\
                                                       switching-otn"
                    }
                  ],
                  "name": "Interface 2 of Node NE2"
                }
              }
            ]
          },
          {
            "node-id": "example:NE3",
            "ietf-te-topology:te-node-id": "192.0.0.3",
            "ietf-te-topology:te": {
              "te-node-attributes": {
                "name": "Node NE3"
              }
            },
            "ietf-network-topology:termination-point": [
              {
                "tp-id": "example:NE3-1",
                "ietf-te-topology:te-tp-id": 1,
                "ietf-te-topology:te": {
                  "interface-switching-capability": [
                    {
                      "encoding": "ietf-te-types:lsp-encoding-oduk",
                      "switching-capability": "ietf-te-types:\
                                                       switching-otn"
                    }
                  ],
                  "name": "Interface 1 of Node NE3"
                }
              },
              {
                "tp-id": "example:NE3-2",
                "ietf-te-topology:te-tp-id": 2,
                "ietf-te-topology:te": {
                  "interface-switching-capability": [
                    {
                      "encoding": "ietf-te-types:lsp-encoding-oduk",
                      "switching-capability": "ietf-te-types:\
                                                       switching-otn"
                    }
                  ],
                  "name": "Interface 2 of Node NE3"
                }
              }
            ]
          },
          {
            "node-id": "example:NE4",
            "ietf-te-topology:te-node-id": "192.0.0.4",
            "ietf-te-topology:te": {
              "te-node-attributes": {
                "name": "Node NE4"
              }
            },
            "ietf-network-topology:termination-point": [
            {
                "tp-id": "example:NE4-1",
                "ietf-te-topology:te-tp-id": 1,
                "ietf-te-topology:te": {
                  "ietf-otn-topology:client-svc": {},
                  "interface-switching-capability": [
                    {
                      "encoding": "ietf-te-types:lsp-encoding-oduk",
                      "switching-capability": "ietf-te-types:\
                                                       switching-otn"
                    }
                  ],
                  "name": "Interface 1 of Node NE4"
                }
            },   
            {
                "tp-id": "example:NE4-2",
                "ietf-te-topology:te-tp-id": 2,
                "ietf-te-topology:te": {
                  "interface-switching-capability": [
                    {
                      "encoding": "ietf-te-types:lsp-encoding-oduk",
                      "switching-capability": "ietf-te-types:\
                                                       switching-otn"
                    }
                  ],
                  "name": "Interface 2 of Node NE4"
                }
              },
              {
                "tp-id": "example:NE4-3",
                "ietf-te-topology:te-tp-id": 3,
                "ietf-te-topology:te": {
                  "interface-switching-capability": [
                    {
                      "encoding": "ietf-te-types:lsp-encoding-oduk",
                      "switching-capability": "ietf-te-types:\
                                                       switching-otn"
                    }
                  ],
                  "name": "Interface 3 of Node NE4"
                }
              }
            ]
          }
        ]
      },
      {
        "network-id": "example:otn-topology-example-3",
        "network-types": {
          "ietf-te-topology:te-topology": {
            "ietf-otn-topology:otn-topology": {}
          }
        },
        "ietf-te-topology:te-topology-identifier": {
          "client-id": 2,
          "provider-id": 1,
          "topology-id": "otn-topology-example-3"
        },
        "ietf-te-topology:te": {},
        "ietf-network-topology:link": [
          {
            "link-id": "example:link/NE1-2/NE2-1",
            "source": {
              "source-node": "NE1",
              "source-tp": "2"
            },
            "destination": {
              "dest-node": "NE2",
              "dest-tp": "1"
            },
            "ietf-te-topology:te": {
              "te-link-attributes": {
                "interface-switching-capability": [
                  {
                    "encoding": "ietf-te-types:lsp-encoding-oduk",
                    "switching-capability": "ietf-te-types:switching\
                                                                -otn"
                  }
                ],
                "label-restrictions": {
                  "label-restriction": [
                    {
                      "index": 1,
                      "restriction": "inclusive",
                      "ietf-otn-topology:otn-label-range": {
                        "range-type": "trib-slot"
                      },
                      "label-start": {
                        "te-label": {
                          "ietf-otn-topology:otn-label": {
                            "ts": 1
                          }
                        }
                      },
                      "label-end": {
                        "te-label": {
                          "ietf-otn-topology:otn-label": {
                            "ts": 8
                          }
                        }
                      },
                      "label-step": {
                        "generic": 1
                      },
                      "range-bitmap": "fc",
                      "ietf-fgotn-topology:fgts-range": [
                        {
                          "odu-type": "ietf-layer1-types:ODU1",
                          "odu-ts-number": "1-2",
                          "fgts-reserved": "1-2",
                          "fgts-unreserved": "3-238"
                        }
                      ]
                    }
                  ]
                },
                "max-link-bandwidth": {
                  "te-bandwidth": {
                    "ietf-otn-topology:otn-bandwidth": {
                      "odulist": [
                        {
                          "odu-type": "ietf-layer1-types:ODU2",
                          "number": 1
                        },
                        {
                          "odu-type": "ietf-layer1-types:ODU1",
                          "number": 4
                        },
                        {
                          "odu-type": "ietf-layer1-types:ODU0",
                          "number": 8
                        },
                        {
                          "odu-type": "ietf-fgotn-types:fgODUflex",
                          "number": 952
                        }
                      ]
                    }
                  }
                },
                "unreserved-bandwidth": [
                  {
                    "priority": 7,
                    "te-bandwidth": {
                      "ietf-otn-topology:otn-bandwidth": {
                        "odulist": [
                          {
                            "odu-type": "ietf-layer1-types:ODU2",
                            "number": 0
                          },
                          {
                            "odu-type": "ietf-layer1-types:ODU1",
                            "number": 3
                          },
                          {
                            "odu-type": "ietf-layer1-types:ODU0",
                            "number": 6
                          },
                          {
                            "odu-type": "ietf-fgotn-types:fgODUflex",
                            "number": 950
                          }
                        ]
                      }
                    }
                  }
                ],
                "name": "Link between Node NE1 and Node NE2 (\
                                                  forward direction)"
              }
            }
          },
          {
            "link-id": "example:link/NE2-1/NE1-2",
            "source": {
              "source-node": "NE2",
              "source-tp": "1"
            },
            "destination": {
              "dest-node": "NE1",
              "dest-tp": "2"
            },
            "ietf-te-topology:te": {
              "te-link-attributes": {
                "interface-switching-capability": [
                  {
                    "encoding": "ietf-te-types:lsp-encoding-oduk",
                    "switching-capability": "ietf-te-types:switching\
                                                                -otn"
                  }
                ],
                "label-restrictions": {
                  "label-restriction": [
                    {
                      "index": 1,
                      "restriction": "inclusive",
                      "ietf-otn-topology:otn-label-range": {
                        "range-type": "trib-slot"
                      },
                      "label-start": {
                        "te-label": {
                          "ietf-otn-topology:otn-label": {
                            "ts": 1
                          }
                        }
                      },
                      "label-end": {
                        "te-label": {
                          "ietf-otn-topology:otn-label": {
                            "ts": 8
                          }
                        }
                      },
                      "label-step": {
                        "generic": 1
                      },
                      "range-bitmap": "fc",
                      "ietf-fgotn-topology:fgts-range": [
                        {
                          "odu-type": "ietf-layer1-types:ODU1",
                          "odu-ts-number": "1-2",
                          "fgts-reserved": "1-2",
                          "fgts-unreserved": "3-238"
                        }
                      ]
                    }
                  ]
                },
                "max-link-bandwidth": {
                  "te-bandwidth": {
                    "ietf-otn-topology:otn-bandwidth": {
                      "odulist": [
                        {
                          "odu-type": "ietf-layer1-types:ODU2",
                          "number": 1
                        },
                        {
                          "odu-type": "ietf-layer1-types:ODU1",
                          "number": 4
                        },
                        {
                          "odu-type": "ietf-layer1-types:ODU0",
                          "number": 8
                        },
                        {
                          "odu-type": "ietf-fgotn-types:fgODUflex",
                          "number": 952
                        }
                      ]
                    }
                  }
                },
                "unreserved-bandwidth": [
                  {
                    "priority": 7,
                    "te-bandwidth": {
                      "ietf-otn-topology:otn-bandwidth": {
                        "odulist": [
                          {
                            "odu-type": "ietf-layer1-types:ODU2",
                            "number": 0
                          },
                          {
                            "odu-type": "ietf-layer1-types:ODU1",
                            "number": 3
                          },
                          {
                            "odu-type": "ietf-layer1-types:ODU0",
                            "number": 6
                          },
                          {
                            "odu-type": "ietf-fgotn-types:fgODUflex",
                            "number": 950
                          }
                        ]
                      }
                    }
                  }
                ],
                "name": "Link between Node NE1 and Node NE2 (\
                                                  reverse direction)"
              }
            }
          },
          {
            "link-id": "example:link/NE1-3/NE3-1",
            "source": {
              "source-node": "NE1",
              "source-tp": "3"
            },
            "destination": {
              "dest-node": "NE3",
              "dest-tp": "1"
            },
            "ietf-te-topology:te": {
              "te-link-attributes": {
                "interface-switching-capability": [
                  {
                    "encoding": "ietf-te-types:lsp-encoding-oduk",
                    "switching-capability": "ietf-te-types:switching\
                                                                -otn"
                  }
                ],
                "label-restrictions": {
                  "label-restriction": [
                    {
                      "index": 1,
                      "restriction": "inclusive",
                      "ietf-otn-topology:otn-label-range": {
                        "range-type": "trib-slot"
                      },
                      "label-start": {
                        "te-label": {
                          "ietf-otn-topology:otn-label": {
                            "ts": 1
                          }
                        }
                      },
                      "label-end": {
                        "te-label": {
                          "ietf-otn-topology:otn-label": {
                            "ts": 8
                          }
                        }
                      },
                      "label-step": {
                        "generic": 1
                      },
                      "range-bitmap": "fc",
                      "ietf-fgotn-topology:fgts-range": [
                        {
                          "odu-type": "ietf-layer1-types:ODU1",
                          "odu-ts-number": "1-2",
                          "fgts-reserved": "4-5",
                          "fgts-unreserved": "1-3,6-238"
                        }
                      ]
                    }
                  ]
                },
                "max-link-bandwidth": {
                  "te-bandwidth": {
                    "ietf-otn-topology:otn-bandwidth": {
                      "odulist": [
                        {
                          "odu-type": "ietf-layer1-types:ODU2",
                          "number": 1
                        },
                        {
                          "odu-type": "ietf-layer1-types:ODU1",
                          "number": 4
                        },
                        {
                          "odu-type": "ietf-layer1-types:ODU0",
                          "number": 8
                        },
                        {
                          "odu-type": "ietf-fgotn-types:fgODUflex",
                          "number": 952
                        }
                      ]
                    }
                  }
                },
                "unreserved-bandwidth": [
                  {
                    "priority": 7,
                    "te-bandwidth": {
                      "ietf-otn-topology:otn-bandwidth": {
                        "odulist": [
                          {
                            "odu-type": "ietf-layer1-types:ODU2",
                            "number": 0
                          },
                          {
                            "odu-type": "ietf-layer1-types:ODU1",
                            "number": 3
                          },
                          {
                            "odu-type": "ietf-layer1-types:ODU0",
                            "number": 6
                          },
                          {
                            "odu-type": "ietf-fgotn-types:fgODUflex",
                            "number": 952
                          }
                        ]
                      }
                    }
                  }
                ],
                "name": "Link between Node NE1 and Node NE3 (\
                                                  forward direction)"
              }
            }
          },
          {
            "link-id": "example:link/NE3-1/NE1-3",
            "source": {
              "source-node": "NE3",
              "source-tp": "1"
            },
            "destination": {
              "dest-node": "NE1",
              "dest-tp": "3"
            },
            "ietf-te-topology:te": {
              "te-link-attributes": {
                "interface-switching-capability": [
                  {
                    "encoding": "ietf-te-types:lsp-encoding-oduk",
                    "switching-capability": "ietf-te-types:switching\
                                                                -otn"
                  }
                ],
                "label-restrictions": {
                  "label-restriction": [
                    {
                      "index": 1,
                      "restriction": "inclusive",
                      "ietf-otn-topology:otn-label-range": {
                        "range-type": "trib-slot"
                      },
                      "label-start": {
                        "te-label": {
                          "ietf-otn-topology:otn-label": {
                            "ts": 1
                          }
                        }
                      },
                      "label-end": {
                        "te-label": {
                          "ietf-otn-topology:otn-label": {
                            "ts": 8
                          }
                        }
                      },
                      "label-step": {
                        "generic": 1
                      },
                      "range-bitmap": "fc"
                    }
                  ]
                },
                "max-link-bandwidth": {
                  "te-bandwidth": {
                    "ietf-otn-topology:otn-bandwidth": {
                      "odulist": [
                        {
                          "odu-type": "ietf-layer1-types:ODU2",
                          "number": 1
                        },
                        {
                          "odu-type": "ietf-layer1-types:ODU1",
                          "number": 4
                        },
                        {
                          "odu-type": "ietf-layer1-types:ODU0",
                          "number": 8
                        }
                      ]
                    }
                  }
                },
                "unreserved-bandwidth": [
                  {
                    "priority": 7,
                    "te-bandwidth": {
                      "ietf-otn-topology:otn-bandwidth": {
                        "odulist": [
                          {
                            "odu-type": "ietf-layer1-types:ODU2",
                            "number": 0
                          },
                          {
                            "odu-type": "ietf-layer1-types:ODU1",
                            "number": 3
                          },
                          {
                            "odu-type": "ietf-layer1-types:ODU0",
                            "number": 6
                          }
                        ]
                      }
                    }
                  }
                ],
                "name": "Link between Node NE1 and Node NE3 (\
                                                  reverse direction)"
              }
            }
          },
          {
            "link-id": "example:link/NE4-2/NE2-2",
            "source": {
              "source-node": "NE4",
              "source-tp": "2"
            },
            "destination": {
              "dest-node": "NE2",
              "dest-tp": "2"
            },
            "ietf-te-topology:te": {
              "te-link-attributes": {
                "interface-switching-capability": [
                  {
                    "encoding": "ietf-te-types:lsp-encoding-oduk",
                    "switching-capability": "ietf-te-types:switching\
                                                                -otn"
                  }
                ],
                "label-restrictions": {
                  "label-restriction": [
                    {
                      "index": 1,
                      "restriction": "inclusive",
                      "ietf-otn-topology:otn-label-range": {
                        "range-type": "trib-slot"
                      },
                      "label-start": {
                        "te-label": {
                          "ietf-otn-topology:otn-label": {
                            "ts": 1
                          }
                        }
                      },
                      "label-end": {
                        "te-label": {
                          "ietf-otn-topology:otn-label": {
                            "ts": 8
                          }
                        }
                      },
                      "label-step": {
                        "generic": 1
                      },
                      "range-bitmap": "fc",
                      "ietf-fgotn-topology:fgts-range": [
                        {
                          "odu-type": "ietf-layer1-types:ODU0",
                          "odu-ts-number": "1",
                          "fgts-reserved": "2-4,20",
                          "fgts-unreserved": "1,5-19,21-119"
                        },
                        {
                          "odu-type": "ietf-layer1-types:ODU0",
                          "odu-ts-number": "2",
                          "fgts-reserved": "",
                          "fgts-unreserved": "1-119"
                        }
                      ]
                    }
                  ]
                },
                "max-link-bandwidth": {
                  "te-bandwidth": {
                    "ietf-otn-topology:otn-bandwidth": {
                      "odulist": [
                        {
                          "odu-type": "ietf-layer1-types:ODU2",
                          "number": 1
                        },
                        {
                          "odu-type": "ietf-layer1-types:ODU1",
                          "number": 4
                        },
                        {
                          "odu-type": "ietf-layer1-types:ODU0",
                          "number": 8
                        },
                        {
                          "odu-type": "ietf-fgotn-types:fgODUflex",
                          "number": 952
                        }
                      ]
                    }
                  }
                },
                "unreserved-bandwidth": [
                  {
                    "priority": 7,
                    "te-bandwidth": {
                      "ietf-otn-topology:otn-bandwidth": {
                        "odulist": [
                          {
                            "odu-type": "ietf-layer1-types:ODU2",
                            "number": 0
                          },
                          {
                            "odu-type": "ietf-layer1-types:ODU1",
                            "number": 3
                          },
                          {
                            "odu-type": "ietf-layer1-types:ODU0",
                            "number": 6
                          },
                          {
                            "odu-type": "ietf-fgotn-types:fgODUflex",
                            "number": 948
                          }
                        ]
                      }
                    }
                  }
                ],
                "name": "Link between Node NE2 and Node NE4 (\
                                                  reverse direction)"
              }
            }
          },
          {
            "link-id": "example:link/NE2-2/NE4-2",
            "source": {
              "source-node": "NE2",
              "source-tp": "2"
            },
            "destination": {
              "dest-node": "NE4",
              "dest-tp": "2"
            },
            "ietf-te-topology:te": {
              "te-link-attributes": {
                "interface-switching-capability": [
                  {
                    "encoding": "ietf-te-types:lsp-encoding-oduk",
                    "switching-capability": "ietf-te-types:switching\
                                                                -otn"
                  }
                ],
                "label-restrictions": {
                  "label-restriction": [
                    {
                      "index": 1,
                      "restriction": "inclusive",
                      "ietf-otn-topology:otn-label-range": {
                        "range-type": "trib-slot"
                      },
                      "label-start": {
                        "te-label": {
                          "ietf-otn-topology:otn-label": {
                            "ts": 1
                          }
                        }
                      },
                      "label-end": {
                        "te-label": {
                          "ietf-otn-topology:otn-label": {
                            "ts": 8
                          }
                        }
                      },
                      "label-step": {
                        "generic": 1
                      },
                      "range-bitmap": "fc",
                      "ietf-fgotn-topology:fgts-range": [
                        {
                          "odu-type": "ietf-layer1-types:ODU0",
                          "odu-ts-number": "1",
                          "fgts-reserved": "2-4,20",
                          "fgts-unreserved": "1,5-19,21-119"
                        },
                        {
                          "odu-type": "ietf-layer1-types:ODU0",
                          "odu-ts-number": "2",
                          "fgts-reserved": "",
                          "fgts-unreserved": "1-119"
                        }
                      ]
                    }
                  ]
                },
                "max-link-bandwidth": {
                  "te-bandwidth": {
                    "ietf-otn-topology:otn-bandwidth": {
                      "odulist": [
                        {
                          "odu-type": "ietf-layer1-types:ODU2",
                          "number": 1
                        },
                        {
                          "odu-type": "ietf-layer1-types:ODU1",
                          "number": 4
                        },
                        {
                          "odu-type": "ietf-layer1-types:ODU0",
                          "number": 8
                        },
                        {
                          "odu-type": "ietf-fgotn-types:fgODUflex",
                          "number": 952
                        }
                      ]
                    }
                  }
                },
                "unreserved-bandwidth": [
                  {
                    "priority": 7,
                    "te-bandwidth": {
                      "ietf-otn-topology:otn-bandwidth": {
                        "odulist": [
                          {
                            "odu-type": "ietf-layer1-types:ODU2",
                            "number": 0
                          },
                          {
                            "odu-type": "ietf-layer1-types:ODU1",
                            "number": 3
                          },
                          {
                            "odu-type": "ietf-layer1-types:ODU0",
                            "number": 6
                          },
                          {
                            "odu-type": "ietf-fgotn-types:fgODUflex",
                            "number": 948
                          }
                        ]
                      }
                    }
                  }
                ],
                "name": "Link between Node NE2 and Node NE4 (\
                                                  forward direction)"
              }
            }
          },
          {
            "link-id": "example:link/NE4-3/NE3-2",
            "source": {
              "source-node": "NE4",
              "source-tp": "3"
            },
            "destination": {
              "dest-node": "NE3",
              "dest-tp": "2"
            },
            "ietf-te-topology:te": {
              "oper-status": "up",
              "te-link-attributes": {
                "admin-status": "up",
                "interface-switching-capability": [
                  {
                    "encoding": "ietf-te-types:lsp-encoding-oduk",
                    "switching-capability": "ietf-te-types:switching\
                                                                -otn"
                  }
                ],
                "label-restrictions": {
                  "label-restriction": [
                    {
                      "index": 1,
                      "restriction": "inclusive",
                      "ietf-otn-topology:otn-label-range": {
                        "range-type": "trib-slot"
                      },
                      "label-start": {
                        "te-label": {
                          "ietf-otn-topology:otn-label": {
                            "ts": 1
                          }
                        }
                      },
                      "label-end": {
                        "te-label": {
                          "ietf-otn-topology:otn-label": {
                            "ts": 8
                          }
                        }
                      },
                      "label-step": {
                        "generic": 1
                      },
                      "range-bitmap": "fc",
                      "ietf-fgotn-topology:fgts-range": [
                        {
                          "odu-type": "ietf-layer1-types:ODU1",
                          "odu-ts-number": "1-2",
                          "fgts-reserved": "4-5",
                          "fgts-unreserved": "1-3,6-238"
                        }
                      ]
                    }
                  ]
                },
                "max-link-bandwidth": {
                  "te-bandwidth": {
                    "ietf-otn-topology:otn-bandwidth": {
                      "odulist": [
                        {
                          "odu-type": "ietf-layer1-types:ODU2",
                          "number": 1
                        },
                        {
                          "odu-type": "ietf-layer1-types:ODU1",
                          "number": 4
                        },
                        {
                          "odu-type": "ietf-layer1-types:ODU0",
                          "number": 8
                        },
                        {
                          "odu-type": "ietf-fgotn-types:fgODUflex",
                          "number": 952
                        }
                      ]
                    }
                  }
                },
                "unreserved-bandwidth": [
                  {
                    "priority": 7,
                    "te-bandwidth": {
                      "ietf-otn-topology:otn-bandwidth": {
                        "odulist": [
                          {
                            "odu-type": "ietf-layer1-types:ODU2",
                            "number": 0
                          },
                          {
                            "odu-type": "ietf-layer1-types:ODU1",
                            "number": 3
                          },
                          {
                            "odu-type": "ietf-layer1-types:ODU0",
                            "number": 6
                          },
                          {
                            "odu-type": "ietf-fgotn-types:fgODUflex",
                            "number": 952
                          }
                        ]
                      }
                    }
                  }
                ],
                "name": "Link between Node NE3 and Node NE4 (\
                                                  reverse direction)"
              }
            }
          },
          {
            "link-id": "example:link/NE3-2/NE4-3",
            "source": {
              "source-node": "NE3",
              "source-tp": "2"
            },
            "destination": {
              "dest-node": "NE4",
              "dest-tp": "3"
            },
            "ietf-te-topology:te": {
              "te-link-attributes": {
                "interface-switching-capability": [
                  {
                    "encoding": "ietf-te-types:lsp-encoding-oduk",
                    "switching-capability": "ietf-te-types:switching\
                                                                -otn"
                  }
                ],
                "label-restrictions": {
                  "label-restriction": [
                    {
                      "index": 1,
                      "restriction": "inclusive",
                      "ietf-otn-topology:otn-label-range": {
                        "range-type": "trib-slot"
                      },
                      "label-start": {
                        "te-label": {
                          "ietf-otn-topology:otn-label": {
                            "ts": 1
                          }
                        }
                      },
                      "label-end": {
                        "te-label": {
                          "ietf-otn-topology:otn-label": {
                            "ts": 8
                          }
                        }
                      },
                      "label-step": {
                        "generic": 1
                      },
                      "range-bitmap": "fc"
                    }
                  ]
                },
                "max-link-bandwidth": {
                  "te-bandwidth": {
                    "ietf-otn-topology:otn-bandwidth": {
                      "odulist": [
                        {
                          "odu-type": "ietf-layer1-types:ODU2",
                          "number": 1
                        },
                        {
                          "odu-type": "ietf-layer1-types:ODU1",
                          "number": 4
                        },
                        {
                          "odu-type": "ietf-layer1-types:ODU0",
                          "number": 8
                        }
                      ]
                    }
                  }
                },
                "unreserved-bandwidth": [
                  {
                    "priority": 7,
                    "te-bandwidth": {
                      "ietf-otn-topology:otn-bandwidth": {
                        "odulist": [
                          {
                            "odu-type": "ietf-layer1-types:ODU2",
                            "number": 0
                          },
                          {
                            "odu-type": "ietf-layer1-types:ODU1",
                            "number": 3
                          },
                          {
                            "odu-type": "ietf-layer1-types:ODU0",
                            "number": 6
                          }
                        ]
                      }
                    }
                  }
                ],
                "name": "Link between Node NE3 and Node NE4 (\
                                                  forward direction)"
              }
            }
          }
        ],
        "node": [
          {
            "node-id": "example:NE1",
            "ietf-te-topology:te-node-id": "192.0.0.1",
            "ietf-te-topology:te": {
              "te-node-attributes": {
                "name": "Node NE1"
              }
            },
            "ietf-network-topology:termination-point": [
            {
                "tp-id": "example:NE1-1",
                "ietf-te-topology:te-tp-id": 1,
                "ietf-te-topology:te": {
                  "ietf-otn-topology:client-svc": {},
                  "interface-switching-capability": [
                    {
                      "encoding": "ietf-te-types:lsp-encoding-oduk",
                      "switching-capability": "ietf-te-types:\
                                                       switching-otn"
                    }
                  ],
                  "name": "Interface 1 of Node NE1"
                }
            },   
            {
                "tp-id": "example:NE1-2",
                "ietf-te-topology:te-tp-id": 2,
                "ietf-te-topology:te": {
                  "interface-switching-capability": [
                    {
                      "encoding": "ietf-te-types:lsp-encoding-oduk",
                      "switching-capability": "ietf-te-types:\
                                                       switching-otn"
                    }
                  ],
                  "name": "Interface 2 of Node NE1"
                }
              },
              {
                "tp-id": "example:NE1-3",
                "ietf-te-topology:te-tp-id": 3,
                "ietf-te-topology:te": {
                  "interface-switching-capability": [
                    {
                      "encoding": "ietf-te-types:lsp-encoding-oduk",
                      "switching-capability": "ietf-te-types:\
                                                       switching-otn"
                    }
                  ],
                  "name": "Interface 3 of Node NE1"
                }
              }
            ]
          },
          {
            "node-id": "example:NE2",
            "ietf-te-topology:te-node-id": "192.0.0.2",
            "ietf-te-topology:te": {
              "te-node-attributes": {
                "name": "Node NE2"
              }
            },
            "ietf-network-topology:termination-point": [
              {
                "tp-id": "example:NE2-1",
                "ietf-te-topology:te-tp-id": 1,
                "ietf-te-topology:te": {
                  "interface-switching-capability": [
                    {
                      "encoding": "ietf-te-types:lsp-encoding-oduk",
                      "switching-capability": "ietf-te-types:\
                                                       switching-otn"
                    }
                  ],
                  "name": "Interface 1 of Node NE2"
                }
              },
              {
                "tp-id": "example:NE2-2",
                "ietf-te-topology:te-tp-id": 2,
                "ietf-te-topology:te": {
                  "interface-switching-capability": [
                    {
                      "encoding": "ietf-te-types:lsp-encoding-oduk",
                      "switching-capability": "ietf-te-types:\
                                                       switching-otn"
                    }
                  ],
                  "name": "Interface 2 of Node NE2"
                }
              }
            ]
          },
          {
            "node-id": "example:NE3",
            "ietf-te-topology:te-node-id": "192.0.0.3",
            "ietf-te-topology:te": {
              "te-node-attributes": {
                "name": "Node NE3"
              }
            },
            "ietf-network-topology:termination-point": [
              {
                "tp-id": "example:NE3-1",
                "ietf-te-topology:te-tp-id": 1,
                "ietf-te-topology:te": {
                  "interface-switching-capability": [
                    {
                      "encoding": "ietf-te-types:lsp-encoding-oduk",
                      "switching-capability": "ietf-te-types:\
                                                       switching-otn"
                    }
                  ],
                  "name": "Interface 1 of Node NE3"
                }
              },
              {
                "tp-id": "example:NE3-2",
                "ietf-te-topology:te-tp-id": 2,
                "ietf-te-topology:te": {
                  "interface-switching-capability": [
                    {
                      "encoding": "ietf-te-types:lsp-encoding-oduk",
                      "switching-capability": "ietf-te-types:\
                                                       switching-otn"
                    }
                  ],
                  "name": "Interface 2 of Node NE3"
                }
              }
            ]
          },
          {
            "node-id": "example:NE4",
            "ietf-te-topology:te-node-id": "192.0.0.4",
            "ietf-te-topology:te": {
              "te-node-attributes": {
                "name": "Node NE4"
              }
            },
            "ietf-network-topology:termination-point": [
            {
                "tp-id": "example:NE4-1",
                "ietf-te-topology:te-tp-id": 1,
                "ietf-te-topology:te": {
                  "ietf-otn-topology:client-svc": {},
                  "interface-switching-capability": [
                    {
                      "encoding": "ietf-te-types:lsp-encoding-oduk",
                      "switching-capability": "ietf-te-types:\
                                                       switching-otn"
                    }
                  ],
                  "name": "Interface 1 of Node NE4"
                }
            },   
            {
                "tp-id": "example:NE4-2",
                "ietf-te-topology:te-tp-id": 2,
                "ietf-te-topology:te": {
                  "interface-switching-capability": [
                    {
                      "encoding": "ietf-te-types:lsp-encoding-oduk",
                      "switching-capability": "ietf-te-types:\
                                                       switching-otn"
                    }
                  ],
                  "name": "Interface 2 of Node NE4"
                }
              },
              {
                "tp-id": "example:NE4-3",
                "ietf-te-topology:te-tp-id": 3,
                "ietf-te-topology:te": {
                  "interface-switching-capability": [
                    {
                      "encoding": "ietf-te-types:lsp-encoding-oduk",
                      "switching-capability": "ietf-te-types:\
                                                       switching-otn"
                    }
                  ],
                  "name": "Interface 3 of Node NE4"
                }
              }
            ]
          }
        ]
      }
    ]
  }
}
]]></sourcecode>
    </section>
    <section numbered="false" anchor="acknowledgments">
      <name>Acknowledgments</name>
    </section>
    <section anchor="contributors" numbered="false" toc="include" removeInRFC="false">
      <name>Contributors</name>
      <contact initials="Z." surname="Wang" fullname="Zelin Wang">
        <organization>China Unicom</organization>
        <address>
          <postal>
            <city>Beijing</city>
            <country>China</country>
          </postal>
          <email>wangzl172@chinaunicom.cn</email>
        </address>
      </contact>
      <contact initials="A." surname="Guo" fullname="Aihua Guo">
        <organization>Huawei Technologiesicom</organization>
        <address>
          <email>aihuaguo.ietf@gmail.com</email>
        </address>
      </contact>
      <contact initials="C." surname="Li" fullname="Chen Li">
        <organization>Fiberhome Telecommunication Technologies Co.,LTD</organization>
        <address>
          <email>lich@fiberhome.com</email>
        </address>
      </contact>
    </section>
  </back>
  <!-- ##markdown-source:
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
E6mfRxBy/98FYvMg5G/vCsSv9yCqcYFN776kXeqJu0FvMzfwHd4N6nMDew+A
6/EeAOY9AN4DsF4f3gPgPQBaKe8BuB5o3gPQBDTvAfAeAKMF7wHwHgAL0C/e
A3D3qai6IvHybcYA3GHiZR8D4D0Arsd7AJj3AHgPwHp9eA+A9wBopbwH4Hqg
eQ9AE9C8B8B7AIwWvAfAewAsQO+PB6B/X2IA+iIG4DaTUd9hDIBPRu09AK7H
ewCY9wB4D8B6fTg8AN5IrXu8kXo7oPlk1EYRbwNWHm8DbsQG/OJNq7vfXN0X
B6xv81bbOzxg7cOrvWnlerxpxbxp5U2r9fq4F5urK1Rve3P19rdWu92nS7ZW
/002iIWIO9hjXo6IG1s83nz35vtGQPN7zA1Ke/+C6/H+hS/Iv+D3mDfhCOnd
ywuPe+LC49s8Z36HFx57R4h3hLge7whh3hHiHSHr9eEdId4R4h0h1VLeEXI9
0LwjpAlo3hHiHSFGC94R4h0hFqBfvCPk7oPt98Vx+9uMCLnD4/abcYSk8yhD
w7JYoG3TXsztPpv6SsLRLE6Wt+U9Kt6j4j0qjk68R6Xm8R4V53Orhpo/t+9d
Cd6V4F0J1uNdCTWPdyV4V8JNQPx6XQn9exlT0RcxFbd5bv8OYyr8uX3vAXA9
3gPAvAfAewDW68Of26883ki9l0aqtwG9DXg9EL8eG/CLN61utEur/tYgbwub
RF8iFbMLS1TMLjvxmMsoCbSa3ae9zh78r0m9GmOGWltlzMgJkLkSVqDHBYx1
rzyYRzNh2gXzFMwli6U4ACnmNs6szPK1mJO1HYp+Q4yVRQ3+OZzGUVIE+Tkq
Ux+da/p6BuESq+XmRmFjs/Da1mDZfI01WKMgOhEoifBIIpJ1WTpmdTRpUyX8
51r05RJGS+mrd0P68pTiKnITSumtQykOqdyUVGx31wpS6XtSWfe5ZVLpr0kq
xm9dI1rmdHVKfytkq6H0b1Jvg9K/dzfSv+mi6929/PeLzlVkU5Lcoq+N8Wc7
TxaV9KL8PpFKb01S2Rx/tvbBGvLnJvU2yJ/7nxd/tm/+qsWd58+f66LT+bNF
Xxvjz3bUOpX0/Pk+kUpvTVLZHH+ubv835c9N6m2QP+9/Tt6zfe89+1oXqs7T
LZrclPfMzshCJT1Lv0+U0luHUq4t/e1AMyrpvWf3iVT6a5JKvfRvVd8qsirx
35Zy0aQlXboE4qVBXKoeIbNCHm6KE39bpFSzm66Xd28XaqtkaY8wNpCO8Tim
jVoDUCE4ba7ZnmfpOdTLHBK7rTWMSKtBVlM4KyK7Rl3BQJ7l+6HLLpDmOc5v
8wLpO8xx7i+Q9mGorseHoTLmw1B9GOpaffiDqKPmNcyzqH1/FrVS1Yf5NgDt
fob5bgo0fxbVxyEbLfg45K/zLOrS6a799jkETBsXnfXuS1qrnrhD+jbze9/h
HdI+v7d3Arge7wRg3gngnQDr9eGdAN4JYJbyToDrgeadAE1A804A7wQwWvBO
AO8EsAD94p0Ad5+QqityW99mJMAd5rb2kQDeCeB6vBOAeSeAdwKs14d3ApDE
3A8eXyMrdX/nW+8IqFT1joAGoHlHgHcEeEeAasE7Ar5OR8D9zUxtOAL69yUa
oC+iAW4zM/UdRgP4zNTeEeB6vCOAeUeAdwSs14fPTF15vJF6L41UbwN6G/B6
IH49NuAXb1rd/R7rvjhtfZv3B9/haWsfaO1NK9fjTSvmTStvWq3Xx73YY12h
ett7rGvusPaC/Z3eik5cm6w7j4Pu051eN+h2ny7ZaP03WSQWWu7gLuTliLix
/eONeW/MbwQ0v+PcoLT3Nrge7234grwNn9GO8/711MrPwS3Su5d3IffEXci3
ef78Du9C9m4R7xZxPd4twrxbxLtF1uvDu0W8W0QfoXeL2KW8W+R6oHm3SBPQ
vFvEu0WMFrxbxLtFLEC/eLfI3Qfi74sT+bcZLXKHJ/I34xZJ51GGZmaxQEun
vZjbfTb1nISjWZwsb8v7V7x/xftXHJ14/0rN4/0rzudWDTV/tN97FMr63qPg
PQrm4z0KNY/3KHiPwk1A/HqP9vfvZaBFXwRa3ObR/jsMtPBH+70jwPV4RwDz
jgDvCFivD3+0v/J4I/VeGqneBvQ24PVA/HpswC/etLrRZq36W4O8LWwSfYlU
zC4sUTG77NxkLqMk0Gp2n/Y6e/C/JvVqjBlqbZUxIydAplNYgR4XMNY99GAe
zYRpF8xTMJcsluIApJjbOLNy0NdiTtZ2KPoNMVYWNfjncBpHSRHk56hMfXSu
6esZhEuslpsbhY3Nwmtbg2XzNdZgjYLoRKAkwiOJSNZl6ZjV0aRNlfCfa9GX
Sxgtpa/eDenLU4qryE0opbcOpTikclNSsd1dK0il70ll3eeWSaW/JqkYv3WN
aJnT1Sn9rcithtK/Sb0NSv/e3Uj/pouud/fy3y86V5FNSXKLvjbGn+1UWlTS
i/L7RCq9NUllc/zZ2gdryJ+b1Nsgf+5/XvzZviOsFneeP3+ui07nzxZ9bYw/
28HrVNLz5/tEKr01SWVz/Lm6/d+UPzept0H+vP85ec/2vffsa12oOk+3aHJT
3jM7TQuV9Cz9PlFKbx1Kubb0twPNqKT3nt0nUumvSSr10r9Vfcvf4K+r1lXr
v+FptT4OGN/DjEbftcfhNI/aV63WA3YwfJ+kF9NoNJmBaMlb/x+79XaBi2cC
AA==

-->

</rfc>
