<?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-02" 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-02"/>
    <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="September" 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. At the same time, it is necessary to extend the encoding and switching-capability enumeration values in <xref target="I-D.ietf-teas-rfc8776-update"/> to identify that the current Tunnel Termination Point (TTP) is a termination point of an fgOTN tunnel.</t>
      </section>
      <section anchor="bandwidth-augmentation">
        <name>Bandwidth Augmentation</name>
        <t>Building upon the OTN topology model, the odu-list structure within the OTN topology YANG module is leveraged to represent the maximum link bandwidth and unreserved bandwidth for fgOTN. As an illustration, if an OTU2 port supports fgOTN, fgOTN is enabled across the entire port. In this case, the odu-type shall be set to ietf-fgotn-types:fgODUflex, with the associated number equal to 952. When a portion of fgts on the port is occupied, the value of maximum link bandwidth remains unchanged, while the number representing available bandwidth decreases accordingly.</t>
        <sourcecode type="json"><![CDATA[
  "ietf-otn-topology:odulist": [{
    "odu-type": "ietf-fgotn-types:fgODUflex",
    "number": 952
  }]
]]></sourcecode>
      </section>
      <section anchor="label-augmentation">
        <name>Label Augmentation</name>
        <t>The model augments the label-restriction list with fgOTN technology-specific label information using the otn-label-range-info grouping defined in <xref target="I-D.ietf-ccamp-layer1-types"/>.</t>
        <sourcecode type="yangtree"><![CDATA[
  augment /nw:networks/tet:te/tet:templates/tet:link-template
          /tet:te-link-attributes/tet:label-restrictions
          /tet:label-restriction:
    +--rw fgts-range* [odu-type odu-ts-number]
        +--rw odu-type           identityref
        +--rw odu-ts-number?     fgotnt:ts-list
        +--rw fgts-reserved?     fgotnt:ts-list
        +--rw fgts-unreserved?   fgotnt:ts-list
]]></sourcecode>
        <t>The fgts-range list is used to describe the availability of fgOTN timeslot in the server ODUk, including the fgts-reserved and fgts-unreserved. The odu-ts-number is used to indicate the index of server ODUk channel.</t>
      </section>
    </section>
    <section anchor="yang-data-model-for-fgotn-tunnel">
      <name>YANG Data Model for fgOTN Tunnel</name>
      <section anchor="fine-grain-otn-tunnel-data-model-overview">
        <name>Fine Grain OTN Tunnel Data Model Overview</name>
        <t>This document aims to describe the data model for fgOTN tunnel. The fgOTN tunnel model augments to OTN tunnel <xref target="I-D.ietf-ccamp-otn-tunnel-model"/> with fgOTN-specific parameters, including the bandwidth information and label information. <xref target="fig-fgotn-tunnel-relationship"/> shows the augmentation relationship.</t>
        <figure anchor="fig-fgotn-tunnel-relationship">
          <name>Relationship between fgOTN and OTN tunnel model</name>
          <artset>
            <artwork type="svg"><svg xmlns="http://www.w3.org/2000/svg" version="1.1" height="288" width="176" viewBox="0 0 176 288" class="diagram" text-anchor="middle" font-family="monospace" font-size="13px" stroke-linecap="round">
                <path d="M 8,224 L 8,256" fill="none" stroke="black"/>
                <path d="M 16,32 L 16,64" fill="none" stroke="black"/>
                <path d="M 16,128 L 16,160" fill="none" stroke="black"/>
                <path d="M 96,72 L 96,128" fill="none" stroke="black"/>
                <path d="M 96,168 L 96,224" fill="none" stroke="black"/>
                <path d="M 160,128 L 160,160" fill="none" stroke="black"/>
                <path d="M 168,32 L 168,64" fill="none" stroke="black"/>
                <path d="M 168,224 L 168,256" fill="none" stroke="black"/>
                <path d="M 16,32 L 168,32" fill="none" stroke="black"/>
                <path d="M 16,64 L 168,64" fill="none" stroke="black"/>
                <path d="M 16,128 L 160,128" fill="none" stroke="black"/>
                <path d="M 16,160 L 160,160" fill="none" stroke="black"/>
                <path d="M 8,224 L 168,224" fill="none" stroke="black"/>
                <path d="M 8,256 L 168,256" fill="none" stroke="black"/>
                <polygon class="arrowhead" points="104,168 92,162.4 92,173.6" fill="black" transform="rotate(270,96,168)"/>
                <polygon class="arrowhead" points="104,72 92,66.4 92,77.6" fill="black" transform="rotate(270,96,72)"/>
                <g class="text">
                  <text x="96" y="52">ietf-te</text>
                  <text x="140" y="100">Augments</text>
                  <text x="88" y="148">ietf-otn-tunnel</text>
                  <text x="140" y="196">Augments</text>
                  <text x="88" y="244">ietf-fgotn-tunnel</text>
                </g>
              </svg>
            </artwork>
            <artwork type="ascii-art"><![CDATA[
                +------------------+
                |      ietf-te     |
                +------------------+
                          ^
                          | Augments
                          |
                +---------+-------+
                | ietf-otn-tunnel |
                +-----------------+
                          ^
                          | Augments
                          |
               +----------+--------+
               | ietf-fgotn-tunnel |
               +-------------------+
]]></artwork>
          </artset>
        </figure>
        <t>It's also worth noting that the fgOTN tunnel provisioning is usually based on the fgOTN topology. Therefore the fgOTN tunnel model is usually used together with fgOTN topology model specified in this document. The OTN tunnel model also imports a few type modules, including ietf-layer1-types and ietf-te-types.</t>
        <t>A new identity based on odu-type should be defined in fgotn-types yang module to indicate the fgODUflex tunnel.</t>
      </section>
      <section anchor="bandwidth-augmentation-1">
        <name>Bandwidth Augmentation</name>
        <t>The model augment TE bandwidth information of fgOTN tunnel.</t>
        <sourcecode type="yangtree"><![CDATA[
  augment /te:te/te:tunnels/te:tunnel/te:te-bandwidth/te:technology
          /otn-tnl:otn/otn-tnl:otn-bandwidth:
    +--rw fgoduflex-bandwidth?   string
]]></sourcecode>
        <t>The string value fgoduflex-bandwidth is used to indicate the bandwidth of this fgOTN tunnel.</t>
      </section>
      <section anchor="label-augmentation-1">
        <name>Label Augmentation</name>
        <t>The module augments TE label-hop for the explicit route objects included or excluded by the path computation of the primary-paths and secondary-paths using the fgts-numbers. The fgts-numbers is used to specify fgTS information on inter-domain ports of the routing path. When specifying the fgotn time slot in the routing constraint information, the ODU time slot must also be specified. We also augment the TE label-hop for the record route of the LSP using the fgts-numbers.</t>
      </section>
    </section>
    <section anchor="yang-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-02-27.yang"><![CDATA[
module ietf-fgotn-types {
  yang-version 1.1;
  namespace "urn:ietf:params:xml:ns:yang:ietf-fgotn-types";
  prefix fgotn-types;

  import ietf-layer1-types {
    prefix l1-types;
    reference
      "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-09-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";
  }
}
]]></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-07-23.yang"><![CDATA[
module ietf-fgotn-topology {
  yang-version 1.1;
  namespace "urn:ietf:params:xml:ns:yang:ietf-fgotn-topology";
  prefix fgotnt;

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

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

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

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

  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: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: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-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: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-02-27.yang"><![CDATA[
module ietf-fgotn-tunnel {
  yang-version 1.1;
  namespace "urn:ietf:params:xml:ns:yang:ietf-fgotn-tunnel";
  prefix fgotn-tnl;

  import ietf-te {
    prefix te;
    reference
      "RFC KKKK: A YANG Data Model for Traffic Engineering Tunnels,
                 Label Switched Paths and Interfaces";
  }

