<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE rfc [
  <!ENTITY nbsp    "&#160;">
  <!ENTITY zwsp   "&#8203;">
  <!ENTITY nbhy   "&#8209;">
  <!ENTITY wj     "&#8288;">
]>
<?xml-stylesheet type="text/xsl" href="rfc2629.xslt" ?>
<!-- generated by https://github.com/cabo/kramdown-rfc version 1.7.43 (Ruby 3.4.9) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-ietf-ccamp-fgotn-yang-03" category="std" consensus="true" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.34.1 -->
  <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-03"/>
    <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="October" day="30"/>
    <area>Routing</area>
    <workgroup>CCAMP Working Group</workgroup>
    <keyword>next generation</keyword>
    <keyword>unicorn</keyword>
    <keyword>sparkling distributed ledger</keyword>
    <abstract>
      <?line 95?>
<t>Fine grain Optical Transport Network (fgOTN) is a data plane technology, specified in ITU-T Recommendation G.709/Y.1331 (2020) Amd. 3, which complements existing OTN by providing bandwidth efficient support for sub-1Gbit/s services.</t>
      <t>This document defines YANG data models to describe the topology and tunnel information of an fgOTN 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 100?>

<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>The following terms are defined in <xref target="ITU-T_G.709"/> and in <xref target="ITU-T_G.709.20"/> and are not redefined here:</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="384" width="568" viewBox="0 0 568 384" 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 40,128 L 40,176" fill="none" stroke="black"/>
                <path d="M 64,240 L 64,288" fill="none" stroke="black"/>
                <path d="M 104,240 L 104,288" fill="none" stroke="black"/>
                <path d="M 144,128 L 144,176" fill="none" stroke="black"/>
                <path d="M 160,240 L 160,288" fill="none" stroke="black"/>
                <path d="M 184,280 L 184,336" fill="none" stroke="black"/>
                <path d="M 208,240 L 208,288" fill="none" stroke="black"/>
                <path d="M 232,128 L 232,176" fill="none" stroke="black"/>
                <path d="M 240,32 L 240,80" fill="none" stroke="black"/>
                <path d="M 264,240 L 264,288" fill="none" stroke="black"/>
                <path d="M 280,80 L 280,128" fill="none" stroke="black"/>
                <path d="M 304,240 L 304,288" fill="none" stroke="black"/>
                <path d="M 328,32 L 328,80" fill="none" stroke="black"/>
                <path d="M 336,128 L 336,176" fill="none" stroke="black"/>
                <path d="M 360,240 L 360,288" fill="none" stroke="black"/>
                <path d="M 384,280 L 384,336" fill="none" stroke="black"/>
                <path d="M 408,240 L 408,288" fill="none" stroke="black"/>
                <path d="M 424,128 L 424,176" fill="none" stroke="black"/>
                <path d="M 464,240 L 464,288" fill="none" stroke="black"/>
                <path d="M 504,240 L 504,288" fill="none" stroke="black"/>
                <path d="M 528,128 L 528,176" fill="none" stroke="black"/>
                <path d="M 560,240 L 560,288" fill="none" stroke="black"/>
                <path d="M 240,32 L 328,32" fill="none" stroke="black"/>
                <path d="M 120,48 L 240,48" fill="none" stroke="black"/>
                <path d="M 328,48 L 440,48" fill="none" stroke="black"/>
                <path d="M 240,80 L 328,80" fill="none" stroke="black"/>
                <path d="M 40,128 L 144,128" fill="none" stroke="black"/>
                <path d="M 232,128 L 336,128" fill="none" stroke="black"/>
                <path d="M 424,128 L 528,128" fill="none" stroke="black"/>
                <path d="M 40,176 L 144,176" fill="none" stroke="black"/>
                <path d="M 232,176 L 336,176" fill="none" stroke="black"/>
                <path d="M 424,176 L 528,176" fill="none" stroke="black"/>
                <path d="M 16,224 L 552,224" fill="none" stroke="black"/>
                <path d="M 8,240 L 64,240" fill="none" stroke="black"/>
                <path d="M 104,240 L 160,240" fill="none" stroke="black"/>
                <path d="M 208,240 L 264,240" fill="none" stroke="black"/>
                <path d="M 304,240 L 360,240" fill="none" stroke="black"/>
                <path d="M 408,240 L 464,240" fill="none" stroke="black"/>
                <path d="M 504,240 L 560,240" fill="none" stroke="black"/>
                <path d="M 64,256 L 104,256" fill="none" stroke="black"/>
                <path d="M 160,256 L 208,256" fill="none" stroke="black"/>
                <path d="M 264,256 L 304,256" fill="none" stroke="black"/>
                <path d="M 360,256 L 408,256" fill="none" stroke="black"/>
                <path d="M 464,256 L 504,256" fill="none" stroke="black"/>
                <path d="M 64,272 L 104,272" fill="none" stroke="black"/>
                <path d="M 160,272 L 208,272" fill="none" stroke="black"/>
                <path d="M 264,272 L 304,272" fill="none" stroke="black"/>
                <path d="M 360,272 L 408,272" fill="none" stroke="black"/>
                <path d="M 464,272 L 504,272" fill="none" stroke="black"/>
                <path d="M 8,288 L 64,288" fill="none" stroke="black"/>
                <path d="M 104,288 L 160,288" fill="none" stroke="black"/>
                <path d="M 208,288 L 264,288" fill="none" stroke="black"/>
                <path d="M 304,288 L 360,288" fill="none" stroke="black"/>
                <path d="M 408,288 L 464,288" fill="none" stroke="black"/>
                <path d="M 504,288 L 560,288" fill="none" stroke="black"/>
                <path d="M 440,48 L 476,120" fill="none" stroke="black"/>
                <path d="M 80,128 L 120,48" fill="none" stroke="black"/>
                <polygon class="arrowhead" points="560,224 548,218.4 548,229.6" fill="black" transform="rotate(0,552,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="284" y="52">MDSC</text>
                  <text x="92" y="148">Controller</text>
                  <text x="284" y="148">Controller</text>
                  <text x="476" y="148">Controller</text>
                  <text x="88" y="164">1</text>
                  <text x="280" y="164">2</text>
                  <text x="472" y="164">3</text>
                  <text x="212" y="212">End-to-end</text>
                  <text x="280" y="212">fgOTN</text>
                  <text x="336" y="212">service</text>
                  <text x="36" y="260">node</text>
                  <text x="132" y="260">node</text>
                  <text x="236" y="260">node</text>
                  <text x="332" y="260">node</text>
                  <text x="436" y="260">node</text>
                  <text x="532" y="260">node</text>
                  <text x="32" y="276">1</text>
                  <text x="128" y="276">2</text>
                  <text x="232" y="276">3</text>
                  <text x="328" y="276">4</text>
                  <text x="432" y="276">5</text>
                  <text x="528" y="276">6</text>
                  <text x="28" y="308">source</text>
                  <text x="520" y="308">destination</text>
                  <text x="76" y="324">Domain</text>
                  <text x="112" y="324">1</text>
                  <text x="284" y="324">Domain</text>
                  <text x="320" y="324">2</text>
                  <text x="468" y="324">Domain</text>
                  <text x="504" 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.</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?     fgotn-types:ts-list-or-empty
        +--rw fgts-unreserved?   fgotn-types:ts-list-or-empty
]]></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="tunnel-bandwidth">
        <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?   uint8
]]></sourcecode>
        <t>The fgoduflex-bandwidth leaf specifies the bandwidth of an fgOTN tunnel when the ODU type is fgODUflex. The value is expressed as an integer multiplier of 10 Mbit/s, with a valid range of 1 to 119, corresponding to the fine-granularity bandwidth granularities defined in Table M.3 of <xref target="ITU-T_G.709"/>.</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 specifies the fgTS information for the explicit route objects and computed path properties of fgOTN paths, under the corresponding occurrences of the tet:te-label container. We also augment the TE label-hop for the record route of the LSP using the fgts-numbers. When specifying the fgotn time slot in the routing constraint information, the ODU time slot must also be specified. The ts-list (together with the tsg) represents the time slots assigned to the ODUk server-layer tunnel, while the fgts-numbers represents the fgTSs assigned to the fgOTN client-layer tunnel.</t>
      </section>
    </section>
    <section anchor="yang-types">
      <name>YANG Data Model for fgOTN types</name>
      <t>The "ietf-fgotn-types" module imports the following modules:</t>
      <ul spacing="normal">
        <li>
          <t>"ietf-layer1-types" as defined in <xref target="I-D.ietf-ccamp-layer1-types"/></t>
        </li>
      </ul>
      <t>In addition to importing <xref target="I-D.ietf-ccamp-layer1-types"/>, this module references the following documents in defining its types: <xref target="RFC7139"/>.</t>
      <figure anchor="fgotn-types-yang">
        <name>fgOTN types YANG module</name>
        <sourcecode type="yang" markers="true" name="ietf-fgotn-types@2026-10-29.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
      "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.*/

  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.

     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-10-29 {
    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).";
  }

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

  typedef ts-list-or-empty {
    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";
  }

  grouping fgotn-label-hop {
    description
      "This grouping defines the additional information to be added
       to the 'otn-label' container, defined in the 'otn-label-hop'
       grouping of the 'ietf-layer1-types' YANG module, when used to
       represent an fgOTN label hop.";
    leaf fgts-numbers {
      type fgotn-types:ts-list;
      description
        "The list of the fine grain Tributary Slots (fgTSs)
         allocated to the fgOTN tunnel.

         When the fgODUflex tunnel is setup over a LO-ODUj server
         layer tunnel, the 'ts-list' (together with the tsg)
         represents the TSs assigned to the LO-ODUj server layer
         tunnel, while the 'fgts-numbers' represents the fgTSs
         assigned to the fgOTN client layer tunnel.";
    }
  }
}
]]></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      fgotn-types:ts-list
       +--rw fgts-reserved?     fgotn-types:ts-list-or-empty
       +--rw fgts-unreserved?   fgotn-types:ts-list-or-empty
]]></sourcecode>
      </figure>
    </section>
    <section anchor="yang-data-model-for-fgotn-topology-1">
      <name>YANG Data Model for fgOTN topology</name>
      <t>The "ietf-fgotn-topology" module imports the following modules:</t>
      <ul spacing="normal">
        <li>
          <t>"ietf-network" as defined in <xref target="RFC8345"/></t>
        </li>
        <li>
          <t>"ietf-network-topology" as defined in <xref target="RFC8345"/></t>
        </li>
        <li>
          <t>"ietf-te-topology" as defined in <xref target="RFC8795"/></t>
        </li>
        <li>
          <t>"ietf-layer1-types" as defined in <xref target="I-D.ietf-ccamp-layer1-types"/></t>
        </li>
        <li>
          <t>"ietf-otn-topology" as defined in <xref target="I-D.ietf-ccamp-otn-topo-yang"/></t>
        </li>
        <li>
          <t>"ietf-fgotn-types" as defined in <xref target="yang-types"/> of this document</t>
        </li>
      </ul>
      <figure anchor="fgotn-topology-yang">
        <name>fgOTN topology YANG module</name>
        <sourcecode type="yang" markers="true" name="ietf-fgotn-topology@2026-09-29.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.*/

  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 XXXX with the number assigned
     to the RFC once this document 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-09-29 {
    description
      "initial version";
    reference
      "RFC XXXX: YANG Data Models for fine grain Optical Transport
                 Network";
  }

  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 fgotn-types:ts-list;
        description
          "The index of server ODUk channel";
      }
      leaf fgts-reserved {
        type fgotn-types:ts-list-or-empty;
        description
          "The reserved fgOTN timeslot in this server ODUk";
      }
      leaf fgts-unreserved {
        type fgotn-types:ts-list-or-empty;
        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?   uint8
  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?   fgotn-types:ts-list
  augment /te:te/te:tunnels/te:tunnel/te:primary-paths
            /te:primary-path/te:computed-paths-properties
            /te:computed-path-properties/te:path-properties
            /te:path-route-objects/te:path-route-object/te:type
            /te:label/te:label-hop/te:te-label/te:technology
            /otn-tnl:otn/otn-tnl:otn-label:
    +--ro fgts-numbers?   fgotn-types:ts-list
  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?   fgotn-types:ts-list
  augment /te:te/te:tunnels/te:tunnel/te:primary-paths
            /te:primary-path/te:primary-reverse-path
            /te:computed-paths-properties/te:computed-path-properties
            /te:path-properties/te:path-route-objects
            /te:path-route-object/te:type/te:label/te:label-hop
            /te:te-label/te:technology/otn-tnl:otn/otn-tnl:otn-label:
    +--ro fgts-numbers?   fgotn-types:ts-list
  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?   fgotn-types:ts-list
  augment /te:te/te:tunnels/te:tunnel/te:secondary-paths
            /te:secondary-path/te:computed-paths-properties
            /te:computed-path-properties/te:path-properties
            /te:path-route-objects/te:path-route-object/te:type
            /te:label/te:label-hop/te:te-label/te:technology
            /otn-tnl:otn/otn-tnl:otn-label:
    +--ro fgts-numbers?   fgotn-types:ts-list
  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?   fgotn-types:ts-list
  augment /te:te/te:tunnels/te:tunnel/te:secondary-reverse-paths
            /te:secondary-reverse-path/te:computed-paths-properties
            /te:computed-path-properties/te:path-properties
            /te:path-route-objects/te:path-route-object/te:type
            /te:label/te:label-hop/te:te-label/te:technology
            /otn-tnl:otn/otn-tnl:otn-label:
    +--ro fgts-numbers?   fgotn-types:ts-list
  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?   fgotn-types:ts-list
]]></sourcecode>
      </figure>
    </section>
    <section anchor="yang-data-model-for-fgotn-tunnel-1">
      <name>YANG Data Model for fgOTN tunnel</name>
      <t>The "ietf-fgotn-tunnel" module imports the following modules:</t>
      <ul spacing="normal">
        <li>
          <t>"ietf-te" as defined in <xref target="I-D.ietf-teas-yang-te"/></t>
        </li>
        <li>
          <t>"ietf-otn-tunnel" as defined in <xref target="I-D.ietf-ccamp-otn-tunnel-model"/></t>
        </li>
        <li>
          <t>"ietf-fgotn-types" as defined in <xref target="yang-types"/> of this document</t>
        </li>
      </ul>
      <t>In addition to importing <xref target="I-D.ietf-teas-yang-te"/> and <xref target="I-D.ietf-ccamp-otn-tunnel-model"/>, this module references the following documents: <xref target="ITU-T_G.709"/>.</t>
      <figure anchor="fgotn-tunnel-yang">
        <name>fgOTN tunnel YANG module</name>
        <sourcecode type="yang" markers="true" name="ietf-fgotn-tunnel@2026-10-29.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";
  }

  /* 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.*/

  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 XXXX with the number assigned
     to the RFC once this document 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-10-29 {
    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 uint8 {
        range "1 .. 119";
      }
      description
        "The TE bandwidth of the fgOTN tunnel expressed as the
         multiplier of 10Mbit/s.";
      reference
        "ITU-T G.709 v6.5 (03/2024): Interfaces for the Optical
                   Transport Network (OTN), Table M.3";
    }
  }

  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";
    uses fgotn-types:fgotn-label-hop;
  }

  augment "/te:te/te:tunnels/te:tunnel/"
        + "te:primary-paths/te:primary-path/"
        + "te:computed-paths-properties/"
        + "te:computed-path-properties/te:path-properties/"
        + "te:path-route-objects/te:path-route-object/te:type/"
        + "te:label/te:label-hop/te:te-label/te:technology/"
        + "otn-tnl:otn/otn-tnl:otn-label" {
    description
      "augmentation of fgOTN label";
    uses fgotn-types:fgotn-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";
    uses fgotn-types:fgotn-label-hop;
  }

  augment "/te:te/te:tunnels/te:tunnel/"
        + "te:primary-paths/te:primary-path/"
        + "te:primary-reverse-path/te:computed-paths-properties/"
        + "te:computed-path-properties/te:path-properties/"
        + "te:path-route-objects/te:path-route-object/te:type/"
        + "te:label/te:label-hop/te:te-label/te:technology/"
        + "otn-tnl:otn/otn-tnl:otn-label" {
    description
      "augmentation of fgOTN label";
    uses fgotn-types:fgotn-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";
    uses fgotn-types:fgotn-label-hop;
  }

  augment "/te:te/te:tunnels/te:tunnel/te:secondary-paths"
        + "/te:secondary-path/te:computed-paths-properties/"
        + "te:computed-path-properties/te:path-properties/"
        + "te:path-route-objects/te:path-route-object/te:type/"
        + "te:label/te:label-hop/te:te-label/te:technology/"
        + "otn-tnl:otn/otn-tnl:otn-label" {
    description
      "augmentation of fgOTN label";
    uses fgotn-types:fgotn-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";
    uses fgotn-types:fgotn-label-hop;
  }

  augment "/te:te/te:tunnels/te:tunnel/te:secondary-reverse-paths"
        + "/te:secondary-reverse-path/"
        + "te:computed-paths-properties/"
        + "te:computed-path-properties/te:path-properties/"
        + "te:path-route-objects/te:path-route-object/te:type/"
        + "te:label/te:label-hop/te:te-label/te:technology/"
        + "otn-tnl:otn/otn-tnl:otn-label" {
    description
      "augmentation of fgOTN label";
    uses fgotn-types:fgotn-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";
    uses fgotn-types:fgotn-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>This section is modeled after the template described in Section 3.7.1 of <xref target="RFC9907"/>.</t>
      <t>The "ietf-fgotn-topology", "ietf-fgotn-tunnel" and "ietf-fgotn-types" YANG modules define data models that are designed to be accessed via YANG-based management protocols, such as
Network Configuration Protocol (NETCONF) <xref target="RFC6241"/> and RESTCONF <xref target="RFC8040"/>.
These YANG-based management protocols (1) have to use a secure transport
layer (e.g., SSH <xref target="RFC4253"/>, TLS <xref target="RFC9846"/>, and
QUIC <xref target="RFC9000"/>) and (2) have to use mutual authentication (e.g., for SSH, the SSH Authentication Protocol <xref target="RFC4252"/>).</t>
      <t>The Network Configuration Access Control Model (NACM) <xref target="RFC8341"/> provides the means to restrict access for particular NETCONF or RESTCONF users to a preconfigured subset of all available NETCONF or
RESTCONF protocol operations and content.</t>
      <t>There are a number of data nodes defined in these YANG modules that are writable/creatable/deletable (i.e., config true, which is the default).
All writable data nodes are likely to be reasonably sensitive or vulnerable in some network environments.
Write operations (e.g., edit-config) and delete operations to these data nodes without proper protection or authentication can have a negative effect on network operations.
The following subtrees and data nodes have particular sensitivities/vulnerabilities:</t>
      <ul spacing="normal">
        <li>
          <t>"/nw:networks/nw:network/nt:link/tet:te/tet:te-link-attributes/tet:label-restrictions/tet:label-restriction/fgotnt:fgts-range"</t>
        </li>
      </ul>
      <ul empty="true">
        <li>
          <t>This subtree specifies the configurations of fgOTN technology-specific label range information for the fgOTN links. By configuring, removing or modifying the fgOTN label attributes, a malicious attacker may cause fgOTN traffic to be disabled or misrouted. Such traffic changes may also affect the traffic on the surrounding fgOTN nodes and fgOTN links in this fgOTN topology and the connected fgOTN topologies.</t>
        </li>
      </ul>
      <ul spacing="normal">
        <li>
          <t>"/te:te/te:tunnels/te:tunnel/te:te-bandwidth/te:technology/otn-tnl:otn/otn-tnl:otn-bandwidth/fgotn-tnl:fgoduflex-bandwidth"</t>
        </li>
      </ul>
      <ul empty="true">
        <li>
          <t>This data node represents the bandwidth of the fgOTN tunnel, as described in <xref target="tunnel-bandwidth"/>. By configuring the fgOTN bandwidth attributes, an attacker may create an unauthorized fgOTN traffic path. By removing or modifying it, a malicious attacker may cause fgOTN traffic to be disabled or misrouted.</t>
        </li>
      </ul>
      <ul spacing="normal">
        <li>
          <t>"fgotn-tnl:fgts-numbers"</t>
        </li>
      </ul>
      <ul empty="true">
        <li>
          <t>This data node specifies the fgTS information for the explicit route objects and computed path properties of fgOTN paths, under the corresponding occurrences of the tet:te-label container, as defined in <xref target="I-D.ietf-teas-yang-te"/> (e.g., "/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/otnt:otn/otnt:otn-label/fgotn-tnl:fgts-numbers"). By configuring, removing or modifying the fgTS attributes, a malicious attacker may cause fgOTN traffic to be disabled or misrouted.</t>
        </li>
      </ul>
      <t>Some of the readable data nodes in these YANG modules may be considered sensitive or vulnerable in some network environments.
It is thus important to control read access (e.g., via get, get-config, or notification) to these data nodes.
Specifically, the following subtrees and data nodes have particular sensitivities/ vulnerabilities:</t>
      <ul spacing="normal">
        <li>
          <t>"/nw:networks/nw:network/nt:link/tet:te/tet:te-link-attributes/tet:label-restrictions/tet:label-restriction/fgotnt:fgts-range"</t>
        </li>
      </ul>
      <ul empty="true">
        <li>
          <t>This subtree specifies the configurations of fgOTN technology-specific label range information for the fgOTN links. Unauthorized access to this subtree can disclose the state information of fgOTN links.</t>
        </li>
      </ul>
      <ul spacing="normal">
        <li>
          <t>"/te:te/te:tunnels/te:tunnel/te:te-bandwidth/te:technology/otn-tnl:otn/otn-tnl:otn-bandwidth/fgotn-tnl:fgoduflex"</t>
        </li>
      </ul>
      <ul empty="true">
        <li>
          <t>This data node represents the bandwidth of the fgOTN tunnel, as described in <xref target="tunnel-bandwidth"/>. Unauthorized access to this data node can disclose the fgOTN bandwidth information of fgOTN tunnels and LSPs.</t>
        </li>
      </ul>
      <ul spacing="normal">
        <li>
          <t>"fgotn-tnl:fgts-numbers"</t>
        </li>
      </ul>
      <ul empty="true">
        <li>
          <t>This data node specifies the fgTS information for the explicit route objects and computed path properties of fgOTN paths, under the corresponding occurrences of the tet:te-label container, as defined in <xref target="I-D.ietf-teas-yang-te"/> (e.g., "/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/otnt:otn/otnt:otn-label/fgotn-tnl:fgts-numbers"). Unauthorized access to this data node can disclose the state information of fgOTN tunnels and LSPs.</t>
        </li>
      </ul>
      <t>These YANG modules do not define RPC operations.</t>
      <t>Finally, the YANG modules described in this document augments the "ietf-otn-topology" YANG module <xref target="I-D.ietf-ccamp-otn-topo-yang"/> and the "ietf-otn-tunnel" YANG module <xref target="I-D.ietf-ccamp-otn-tunnel-model"/> by adding data nodes. The security considerations for the subtrees described in those drafts apply equally to the new data nodes that these modules add.</t>
    </section>
    <section anchor="iana-considerations">
      <name>IANA Considerations</name>
      <t>IANA is requested to register the following URI in the "ns"
registry within the "IETF XML Registry" group <xref target="RFC3688"/>:</t>
      <artwork><![CDATA[
    URI: urn:ietf:params:xml:ns:yang:ietf-fgotn-types
    Registrant Contact:  The IESG.
    XML: N/A, the requested URI is an XML namespace.

    URI: urn:ietf:params:xml:ns:yang:ietf-fgotn-topology
    Registrant Contact:  The IESG.
    XML: N/A, the requested URI is an XML namespace.

    URI: urn:ietf:params:xml:ns:yang:ietf-fgotn-tunnel
    Registrant Contact:  The IESG.
    XML: N/A, the requested URI is an XML namespace.
]]></artwork>
      <t>IANA is requested to register the following YANG module in the "YANG
Module Names" registry <xref target="RFC6020"/> within the "YANG Parameters"
registry group.</t>
      <artwork><![CDATA[
    name:      ietf-fgotn-types
    Maintained by IANA?  N
    namespace: urn:ietf:params:xml:ns:yang:ietf-fgotn-types
    prefix:    fgotn-types
    reference: RFC XXXX

    name:      ietf-fgotn-topology
    Maintained by IANA?  N
    namespace: urn:ietf:params:xml:ns:yang:ietf-fgotn-topology
    prefix:    fgotnt
    reference: RFC XXXX

    name:      ietf-fgotn-tunnel
    Maintained by IANA?  N
    namespace: urn:ietf:params:xml:ns:yang:ietf-fgotn-tunnel
    prefix:    fgotn-tnl
    reference: RFC XXXX
]]></artwork>
    </section>
  </middle>
  <back>
    <references anchor="sec-combined-references">
      <name>References</name>
      <references anchor="sec-normative-references">
        <name>Normative References</name>
        <reference anchor="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="13" month="August" 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-26"/>
        </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="15" month="September" 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-20"/>
        </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>
        <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="RFC7139">
          <front>
            <title>GMPLS Signaling Extensions for Control of Evolving G.709 Optical Transport Networks</title>
            <author fullname="F. Zhang" initials="F." role="editor" surname="Zhang"/>
            <author fullname="G. Zhang" initials="G." surname="Zhang"/>
            <author fullname="S. Belotti" initials="S." surname="Belotti"/>
            <author fullname="D. Ceccarelli" initials="D." surname="Ceccarelli"/>
            <author fullname="K. Pithewan" initials="K." surname="Pithewan"/>
            <date month="March" year="2014"/>
            <abstract>
              <t>ITU-T Recommendation G.709 [G709-2012] introduced new Optical channel Data Unit (ODU) containers (ODU0, ODU4, ODU2e, and ODUflex) and enhanced Optical Transport Network (OTN) flexibility.</t>
              <t>This document updates the ODU-related portions of RFC 4328 to provide extensions to GMPLS signaling to control the full set of OTN features, including ODU0, ODU4, ODU2e, and ODUflex.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7139"/>
          <seriesInfo name="DOI" value="10.17487/RFC7139"/>
        </reference>
        <reference anchor="RFC8341">
          <front>
            <title>Network Configuration Access Control Model</title>
            <author fullname="A. Bierman" initials="A." surname="Bierman"/>
            <author fullname="M. Bjorklund" initials="M." surname="Bjorklund"/>
            <date month="March" year="2018"/>
            <abstract>
              <t>The standardization of network configuration interfaces for use with the Network Configuration Protocol (NETCONF) or the RESTCONF protocol requires a structured and secure operating environment that promotes human usability and multi-vendor interoperability. There is a need for standard mechanisms to restrict NETCONF or RESTCONF protocol access for particular users to a preconfigured subset of all available NETCONF or RESTCONF protocol operations and content. This document defines such an access control model.</t>
              <t>This document obsoletes RFC 6536.</t>
            </abstract>
          </front>
          <seriesInfo name="STD" value="91"/>
          <seriesInfo name="RFC" value="8341"/>
          <seriesInfo name="DOI" value="10.17487/RFC8341"/>
        </reference>
        <reference anchor="RFC3688">
          <front>
            <title>The IETF XML Registry</title>
            <author fullname="M. Mealling" initials="M." surname="Mealling"/>
            <date month="January" year="2004"/>
            <abstract>
              <t>This document describes an IANA maintained registry for IETF standards which use Extensible Markup Language (XML) related items such as Namespaces, Document Type Declarations (DTDs), Schemas, and Resource Description Framework (RDF) Schemas.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="81"/>
          <seriesInfo name="RFC" value="3688"/>
          <seriesInfo name="DOI" value="10.17487/RFC3688"/>
        </reference>
        <reference anchor="RFC6020">
          <front>
            <title>YANG - A Data Modeling Language for the Network Configuration Protocol (NETCONF)</title>
            <author fullname="M. Bjorklund" initials="M." role="editor" surname="Bjorklund"/>
            <date month="October" year="2010"/>
            <abstract>
              <t>YANG is a data modeling language used to model configuration and state data manipulated by the Network Configuration Protocol (NETCONF), NETCONF remote procedure calls, and NETCONF notifications. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="6020"/>
          <seriesInfo name="DOI" value="10.17487/RFC6020"/>
        </reference>
      </references>
      <references anchor="sec-informative-references">
        <name>Informative References</name>
        <reference anchor="RFC9907">
          <front>
            <title>Guidelines for Authors and Reviewers of Documents Containing YANG Data Models</title>
            <author fullname="A. Bierman" initials="A." surname="Bierman"/>
            <author fullname="M. Boucadair" initials="M." role="editor" surname="Boucadair"/>
            <author fullname="Q. Wu" initials="Q." surname="Wu"/>
            <date month="March" year="2026"/>
            <abstract>
              <t>This document provides guidelines for authors and reviewers of specifications containing YANG data models, including IANA-maintained YANG modules. Recommendations and procedures are defined, which are intended to increase interoperability and usability of Network Configuration Protocol (NETCONF) and RESTCONF protocol implementations that utilize YANG modules.</t>
              <t>This document obsoletes RFC 8407; it also updates RFC 8126 by providing additional guidelines for writing the IANA considerations for RFCs that specify IANA-maintained YANG modules.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="216"/>
          <seriesInfo name="RFC" value="9907"/>
          <seriesInfo name="DOI" value="10.17487/RFC9907"/>
        </reference>
        <reference anchor="RFC8040">
          <front>
            <title>RESTCONF Protocol</title>
            <author fullname="A. Bierman" initials="A." surname="Bierman"/>
            <author fullname="M. Bjorklund" initials="M." surname="Bjorklund"/>
            <author fullname="K. Watsen" initials="K." surname="Watsen"/>
            <date month="January" year="2017"/>
            <abstract>
              <t>This document describes an HTTP-based protocol that provides a programmatic interface for accessing data defined in YANG, using the datastore concepts defined in the Network Configuration Protocol (NETCONF).</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8040"/>
          <seriesInfo name="DOI" value="10.17487/RFC8040"/>
        </reference>
        <reference anchor="RFC4253">
          <front>
            <title>The Secure Shell (SSH) Transport Layer Protocol</title>
            <author fullname="T. Ylonen" initials="T." surname="Ylonen"/>
            <author fullname="C. Lonvick" initials="C." role="editor" surname="Lonvick"/>
            <date month="January" year="2006"/>
            <abstract>
              <t>The Secure Shell (SSH) is a protocol for secure remote login and other secure network services over an insecure network.</t>
              <t>This document describes the SSH transport layer protocol, which typically runs on top of TCP/IP. The protocol can be used as a basis for a number of secure network services. It provides strong encryption, server authentication, and integrity protection. It may also provide compression.</t>
              <t>Key exchange method, public key algorithm, symmetric encryption algorithm, message authentication algorithm, and hash algorithm are all negotiated.</t>
              <t>This document also describes the Diffie-Hellman key exchange method and the minimal set of algorithms that are needed to implement the SSH transport layer protocol. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="4253"/>
          <seriesInfo name="DOI" value="10.17487/RFC4253"/>
        </reference>
        <reference anchor="RFC9846">
          <front>
            <title>The Transport Layer Security (TLS) Protocol Version 1.3</title>
            <author fullname="E. Rescorla" initials="E." surname="Rescorla"/>
            <date month="July" year="2026"/>
            <abstract>
              <t>This document specifies version 1.3 of the Transport Layer Security (TLS) protocol. TLS allows client/server applications to communicate over the Internet in a way that is designed to prevent eavesdropping, tampering, and message forgery.</t>
              <t>This document obsoletes RFC 8446, which specified TLS 1.3. This document obsoletes RFC 5246 (specifying TLS 1.2) and RFCs 5077, 6961, 7627, and 8422, all of which pertain to TLS 1.2 or earlier, and updates RFCs 5705 and 6066. This document also specifies new requirements for TLS 1.2 implementations.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9846"/>
          <seriesInfo name="DOI" value="10.17487/RFC9846"/>
        </reference>
        <reference anchor="RFC9000">
          <front>
            <title>QUIC: A UDP-Based Multiplexed and Secure Transport</title>
            <author fullname="J. Iyengar" initials="J." role="editor" surname="Iyengar"/>
            <author fullname="M. Thomson" initials="M." role="editor" surname="Thomson"/>
            <date month="May" year="2021"/>
            <abstract>
              <t>This document defines the core of the QUIC transport protocol. QUIC provides applications with flow-controlled streams for structured communication, low-latency connection establishment, and network path migration. QUIC includes security measures that ensure confidentiality, integrity, and availability in a range of deployment circumstances. Accompanying documents describe the integration of TLS for key negotiation, loss detection, and an exemplary congestion control algorithm.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9000"/>
          <seriesInfo name="DOI" value="10.17487/RFC9000"/>
        </reference>
        <reference anchor="RFC4252">
          <front>
            <title>The Secure Shell (SSH) Authentication Protocol</title>
            <author fullname="T. Ylonen" initials="T." surname="Ylonen"/>
            <author fullname="C. Lonvick" initials="C." role="editor" surname="Lonvick"/>
            <date month="January" year="2006"/>
            <abstract>
              <t>The Secure Shell Protocol (SSH) is a protocol for secure remote login and other secure network services over an insecure network. This document describes the SSH authentication protocol framework and public key, password, and host-based client authentication methods. Additional authentication methods are described in separate documents. The SSH authentication protocol runs on top of the SSH transport layer protocol and provides a single authenticated tunnel for the SSH connection protocol. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="4252"/>
          <seriesInfo name="DOI" value="10.17487/RFC4252"/>
        </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 1104?>

<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:
          </t>
          <ul spacing="normal">
            <li>
              <t>an ODU1 server layer tunnel between NE1 and NE2;</t>
            </li>
            <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:
          </t>
          <ul spacing="normal">
            <li>
              <t>a 20M protected fgOTN tunnel between NE1 and NE4 with:
              </t>
              <ul spacing="normal">
                <li>
                  <t>a working 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;</t>
                </li>
              </ul>
            </li>
            <li>
              <t>a 20M unprotected fgOTN tunnel through the same NE2-NE4 ODU0 server layer tunnel used by the other fgOTN tunnel above.</t>
            </li>
          </ul>
        </li>
      </ol>
      <t>The example also instantiates the "ietf-fgotn-tunnel" model to setup two fgOTN tunnel within the fgOTN topology shown in <xref target="fig-example"/>.</t>
      <t>-an 20M protected fgOTN tunnel between NE1 and NE4. The protected fgODUflex tunnel has a primary LSP, instatiating the NE1-NE2-NE4 primary TE and a secondary LSP, instantiating the NE1-NE3-NE4 secondary TE path.</t>
      <t>-an 20M unprotected fgOTN tunnel between NE2-NE4. The unprotected fgODUflex tunnel has a primary LSP, instatiating the NE2-NE4 primary TE path.</t>
      <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>
      <t>The authors would like to thank
Adrian Farrel
and
Daniel King
for their valuable comments and suggestions on this document.</t>
    </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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
b9vHuqaHtRvst7orOnE5WVsPg87jVrcTdDqPlzha/yKNxELLHdyFvBwRN9Z/
vDLvlfmNgOY9zjVKe2uD6/HWhk/I2vAReZz3rydWfgxmke69vAu5K+5Cvs3z
53d4F7I3i3iziOvxZhHmzSLeLLJeH94s4s0i+gi9WcQu5c0i1wPNm0XqgObN
It4sYrTgzSLeLGIB+smbRe4+EH9fnMi/zWiROzyRvxmzSDKPUlQz8wVqOs3F
3O6zruUkHE7j2fK2vH3F21e8fcXRibevVDzevuJ8blVR80f7vUWhqO8tCt6i
YD7eolDxeIuCtyjcBMTP92h/714GWvREoMVtHu2/w0ALf7TfGwJcjzcEMG8I
8IaA9frwR/tLj1dS76WS6nVArwNeD8TPRwf85FWrGzlr1d8a5E2hk+hLpKR2
YYmS2mXnJnMpJYFWs/O4296D/9WpV6HMUGurlBk5ATKdwgr0uICx7qEH9Wgq
VLtgnoC6ZLEUByD53MaZlYO+EnOytkPQr4mxoqjBPweTOJrlQXaBwtQ755q+
nkK4RGu5uVJYWy28tjZYNF+hDVYIiE4ESiI8lohkHZaMWBVN2lQJ/7kWfbk2
o6X01b0hfXlKcRW5CaV016EUx65cl1Rsc9cKUul5Uln3uWVS6a1JKsZvXSJa
ZnR17v5W5FbN3b9OvQ3u/t272f3rLrru3e//ftG5imxqJ7foa2P82U6lRSX9
Vn6fSKW7Jqlsjj9bfrCa/LlOvQ3y597HxZ/tO8Iqcef588e66HT+bNHXxviz
HbxOJT1/vk+k0l2TVDbHn8vu/7r8uU69DfLn/Y/JerbvrWef60LVebpFk5uy
ntlpWqikZ+n3iVK661DKtXd/O9CMSnrr2X0ild6apFK9+zfKb/kb/PWh8aHx
P/A0Gu/6jPswo+G3zVE4yaLmh0bjC3YweDNLLifRcDyFrSVrNE7PIxYu8vMk
zdhlspgM2SR+E7E8Yfl5OHvTOBimcThjT8M0jSaNcDZsPAlncTRh/wGoaoyS
FMpFccouwskiPJtEbJBMqWlyP2aL8RgjFZNZxpIZFI0zNkwGCyzRbvx/72IL
jqObAgA=

-->

</rfc>