  /* 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-09-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";
    leaf fgts-numbers {
      type fgotn-types:ts-list;
      description
        "Augment fgOTN timeslot information of this label hop";
    }
  }

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

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

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

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

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

   This document obsoletes RFC 8776.

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

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

{
  "ietf-network:networks": {
    "network": [
      {
        "network-id": "example:otn-topology-example-1",
        "network-types": {
          "ietf-te-topology:te-topology": {
            "ietf-otn-topology:otn-topology": {}
          }
        },
        "ietf-te-topology:te-topology-identifier": {
          "client-id": 2,
          "provider-id": 1,
          "topology-id": "otn-topology-example-1"
        },
        "ietf-te-topology:te": {},
        "ietf-network-topology:link": [
          {
            "link-id": "example:link/NE1-2/NE2-1",
            "source": {
              "source-node": "NE1",
              "source-tp": "2"
            },
            "destination": {
              "dest-node": "NE2",
              "dest-tp": "1"
            },
            "ietf-te-topology:te": {
              "te-link-attributes": {
                "interface-switching-capability": [
                  {
                    "encoding": "ietf-te-types:lsp-encoding-oduk",
                    "switching-capability": "ietf-te-types:switching\
                                                                -otn"
                  }
                ],
                "label-restrictions": {
                  "label-restriction": [
                    {
                      "index": 1,
                      "restriction": "inclusive",
                      "ietf-otn-topology:otn-label-range": {
                        "range-type": "trib-slot"
                      },
                      "label-start": {
                        "te-label": {
                          "ietf-otn-topology:otn-label": {
                            "ts": 1
                          }
                        }
                      },
                      "label-end": {
                        "te-label": {
                          "ietf-otn-topology:otn-label": {
                            "ts": 8
                          }
                        }
                      },
                      "label-step": {
                        "generic": 1
                      },
                      "range-bitmap": "ff"
                    }
                  ]
                },
                "max-link-bandwidth": {
                  "te-bandwidth": {
                    "ietf-otn-topology:otn-bandwidth": {
                      "odulist": [
                        {
                          "odu-type": "ietf-layer1-types:ODU2",
                          "number": 1
                        },
                        {
                          "odu-type": "ietf-layer1-types:ODU1",
                          "number": 4
                        },
                        {
                          "odu-type": "ietf-layer1-types:ODU0",
                          "number": 8
                        },
                        {
                          "odu-type": "ietf-fgotn-types:fgODUflex",
                          "number": 952
                        }
                      ]
                    }
                  }
                },
                "unreserved-bandwidth": [
                  {
                    "priority": 7,
                    "te-bandwidth": {
                      "ietf-otn-topology:otn-bandwidth": {
                        "odulist": [
                          {
                            "odu-type": "ietf-layer1-types:ODU2",
                            "number": 1
                          },
                          {
                            "odu-type": "ietf-layer1-types:ODU1",
                            "number": 4
                          },
                          {
                            "odu-type": "ietf-layer1-types:ODU0",
                            "number": 8
                          },
                          {
                            "odu-type": "ietf-fgotn-types:fgODUflex",
                            "number": 952
                          }
                        ]
                      }
                    }
                  }
                ],
                "name": "Link between Node NE1 and Node NE2 (\
                                                  forward direction)"
              }
            }
          },
          {
            "link-id": "example:link/NE2-1/NE1-2",
            "source": {
              "source-node": "NE2",
              "source-tp": "1"
            },
            "destination": {
              "dest-node": "NE1",
              "dest-tp": "2"
            },
            "ietf-te-topology:te": {
              "te-link-attributes": {
                "interface-switching-capability": [
                  {
                    "encoding": "ietf-te-types:lsp-encoding-oduk",
                    "switching-capability": "ietf-te-types:switching\
                                                                -otn"
                  }
                ],
                "label-restrictions": {
                  "label-restriction": [
                    {
                      "index": 1,
                      "restriction": "inclusive",
                      "ietf-otn-topology:otn-label-range": {
                        "range-type": "trib-slot"
                      },
                      "label-start": {
                        "te-label": {
                          "ietf-otn-topology:otn-label": {
                            "ts": 1
                          }
                        }
                      },
                      "label-end": {
                        "te-label": {
                          "ietf-otn-topology:otn-label": {
                            "ts": 8
                          }
                        }
                      },
                      "label-step": {
                        "generic": 1
                      },
                      "range-bitmap": "ff"
                    }
                  ]
                },
                "max-link-bandwidth": {
                  "te-bandwidth": {
                    "ietf-otn-topology:otn-bandwidth": {
                      "odulist": [
                        {
                          "odu-type": "ietf-layer1-types:ODU2",
                          "number": 1
                        },
                        {
                          "odu-type": "ietf-layer1-types:ODU1",
                          "number": 4
                        },
                        {
                          "odu-type": "ietf-layer1-types:ODU0",
                          "number": 8
                        },
                        {
                          "odu-type": "ietf-fgotn-types:fgODUflex",
                          "number": 952
                        }
                      ]
                    }
                  }
                },
                "unreserved-bandwidth": [
                  {
                    "priority": 7,
                    "te-bandwidth": {
                      "ietf-otn-topology:otn-bandwidth": {
                        "odulist": [
                          {
                            "odu-type": "ietf-layer1-types:ODU2",
                            "number": 1
                          },
                          {
                            "odu-type": "ietf-layer1-types:ODU1",
                            "number": 4
                          },
                          {
                            "odu-type": "ietf-layer1-types:ODU0",
                            "number": 8
                          },
                          {
                            "odu-type": "ietf-fgotn-types:fgODUflex",
                            "number": 952
                          }
                        ]
                      }
                    }
                  }
                ],
                "name": "Link between Node NE1 and Node NE2 (\
                                                  reverse direction)"
              }
            }
          },
          {
            "link-id": "example:link/NE1-3/NE3-1",
            "source": {
              "source-node": "NE1",
              "source-tp": "3"
            },
            "destination": {
              "dest-node": "NE3",
              "dest-tp": "1"
            },
            "ietf-te-topology:te": {
              "te-link-attributes": {
                "interface-switching-capability": [
                  {
                    "encoding": "ietf-te-types:lsp-encoding-oduk",
                    "switching-capability": "ietf-te-types:switching\
                                                                -otn"
                  }
                ],
                "label-restrictions": {
                  "label-restriction": [
                    {
                      "index": 1,
                      "restriction": "inclusive",
                      "ietf-otn-topology:otn-label-range": {
                        "range-type": "trib-slot"
                      },
                      "label-start": {
                        "te-label": {
                          "ietf-otn-topology:otn-label": {
                            "ts": 1
                          }
                        }
                      },
                      "label-end": {
                        "te-label": {
                          "ietf-otn-topology:otn-label": {
                            "ts": 8
                          }
                        }
                      },
                      "label-step": {
                        "generic": 1
                      },
                      "range-bitmap": "ff"
                    }
                  ]
                },
                "max-link-bandwidth": {
                  "te-bandwidth": {
                    "ietf-otn-topology:otn-bandwidth": {
                      "odulist": [
                        {
                          "odu-type": "ietf-layer1-types:ODU2",
                          "number": 1
                        },
                        {
                          "odu-type": "ietf-layer1-types:ODU1",
                          "number": 4
                        },
                        {
                          "odu-type": "ietf-layer1-types:ODU0",
                          "number": 8
                        },
                        {
                          "odu-type": "ietf-fgotn-types:fgODUflex",
                          "number": 952
                        }
                      ]
                    }
                  }
                },
                "unreserved-bandwidth": [
                  {
                    "priority": 7,
                    "te-bandwidth": {
                      "ietf-otn-topology:otn-bandwidth": {
                        "odulist": [
                          {
                            "odu-type": "ietf-layer1-types:ODU2",
                            "number": 1
                          },
                          {
                            "odu-type": "ietf-layer1-types:ODU1",
                            "number": 4
                          },
                          {
                            "odu-type": "ietf-layer1-types:ODU0",
                            "number": 8
                          },
                          {
                            "odu-type": "ietf-fgotn-types:fgODUflex",
                            "number": 952
                          }
                        ]
                      }
                    }
                  }
                ],
                "name": "Link between Node NE1 and Node NE3 (\
                                                  forward direction)"
              }
            }
          },
          {
            "link-id": "example:link/NE3-1/NE1-3",
            "source": {
              "source-node": "NE3",
              "source-tp": "1"
            },
            "destination": {
              "dest-node": "NE1",
              "dest-tp": "3"
            },
            "ietf-te-topology:te": {
              "te-link-attributes": {
                "interface-switching-capability": [
                  {
                    "encoding": "ietf-te-types:lsp-encoding-oduk",
                    "switching-capability": "ietf-te-types:switching\
                                                                -otn"
                  }
                ],
                "label-restrictions": {
                  "label-restriction": [
                    {
                      "index": 1,
                      "restriction": "inclusive",
                      "ietf-otn-topology:otn-label-range": {
                        "range-type": "trib-slot"
                      },
                      "label-start": {
                        "te-label": {
                          "ietf-otn-topology:otn-label": {
                            "ts": 1
                          }
                        }
                      },
                      "label-end": {
                        "te-label": {
                          "ietf-otn-topology:otn-label": {
                            "ts": 8
                          }
                        }
                      },
                      "label-step": {
                        "generic": 1
                      },
                      "range-bitmap": "ff"
                    }
                  ]
                },
                "max-link-bandwidth": {
                  "te-bandwidth": {
                    "ietf-otn-topology:otn-bandwidth": {
                      "odulist": [
                        {
                          "odu-type": "ietf-layer1-types:ODU2",
                          "number": 1
                        },
                        {
                          "odu-type": "ietf-layer1-types:ODU1",
                          "number": 4
                        },
                        {
                          "odu-type": "ietf-layer1-types:ODU0",
                          "number": 8
                        }
                      ]
                    }
                  }
                },
                "unreserved-bandwidth": [
                  {
                    "priority": 7,
                    "te-bandwidth": {
                      "ietf-otn-topology:otn-bandwidth": {
                        "odulist": [
                          {
                            "odu-type": "ietf-layer1-types:ODU2",
                            "number": 1
                          },
                          {
                            "odu-type": "ietf-layer1-types:ODU1",
                            "number": 4
                          },
                          {
                            "odu-type": "ietf-layer1-types:ODU0",
                            "number": 8
                          }
                        ]
                      }
                    }
                  }
                ],
                "name": "Link between Node NE1 and Node NE3 (\
                                                  reverse direction)"
              }
            }
          },
          {
            "link-id": "example:link/NE4-2/NE2-2",
            "source": {
              "source-node": "NE4",
              "source-tp": "2"
            },
            "destination": {
              "dest-node": "NE2",
              "dest-tp": "2"
            },
            "ietf-te-topology:te": {
              "te-link-attributes": {
                "interface-switching-capability": [
                  {
                    "encoding": "ietf-te-types:lsp-encoding-oduk",
                    "switching-capability": "ietf-te-types:switching\
                                                                -otn"
                  }
                ],
                "label-restrictions": {
                  "label-restriction": [
                    {
                      "index": 1,
                      "restriction": "inclusive",
                      "ietf-otn-topology:otn-label-range": {
                        "range-type": "trib-slot"
                      },
                      "label-start": {
                        "te-label": {
                          "ietf-otn-topology:otn-label": {
                            "ts": 1
                          }
                        }
                      },
                      "label-end": {
                        "te-label": {
                          "ietf-otn-topology:otn-label": {
                            "ts": 8
                          }
                        }
                      },
                      "label-step": {
                        "generic": 1
                      },
                      "range-bitmap": "ff"
                    }
                  ]
                },
                "max-link-bandwidth": {
                  "te-bandwidth": {
                    "ietf-otn-topology:otn-bandwidth": {
                      "odulist": [
                        {
                          "odu-type": "ietf-layer1-types:ODU2",
                          "number": 1
                        },
                        {
                          "odu-type": "ietf-layer1-types:ODU1",
                          "number": 4
                        },
                        {
                          "odu-type": "ietf-layer1-types:ODU0",
                          "number": 8
                        },
                        {
                          "odu-type": "ietf-fgotn-types:fgODUflex",
                          "number": 952
                        }
                      ]
                    }
                  }
                },
                "unreserved-bandwidth": [
                  {
                    "priority": 7,
                    "te-bandwidth": {
                      "ietf-otn-topology:otn-bandwidth": {
                        "odulist": [
                          {
                            "odu-type": "ietf-layer1-types:ODU2",
                            "number": 1
                          },
                          {
                            "odu-type": "ietf-layer1-types:ODU1",
                            "number": 4
                          },
                          {
                            "odu-type": "ietf-layer1-types:ODU0",
                            "number": 8
                          },
                          {
                            "odu-type": "ietf-fgotn-types:fgODUflex",
                            "number": 952
                          }
                        ]
                      }
                    }
                  }
                ],
                "name": "Link between Node NE2 and Node NE4 (\
                                                  reverse direction)"
              }
            }
          },
          {
            "link-id": "example:link/NE2-2/NE4-2",
            "source": {
              "source-node": "NE2",
              "source-tp": "2"
            },
            "destination": {
              "dest-node": "NE4",
              "dest-tp": "2"
            },
            "ietf-te-topology:te": {
              "te-link-attributes": {
                "interface-switching-capability": [
                  {
                    "encoding": "ietf-te-types:lsp-encoding-oduk",
                    "switching-capability": "ietf-te-types:switching\
                                                                -otn"
                  }
                ],
                "label-restrictions": {
                  "label-restriction": [
                    {
                      "index": 1,
                      "restriction": "inclusive",
                      "ietf-otn-topology:otn-label-range": {
                        "range-type": "trib-slot"
                      },
                      "label-start": {
                        "te-label": {
                          "ietf-otn-topology:otn-label": {
                            "ts": 1
                          }
                        }
                      },
                      "label-end": {
                        "te-label": {
                          "ietf-otn-topology:otn-label": {
                            "ts": 8
                          }
                        }
                      },
                      "label-step": {
                        "generic": 1
                      },
                      "range-bitmap": "ff"
                    }
                  ]
                },
                "max-link-bandwidth": {
                  "te-bandwidth": {
                    "ietf-otn-topology:otn-bandwidth": {
                      "odulist": [
                        {
                          "odu-type": "ietf-layer1-types:ODU2",
                          "number": 1
                        },
                        {
                          "odu-type": "ietf-layer1-types:ODU1",
                          "number": 4
                        },
                        {
                          "odu-type": "ietf-layer1-types:ODU0",
                          "number": 8
                        },
                        {
                          "odu-type": "ietf-fgotn-types:fgODUflex",
                          "number": 952
                        }
                      ]
                    }
                  }
                },
                "unreserved-bandwidth": [
                  {
                    "priority": 7,
                    "te-bandwidth": {
                      "ietf-otn-topology:otn-bandwidth": {
                        "odulist": [
                          {
                            "odu-type": "ietf-layer1-types:ODU2",
                            "number": 1
                          },
                          {
                            "odu-type": "ietf-layer1-types:ODU1",
                            "number": 4
                          },
                          {
                            "odu-type": "ietf-layer1-types:ODU0",
                            "number": 8
                          },
                          {
                            "odu-type": "ietf-fgotn-types:fgODUflex",
                            "number": 952
                          }
                        ]
                      }
                    }
                  }
                ],
                "name": "Link between Node NE2 and Node NE4 (\
                                                  forward direction)"
              }
            }
          },
          {
            "link-id": "example:link/NE4-3/NE3-2",
            "source": {
              "source-node": "NE4",
              "source-tp": "3"
            },
            "destination": {
              "dest-node": "NE3",
              "dest-tp": "2"
            },
            "ietf-te-topology:te": {
              "oper-status": "up",
              "te-link-attributes": {
                "admin-status": "up",
                "interface-switching-capability": [
                  {
                    "encoding": "ietf-te-types:lsp-encoding-oduk",
                    "switching-capability": "ietf-te-types:switching\
                                                                -otn"
                  }
                ],
                "label-restrictions": {
                  "label-restriction": [
                    {
                      "index": 1,
                      "restriction": "inclusive",
                      "ietf-otn-topology:otn-label-range": {
                        "range-type": "trib-slot"
                      },
                      "label-start": {
                        "te-label": {
                          "ietf-otn-topology:otn-label": {
                            "ts": 1
                          }
                        }
                      },
                      "label-end": {
                        "te-label": {
                          "ietf-otn-topology:otn-label": {
                            "ts": 8
                          }
                        }
                      },
                      "label-step": {
                        "generic": 1
                      },
                      "range-bitmap": "ff"
                    }
                  ]
                },
                "max-link-bandwidth": {
                  "te-bandwidth": {
                    "ietf-otn-topology:otn-bandwidth": {
                      "odulist": [
                        {
                          "odu-type": "ietf-layer1-types:ODU2",
                          "number": 1
                        },
                        {
                          "odu-type": "ietf-layer1-types:ODU1",
                          "number": 4
                        },
                        {
                          "odu-type": "ietf-layer1-types:ODU0",
                          "number": 8
                        },
                        {
                          "odu-type": "ietf-fgotn-types:fgODUflex",
                          "number": 952
                        }
                      ]
                    }
                  }
                },
                "unreserved-bandwidth": [
                  {
                    "priority": 7,
                    "te-bandwidth": {
                      "ietf-otn-topology:otn-bandwidth": {
                        "odulist": [
                          {
                            "odu-type": "ietf-layer1-types:ODU2",
                            "number": 1
                          },
                          {
                            "odu-type": "ietf-layer1-types:ODU1",
                            "number": 4
                          },
                          {
                            "odu-type": "ietf-layer1-types:ODU0",
                            "number": 8
                          },
                          {
                            "odu-type": "ietf-fgotn-types:fgODUflex",
                            "number": 952
                          }
                        ]
                      }
                    }
                  }
                ],
                "name": "Link between Node NE3 and Node NE4 (\
                                                  reverse direction)"
              }
            }
          },
          {
            "link-id": "example:link/NE3-2/NE4-3",
            "source": {
              "source-node": "NE3",
              "source-tp": "2"
            },
            "destination": {
              "dest-node": "NE4",
              "dest-tp": "3"
            },
            "ietf-te-topology:te": {
              "te-link-attributes": {
                "interface-switching-capability": [
                  {
                    "encoding": "ietf-te-types:lsp-encoding-oduk",
                    "switching-capability": "ietf-te-types:switching\
                                                                -otn"
                  }
                ],
                "label-restrictions": {
                  "label-restriction": [
                    {
                      "index": 1,
                      "restriction": "inclusive",
                      "ietf-otn-topology:otn-label-range": {
                        "range-type": "trib-slot"
                      },
                      "label-start": {
                        "te-label": {
                          "ietf-otn-topology:otn-label": {
                            "ts": 1
                          }
                        }
                      },
                      "label-end": {
                        "te-label": {
                          "ietf-otn-topology:otn-label": {
                            "ts": 8
                          }
                        }
                      },
                      "label-step": {
                        "generic": 1
                      },
                      "range-bitmap": "ff"
                    }
                  ]
                },
                "max-link-bandwidth": {
                  "te-bandwidth": {
                    "ietf-otn-topology:otn-bandwidth": {
                      "odulist": [
                        {
                          "odu-type": "ietf-layer1-types:ODU2",
                          "number": 1
                        },
                        {
                          "odu-type": "ietf-layer1-types:ODU1",
                          "number": 4
                        },
                        {
                          "odu-type": "ietf-layer1-types:ODU0",
                          "number": 8
                        }
                      ]
                    }
                  }
                },
                "unreserved-bandwidth": [
                  {
                    "priority": 7,
                    "te-bandwidth": {
                      "ietf-otn-topology:otn-bandwidth": {
                        "odulist": [
                          {
                            "odu-type": "ietf-layer1-types:ODU2",
                            "number": 1
                          },
                          {
                            "odu-type": "ietf-layer1-types:ODU1",
                            "number": 4
                          },
                          {
                            "odu-type": "ietf-layer1-types:ODU0",
                            "number": 8
                          }
                        ]
                      }
                    }
                  }
                ],
                "name": "Link between Node NE3 and Node NE4 (\
                                                  forward direction)"
              }
            }
          }
        ],
        "node": [
          {
            "node-id": "example:NE1",
            "ietf-te-topology:te-node-id": "192.0.0.1",
            "ietf-te-topology:te": {
              "te-node-attributes": {
                "name": "Node NE1"
              }
            },
            "ietf-network-topology:termination-point": [
            {
                "tp-id": "example:NE1-1",
                "ietf-te-topology:te-tp-id": 1,
                "ietf-te-topology:te": {
                  "ietf-otn-topology:client-svc": {},
                  "interface-switching-capability": [
                    {
                      "encoding": "ietf-te-types:lsp-encoding-oduk",
                      "switching-capability": "ietf-te-types:\
                                                       switching-otn"
                    }
                  ],
                  "name": "Interface 1 of Node NE1"
                }
            },   
            {
                "tp-id": "example:NE1-2",
                "ietf-te-topology:te-tp-id": 2,
                "ietf-te-topology:te": {
                  "interface-switching-capability": [
                    {
                      "encoding": "ietf-te-types:lsp-encoding-oduk",
                      "switching-capability": "ietf-te-types:\
                                                       switching-otn"
                    }
                  ],
                  "name": "Interface 2 of Node NE1"
                }
              },
              {
                "tp-id": "example:NE1-3",
                "ietf-te-topology:te-tp-id": 3,
                "ietf-te-topology:te": {
                  "interface-switching-capability": [
                    {
                      "encoding": "ietf-te-types:lsp-encoding-oduk",
                      "switching-capability": "ietf-te-types:\
                                                       switching-otn"
                    }
                  ],
                  "name": "Interface 3 of Node NE1"
                }
              }
            ]
          },
          {
            "node-id": "example:NE2",
            "ietf-te-topology:te-node-id": "192.0.0.2",
            "ietf-te-topology:te": {
              "te-node-attributes": {
                "name": "Node NE2"
              }
            },
            "ietf-network-topology:termination-point": [
              {
                "tp-id": "example:NE2-1",
                "ietf-te-topology:te-tp-id": 1,
                "ietf-te-topology:te": {
                  "interface-switching-capability": [
                    {
                      "encoding": "ietf-te-types:lsp-encoding-oduk",
                      "switching-capability": "ietf-te-types:\
                                                       switching-otn"
                    }
                  ],
                  "name": "Interface 1 of Node NE2"
                }
              },
              {
                "tp-id": "example:NE2-2",
                "ietf-te-topology:te-tp-id": 2,
                "ietf-te-topology:te": {
                  "interface-switching-capability": [
                    {
                      "encoding": "ietf-te-types:lsp-encoding-oduk",
                      "switching-capability": "ietf-te-types:\
                                                       switching-otn"
                    }
                  ],
                  "name": "Interface 2 of Node NE2"
                }
              }
            ]
          },
          {
            "node-id": "example:NE3",
            "ietf-te-topology:te-node-id": "192.0.0.3",
            "ietf-te-topology:te": {
              "te-node-attributes": {
                "name": "Node NE3"
              }
            },
            "ietf-network-topology:termination-point": [
              {
                "tp-id": "example:NE3-1",
                "ietf-te-topology:te-tp-id": 1,
                "ietf-te-topology:te": {
                  "interface-switching-capability": [
                    {
                      "encoding": "ietf-te-types:lsp-encoding-oduk",
                      "switching-capability": "ietf-te-types:\
                                                       switching-otn"
                    }
                  ],
                  "name": "Interface 1 of Node NE3"
                }
              },
              {
                "tp-id": "example:NE3-2",
                "ietf-te-topology:te-tp-id": 2,
                "ietf-te-topology:te": {
                  "interface-switching-capability": [
                    {
                      "encoding": "ietf-te-types:lsp-encoding-oduk",
                      "switching-capability": "ietf-te-types:\
                                                       switching-otn"
                    }
                  ],
                  "name": "Interface 2 of Node NE3"
                }
              }
            ]
          },
          {
            "node-id": "example:NE4",
            "ietf-te-topology:te-node-id": "192.0.0.4",
            "ietf-te-topology:te": {
              "te-node-attributes": {
                "name": "Node NE4"
              }
            },
            "ietf-network-topology:termination-point": [
            {
                "tp-id": "example:NE4-1",
                "ietf-te-topology:te-tp-id": 1,
                "ietf-te-topology:te": {
                  "ietf-otn-topology:client-svc": {},
                  "interface-switching-capability": [
                    {
                      "encoding": "ietf-te-types:lsp-encoding-oduk",
                      "switching-capability": "ietf-te-types:\
                                                       switching-otn"
                    }
                  ],
                  "name": "Interface 1 of Node NE4"
                }
            },   
            {
                "tp-id": "example:NE4-2",
                "ietf-te-topology:te-tp-id": 2,
                "ietf-te-topology:te": {
                  "interface-switching-capability": [
                    {
                      "encoding": "ietf-te-types:lsp-encoding-oduk",
                      "switching-capability": "ietf-te-types:\
                                                       switching-otn"
                    }
                  ],
                  "name": "Interface 2 of Node NE4"
                }
              },
              {
                "tp-id": "example:NE4-3",
                "ietf-te-topology:te-tp-id": 3,
                "ietf-te-topology:te": {
                  "interface-switching-capability": [
                    {
                      "encoding": "ietf-te-types:lsp-encoding-oduk",
                      "switching-capability": "ietf-te-types:\
                                                       switching-otn"
                    }
                  ],
                  "name": "Interface 3 of Node NE4"
                }
              }
            ]
          }
        ]
      },
      {
        "network-id": "example:otn-topology-example-2",
        "network-types": {
          "ietf-te-topology:te-topology": {
            "ietf-otn-topology:otn-topology": {}
          }
        },
        "ietf-te-topology:te-topology-identifier": {
          "client-id": 2,
          "provider-id": 1,
          "topology-id": "otn-topology-example-2"
        },
        "ietf-te-topology:te": {},
        "ietf-network-topology:link": [
          {
            "link-id": "example:link/NE1-2/NE2-1",
            "source": {
              "source-node": "NE1",
              "source-tp": "2"
            },
            "destination": {
              "dest-node": "NE2",
              "dest-tp": "1"
            },
            "ietf-te-topology:te": {
              "te-link-attributes": {
                "interface-switching-capability": [
                  {
                    "encoding": "ietf-te-types:lsp-encoding-oduk",
                    "switching-capability": "ietf-te-types:switching\
                                                                -otn"
                  }
                ],
                "label-restrictions": {
                  "label-restriction": [
                    {
                      "index": 1,
                      "restriction": "inclusive",
                      "ietf-otn-topology:otn-label-range": {
                        "range-type": "trib-slot"
                      },
                      "label-start": {
                        "te-label": {
                          "ietf-otn-topology:otn-label": {
                            "ts": 1
                          }
                        }
                      },
                      "label-end": {
                        "te-label": {
                          "ietf-otn-topology:otn-label": {
                            "ts": 8
                          }
                        }
                      },
                      "label-step": {
                        "generic": 1
                      },
                      "range-bitmap": "fc",
                      "ietf-fgotn-topology:fgts-range": [
                        {
                          "odu-type": "ietf-layer1-types:ODU1",
                          "odu-ts-number": "1-2",
                          "fgts-reserved": "",
                          "fgts-unreserved": "1-238"
                        }
                      ]
                    }
                  ]
                },
                "max-link-bandwidth": {
                  "te-bandwidth": {
                    "ietf-otn-topology:otn-bandwidth": {
                      "odulist": [
                        {
                          "odu-type": "ietf-layer1-types:ODU2",
                          "number": 1
                        },
                        {
                          "odu-type": "ietf-layer1-types:ODU1",
                          "number": 4
                        },
                        {
                          "odu-type": "ietf-layer1-types:ODU0",
                          "number": 8
                        },
                        {
                          "odu-type": "ietf-fgotn-types:fgODUflex",
                          "number": 952
                        }
                      ]
                    }
                  }
                },
                "unreserved-bandwidth": [
                  {
                    "priority": 7,
                    "te-bandwidth": {
                      "ietf-otn-topology:otn-bandwidth": {
                        "odulist": [
                          {
                            "odu-type": "ietf-layer1-types:ODU2",
                            "number": 0
                          },
                          {
                            "odu-type": "ietf-layer1-types:ODU1",
                            "number": 3
                          },
                          {
                            "odu-type": "ietf-layer1-types:ODU0",
                            "number": 6
                          },
                          {
                            "odu-type": "ietf-fgotn-types:fgODUflex",
                            "number": 952
                          }
                        ]
                      }
                    }
                  }
                ],
                "name": "Link between Node NE1 and Node NE2 (\
                                                  forward direction)"
              }
            }
          },
          {
            "link-id": "example:link/NE2-1/NE1-2",
            "source": {
              "source-node": "NE2",
              "source-tp": "1"
            },
            "destination": {
              "dest-node": "NE1",
              "dest-tp": "2"
            },
            "ietf-te-topology:te": {
              "te-link-attributes": {
                "interface-switching-capability": [
                  {
                    "encoding": "ietf-te-types:lsp-encoding-oduk",
                    "switching-capability": "ietf-te-types:switching\
                                                                -otn"
                  }
                ],
                "label-restrictions": {
                  "label-restriction": [
                    {
                      "index": 1,
                      "restriction": "inclusive",
                      "ietf-otn-topology:otn-label-range": {
                        "range-type": "trib-slot"
                      },
                      "label-start": {
                        "te-label": {
                          "ietf-otn-topology:otn-label": {
                            "ts": 1
                          }
                        }
                      },
                      "label-end": {
                        "te-label": {
                          "ietf-otn-topology:otn-label": {
                            "ts": 8
                          }
                        }
                      },
                      "label-step": {
                        "generic": 1
                      },
                      "range-bitmap": "fc",
                      "ietf-fgotn-topology:fgts-range": [
                        {
                          "odu-type": "ietf-layer1-types:ODU1",
                          "odu-ts-number": "1-2",
                          "fgts-reserved": "",
                          "fgts-unreserved": "1-238"
                        }
                      ]
                    }
                  ]
                },
                "max-link-bandwidth": {
                  "te-bandwidth": {
                    "ietf-otn-topology:otn-bandwidth": {
                      "odulist": [
                        {
                          "odu-type": "ietf-layer1-types:ODU2",
                          "number": 1
                        },
                        {
                          "odu-type": "ietf-layer1-types:ODU1",
                          "number": 4
                        },
                        {
                          "odu-type": "ietf-layer1-types:ODU0",
                          "number": 8
                        },
                        {
                          "odu-type": "ietf-fgotn-types:fgODUflex",
                          "number": 952
                        }
                      ]
                    }
                  }
                },
                "unreserved-bandwidth": [
                  {
                    "priority": 7,
                    "te-bandwidth": {
                      "ietf-otn-topology:otn-bandwidth": {
                        "odulist": [
                          {
                            "odu-type": "ietf-layer1-types:ODU2",
                            "number": 0
                          },
                          {
                            "odu-type": "ietf-layer1-types:ODU1",
                            "number": 3
                          },
                          {
                            "odu-type": "ietf-layer1-types:ODU0",
                            "number": 6
                          },
                          {
                            "odu-type": "ietf-fgotn-types:fgODUflex",
                            "number": 952
                          }
                        ]
                      }
                    }
                  }
                ],
                "name": "Link between Node NE1 and Node NE2 (\
                                                  reverse direction)"
              }
            }
          },
          {
            "link-id": "example:link/NE1-3/NE3-1",
            "source": {
              "source-node": "NE1",
              "source-tp": "3"
            },
            "destination": {
              "dest-node": "NE3",
              "dest-tp": "1"
            },
            "ietf-te-topology:te": {
              "te-link-attributes": {
                "interface-switching-capability": [
                  {
                    "encoding": "ietf-te-types:lsp-encoding-oduk",
                    "switching-capability": "ietf-te-types:switching\
                                                                -otn"
                  }
                ],
                "label-restrictions": {
                  "label-restriction": [
                    {
                      "index": 1,
                      "restriction": "inclusive",
                      "ietf-otn-topology:otn-label-range": {
                        "range-type": "trib-slot"
                      },
                      "label-start": {
                        "te-label": {
                          "ietf-otn-topology:otn-label": {
                            "ts": 1
                          }
                        }
                      },
                      "label-end": {
                        "te-label": {
                          "ietf-otn-topology:otn-label": {
                            "ts": 8
                          }
                        }
                      },
                      "label-step": {
                        "generic": 1
                      },
                      "range-bitmap": "fc",
                      "ietf-fgotn-topology:fgts-range": [
                        {
                          "odu-type": "ietf-layer1-types:ODU1",
                          "odu-ts-number": "1-2",
                          "fgts-reserved": "",
                          "fgts-unreserved": "1-238"
                        }
                      ]
                    }
                  ]
                },
                "max-link-bandwidth": {
                  "te-bandwidth": {
                    "ietf-otn-topology:otn-bandwidth": {
                      "odulist": [
                        {
                          "odu-type": "ietf-layer1-types:ODU2",
                          "number": 1
                        },
                        {
                          "odu-type": "ietf-layer1-types:ODU1",
                          "number": 4
                        },
                        {
                          "odu-type": "ietf-layer1-types:ODU0",
                          "number": 8
                        },
                        {
                          "odu-type": "ietf-fgotn-types:fgODUflex",
                          "number": 952
                        }
                      ]
                    }
                  }
                },
                "unreserved-bandwidth": [
                  {
                    "priority": 7,
                    "te-bandwidth": {
                      "ietf-otn-topology:otn-bandwidth": {
                        "odulist": [
                          {
                            "odu-type": "ietf-layer1-types:ODU2",
                            "number": 0
                          },
                          {
                            "odu-type": "ietf-layer1-types:ODU1",
                            "number": 3
                          },
                          {
                            "odu-type": "ietf-layer1-types:ODU0",
                            "number": 6
                          },
                          {
                            "odu-type": "ietf-fgotn-types:fgODUflex",
                            "number": 952
                          }
                        ]
                      }
                    }
                  }
                ],
                "name": "Link between Node NE1 and Node NE3 (\
                                                  forward direction)"
              }
            }
          },
          {
            "link-id": "example:link/NE3-1/NE1-3",
            "source": {
              "source-node": "NE3",
              "source-tp": "1"
            },
            "destination": {
              "dest-node": "NE1",
              "dest-tp": "3"
            },
            "ietf-te-topology:te": {
              "te-link-attributes": {
                "interface-switching-capability": [
                  {
                    "encoding": "ietf-te-types:lsp-encoding-oduk",
                    "switching-capability": "ietf-te-types:switching\
                                                                -otn"
                  }
                ],
                "label-restrictions": {
                  "label-restriction": [
                    {
                      "index": 1,
                      "restriction": "inclusive",
                      "ietf-otn-topology:otn-label-range": {
                        "range-type": "trib-slot"
                      },
                      "label-start": {
                        "te-label": {
                          "ietf-otn-topology:otn-label": {
                            "ts": 1
                          }
                        }
                      },
                      "label-end": {
                        "te-label": {
                          "ietf-otn-topology:otn-label": {
                            "ts": 8
                          }
                        }
                      },
                      "label-step": {
                        "generic": 1
                      },
                      "range-bitmap": "fc"
                    }
                  ]
                },
                "max-link-bandwidth": {
                  "te-bandwidth": {
                    "ietf-otn-topology:otn-bandwidth": {
                      "odulist": [
                        {
                          "odu-type": "ietf-layer1-types:ODU2",
                          "number": 1
                        },
                        {
                          "odu-type": "ietf-layer1-types:ODU1",
                          "number": 4
                        },
                        {
                          "odu-type": "ietf-layer1-types:ODU0",
                          "number": 8
                        }
                      ]
                    }
                  }
                },
                "unreserved-bandwidth": [
                  {
                    "priority": 7,
                    "te-bandwidth": {
                      "ietf-otn-topology:otn-bandwidth": {
                        "odulist": [
                          {
                            "odu-type": "ietf-layer1-types:ODU2",
                            "number": 0
                          },
                          {
                            "odu-type": "ietf-layer1-types:ODU1",
                            "number": 3
                          },
                          {
                            "odu-type": "ietf-layer1-types:ODU0",
                            "number": 6
                          }
                        ]
                      }
                    }
                  }
                ],
                "name": "Link between Node NE1 and Node NE3 (\
                                                  reverse direction)"
              }
            }
          },
          {
            "link-id": "example:link/NE4-2/NE2-2",
            "source": {
              "source-node": "NE4",
              "source-tp": "2"
            },
            "destination": {
              "dest-node": "NE2",
              "dest-tp": "2"
            },
            "ietf-te-topology:te": {
              "te-link-attributes": {
                "interface-switching-capability": [
                  {
                    "encoding": "ietf-te-types:lsp-encoding-oduk",
                    "switching-capability": "ietf-te-types:switching\
                                                                -otn"
                  }
                ],
                "label-restrictions": {
                  "label-restriction": [
                    {
                      "index": 1,
                      "restriction": "inclusive",
                      "ietf-otn-topology:otn-label-range": {
                        "range-type": "trib-slot"
                      },
                      "label-start": {
                        "te-label": {
                          "ietf-otn-topology:otn-label": {
                            "ts": 1
                          }
                        }
                      },
                      "label-end": {
                        "te-label": {
                          "ietf-otn-topology:otn-label": {
                            "ts": 8
                          }
                        }
                      },
                      "label-step": {
                        "generic": 1
                      },
                      "range-bitmap": "fc",
                      "ietf-fgotn-topology:fgts-range": [
                        {
                          "odu-type": "ietf-layer1-types:ODU0",
                          "odu-ts-number": "1",
                          "fgts-reserved": "",
                          "fgts-unreserved": "1-119"
                        },
                        {
                          "odu-type": "ietf-layer1-types:ODU0",
                          "odu-ts-number": "2",
                          "fgts-reserved": "",
                          "fgts-unreserved": "1-119"
                        }
                      ]
                    }
                  ]
                },
                "max-link-bandwidth": {
                  "te-bandwidth": {
                    "ietf-otn-topology:otn-bandwidth": {
                      "odulist": [
                        {
                          "odu-type": "ietf-layer1-types:ODU2",
                          "number": 1
                        },
                        {
                          "odu-type": "ietf-layer1-types:ODU1",
                          "number": 4
                        },
                        {
                          "odu-type": "ietf-layer1-types:ODU0",
                          "number": 8
                        },
                        {
                          "odu-type": "ietf-fgotn-types:fgODUflex",
                          "number": 952
                        }
                      ]
                    }
                  }
                },
                "unreserved-bandwidth": [
                  {
                    "priority": 7,
                    "te-bandwidth": {
                      "ietf-otn-topology:otn-bandwidth": {
                        "odulist": [
                          {
                            "odu-type": "ietf-layer1-types:ODU2",
                            "number": 0
                          },
                          {
                            "odu-type": "ietf-layer1-types:ODU1",
                            "number": 3
                          },
                          {
                            "odu-type": "ietf-layer1-types:ODU0",
                            "number": 6
                          },
                          {
                            "odu-type": "ietf-fgotn-types:fgODUflex",
                            "number": 952
                          }
                        ]
                      }
                    }
                  }
                ],
                "name": "Link between Node NE2 and Node NE4 (\
                                                  reverse direction)"
              }
            }
          },
          {
            "link-id": "example:link/NE2-2/NE4-2",
            "source": {
              "source-node": "NE2",
              "source-tp": "2"
            },
            "destination": {
              "dest-node": "NE4",
              "dest-tp": "2"
            },
            "ietf-te-topology:te": {
              "te-link-attributes": {
                "interface-switching-capability": [
                  {
                    "encoding": "ietf-te-types:lsp-encoding-oduk",
                    "switching-capability": "ietf-te-types:switching\
                                                                -otn"
                  }
                ],
                "label-restrictions": {
                  "label-restriction": [
                    {
                      "index": 1,
                      "restriction": "inclusive",
                      "ietf-otn-topology:otn-label-range": {
                        "range-type": "trib-slot"
                      },
                      "label-start": {
                        "te-label": {
                          "ietf-otn-topology:otn-label": {
                            "ts": 1
                          }
                        }
                      },
                      "label-end": {
                        "te-label": {
                          "ietf-otn-topology:otn-label": {
                            "ts": 8
                          }
                        }
                      },
                      "label-step": {
                        "generic": 1
                      },
                      "range-bitmap": "fc",
                      "ietf-fgotn-topology:fgts-range": [
                        {
                          "odu-type": "ietf-layer1-types:ODU0",
                          "odu-ts-number": "1",
                          "fgts-reserved": "",
                          "fgts-unreserved": "1-119"
                        },
                        {
                          "odu-type": "ietf-layer1-types:ODU0",
                          "odu-ts-number": "2",
                          "fgts-reserved": "",
                          "fgts-unreserved": "1-119"
                        }
                      ]
                    }
                  ]
                },
                "max-link-bandwidth": {
                  "te-bandwidth": {
                    "ietf-otn-topology:otn-bandwidth": {
                      "odulist": [
                        {
                          "odu-type": "ietf-layer1-types:ODU2",
                          "number": 1
                        },
                        {
                          "odu-type": "ietf-layer1-types:ODU1",
                          "number": 4
                        },
                        {
                          "odu-type": "ietf-layer1-types:ODU0",
                          "number": 8
                        },
                        {
                          "odu-type": "ietf-fgotn-types:fgODUflex",
                          "number": 952
                        }
                      ]
                    }
                  }
                },
                "unreserved-bandwidth": [
                  {
                    "priority": 7,
                    "te-bandwidth": {
                      "ietf-otn-topology:otn-bandwidth": {
                        "odulist": [
                          {
                            "odu-type": "ietf-layer1-types:ODU2",
                            "number": 0
                          },
                          {
                            "odu-type": "ietf-layer1-types:ODU1",
                            "number": 3
                          },
                          {
                            "odu-type": "ietf-layer1-types:ODU0",
                            "number": 6
                          },
                          {
                            "odu-type": "ietf-fgotn-types:fgODUflex",
                            "number": 952
                          }
                        ]
                      }
                    }
                  }
                ],
                "name": "Link between Node NE2 and Node NE4 (\
                                                  forward direction)"
              }
            }
          },
          {
            "link-id": "example:link/NE4-3/NE3-2",
            "source": {
              "source-node": "NE4",
              "source-tp": "3"
            },
            "destination": {
              "dest-node": "NE3",
              "dest-tp": "2"
            },
            "ietf-te-topology:te": {
              "oper-status": "up",
              "te-link-attributes": {
                "admin-status": "up",
                "interface-switching-capability": [
                  {
                    "encoding": "ietf-te-types:lsp-encoding-oduk",
                    "switching-capability": "ietf-te-types:switching\
                                                                -otn"
                  }
                ],
                "label-restrictions": {
                  "label-restriction": [
                    {
                      "index": 1,
                      "restriction": "inclusive",
                      "ietf-otn-topology:otn-label-range": {
                        "range-type": "trib-slot"
                      },
                      "label-start": {
                        "te-label": {
                          "ietf-otn-topology:otn-label": {
                            "ts": 1
                          }
                        }
                      },
                      "label-end": {
                        "te-label": {
                          "ietf-otn-topology:otn-label": {
                            "ts": 8
                          }
                        }
                      },
                      "label-step": {
                        "generic": 1
                      },
                      "range-bitmap": "fc",
                      "ietf-fgotn-topology:fgts-range": [
                        {
                          "odu-type": "ietf-layer1-types:ODU1",
                          "odu-ts-number": "1-2",
                          "fgts-reserved": "",
                          "fgts-unreserved": "1-238"
                        }
                      ]
                    }
                  ]
                },
                "max-link-bandwidth": {
                  "te-bandwidth": {
                    "ietf-otn-topology:otn-bandwidth": {
                      "odulist": [
                        {
                          "odu-type": "ietf-layer1-types:ODU2",
                          "number": 1
                        },
                        {
                          "odu-type": "ietf-layer1-types:ODU1",
                          "number": 4
                        },
                        {
                          "odu-type": "ietf-layer1-types:ODU0",
                          "number": 8
                        },
                        {
                          "odu-type": "ietf-fgotn-types:fgODUflex",
                          "number": 952
                        }
                      ]
                    }
                  }
                },
                "unreserved-bandwidth": [
                  {
                    "priority": 7,
                    "te-bandwidth": {
                      "ietf-otn-topology:otn-bandwidth": {
                        "odulist": [
                          {
                            "odu-type": "ietf-layer1-types:ODU2",
                            "number": 0
                          },
                          {
                            "odu-type": "ietf-layer1-types:ODU1",
                            "number": 3
                          },
                          {
                            "odu-type": "ietf-layer1-types:ODU0",
                            "number": 6
                          },
                          {
                            "odu-type": "ietf-fgotn-types:fgODUflex",
                            "number": 952
                          }
                        ]
                      }
                    }
                  }
                ],
                "name": "Link between Node NE3 and Node NE4 (\
                                                  reverse direction)"
              }
            }
          },
          {
            "link-id": "example:link/NE3-2/NE4-3",
            "source": {
              "source-node": "NE3",
              "source-tp": "2"
            },
            "destination": {
              "dest-node": "NE4",
              "dest-tp": "3"
            },
            "ietf-te-topology:te": {
              "te-link-attributes": {
                "interface-switching-capability": [
                  {
                    "encoding": "ietf-te-types:lsp-encoding-oduk",
                    "switching-capability": "ietf-te-types:switching\
                                                                -otn"
                  }
                ],
                "label-restrictions": {
                  "label-restriction": [
                    {
                      "index": 1,
                      "restriction": "inclusive",
                      "ietf-otn-topology:otn-label-range": {
                        "range-type": "trib-slot"
                      },
                      "label-start": {
                        "te-label": {
                          "ietf-otn-topology:otn-label": {
                            "ts": 1
                          }
                        }
                      },
                      "label-end": {
                        "te-label": {
                          "ietf-otn-topology:otn-label": {
                            "ts": 8
                          }
                        }
                      },
                      "label-step": {
                        "generic": 1
                      },
                      "range-bitmap": "fc"
                    }
                  ]
                },
                "max-link-bandwidth": {
                  "te-bandwidth": {
                    "ietf-otn-topology:otn-bandwidth": {
                      "odulist": [
                        {
                          "odu-type": "ietf-layer1-types:ODU2",
                          "number": 1
                        },
                        {
                          "odu-type": "ietf-layer1-types:ODU1",
                          "number": 4
                        },
                        {
                          "odu-type": "ietf-layer1-types:ODU0",
                          "number": 8
                        }
                      ]
                    }
                  }
                },
                "unreserved-bandwidth": [
                  {
                    "priority": 7,
                    "te-bandwidth": {
                      "ietf-otn-topology:otn-bandwidth": {
                        "odulist": [
                          {
                            "odu-type": "ietf-layer1-types:ODU2",
                            "number": 0
                          },
                          {
                            "odu-type": "ietf-layer1-types:ODU1",
                            "number": 3
                          },
                          {
                            "odu-type": "ietf-layer1-types:ODU0",
                            "number": 6
                          }
                        ]
                      }
                    }
                  }
                ],
                "name": "Link between Node NE3 and Node NE4 (\
                                                  forward direction)"
              }
            }
          }
        ],
        "node": [
          {
            "node-id": "example:NE1",
            "ietf-te-topology:te-node-id": "192.0.0.1",
            "ietf-te-topology:te": {
              "te-node-attributes": {
                "name": "Node NE1"
              }
            },
            "ietf-network-topology:termination-point": [
            {
                "tp-id": "example:NE1-1",
                "ietf-te-topology:te-tp-id": 1,
                "ietf-te-topology:te": {
                  "ietf-otn-topology:client-svc": {},
                  "interface-switching-capability": [
                    {
                      "encoding": "ietf-te-types:lsp-encoding-oduk",
                      "switching-capability": "ietf-te-types:\
                                                       switching-otn"
                    }
                  ],
                  "name": "Interface 1 of Node NE1"
                }
            },   
            {
                "tp-id": "example:NE1-2",
                "ietf-te-topology:te-tp-id": 2,
                "ietf-te-topology:te": {
                  "interface-switching-capability": [
                    {
                      "encoding": "ietf-te-types:lsp-encoding-oduk",
                      "switching-capability": "ietf-te-types:\
                                                       switching-otn"
                    }
                  ],
                  "name": "Interface 2 of Node NE1"
                }
              },
              {
                "tp-id": "example:NE1-3",
                "ietf-te-topology:te-tp-id": 3,
                "ietf-te-topology:te": {
                  "interface-switching-capability": [
                    {
                      "encoding": "ietf-te-types:lsp-encoding-oduk",
                      "switching-capability": "ietf-te-types:\
                                                       switching-otn"
                    }
                  ],
                  "name": "Interface 3 of Node NE1"
                }
              }
            ]
          },
          {
            "node-id": "example:NE2",
            "ietf-te-topology:te-node-id": "192.0.0.2",
            "ietf-te-topology:te": {
              "te-node-attributes": {
                "name": "Node NE2"
              }
            },
            "ietf-network-topology:termination-point": [
              {
                "tp-id": "example:NE2-1",
                "ietf-te-topology:te-tp-id": 1,
                "ietf-te-topology:te": {
                  "interface-switching-capability": [
                    {
                      "encoding": "ietf-te-types:lsp-encoding-oduk",
                      "switching-capability": "ietf-te-types:\
                                                       switching-otn"
                    }
                  ],
                  "name": "Interface 1 of Node NE2"
                }
              },
              {
                "tp-id": "example:NE2-2",
                "ietf-te-topology:te-tp-id": 2,
                "ietf-te-topology:te": {
                  "interface-switching-capability": [
                    {
                      "encoding": "ietf-te-types:lsp-encoding-oduk",
                      "switching-capability": "ietf-te-types:\
                                                       switching-otn"
                    }
                  ],
                  "name": "Interface 2 of Node NE2"
                }
              }
            ]
          },
          {
            "node-id": "example:NE3",
            "ietf-te-topology:te-node-id": "192.0.0.3",
            "ietf-te-topology:te": {
              "te-node-attributes": {
                "name": "Node NE3"
              }
            },
            "ietf-network-topology:termination-point": [
              {
                "tp-id": "example:NE3-1",
                "ietf-te-topology:te-tp-id": 1,
                "ietf-te-topology:te": {
                  "interface-switching-capability": [
                    {
                      "encoding": "ietf-te-types:lsp-encoding-oduk",
                      "switching-capability": "ietf-te-types:\
                                                       switching-otn"
                    }
                  ],
                  "name": "Interface 1 of Node NE3"
                }
              },
              {
                "tp-id": "example:NE3-2",
                "ietf-te-topology:te-tp-id": 2,
                "ietf-te-topology:te": {
                  "interface-switching-capability": [
                    {
                      "encoding": "ietf-te-types:lsp-encoding-oduk",
                      "switching-capability": "ietf-te-types:\
                                                       switching-otn"
                    }
                  ],
                  "name": "Interface 2 of Node NE3"
                }
              }
            ]
          },
          {
            "node-id": "example:NE4",
            "ietf-te-topology:te-node-id": "192.0.0.4",
            "ietf-te-topology:te": {
              "te-node-attributes": {
                "name": "Node NE4"
              }
            },
            "ietf-network-topology:termination-point": [
            {
                "tp-id": "example:NE4-1",
                "ietf-te-topology:te-tp-id": 1,
                "ietf-te-topology:te": {
                  "ietf-otn-topology:client-svc": {},
                  "interface-switching-capability": [
                    {
                      "encoding": "ietf-te-types:lsp-encoding-oduk",
                      "switching-capability": "ietf-te-types:\
                                                       switching-otn"
                    }
                  ],
                  "name": "Interface 1 of Node NE4"
                }
            },   
            {
                "tp-id": "example:NE4-2",
                "ietf-te-topology:te-tp-id": 2,
                "ietf-te-topology:te": {
                  "interface-switching-capability": [
                    {
                      "encoding": "ietf-te-types:lsp-encoding-oduk",
                      "switching-capability": "ietf-te-types:\
                                                       switching-otn"
                    }
                  ],
                  "name": "Interface 2 of Node NE4"
                }
              },
              {
                "tp-id": "example:NE4-3",
                "ietf-te-topology:te-tp-id": 3,
                "ietf-te-topology:te": {
                  "interface-switching-capability": [
                    {
                      "encoding": "ietf-te-types:lsp-encoding-oduk",
                      "switching-capability": "ietf-te-types:\
                                                       switching-otn"
                    }
                  ],
                  "name": "Interface 3 of Node NE4"
                }
              }
            ]
          }
        ]
      },
      {
        "network-id": "example:otn-topology-example-3",
        "network-types": {
          "ietf-te-topology:te-topology": {
            "ietf-otn-topology:otn-topology": {}
          }
        },
        "ietf-te-topology:te-topology-identifier": {
          "client-id": 2,
          "provider-id": 1,
          "topology-id": "otn-topology-example-3"
        },
        "ietf-te-topology:te": {},
        "ietf-network-topology:link": [
          {
            "link-id": "example:link/NE1-2/NE2-1",
            "source": {
              "source-node": "NE1",
              "source-tp": "2"
            },
            "destination": {
              "dest-node": "NE2",
              "dest-tp": "1"
            },
            "ietf-te-topology:te": {
              "te-link-attributes": {
                "interface-switching-capability": [
                  {
                    "encoding": "ietf-te-types:lsp-encoding-oduk",
                    "switching-capability": "ietf-te-types:switching\
                                                                -otn"
                  }
                ],
                "label-restrictions": {
                  "label-restriction": [
                    {
                      "index": 1,
                      "restriction": "inclusive",
                      "ietf-otn-topology:otn-label-range": {
                        "range-type": "trib-slot"
                      },
                      "label-start": {
                        "te-label": {
                          "ietf-otn-topology:otn-label": {
                            "ts": 1
                          }
                        }
                      },
                      "label-end": {
                        "te-label": {
                          "ietf-otn-topology:otn-label": {
                            "ts": 8
                          }
                        }
                      },
                      "label-step": {
                        "generic": 1
                      },
                      "range-bitmap": "fc",
                      "ietf-fgotn-topology:fgts-range": [
                        {
                          "odu-type": "ietf-layer1-types:ODU1",
                          "odu-ts-number": "1-2",
                          "fgts-reserved": "1-2",
                          "fgts-unreserved": "3-238"
                        }
                      ]
                    }
                  ]
                },
                "max-link-bandwidth": {
                  "te-bandwidth": {
                    "ietf-otn-topology:otn-bandwidth": {
                      "odulist": [
                        {
                          "odu-type": "ietf-layer1-types:ODU2",
                          "number": 1
                        },
                        {
                          "odu-type": "ietf-layer1-types:ODU1",
                          "number": 4
                        },
                        {
                          "odu-type": "ietf-layer1-types:ODU0",
                          "number": 8
                        },
                        {
                          "odu-type": "ietf-fgotn-types:fgODUflex",
                          "number": 952
                        }
                      ]
                    }
                  }
                },
                "unreserved-bandwidth": [
                  {
                    "priority": 7,
                    "te-bandwidth": {
                      "ietf-otn-topology:otn-bandwidth": {
                        "odulist": [
                          {
                            "odu-type": "ietf-layer1-types:ODU2",
                            "number": 0
                          },
                          {
                            "odu-type": "ietf-layer1-types:ODU1",
                            "number": 3
                          },
                          {
                            "odu-type": "ietf-layer1-types:ODU0",
                            "number": 6
                          },
                          {
                            "odu-type": "ietf-fgotn-types:fgODUflex",
                            "number": 950
                          }
                        ]
                      }
                    }
                  }
                ],
                "name": "Link between Node NE1 and Node NE2 (\
                                                  forward direction)"
              }
            }
          },
          {
            "link-id": "example:link/NE2-1/NE1-2",
            "source": {
              "source-node": "NE2",
              "source-tp": "1"
            },
            "destination": {
              "dest-node": "NE1",
              "dest-tp": "2"
            },
            "ietf-te-topology:te": {
              "te-link-attributes": {
                "interface-switching-capability": [
                  {
                    "encoding": "ietf-te-types:lsp-encoding-oduk",
                    "switching-capability": "ietf-te-types:switching\
                                                                -otn"
                  }
                ],
                "label-restrictions": {
                  "label-restriction": [
                    {
                      "index": 1,
                      "restriction": "inclusive",
                      "ietf-otn-topology:otn-label-range": {
                        "range-type": "trib-slot"
                      },
                      "label-start": {
                        "te-label": {
                          "ietf-otn-topology:otn-label": {
                            "ts": 1
                          }
                        }
                      },
                      "label-end": {
                        "te-label": {
                          "ietf-otn-topology:otn-label": {
                            "ts": 8
                          }
                        }
                      },
                      "label-step": {
                        "generic": 1
                      },
                      "range-bitmap": "fc",
                      "ietf-fgotn-topology:fgts-range": [
                        {
                          "odu-type": "ietf-layer1-types:ODU1",
                          "odu-ts-number": "1-2",
                          "fgts-reserved": "1-2",
                          "fgts-unreserved": "3-238"
                        }
                      ]
                    }
                  ]
                },
                "max-link-bandwidth": {
                  "te-bandwidth": {
                    "ietf-otn-topology:otn-bandwidth": {
                      "odulist": [
                        {
                          "odu-type": "ietf-layer1-types:ODU2",
                          "number": 1
                        },
                        {
                          "odu-type": "ietf-layer1-types:ODU1",
                          "number": 4
                        },
                        {
                          "odu-type": "ietf-layer1-types:ODU0",
                          "number": 8
                        },
                        {
                          "odu-type": "ietf-fgotn-types:fgODUflex",
                          "number": 952
                        }
                      ]
                    }
                  }
                },
                "unreserved-bandwidth": [
                  {
                    "priority": 7,
                    "te-bandwidth": {
                      "ietf-otn-topology:otn-bandwidth": {
                        "odulist": [
                          {
                            "odu-type": "ietf-layer1-types:ODU2",
                            "number": 0
                          },
                          {
                            "odu-type": "ietf-layer1-types:ODU1",
                            "number": 3
                          },
                          {
                            "odu-type": "ietf-layer1-types:ODU0",
                            "number": 6
                          },
                          {
                            "odu-type": "ietf-fgotn-types:fgODUflex",
                            "number": 950
                          }
                        ]
                      }
                    }
                  }
                ],
                "name": "Link between Node NE1 and Node NE2 (\
                                                  reverse direction)"
              }
            }
          },
          {
            "link-id": "example:link/NE1-3/NE3-1",
            "source": {
              "source-node": "NE1",
              "source-tp": "3"
            },
            "destination": {
              "dest-node": "NE3",
              "dest-tp": "1"
            },
            "ietf-te-topology:te": {
              "te-link-attributes": {
                "interface-switching-capability": [
                  {
                    "encoding": "ietf-te-types:lsp-encoding-oduk",
                    "switching-capability": "ietf-te-types:switching\
                                                                -otn"
                  }
                ],
                "label-restrictions": {
                  "label-restriction": [
                    {
                      "index": 1,
                      "restriction": "inclusive",
                      "ietf-otn-topology:otn-label-range": {
                        "range-type": "trib-slot"
                      },
                      "label-start": {
                        "te-label": {
                          "ietf-otn-topology:otn-label": {
                            "ts": 1
                          }
                        }
                      },
                      "label-end": {
                        "te-label": {
                          "ietf-otn-topology:otn-label": {
                            "ts": 8
                          }
                        }
                      },
                      "label-step": {
                        "generic": 1
                      },
                      "range-bitmap": "fc",
                      "ietf-fgotn-topology:fgts-range": [
                        {
                          "odu-type": "ietf-layer1-types:ODU1",
                          "odu-ts-number": "1-2",
                          "fgts-reserved": "4-5",
                          "fgts-unreserved": "1-3,6-238"
                        }
                      ]
                    }
                  ]
                },
                "max-link-bandwidth": {
                  "te-bandwidth": {
                    "ietf-otn-topology:otn-bandwidth": {
                      "odulist": [
                        {
                          "odu-type": "ietf-layer1-types:ODU2",
                          "number": 1
                        },
                        {
                          "odu-type": "ietf-layer1-types:ODU1",
                          "number": 4
                        },
                        {
                          "odu-type": "ietf-layer1-types:ODU0",
                          "number": 8
                        },
                        {
                          "odu-type": "ietf-fgotn-types:fgODUflex",
                          "number": 952
                        }
                      ]
                    }
                  }
                },
                "unreserved-bandwidth": [
                  {
                    "priority": 7,
                    "te-bandwidth": {
                      "ietf-otn-topology:otn-bandwidth": {
                        "odulist": [
                          {
                            "odu-type": "ietf-layer1-types:ODU2",
                            "number": 0
                          },
                          {
                            "odu-type": "ietf-layer1-types:ODU1",
                            "number": 3
                          },
                          {
                            "odu-type": "ietf-layer1-types:ODU0",
                            "number": 6
                          },
                          {
                            "odu-type": "ietf-fgotn-types:fgODUflex",
                            "number": 952
                          }
                        ]
                      }
                    }
                  }
                ],
                "name": "Link between Node NE1 and Node NE3 (\
                                                  forward direction)"
              }
            }
          },
          {
            "link-id": "example:link/NE3-1/NE1-3",
            "source": {
              "source-node": "NE3",
              "source-tp": "1"
            },
            "destination": {
              "dest-node": "NE1",
              "dest-tp": "3"
            },
            "ietf-te-topology:te": {
              "te-link-attributes": {
                "interface-switching-capability": [
                  {
                    "encoding": "ietf-te-types:lsp-encoding-oduk",
                    "switching-capability": "ietf-te-types:switching\
                                                                -otn"
                  }
                ],
                "label-restrictions": {
                  "label-restriction": [
                    {
                      "index": 1,
                      "restriction": "inclusive",
                      "ietf-otn-topology:otn-label-range": {
                        "range-type": "trib-slot"
                      },
                      "label-start": {
                        "te-label": {
                          "ietf-otn-topology:otn-label": {
                            "ts": 1
                          }
                        }
                      },
                      "label-end": {
                        "te-label": {
                          "ietf-otn-topology:otn-label": {
                            "ts": 8
                          }
                        }
                      },
                      "label-step": {
                        "generic": 1
                      },
                      "range-bitmap": "fc"
                    }
                  ]
                },
                "max-link-bandwidth": {
                  "te-bandwidth": {
                    "ietf-otn-topology:otn-bandwidth": {
                      "odulist": [
                        {
                          "odu-type": "ietf-layer1-types:ODU2",
                          "number": 1
                        },
                        {
                          "odu-type": "ietf-layer1-types:ODU1",
                          "number": 4
                        },
                        {
                          "odu-type": "ietf-layer1-types:ODU0",
                          "number": 8
                        }
                      ]
                    }
                  }
                },
                "unreserved-bandwidth": [
                  {
                    "priority": 7,
                    "te-bandwidth": {
                      "ietf-otn-topology:otn-bandwidth": {
                        "odulist": [
                          {
                            "odu-type": "ietf-layer1-types:ODU2",
                            "number": 0
                          },
                          {
                            "odu-type": "ietf-layer1-types:ODU1",
                            "number": 3
                          },
                          {
                            "odu-type": "ietf-layer1-types:ODU0",
                            "number": 6
                          }
                        ]
                      }
                    }
                  }
                ],
                "name": "Link between Node NE1 and Node NE3 (\
                                                  reverse direction)"
              }
            }
          },
          {
            "link-id": "example:link/NE4-2/NE2-2",
            "source": {
              "source-node": "NE4",
              "source-tp": "2"
            },
            "destination": {
              "dest-node": "NE2",
              "dest-tp": "2"
            },
            "ietf-te-topology:te": {
              "te-link-attributes": {
                "interface-switching-capability": [
                  {
                    "encoding": "ietf-te-types:lsp-encoding-oduk",
                    "switching-capability": "ietf-te-types:switching\
                                                                -otn"
                  }
                ],
                "label-restrictions": {
                  "label-restriction": [
                    {
                      "index": 1,
                      "restriction": "inclusive",
                      "ietf-otn-topology:otn-label-range": {
                        "range-type": "trib-slot"
                      },
                      "label-start": {
                        "te-label": {
                          "ietf-otn-topology:otn-label": {
                            "ts": 1
                          }
                        }
                      },
                      "label-end": {
                        "te-label": {
                          "ietf-otn-topology:otn-label": {
                            "ts": 8
                          }
                        }
                      },
                      "label-step": {
                        "generic": 1
                      },
                      "range-bitmap": "fc",
                      "ietf-fgotn-topology:fgts-range": [
                        {
                          "odu-type": "ietf-layer1-types:ODU0",
                          "odu-ts-number": "1",
                          "fgts-reserved": "2-4,20",
                          "fgts-unreserved": "1,5-19,21-119"
                        },
                        {
                          "odu-type": "ietf-layer1-types:ODU0",
                          "odu-ts-number": "2",
                          "fgts-reserved": "",
                          "fgts-unreserved": "1-119"
                        }
                      ]
                    }
                  ]
                },
                "max-link-bandwidth": {
                  "te-bandwidth": {
                    "ietf-otn-topology:otn-bandwidth": {
                      "odulist": [
                        {
                          "odu-type": "ietf-layer1-types:ODU2",
                          "number": 1
                        },
                        {
                          "odu-type": "ietf-layer1-types:ODU1",
                          "number": 4
                        },
                        {
                          "odu-type": "ietf-layer1-types:ODU0",
                          "number": 8
                        },
                        {
                          "odu-type": "ietf-fgotn-types:fgODUflex",
                          "number": 952
                        }
                      ]
                    }
                  }
                },
                "unreserved-bandwidth": [
                  {
                    "priority": 7,
                    "te-bandwidth": {
                      "ietf-otn-topology:otn-bandwidth": {
                        "odulist": [
                          {
                            "odu-type": "ietf-layer1-types:ODU2",
                            "number": 0
                          },
                          {
                            "odu-type": "ietf-layer1-types:ODU1",
                            "number": 3
                          },
                          {
                            "odu-type": "ietf-layer1-types:ODU0",
                            "number": 6
                          },
                          {
                            "odu-type": "ietf-fgotn-types:fgODUflex",
                            "number": 948
                          }
                        ]
                      }
                    }
                  }
                ],
                "name": "Link between Node NE2 and Node NE4 (\
                                                  reverse direction)"
              }
            }
          },
          {
            "link-id": "example:link/NE2-2/NE4-2",
            "source": {
              "source-node": "NE2",
              "source-tp": "2"
            },
            "destination": {
              "dest-node": "NE4",
              "dest-tp": "2"
            },
            "ietf-te-topology:te": {
              "te-link-attributes": {
                "interface-switching-capability": [
                  {
                    "encoding": "ietf-te-types:lsp-encoding-oduk",
                    "switching-capability": "ietf-te-types:switching\
                                                                -otn"
                  }
                ],
                "label-restrictions": {
                  "label-restriction": [
                    {
                      "index": 1,
                      "restriction": "inclusive",
                      "ietf-otn-topology:otn-label-range": {
                        "range-type": "trib-slot"
                      },
                      "label-start": {
                        "te-label": {
                          "ietf-otn-topology:otn-label": {
                            "ts": 1
                          }
                        }
                      },
                      "label-end": {
                        "te-label": {
                          "ietf-otn-topology:otn-label": {
                            "ts": 8
                          }
                        }
                      },
                      "label-step": {
                        "generic": 1
                      },
                      "range-bitmap": "fc",
                      "ietf-fgotn-topology:fgts-range": [
                        {
                          "odu-type": "ietf-layer1-types:ODU0",
                          "odu-ts-number": "1",
                          "fgts-reserved": "2-4,20",
                          "fgts-unreserved": "1,5-19,21-119"
                        },
                        {
                          "odu-type": "ietf-layer1-types:ODU0",
                          "odu-ts-number": "2",
                          "fgts-reserved": "",
                          "fgts-unreserved": "1-119"
                        }
                      ]
                    }
                  ]
                },
                "max-link-bandwidth": {
                  "te-bandwidth": {
                    "ietf-otn-topology:otn-bandwidth": {
                      "odulist": [
                        {
                          "odu-type": "ietf-layer1-types:ODU2",
                          "number": 1
                        },
                        {
                          "odu-type": "ietf-layer1-types:ODU1",
                          "number": 4
                        },
                        {
                          "odu-type": "ietf-layer1-types:ODU0",
                          "number": 8
                        },
                        {
                          "odu-type": "ietf-fgotn-types:fgODUflex",
                          "number": 952
                        }
                      ]
                    }
                  }
                },
                "unreserved-bandwidth": [
                  {
                    "priority": 7,
                    "te-bandwidth": {
                      "ietf-otn-topology:otn-bandwidth": {
                        "odulist": [
                          {
                            "odu-type": "ietf-layer1-types:ODU2",
                            "number": 0
                          },
                          {
                            "odu-type": "ietf-layer1-types:ODU1",
                            "number": 3
                          },
                          {
                            "odu-type": "ietf-layer1-types:ODU0",
                            "number": 6
                          },
                          {
                            "odu-type": "ietf-fgotn-types:fgODUflex",
                            "number": 948
                          }
                        ]
                      }
                    }
                  }
                ],
                "name": "Link between Node NE2 and Node NE4 (\
                                                  forward direction)"
              }
            }
          },
          {
            "link-id": "example:link/NE4-3/NE3-2",
            "source": {
              "source-node": "NE4",
              "source-tp": "3"
            },
            "destination": {
              "dest-node": "NE3",
              "dest-tp": "2"
            },
            "ietf-te-topology:te": {
              "oper-status": "up",
              "te-link-attributes": {
                "admin-status": "up",
                "interface-switching-capability": [
                  {
                    "encoding": "ietf-te-types:lsp-encoding-oduk",
                    "switching-capability": "ietf-te-types:switching\
                                                                -otn"
                  }
                ],
                "label-restrictions": {
                  "label-restriction": [
                    {
                      "index": 1,
                      "restriction": "inclusive",
                      "ietf-otn-topology:otn-label-range": {
                        "range-type": "trib-slot"
                      },
                      "label-start": {
                        "te-label": {
                          "ietf-otn-topology:otn-label": {
                            "ts": 1
                          }
                        }
                      },
                      "label-end": {
                        "te-label": {
                          "ietf-otn-topology:otn-label": {
                            "ts": 8
                          }
                        }
                      },
                      "label-step": {
                        "generic": 1
                      },
                      "range-bitmap": "fc",
                      "ietf-fgotn-topology:fgts-range": [
                        {
                          "odu-type": "ietf-layer1-types:ODU1",
                          "odu-ts-number": "1-2",
                          "fgts-reserved": "4-5",
                          "fgts-unreserved": "1-3,6-238"
                        }
                      ]
                    }
                  ]
                },
                "max-link-bandwidth": {
                  "te-bandwidth": {
                    "ietf-otn-topology:otn-bandwidth": {
                      "odulist": [
                        {
                          "odu-type": "ietf-layer1-types:ODU2",
                          "number": 1
                        },
                        {
                          "odu-type": "ietf-layer1-types:ODU1",
                          "number": 4
                        },
                        {
                          "odu-type": "ietf-layer1-types:ODU0",
                          "number": 8
                        },
                        {
                          "odu-type": "ietf-fgotn-types:fgODUflex",
                          "number": 952
                        }
                      ]
                    }
                  }
                },
                "unreserved-bandwidth": [
                  {
                    "priority": 7,
                    "te-bandwidth": {
                      "ietf-otn-topology:otn-bandwidth": {
                        "odulist": [
                          {
                            "odu-type": "ietf-layer1-types:ODU2",
                            "number": 0
                          },
                          {
                            "odu-type": "ietf-layer1-types:ODU1",
                            "number": 3
                          },
                          {
                            "odu-type": "ietf-layer1-types:ODU0",
                            "number": 6
                          },
                          {
                            "odu-type": "ietf-fgotn-types:fgODUflex",
                            "number": 952
                          }
                        ]
                      }
                    }
                  }
                ],
                "name": "Link between Node NE3 and Node NE4 (\
                                                  reverse direction)"
              }
            }
          },
          {
            "link-id": "example:link/NE3-2/NE4-3",
            "source": {
              "source-node": "NE3",
              "source-tp": "2"
            },
            "destination": {
              "dest-node": "NE4",
              "dest-tp": "3"
            },
            "ietf-te-topology:te": {
              "te-link-attributes": {
                "interface-switching-capability": [
                  {
                    "encoding": "ietf-te-types:lsp-encoding-oduk",
                    "switching-capability": "ietf-te-types:switching\
                                                                -otn"
                  }
                ],
                "label-restrictions": {
                  "label-restriction": [
                    {
                      "index": 1,
                      "restriction": "inclusive",
                      "ietf-otn-topology:otn-label-range": {
                        "range-type": "trib-slot"
                      },
                      "label-start": {
                        "te-label": {
                          "ietf-otn-topology:otn-label": {
                            "ts": 1
                          }
                        }
                      },
                      "label-end": {
                        "te-label": {
                          "ietf-otn-topology:otn-label": {
                            "ts": 8
                          }
                        }
                      },
                      "label-step": {
                        "generic": 1
                      },
                      "range-bitmap": "fc"
                    }
                  ]
                },
                "max-link-bandwidth": {
                  "te-bandwidth": {
                    "ietf-otn-topology:otn-bandwidth": {
                      "odulist": [
                        {
                          "odu-type": "ietf-layer1-types:ODU2",
                          "number": 1
                        },
                        {
                          "odu-type": "ietf-layer1-types:ODU1",
                          "number": 4
                        },
                        {
                          "odu-type": "ietf-layer1-types:ODU0",
                          "number": 8
                        }
                      ]
                    }
                  }
                },
                "unreserved-bandwidth": [
                  {
                    "priority": 7,
                    "te-bandwidth": {
                      "ietf-otn-topology:otn-bandwidth": {
                        "odulist": [
                          {
                            "odu-type": "ietf-layer1-types:ODU2",
                            "number": 0
                          },
                          {
                            "odu-type": "ietf-layer1-types:ODU1",
                            "number": 3
                          },
                          {
                            "odu-type": "ietf-layer1-types:ODU0",
                            "number": 6
                          }
                        ]
                      }
                    }
                  }
                ],
                "name": "Link between Node NE3 and Node NE4 (\
                                                  forward direction)"
              }
            }
          }
        ],
        "node": [
          {
            "node-id": "example:NE1",
            "ietf-te-topology:te-node-id": "192.0.0.1",
            "ietf-te-topology:te": {
              "te-node-attributes": {
                "name": "Node NE1"
              }
            },
            "ietf-network-topology:termination-point": [
            {
                "tp-id": "example:NE1-1",
                "ietf-te-topology:te-tp-id": 1,
                "ietf-te-topology:te": {
                  "ietf-otn-topology:client-svc": {},
                  "interface-switching-capability": [
                    {
                      "encoding": "ietf-te-types:lsp-encoding-oduk",
                      "switching-capability": "ietf-te-types:\
                                                       switching-otn"
                    }
                  ],
                  "name": "Interface 1 of Node NE1"
                }
            },   
            {
                "tp-id": "example:NE1-2",
                "ietf-te-topology:te-tp-id": 2,
                "ietf-te-topology:te": {
                  "interface-switching-capability": [
                    {
                      "encoding": "ietf-te-types:lsp-encoding-oduk",
                      "switching-capability": "ietf-te-types:\
                                                       switching-otn"
                    }
                  ],
                  "name": "Interface 2 of Node NE1"
                }
              },
              {
                "tp-id": "example:NE1-3",
                "ietf-te-topology:te-tp-id": 3,
                "ietf-te-topology:te": {
                  "interface-switching-capability": [
                    {
                      "encoding": "ietf-te-types:lsp-encoding-oduk",
                      "switching-capability": "ietf-te-types:\
                                                       switching-otn"
                    }
                  ],
                  "name": "Interface 3 of Node NE1"
                }
              }
            ]
          },
          {
            "node-id": "example:NE2",
            "ietf-te-topology:te-node-id": "192.0.0.2",
            "ietf-te-topology:te": {
              "te-node-attributes": {
                "name": "Node NE2"
              }
            },
            "ietf-network-topology:termination-point": [
              {
                "tp-id": "example:NE2-1",
                "ietf-te-topology:te-tp-id": 1,
                "ietf-te-topology:te": {
                  "interface-switching-capability": [
                    {
                      "encoding": "ietf-te-types:lsp-encoding-oduk",
                      "switching-capability": "ietf-te-types:\
                                                       switching-otn"
                    }
                  ],
                  "name": "Interface 1 of Node NE2"
                }
              },
              {
                "tp-id": "example:NE2-2",
                "ietf-te-topology:te-tp-id": 2,
                "ietf-te-topology:te": {
                  "interface-switching-capability": [
                    {
                      "encoding": "ietf-te-types:lsp-encoding-oduk",
                      "switching-capability": "ietf-te-types:\
                                                       switching-otn"
                    }
                  ],
                  "name": "Interface 2 of Node NE2"
                }
              }
            ]
          },
          {
            "node-id": "example:NE3",
            "ietf-te-topology:te-node-id": "192.0.0.3",
            "ietf-te-topology:te": {
              "te-node-attributes": {
                "name": "Node NE3"
              }
            },
            "ietf-network-topology:termination-point": [
              {
                "tp-id": "example:NE3-1",
                "ietf-te-topology:te-tp-id": 1,
                "ietf-te-topology:te": {
                  "interface-switching-capability": [
                    {
                      "encoding": "ietf-te-types:lsp-encoding-oduk",
                      "switching-capability": "ietf-te-types:\
                                                       switching-otn"
                    }
                  ],
                  "name": "Interface 1 of Node NE3"
                }
              },
              {
                "tp-id": "example:NE3-2",
                "ietf-te-topology:te-tp-id": 2,
                "ietf-te-topology:te": {
                  "interface-switching-capability": [
                    {
                      "encoding": "ietf-te-types:lsp-encoding-oduk",
                      "switching-capability": "ietf-te-types:\
                                                       switching-otn"
                    }
                  ],
                  "name": "Interface 2 of Node NE3"
                }
              }
            ]
          },
          {
            "node-id": "example:NE4",
            "ietf-te-topology:te-node-id": "192.0.0.4",
            "ietf-te-topology:te": {
              "te-node-attributes": {
                "name": "Node NE4"
              }
            },
            "ietf-network-topology:termination-point": [
            {
                "tp-id": "example:NE4-1",
                "ietf-te-topology:te-tp-id": 1,
                "ietf-te-topology:te": {
                  "ietf-otn-topology:client-svc": {},
                  "interface-switching-capability": [
                    {
                      "encoding": "ietf-te-types:lsp-encoding-oduk",
                      "switching-capability": "ietf-te-types:\
                                                       switching-otn"
                    }
                  ],
                  "name": "Interface 1 of Node NE4"
                }
            },   
            {
                "tp-id": "example:NE4-2",
                "ietf-te-topology:te-tp-id": 2,
                "ietf-te-topology:te": {
                  "interface-switching-capability": [
                    {
                      "encoding": "ietf-te-types:lsp-encoding-oduk",
                      "switching-capability": "ietf-te-types:\
                                                       switching-otn"
                    }
                  ],
                  "name": "Interface 2 of Node NE4"
                }
              },
              {
                "tp-id": "example:NE4-3",
                "ietf-te-topology:te-tp-id": 3,
                "ietf-te-topology:te": {
                  "interface-switching-capability": [
                    {
                      "encoding": "ietf-te-types:lsp-encoding-oduk",
                      "switching-capability": "ietf-te-types:\
                                                       switching-otn"
                    }
                  ],
                  "name": "Interface 3 of Node NE4"
                }
              }
            ]
          }
        ]
      }
    ]
  }
}
]]></sourcecode>
    </section>
    <section numbered="false" anchor="acknowledgments">
      <name>Acknowledgments</name>
    </section>
    <section anchor="contributors" numbered="false" toc="include" removeInRFC="false">
      <name>Contributors</name>
      <contact initials="Z." surname="Wang" fullname="Zelin Wang">
        <organization>China Unicom</organization>
        <address>
          <postal>
            <city>Beijing</city>
            <country>China</country>
          </postal>
          <email>wangzl172@chinaunicom.cn</email>
        </address>
      </contact>
      <contact initials="A." surname="Guo" fullname="Aihua Guo">
        <organization>Huawei Technologiesicom</organization>
        <address>
          <email>aihuaguo.ietf@gmail.com</email>
        </address>
      </contact>
      <contact initials="C." surname="Li" fullname="Chen Li">
        <organization>Fiberhome Telecommunication Technologies Co.,LTD</organization>
        <address>
          <email>lich@fiberhome.com</email>
        </address>
      </contact>
    </section>
  </back>
  <!-- ##markdown-source:
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
652jn/YsfM85bRlUU8MC9Kid2hHXzN/qivzGIHmHUC02l9KOdeWQnmdlAKqg
LbmM+uoSovq1UztVNwXNluBu0PbvHrS9hqDVL7yNgbbsDqlV4PGbpWoArPli
r6G60vY712orT90aS2INJWWexWnGtYonNUpIo4V6o6XacLEun92bL9hmS3Yp
+d0cxOULt9nSvWUQly/gZkt4wyCuv5CbLuVlQt69nOtqNFvmLr0ad6ZxqC/p
gj7pdeHuOuF64T96bOs6NoC1q7ZdVQtMOA0LXYe3sZEK5ik3VW9gpDrsRsNI
XWE5rmekOixizUhdYQ97I9Ubqd5I9UZqXTlvpOp1vZFaebyR6o1Ub6R6I1W2
4I1Ub6RagH72RqoVYnjrRmo36O9iDMFt7qT2N2mk9v1OqjdSvZGqN+SNVG+k
1gHljVRvpHojdTOgeSPVG6lGC95I9UaqBej9MVL792UntS92Uqu23zpGqsNu
/LN2UlfYw95I9UaqN1K9kVpXzhupel1vpFYeb6TeSyPV24DeBrweiF+ODfjZ
m1Z3v/+3L05S3iRIdf/TOUnpg1S9aeV6vGnFvGnlTav1+vCmVeXxptW9NK38
/h8Hxtt+1Ua87Xf7IPr9P/F8CkZqTzdS9++LkdojI3X/Vk9SbtRIdVjE3kjl
TXgj1Rupn4it5o1U1zC8kVrpwRupZX1vpHoj1Xy8kVrzeCPVG6k3AdEbqTcx
Uu8+SHVfnKS8zZ3UOzxJuRkjNZ1HWcDvhMBGF3O7z6Z2bDiaxcnytry1661d
b+06OvHWbs3jrd1qD97aLet7a9dbu+bjrd2ax1u73tq9CYhfrrXbv5dbsn2x
JXubRzLvcEvWH8n0Rqrr8UYq80aqN1LX68MbqZXHG6n30kj1NqC3Aa8H4pdj
A372ptWNNhLV3xrkbWGT6EukYnZhiYrZZeeUcd4QqtXsPu119uB/TerVGDPU
2ipjRk6APAa7Aj0uYKy7QfGmdmHaBfMUzCWLpTgAKeY2zqy8trWYk7Udin5D
jJVFDf4pbmTNz1GZ+uBc09czCJdYLTc3Chubhde2Bsvma6zBGgXRiUBJhEcS
kayLd4rX0aRNlfCfa9GXSxgtpa/eDenLU4qryE0opbcOpTikclNSsd1dK0il
70ll3eeWSaW/JqkYv3WNaJnT1Sn9raiihtK/Sb0NSv/e3Uj/povOviG8Fneb
kv9+0bmKbEqSW/S1Mf5sp0Chkl6U3ydS6a1JKpvjz9Y+WEP+3KTeBvlz/9Pi
z/a9I7W48/z5U110On+26Gtj/NkOrKaSnj/fJ1LprUkqm+PP1e3/pvy5Sb0N
8uf9T8l7tu+9Z1/qQtV5ukWTm/Ke2QkdqKRn6feJUnrrUMq1pb8daEYlvffs
PpFKf01SqZf+repbRVYl/ttSLpq0pEuXQLw0+JCqR8iskIeb4sTfFinV7Kbr
5d3bhdoqWdojjA2kYzyOaaPWAFQITptrtudZeg71MofEbmsNI9JqkNUUzorI
rlFXMJBn+X7osusrefra27y+8g7T1/rrK30YquvxYaiM+TBUH4a6Vh9WGOpw
xVoQZ1Ak7saTIlcL4baCO1dEUFL9PFCxWG13xIFWg0MtAgqxRoPiZQSi6KL/
Td0y3kRYpI/x9TG+GwHNH0RtUNoHIbueuwtC3lsmUj+NIOT+nwVi8yDkr+8K
xC/3IKpxgU3vvqRd6om7QW8zN/Ad3g3qcwN7D4Dr8R4A5j0A3gOwXh/eA+A9
AFop7wG4HmjeA9AENO8B8B4AowXvAfAeAAvQz94DcPepqLoi8fJtxgDcYeJl
HwPgPQCux3sAmPcAeA/Aen14D4D3AGilvAfgeqB5D0AT0LwHwHsAjBa8B8B7
ACxA748HoH9fYgD6IgbgNpNR32EMgE9G7T0Arsd7AJj3AHgPwHp9ODwA3kit
e7yRejug+WTURhFvA1YebwNuxAb87E2ru99c3RcHrG/zVts7PGDtw6u9aeV6
vGnFvGnlTav1+rgXm6srVG97c/X2t1a73adLtlb/JBvEQsQd7DEvR8SNLR5v
vnvzfSOg+T3mBqW9f8H1eP/CZ+Rf8HvMm3CE9O7lhcc9ceHxbZ4zv8MLj70j
xDtCXI93hDDvCPGOkPX68I4Q7wjxjpBqKe8IuR5o3hHSBDTvCPGOEKMF7wjx
jhAL0M/eEXL3wfb74rj9bUaE3OFx+804QtJ5lKFhWSzQtmkv5nafTX0l4WgW
J8vb8h4V71HxHhVHJ96jUvN4j4rzuVVDzZ/b964E70rwrgTr8a6Emse7Erwr
4SYgfrmuhP69jKnoi5iK2zy3f4cxFf7cvvcAuB7vAWDeA+A9AOv14c/tVx5v
pN5LI9XbgN4GvB6IX44N+NmbVjfapVV/a5C3hU2iL5GK2YUlKmaXnXjMZZQE
Ws3u015nD/7XpF6NMUOtrTJm5ATIXAkr0OMCxrpXHsyjmTDtgnkK5pLFUhyA
FHMbZ1Zm+VrMydoORb8hxsqiBv8cTuMoKYL8HJWpD841fT2DcInVcnOjsLFZ
eG1rsGy+xhqsURCdCJREeCQRybosHbM6mrSpEv5zLfpyCaOl9NW7IX15SnEV
uQml9NahFIdUbkoqtrtrBan0Pams+9wyqfTXJBXjt64RLXO6OqW/FbLVUPo3
qbdB6d+7G+nfdNH17l7++0XnKrIpSW7R18b4s50ni0p6UX6fSKW3Jqlsjj9b
+2AN+XOTehvkz/1Piz/bN3/V4s7z50910en82aKvjfFnO2qdSnr+fJ9Ipbcm
qWyOP1e3/5vy5yb1Nsif9z8l79m+9559qQtV5+kWTW7Ke2ZnZKGSnqXfJ0rp
rUMp15b+dqAZlfTes/tEKv01SaVe+reqbxVZlfhvS7lo0pIuXQLx0iAuVY+Q
WSEPN8WJvy1SqtlN18u7twu1VbK0RxgbSMd4HNNGrQGoEJw212zPs/Qc6mUO
id3WGkak1SCrKZwVkV2jrmAgz/L90GUXSPMc57d5gfQd5jj3F0j7MFTX48NQ
GfNhqD4Mda0+/EHUUfMa5lnUvj+LWqnqw3wbgHY/w3w3BZo/i+rjkI0WfBzy
l3kWdel01377FAKmjYvOevclrVVP3CF9m/m97/AOaZ/f2zsBXI93AjDvBPBO
gPX68E4A7wQwS3knwPVA806AJqB5J4B3AhgteCeAdwJYgH72ToC7T0jVFbmt
bzMS4A5zW/tIAO8EcD3eCcC8E8A7AdbrwzsBSGLuB4+vkZW6v/O1dwRUqnpH
QAPQvCPAOwK8I0C14B0BX6Yj4P5mpjYcAf37Eg3QF9EAt5mZ+g6jAXxmau8I
cD3eEcC8I8A7Atbrw2emrjzeSL2XRqq3Ab0NeD0Qvxwb8LM3re5+j3VfnLa+
zfuD7/C0tQ+09qaV6/GmFfOmlTet1uvjXuyxrlC97T3WNXdYe8H+Tm9FJ65N
1p3HQffpTq8bdLtPl2y0/kkWiYWWO7gLeTkibmz/eGPeG/MbAc3vODco7b0N
rsd7Gz4jb8MntOO8fz218lNwi/Tu5V3IPXEX8m2eP7/Du5C9W8S7RVyPd4sw
7xbxbpH1+vBuEe8W0Ufo3SJ2Ke8WuR5o3i3SBDTvFvFuEaMF7xbxbhEL0M/e
LXL3gfj74kT+bUaL3OGJ/M24RdJ5lKGZWSzQ0mkv5nafTT0n4WgWJ8vb8v4V
71/x/hVHJ96/UvN4/4rzuVVDzR/t9x6Fsr73KHiPgvl4j0LN4z0K3qNwExC/
3KP9/XsZaNEXgRa3ebT/DgMt/NF+7whwPd4RwLwjwDsC1uvDH+2vPN5IvZdG
qrcBvQ14PRC/HBvwszetbrRZq/7WIG8Lm0RfIhWzC0tUzC47N5nLKAm0mt2n
vc4e/K9JvRpjhlpbZczICZDpFFagxwWMdQ89mEczYdoF8xTMJYulOAAp5jbO
rBz0tZiTtR2KfkOMlUUN/jmcxlFSBPk5KlMfnGv6egbhEqvl5kZhY7Pw2tZg
2XyNNVijIDoRKInwSCKSdVk6ZnU0aVMl/Oda9OUSRkvpq3dD+vKU4ipyE0rp
rUMpDqnclFRsd9cKUul7Uln3uWVS6a9JKsZvXSNa5nR1Sn8rcquh9G9Sb4PS
v3c30r/pouvdvfz3i85VZFOS3KKvjfFnO5UWlfSi/D6RSm9NUtkcf7b2wRry
5yb1Nsif+58Wf7bvCKvFnefPn+qi0/mzRV8b48928DqV9Pz5PpFKb01S2Rx/
rm7/N+XPTeptkD/vf0res33vPftSF6rO0y2a3JT3zE7TQiU9S79PlNJbh1Ku
Lf3tQDMq6b1n94lU+muSSr30b1Xf8jf466p11fpveFqtDwPG9zCj0XftcTjN
o/ZVq/WAHQzfJenFNBpNZiBa8tb/B2/Xg/9gcQIA

-->

</rfc>
