<?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.29 (Ruby 3.2.3) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-yu-ccamp-rdnm-yang-01" category="std" consensus="true" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.28.1 -->
  <front>
    <title abbrev="RDNM YANG">YANG Data Models for Transport Network Rich-Detail Network Management (RDNM)</title>
    <seriesInfo name="Internet-Draft" value="draft-yu-ccamp-rdnm-yang-01"/>
    <author initials="C." surname="Yu" fullname="Chaode Yu">
      <organization>Huawei Technologies</organization>
      <address>
        <email>yuchaode@huawei.com</email>
      </address>
    </author>
    <author initials="X." surname="Zhao" fullname="Xing Zhao">
      <organization>CAICT</organization>
      <address>
        <email>zhaoxing@caict.ac.cn</email>
      </address>
    </author>
    <author initials="Y." surname="Tan" fullname="Yanxia Tan">
      <organization>China Unicom</organization>
      <address>
        <email>tanyx11@chinaunicom.cn</email>
      </address>
    </author>
    <author initials="N." surname="Davis" fullname="Nigel Davis">
      <organization>Ciena</organization>
      <address>
        <email>ndavis@ciena.com</email>
      </address>
    </author>
    <author initials="D." surname="King" fullname="Daniel King">
      <organization>Old Dog Consulting</organization>
      <address>
        <email>daniel@olddog.co.uk</email>
      </address>
    </author>
    <date year="2025" month="April" day="10"/>
    <area>Routing</area>
    <workgroup>Common Control and Measurement Plane</workgroup>
    <keyword>next generation</keyword>
    <keyword>unicorn</keyword>
    <keyword>sparkling distributed ledger</keyword>
    <abstract>
      <?line 124?>

<t>This document defines two extension YANG data models augmenting to TE topology and TE tunnel modules, based on the RDNM (Rich-Detail Network Management) requirements in transport networks.</t>
    </abstract>
    <note removeInRFC="true">
      <name>About This Document</name>
      <t>
        The latest revision of this draft can be found at <eref target=" https://github.com/YuChaode/rdnm-yang/draft-yu-ccamp-rdnm-yang.html"/>.
        Status information for this document may be found at <eref target="https://datatracker.ietf.org/doc/draft-yu-ccamp-rdnm-yang/"/>.
      </t>
      <t>
        Discussion of this document takes place on the
        Common Control and Measurement Plane 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/ https://github.com/YuChaode/rdnm-yang"/>.</t>
    </note>
  </front>
  <middle>
    <?line 128?>

<section anchor="introduction">
      <name>Introduction</name>
      <t><xref target="RFC8795"/> defines a YANG data module for technology generic, and it is augmented by some other technology specific data modules, e.g. OTN topology data model in <xref target="I-D.draft-ietf-ccamp-otn-topo-yang"/>.</t>
      <t><xref target="I-D.draft-ietf-teas-yang-te"/> defines a YANG data model for the provisioning and management of Traffic Engineering (TE) tunnels, Label Switched Paths (LSPs), and interfaces. Similarly, it could be also augmented by some other technology specific data modules to implement a specific layer of TE tunnel.</t>
      <t>According to <xref target="I-D.draft-ietf-ccamp-transport-nbi-app-statement"/>, it is good to used the current TE data model system to manage an abstracted network topology. In <xref target="I-D.draft-gstk-ccamp-actn-optical-transport-mgmt"/>, it is called Abstracted Control (AC) approach.</t>
      <t>In <xref target="I-D.draft-gstk-ccamp-actn-optical-transport-mgmt"/>, it also raised another management approach, which is called Rich-Detail Network Management (RDNM). RDNM is designed to continue to deliver FCAPS capabilities within the context of ACTN.</t>
      <t><xref target="ITU-T_G.805"/> describes transport network from the viewpoint of the information transfer capability, provides a generic functional architecture which is also implementation independent. This recommendation is the implementation basis of most of the vendors' or operators' systems.</t>
      <t>To provide traditional FCAPS functionalities, we need to align with the modelling of traditional approach, which is suggested to be <xref target="TMF-814"/>. Therefore, some more TMF attributes would be introduced. To avoid introducing non-backward-compatible (NBC) changes, we would like to provide some extension YANG data models, based on the current model architecture.</t>
      <t>Some extensions, which are generic for all network layers, are defined in the RDNM topology and RDNM tunnel models. Layer-specific RDNM extensions can be found in other YANG data modules.</t>
      <section anchor="terminology-and-notations">
        <name>Terminology and Notations</name>
        <t>Note: to be added on demand.</t>
      </section>
      <section anchor="requirements-notation">
        <name>Requirements Notation</name>
        <t>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 <xref target="RFC2119"/> <xref target="RFC8174"/> when, and only when, they
appear in all capitals, as shown here.
<?line -6?>
        </t>
      </section>
      <section anchor="tree-diagram">
        <name>Tree Diagram</name>
        <t>A simplified graphical representation of the data model is used in this document.
The meaning of the symbols in this diagram is defined in <xref target="RFC8340"/>.</t>
      </section>
      <section anchor="prefix-in-data-node-names">
        <name>Prefix in Data Node Names</name>
        <t>In this document, names of data nodes and other data model objects
  are prefixed using the standard prefix associated with the
  corresponding YANG imported modules, as showned 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">nw</td>
              <td align="left">ietf-network</td>
              <td align="left">
                <xref target="RFC8345"/></td>
            </tr>
            <tr>
              <td align="left">nt</td>
              <td align="left">ietf-network-topology</td>
              <td align="left">
                <xref target="RFC8345"/></td>
            </tr>
            <tr>
              <td align="left">tet</td>
              <td align="left">ietf-te-topology</td>
              <td align="left">
                <xref target="RFC8795"/></td>
            </tr>
            <tr>
              <td align="left">yang</td>
              <td align="left">ietf-yang-types</td>
              <td align="left">
                <xref target="RFC6991"/></td>
            </tr>
            <tr>
              <td align="left">inet</td>
              <td align="left">ietf-inet-types</td>
              <td align="left">
                <xref target="RFC6991"/></td>
            </tr>
            <tr>
              <td align="left">te</td>
              <td align="left">ietf-te</td>
              <td align="left">RFCYYYY</td>
            </tr>
            <tr>
              <td align="left">te-types</td>
              <td align="left">ietf-te-types</td>
              <td align="left">
                <xref target="RFC8776"/></td>
            </tr>
            <tr>
              <td align="left">rdnmt</td>
              <td align="left">ietf-rdnm-topology</td>
              <td align="left">RFC XXXX</td>
            </tr>
            <tr>
              <td align="left">rdnm-tnl</td>
              <td align="left">ietf-rdnm-tunnel</td>
              <td align="left">RFC XXXX</td>
            </tr>
            <tr>
              <td align="left">rdnm-types</td>
              <td align="left">ietf-rdnm-types</td>
              <td align="left">RFC XXXX</td>
            </tr>
          </tbody>
        </table>
        <t>RFC Editor Note:
Please replace XXXX with the RFC number assigned to this document.
Please replace YYYY with the RFC number assigned to the TE tunnel draft.
Please remove this note.</t>
      </section>
    </section>
    <section anchor="mapping-of-actn-modelling-objects-with-tmf-objects">
      <name>Mapping of ACTN modelling objects with TMF objects</name>
      <t><xref target="ITU-T_G.805"/> describes the network as a transport network from the viewpoint of the information transfer capability. More specifically, the functional and structural architecture of transport networks are described independently of networking technology. It also defines various types of reference points, such as the Access Point (AP), Connection Point (CP), and Trail Connection Point (TCP), and the processing between reference points, which is called adaptation. A transport entity that transmits information such as trails and connections between reference points. For the details, we can refer to descriptions in chapter 3 of <xref target="ITU-T_G.805"/> and Figure 1 to Figure 3.</t>
      <t>One disadvantage of <xref target="ITU-T_G.805"/> is it is too complicated. So TMF simplifies the modelling system of <xref target="ITU-T_G.805"/>. The adaptation is changed to be the capabilities of reference points. The reference points is so that changed to some other terminologies, e.g. PTP and FTP etc. This simplification still can be mapped to <xref target="ITU-T_G.805"/>. So that a lot of vendors and operators choose TMF modelling in their system.</t>
      <t>Based on the TMF modelling, CORBA/XML interface was defined to provide FCAPS interfaces. These interfaces were widely used in the operators' network.</t>
      <t>The transport ACTN is also initially designed to simplify network configurations. To have a unified modelling with IP technology, many new modelling terms of TE were introduced and build up a new modelling system. Theoretically, these new modelling objects should be a part of, or can be mapped to the reference points or adaptation defined by <xref target="ITU-T_G.805"/>. However, in the existing IETF documents, there is not sufficient details can be found.</t>
      <t>If the transport ACTN interface wants to support the complete FCAPS capability, there could be two approaches. The first approach is the ACTN interface build up a new alarm/performance monitoring mechanism,  based on its abstract control modelling. Just like what have been done in <xref target="ITU-T_G.874"/> and <xref target="ITU-T_G.875"/>.</t>
      <t>The second approach is reusing the traditional alarm/performance monitoring mechanism, so that the ACTN modelling needs to be mapped to the traditional modelling.</t>
      <t>Currently, there is not sufficient theoretical support for the first approach, and there is not such a attempt is tried in IETF. For the second approach, one of the advantage is it can inherit the functions integrated before. So that there would not be two much efforts need to pay for the new integration.</t>
      <t>In this document, we would like to follow the second approach. Table 2 provides a mapping between the ACTN objects and TMF objects.</t>
      <table anchor="tab-mapping">
        <name>Mapping of ACTN objects with TMF objects</name>
        <thead>
          <tr>
            <th align="left">ACTN Object</th>
            <th align="left">TMF Object</th>
          </tr>
        </thead>
        <tbody>
          <tr>
            <td align="left">Network</td>
            <td align="left">NA</td>
          </tr>
          <tr>
            <td align="left">Node</td>
            <td align="left">Management Element</td>
          </tr>
          <tr>
            <td align="left">Link</td>
            <td align="left">Topology Link</td>
          </tr>
          <tr>
            <td align="left">TP</td>
            <td align="left">PTP</td>
          </tr>
          <tr>
            <td align="left">TTP</td>
            <td align="left">CTP/FTP</td>
          </tr>
          <tr>
            <td align="left">Tunnel</td>
            <td align="left">SNC/XC</td>
          </tr>
          <tr>
            <td align="left">NE</td>
            <td align="left">Management Element</td>
          </tr>
          <tr>
            <td align="left">component</td>
            <td align="left">equipment holder/equipment</td>
          </tr>
          <tr>
            <td align="left">Client signal</td>
            <td align="left">NA</td>
          </tr>
          <tr>
            <td align="left">Ethernet Client signal</td>
            <td align="left">NA</td>
          </tr>
          <tr>
            <td align="left">NA</td>
            <td align="left">Protection Group</td>
          </tr>
          <tr>
            <td align="left">NA</td>
            <td align="left">Equipment Protection Group</td>
          </tr>
        </tbody>
      </table>
      <t>The ONF TAPI also defines a new set of terms, which are different from the definitions of the <xref target="ITU-T_G.805"/>. But it provides the mapping of TAPI objects to ITU-T objects in Figure 3-2 of <xref target="ONF_TR-547"/>. In the appendix of this document, we also compare the ACTN object modelling and TAPI object modelling, which can be used as a reference for a possible integration of these two interfaces in a same MDSC.</t>
    </section>
    <section anchor="model-relationship">
      <name>Model relationship</name>
      <t>The current ACTN topology models for transport technology follows the relationship as bellow:</t>
      <figure anchor="fig-actn-topology">
        <name>Relationship of ACTN topology</name>
        <artwork type="ascii-art"><![CDATA[
          +----------------------+
          |  network topology    |
          +----------------------+
                      ^
                      |augmenting
                      |
          +----------------------+
          |     TE topology      |
          +----------------------+
             ^      ^       ^
             |  augmenting  |
  augmenting |      |       |
   +--------------+ |       |
   | ETH topology | |       |
   +--------------+ |       |
                    |       |augmenting
          +--------------+  |
          | OTN topology |  |
          +--------------+  |
                            |
              +--------------+
              | WDM topology |
              +--------------+

]]></artwork>
      </figure>
      <t>TE topology model was aimed to define common attributes for all the technologies.  OTN topology and WDM topology, etc., they are all augmenting TE topology model to provide layer-specific extensions.</t>
      <t>Although most of the objects in ACTN and TMF can be mapped to each other, the parameters of the objects cannot be completely matched. In other words, the current ACTN object needs to be extended with some properties to support the full functionality of a traditional object.</t>
      <t>But in the traditional transport standards there is not such a saying of  TE-related modelling. If we want to extend the current IETF data models to have full modelling of traditional approach, which is called RDNM extension by us, we suggest to define the common attributes for all the technologies in a RDNM extension model.</t>
      <t>For layer-specific RDNM extensions could reference existing way and define in a separated layer-specific RDNM extension document. So in the RDNM approach, the ACTN topology architecture will be extended to be:</t>
      <figure anchor="fig-actn-rdnm-topology">
        <name>Relationship of RDNM ACTN topology</name>
        <artwork type="ascii-art"><![CDATA[
       +----------------------+
       |  network topology    |
       +----------------------+
                   ^
                   |
                   |
       +----------------------+           +----------------------+
       |     TE topology      |<----------|      RDNM Extension  |
       +----------------------+           +----------------------+
          ^      ^       ^                     ^      ^       ^
          |      |       |                     |      |       |
          |      |       |                     |      |       |
+--------------+ |       |         +----------------+ |       |
| ETH topology | |       |         | ETH RDNM EXT   | |       |
+--------------+ |       |         +----------------+ |       |
                 |       |                            |       |
       +--------------+  |                +--------------+    |
       | OTN topology |  |                | OTN RDNM EXT |    |
       +--------------+  |                +--------------+    |
                         |                                    |
           +--------------+                     +--------------+
           | WDM topology |                     | WDM RDNM EXT |
           +--------------+                     +--------------+
]]></artwork>
      </figure>
      <t>It is also same for the TE tunnel architecture. The whole architecture after RDNM tunnel extensions will be:</t>
      <figure anchor="fig-actn-rdnm-tunnel">
        <name>Relationship of RDNM ACTN tunnel</name>
        <artwork type="ascii-art"><![CDATA[
   +----------------------+           +----------------------+
   |      TE Tunnel       |<----------|      RDNM Extension  |
   +----------------------+           +----------------------+
        ^      ^       ^                   ^      ^       ^
        |      |       |                   |      |       |
        |      |       |                   |      |       |
+------------+ |       |       +----------------+ |       |
| ETH Tunnel | |       |       | ETH RDNM EXT   | |       |
+------------+ |       |       +----------------+ |       |
               |       |                          |       |
     +--------------+  |              +--------------+    |
     | OTN Tunnel   |  |              | OTN RDNM EXT |    |
     +--------------+  |              +--------------+    |
                       |                                  |
           +--------------+                 +--------------+
           | WDM Tunnel   |                 | WDM RDNM EXT |
           +--------------+                 +--------------+
]]></artwork>
      </figure>
    </section>
    <section anchor="rdnm-extension-for-topology">
      <name>RDNM Extension for Topology</name>
      <t>For the some objects, although it is defined in IETF, but the way of abstraction is not so implementation friendly,  especially for TTP.</t>
      <section anchor="rdnm-extension-for-te-topology">
        <name>RDNM extension for TE topology</name>
        <t>(To be added)</t>
      </section>
      <section anchor="the-modelling-and-usage-of-ttp">
        <name>The modelling and usage of TTP</name>
        <t>According to the description of <xref target="RFC8795"/>, TTP is an element of a TE topology representing one or several potential transport service termination points, (i.e., service client adaptation points, such as a WDM/OCh transponder).</t>
        <t>In the ITU-T standard, such an adaptation point can be the termination point of an end-to-end connection, or the source or sink point of the intermediate cross-connection. A physical port can generate a lot of logical objects. For example, a 100G line port can function as 80 lower-order ODU0 adaptation points, 40 ODU1 adaptation points, or even the adaptation point of an OCh tunnel. Considering  the data volume in large-scale network, it is not wise to expose all these points. Because that most of them are potentially existing, they are probably not used at the end.</t>
        <t>In the document of TE topology, it is not indicated  whether the TTPs should be provided at day 0 or not. And it is also hard to find the correlation with the physical port.</t>
        <t>In this document, we suggest not to provide the potential TTPs but the existing TTPs who have been used by connections at any time. If the client want to retrieve these potential TTPs, a single RPC can help to do so. This RPC should return the existing and potential TTPs at the same time.</t>
        <t>The key of TTP is tunnel-tp-id which is a binary type. For the potential TTPs, it is no need to allocate a tunnel-tp-id for them. But the server can provide a name for these TTPs, this name should follow the pattern defined by TMF. When the client want to reference a potential TTP, it can reference the name of this TTP, and then the server will allocated a tunnel-tp-id for it after the connection created. And this TTP is no more than a potential TTP but an existing TTP, it should appear in the TTP list of topology.</t>
        <artwork type="ascii-art"><![CDATA[
rpcs:
   +---x query-ttp-by-tps
      +--ro input
      |  +--ro tp-list* [tp-id]
      |     +--ro tp-id    leafref
      +--ro output
         +--ro result?        enumeration
         +--ro result-list* [tp-id]
            +--ro tp-id      leafref
            +--ro ttp-list*
               +--ro tunnel-tp-id?   leafref
               +--ro ttp-name?       string
               +--ro using-status?   enumeration
]]></artwork>
      </section>
    </section>
    <section anchor="rdnm-extensions-for-te-tunnel">
      <name>RDNM Extensions for TE Tunnel</name>
      <section anchor="modelling-of-point-to-multi-points-and-multi-points-to-multi-points-te-tunnel">
        <name>Modelling of Point to Multi-Points and Multi-Points to Multi-Points TE Tunnel</name>
        <t>The current TE tunnel model only supports point-to-point scenario. Therefore, only one source and sink structure is defined on the tunnel node. In the transport technology, there are point-to-multipoint scenarios and multipoint-to-multipoint connection scenarios. For example, multicast service.</t>
        <t>We suggest to extend the current TE tunnel model to support the multi-point scenario. Considering the TTPs was not generate before the tunnel created, the client can reference by the TTP by name.</t>
      </section>
      <section anchor="restoration">
        <name>Restoration</name>
        <section anchor="lock-of-restoration">
          <name>Lock of restoration</name>
          <t>In some maintenance scenarios, people may need to freeze the restoration capability of a TE tunnel. For example, after obtaining the customers' consent, the carrier can choose not to restore services during the TE tunnel cutover. This prevents unstable services flapping caused by repeated fiber cuts during the cutover. The unstable services flapping would also affects existing services.</t>
          <t>Section 3.2.8.11 in <xref target="ITU-T_G.808"/> mentions the freezing operation of protection and rerouting switching. Therefore, compared with traditional path management, the current TE tunnel model also needs to add freezing capability to the  protection and restoration structure.</t>
        </section>
        <section anchor="lock-of-restoration-reversion">
          <name>Lock of restoration reversion</name>
          <t>For some cutover scenario, services may be rerouted to a new trail before the cutover operation. During the cutover, the fiber may be frequently plug in and plug out due to commissioning. To make sure that the new route will not go back to the original route and if the tunnel is restoration reversion, there would be a requirement the freeze the restoration reversion function. This is also a functionality defined by ITU-T and it's missing in the current TE tunnel.</t>
        </section>
        <section anchor="scheduling-of-reversion-time">
          <name>Scheduling of reversion time</name>
          <t>Maintenance job usually is taken place in a fixed time window, for example at night when people are not using the network frequently as daytime. So that there will not be impact as large as operating at daytime if the maintenance job is failed. Operator can choose to revert the services to the original path at night, so that the restoration reversion would not have big impact on the network.</t>
        </section>
        <section anchor="priority-of-restoration">
          <name>Priority of restoration</name>
          <t>In some operator, they configure different restoration priority to different tunnels or services. When multiple services need to be restored at a same time, high-priority services preferentially occupy resources, and low-priority services can be rerouted only after the rerouting of high-priority services is complete.</t>
        </section>
        <section anchor="yang-for-restoration-extension">
          <name>YANG for restoration extension</name>
          <artwork type="ascii-art"><![CDATA[
augment /te:te/te:tunnels/te:tunnel/te:restoration:
   +--rw restoration-lock?             boolean
   +--rw restoration-reversion-lock?   boolean
   +--rw scheduled-reversion-time?     yang:date-and-time
   +--rw restoration-priority?         enumeration
]]></artwork>
        </section>
      </section>
      <section anchor="ttp-hop">
        <name>TTP hop</name>
        <t>The current TE tunnel data model can support to specify explicit node/LTP included/excluded. However, for finer grain object, such as TTP, it is not supported to specify.</t>
        <t>For example, in the scenario where lower-order and higher-order ODUk tunnel are both existing, sometimes multiple lower-order ODUk tunnels need to multiplex a higher-order ODUk tunnel. The client can specify the higher-order ODUk tunnel's TTP to be included in the lower-order ODUk tunnel's creation request. If the lower-order ODUk doesn't need to multiplex a higher-order ODUk tunnel, the client can specify the higher-order ODUk tunnel's TTP to be excluded in the lower-order ODUk tunnel's creation request.</t>
        <t>There can be two ways to specify this TTP. This higher-order ODUk TTP can be existing in the topology if it has been occupied by a higher-order ODUk tunnel. Then in the TTP hop, the client can specify the ttp-id of this TTP. This TTP can also be nonexisting in the topology or idle for tunnel creation. And then then client can specify the name of TTP in the creation request.</t>
        <artwork type="ascii-art"><![CDATA[
augment /te:te/te:tunnels/te:tunnel/te:primary-paths/te:primary-path
        /te:explicit-route-objects-always
        /te:route-object-include-exclude/te:type:
   +--:(ttp-hop)
      +--rw ttp-hop
         +--rw node-id?    nw:node-id
         +--rw (id-or-name)?
            +--:(id)
            |  +--rw ttp-id?     binary
            +--:(name)
               +--rw ttp-name?   string
augment /te:te/te:tunnels/te:tunnel/te:secondary-paths
        /te:secondary-path/te:explicit-route-objects-always
        /te:route-object-include-exclude/te:type:
   +--:(ttp-hop)
      +--rw ttp-hop
         +--rw node-id?    nw:node-id
         +--rw (id-or-name)?
            +--:(id)
            |  +--rw ttp-id?     binary
            +--:(name)
               +--rw ttp-name?   string
augment /te:te/te:tunnels/te:tunnel/te:primary-paths/te:primary-path
        /te:primary-reverse-path/te:explicit-route-objects-always
        /te:route-object-include-exclude/te:type:
   +--:(ttp-hop)
      +--rw ttp-hop
         +--rw node-id?    nw:node-id
         +--rw (id-or-name)?
            +--:(id)
            |  +--rw ttp-id?     binary
            +--:(name)
               +--rw ttp-name?   string
augment /te:te/te:tunnels/te:tunnel/te:secondary-reverse-paths
        /te:secondary-reverse-path/te:explicit-route-objects-always
        /te:route-object-include-exclude/te:type:
   +--:(ttp-hop)
      +--rw ttp-hop
         +--rw node-id?    nw:node-id
         +--rw (id-or-name)?
            +--:(id)
            |  +--rw ttp-id?     binary
            +--:(name)
               +--rw ttp-name?   string
]]></artwork>
      </section>
    </section>
    <section anchor="tree-diagram-1">
      <name>Tree Diagram</name>
      <section anchor="rdnm-topology">
        <name>RDNM Topology</name>
        <t><xref target="fig-tet-rdnm-tree"/> below shows the tree diagram of the YANG data model defined in module "ietf-rdnm-topology".</t>
        <figure anchor="fig-tet-rdnm-tree">
          <name>Tree of RDNM Topology</name>
          <artwork type="ascii-art" name="ietf-rdnm-topology.tree"><![CDATA[
module: ietf-rdnm-topology

  augment /nw:networks/nw:network/nw:node/tet:te:
    +--rw (layer-specific-extension)?
       +--:(generic)
  augment /nw:networks/nw:network/nw:node/nt:termination-point
            /tet:te:
    +--rw (layer-specific-extension)?
       +--:(generic)
  augment /nw:networks/nw:network/nw:node/tet:te
            /tet:tunnel-termination-point:
    +--rw (layer-specific-extension)?
       +--:(generic)
  augment /nw:networks/nw:network/nt:link/tet:te:
    +--rw (layer-specific-extension)?
       +--:(generic)

  rpcs:
    +---x query-ttp-by-tps
       +---w input
       |  +---w tp-list* [tp-id]
       |     +---w tp-id    leafref
       +--ro output
          +--ro result?        enumeration
          +--ro result-list* [tp-id]
             +--ro tp-id       leafref
             +--ro ttp-list* []
                +--ro tunnel-tp-id?   leafref
                +--ro ttp-name?       string
                +--ro using-status?   enumeration
]]></artwork>
        </figure>
      </section>
      <section anchor="rdnm-tunnel">
        <name>RDNM Tunnel</name>
        <t><xref target="fig-rdnm-tnl-tree"/> below shows the tree diagram of the YANG data model defined in module "ietf-rdnm-tunnel".</t>
        <figure anchor="fig-rdnm-tnl-tree">
          <name>Tree of RDNM Tunnel</name>
          <artwork type="ascii-art" name="ietf-rdnm-tunnel.tree"><![CDATA[
module: ietf-rdnm-tunnel

  augment /te:te/te:tunnels/te:tunnel:
    +--rw alias?                   string
    +--ro create-time?             yang:date-and-time
    +--ro active-time?             yang:date-and-time
    +--rw source-endpoints
    |  +--rw source-endpoint* []
    |     +--rw node-id?
    |     |       -> /nw:networks/network/node/node-id
    |     +--rw (endpoint-tp)?
    |     |  +--:(ltp)
    |     |  |  +--rw tp-id?            leafref
    |     |  +--:(ttp)
    |     |     +--rw (id-or-name)?
    |     |        +--:(id)
    |     |        |  +--rw ttp-id?     leafref
    |     |        +--:(name)
    |     |           +--rw ttp-name?   leafref
    |     +--rw protection-role?        enumeration
    +--rw destination-endpoints
       +--rw destination-endpoint* []
          +--rw node-id?
          |       -> /nw:networks/network/node/node-id
          +--rw (endpoint-tp)?
          |  +--:(ltp)
          |  |  +--rw tp-id?            leafref
          |  +--:(ttp)
          |     +--rw (id-or-name)?
          |        +--:(id)
          |        |  +--rw ttp-id?     leafref
          |        +--:(name)
          |           +--rw ttp-name?   leafref
          +--rw protection-role?        enumeration
  augment /te:te/te:tunnels/te:tunnel/te:restoration:
    +--rw restoration-lock?             boolean
    +--rw restoration-reversion-lock?   boolean
    +--rw scheduled-reversion-time?     yang:date-and-time
    +--rw restoration-priority?         enumeration
    +--rw restoration-layer?            enumeration
]]></artwork>
        </figure>
      </section>
    </section>
    <section anchor="yang-data-model">
      <name>YANG Data Model</name>
      <section anchor="rdnm-topology-1">
        <name>RDNM Topology</name>
        <figure anchor="fig-tet-rdnm-yang">
          <name>RDNM Topology YANG module</name>
          <sourcecode type="yang" markers="true" name="ietf-rdnm-topology@2025-02-22.yang"><![CDATA[
module ietf-rdnm-topology {
  yang-version 1.1;
  namespace "urn:ietf:params:xml:ns:yang:ietf-rdnm-topology";
  prefix rdnmt;

  import ietf-network {
    prefix "nw";
  }

  import ietf-network-topology {
    prefix "nt";
  }

  import ietf-te-topology {
    prefix "tet";
  }
  
  organization
    "IETF CCAMP Working Group";
  contact
    "WG Web: <http://tools.ietf.org/wg/ccamp/>
     WG List: <mailto:ccamp@ietf.org>

     Editor: Chaode Yu
             <mailto:yuchaode@huawei.com>
             Xing Zhao 
             <mailto:zhaoxing@caict.ac.cn>
             Yanxia Tan
             <mailto:tanyx11@chinaunicom.cn>
             Nigel Davis
             <mailto:ndavis@ciena.com>
             Daniel King
             <mailto:daniel@olddog.co.uk>";

  description
    "This module provide some extensions to TE topology model, based
    on transport Rich-Detail Network Management requirement";

  revision 2025-02-22 {
    description
      "Revision 1.0";
    reference
      "draft-yu-ccamp-rdnm-yang-00";
  }
  
  augment "/nw:networks/nw:network/nw:node/tet:te" {
    description 
      "Generic Rich-Detail Network Management extensions for 
      te node";
    
    uses node-rdnm-ext-grouping;
  }
  
  augment "/nw:networks/nw:network/nw:node/nt:termination-point/"
        + "tet:te" {
    description 
      "Generic Rich-Detail Network Management extensions for 
      termination point";
    
    uses tp-rdnm-ext-grouping;
  }
  
  augment "/nw:networks/nw:network/nw:node/tet:te" +
          "/tet:tunnel-termination-point" {
    description 
      "Generic Rich-Detail Network Management extensions for 
      te node";
    
    uses ttp-rdnm-ext-grouping;
  }  
  
  augment "/nw:networks/nw:network/nt:link/tet:te" {
    description 
      "Generic Rich-Detail Network Management extensions for link";
    
    uses link-rdnm-ext-grouping;
  }
  
  grouping node-rdnm-ext-grouping {
    description
      "Generic extension of node.";
      
    choice layer-specific-extension {
      description
        "The layer rate information.";
        
      case generic {
      
      }
    }
  }
  
  grouping tp-rdnm-ext-grouping {
    description
      "Generic extension of TP.";
      
    choice layer-specific-extension {
      description
        "The layer rate information.";
        
      case generic {
      
      }
    }
  }
  
  grouping ttp-rdnm-ext-grouping {
    description
      "Generic extension of TTP.";
      
    choice layer-specific-extension {
      description
        "The layer rate information.";
        
      case generic {
      
      }
    }
  }
  
  grouping link-rdnm-ext-grouping {
    description
      "Generic extension of link.";
      
    choice layer-specific-extension {
      description
        "The layer rate information.";
        
      case generic {
      }
    }
  }
  
  rpc query-ttp-by-tps {
    description
      "Query all the TTPs on the LTPs";
      
    input {
      list tp-list {
        description
          "the LTPs to retrieve.";
          
        key tp-id;
        leaf tp-id {
          type leafref {
            path "/nw:networks/nw:network/nw:node" + 
                 "/nt:termination-point/nt:tp-id";
          }
          
          description "the identifier of TP to querey";
        }
      }
    }
    
    output {
      leaf result {
        type enumeration {
          enum failed;
          enum partially-successful;
          enum successful;
        }
        
        description "the result of retrieval";
      }
      
      list result-list {
        description
          "The result list.";
          
        key tp-id;
        
        leaf tp-id {
          type leafref {
            path "/nw:networks/nw:network/nw:node" + 
                 "/nt:termination-point/nt:tp-id";
          }
          
          description "the identifier of TP queried and returns TTPs";
        }
        
        list ttp-list {
          description
            "the TTPs list for this LTP.";
            
          leaf tunnel-tp-id {
            type leafref {
              path "/nw:networks/nw:network/nw:node/tet:te" + 
                   "/tet:tunnel-termination-point/tet:tunnel-tp-id";
            }
            
            description "Identifier of TTP which is existing in the 
            topology. It is not required to return if it is not 
            existing in the topology.";
          }
          
          leaf ttp-name {
            type string;
            description "Name of TTP. If the ttp is idle, the default 
            name should be provided by the server and follow the 
            naming pattern of TMF814.";
          }
          leaf using-status {
            type enumeration {
              enum idle;
              enum bidirectional-used;
            }
          }
        }
      }
    }
  
  }
  
}
]]></sourcecode>
        </figure>
      </section>
      <section anchor="rdnm-tunnel-1">
        <name>RDNM Tunnel</name>
        <figure anchor="fig-rdnm-tunnel">
          <name>RDNM Tunnel YANG module</name>
          <sourcecode type="yang" markers="true" name="ietf-rdnm-tunnel@2025-02-22.yang"><![CDATA[
module ietf-rdnm-tunnel {
  yang-version 1.1;
  namespace "urn:ietf:params:xml:ns:yang:ietf-rdnm-tunnel";
  prefix rdnm-tnl;
  
  import ietf-te {
    prefix "te";
  }
  
  import ietf-yang-types {
    prefix "yang";
  }

  import ietf-rdnm-types {
    prefix "rdnm-types";
  }  
  
  import ietf-network {
    prefix "nw";
  }  
  
  import ietf-network-topology {
    prefix "nt";
  }

  import ietf-te-topology {
    prefix "tet";
  }  
  
  organization
    "IETF CCAMP Working Group";
  contact
    "WG Web: <http://tools.ietf.org/wg/ccamp/>
     WG List: <mailto:ccamp@ietf.org>

     Editor: Chaode Yu
             <mailto:yuchaode@huawei.com>
             Xing Zhao 
             <mailto:zhaoxing@caict.ac.cn>
             Yanxia Tan
             <mailto:tanyx11@chinaunicom.cn>
             Nigel Davis
             <mailto:ndavis@ciena.com>
             Daniel King
             <mailto:daniel@olddog.co.uk>";

  description
    "This module provide some extensions to TE topology model, based
    on transport Rich-Detail Network Management requirement";

  revision 2025-02-22 {
    description
      "Revision 1.0";
    reference
      "draft-yu-ccamp-rdnm-yang-00";
  }

  augment "/te:te/te:tunnels/te:tunnel" {
    description
      "Extensions for TE tunnel structure, includes alias, time 
      management and another option of specifying source and 
      destination.";
  
    leaf alias {
      type string;
      description 
        "alias of TE tunnel";
    }
  
    uses time-state-grouping;
    
    container source-endpoints {
      description
        "Source endpoints.";
      list source-endpoint {
        uses endpoint-grouping;
        description
          "List of source endpoints.";
      }
    }
    
    container destination-endpoints {
      description
        "Destination endpoints.";
      list destination-endpoint {
        uses endpoint-grouping;
        description
          "List of destination endpoints.";
      }
    }
  }
  
  augment  "/te:te/te:tunnels/te:tunnel/te:restoration" {
    description
      "Extensions of TE tunnel restoration.";
      
    leaf restoration-lock {
      type boolean;
      
      description
        "a lock to control whether the restoration can take effect or
        not, it is useful in the maintenance scenrios, such as in
        cutover";
    }
    
    leaf restoration-reversion-lock {
      type boolean;
      description
        "a lock to control whether the reversion of restoration can
        take effect or not.";
    }
    
    leaf scheduled-reversion-time {
      type yang:date-and-time;
      
      description
        "a time when the reversion of restoration can take effect.";
    }
    
    leaf restoration-priority {
      type enumeration {
        enum high;
        enum medium;
        enum low;
      }
      
      description
        "when there are multiple services need to be restored, the 
        higher estoration priority services can occupied the idle 
        resource in priority, it is used to control the restoration 
        sequence.";
    }
    
    leaf restoration-layer {
      type enumeration {
        enum odu;
        enum wdm;
      }
      
      description
        "the layer of topolgy prefered to be operated when restoration
        is needed.";
    }
  }
  
  augment  "/te:te/te:tunnels/te:tunnel/te:primary-paths"
           + "/te:primary-path/te:explicit-route-objects"
           + "/te:route-object-include-exclude/te:type"    {
    description 
      "a TTP hop";
    case ttp-hop {
      uses rdnm-types:explicit-ttp-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"    {
    description 
      "a TTP hop";
    case ttp-hop {
      uses rdnm-types:explicit-ttp-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"    {
    description 
      "a TTP hop";
    case ttp-hop {
      uses rdnm-types:explicit-ttp-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"    {
    description 
      "a TTP hop";
    case ttp-hop {
      uses rdnm-types:explicit-ttp-hop;
    }
  }    
  
  grouping time-state-grouping {
    description
      "time management of TE tunnel.";
      
    leaf create-time {
      type yang:date-and-time;
      config false;
      description
        "the time when the tunnel was created";

    }
    
    leaf active-time {
      type yang:date-and-time;
      config false;
      description
        "the lastest time when the tunnel was activated";
    }    
  }
  
  grouping endpoint-grouping {
    description
      "Source/destination endpoint information of TE tunnel.";
      
    leaf node-id {
      type leafref {
        path "/nw:networks/nw:network/nw:node/nw:node-id";
      }
      description
        "Identifier of node for this endpoint.";
    }
    
    choice endpoint-tp {
      description
        "The client can choose to specify LTP or TTP to create TE 
        tunnel.";
        
      case ltp {
        leaf tp-id {
          type leafref {
            path "/nw:networks/nw:network/nw:node/nt:termination-point"
            + "/nt:tp-id";
          }
          description
            "identifier of LTP for this endpoint.";
        }
      }
      
      case ttp {
        choice id-or-name {
          description
            "The client can choose to specify the identifier or the 
            name of TTP to create TE tunnel.";
            
          case id {
            leaf ttp-id {
              type leafref {
                path "/nw:networks/nw:network/nw:node/tet:te"
                + "/tet:tunnel-termination-point/tet:tunnel-tp-id";
              }
              description
                "the identifier of TTP for this endpoint.";
            }
          }
          
          case name {
            leaf ttp-name {
              type leafref {
                path "/nw:networks/nw:network/nw:node/tet:te"
                + "/tet:tunnel-termination-point/tet:name";
              }
              description
                "the name of TTP for this endpoint.";
            }
          }
        }
      }
    }
    
    leaf protection-role {
      type enumeration {
        enum work;
        enum protect;
      }
      description
        "role of this endpoint in multipoints scenario";
    }
  }
  
}
]]></sourcecode>
        </figure>
      </section>
      <section anchor="rdnm-types">
        <name>RDNM Types</name>
        <figure anchor="fig-rdnm-types-yang">
          <name>RDNM Types YANG module</name>
          <sourcecode type="yang" markers="true" name="ietf-rdnm-types@2025-02-22.yang"><![CDATA[
module ietf-rdnm-types {
  yang-version 1.1;
  namespace "urn:ietf:params:xml:ns:yang:ietf-rdnm-types";
  prefix rdnm-types;
  
  organization
    "IETF CCAMP Working Group";
  contact
    "WG Web: <http://tools.ietf.org/wg/ccamp/>
     WG List: <mailto:ccamp@ietf.org>

     Editor: Chaode Yu
             <mailto:yuchaode@huawei.com>
             Xing Zhao 
             <mailto:zhaoxing@caict.ac.cn>
             Yanxia Tan
             <mailto:tanyx11@chinaunicom.cn>
             Nigel Davis
             <mailto:ndavis@ciena.com>
             Daniel King
             <mailto:daniel@olddog.co.uk>";

  description
    "This module defines Rich-Detail Network Management (RDNM) YANG types.";


  revision 2025-02-22 {
    description
      "Revision 1.0";
    reference
      "draft-yu-ccamp-rdnm-yang-00";
  }  
    
  grouping explicit-ttp-hop {
    container ttp-hop {
      description 
        "TTP Hop";
        
      leaf node-id {
        type nw:node-id;
        description
          "identifier of node for this TTP hop.";
      }
    
      choice id-or-name {
        description 
          "The server can choose to display the identifier or 
          the name of TTP.";
          
        case id {
          leaf ttp-id {
            type binary;
          }
          description
            "the identifier of TTP for this TTP hop.";
        }
        case name {
          leaf ttp-name {
            type string;
          }
          description
            "the name of TTP for this TTP hop.";
        }
      }
    }
  }
  
}
]]></sourcecode>
        </figure>
      </section>
    </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="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="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="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="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="RFC6991">
          <front>
            <title>Common YANG Data Types</title>
            <author fullname="J. Schoenwaelder" initials="J." role="editor" surname="Schoenwaelder"/>
            <date month="July" year="2013"/>
            <abstract>
              <t>This document introduces a collection of common data types to be used with the YANG data modeling language. This document obsoletes RFC 6021.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="6991"/>
          <seriesInfo name="DOI" value="10.17487/RFC6991"/>
        </reference>
        <reference anchor="RFC8776">
          <front>
            <title>Common YANG Data Types for Traffic Engineering</title>
            <author fullname="T. Saad" initials="T." surname="Saad"/>
            <author fullname="R. Gandhi" initials="R." surname="Gandhi"/>
            <author fullname="X. Liu" initials="X." surname="Liu"/>
            <author fullname="V. Beeram" initials="V." surname="Beeram"/>
            <author fullname="I. Bryskin" initials="I." surname="Bryskin"/>
            <date month="June" year="2020"/>
            <abstract>
              <t>This document defines a collection of common data types and groupings in YANG data modeling language. These derived common types and groupings are intended to be imported by modules that model Traffic Engineering (TE) configuration and state capabilities.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8776"/>
          <seriesInfo name="DOI" value="10.17487/RFC8776"/>
        </reference>
      </references>
      <references anchor="sec-informative-references">
        <name>Informative References</name>
        <reference anchor="TMF-814" target="https://www.tmforum.org/resources/interface/tmf814-mtnm-solution-set-idl-version-r4-5/">
          <front>
            <title>MTNM Solution Set (IDL) R4.5</title>
            <author>
              <organization>TM Forum (TMF)</organization>
            </author>
            <date year="2014"/>
          </front>
          <seriesInfo name="TMF-814" value=""/>
        </reference>
        <reference anchor="ONF_TR-547" target="https://opennetworking.org/wp-content/uploads/2020/08/TR-547-TAPI-v2.1.3-Reference-Implementation-Agreement-1.pdf">
          <front>
            <title>TAPI v2.1.3 Reference Implementation Agreement</title>
            <author>
              <organization>Open Networking Foundation (ONF)</organization>
            </author>
            <date year="2020" month="July"/>
          </front>
          <seriesInfo name="ONF TR-547 TAPI RIA v1.0" value=""/>
        </reference>
        <reference anchor="ITU-T_G.805" target="https://www.itu.int/rec/T-REC-G.805-200003-I/en">
          <front>
            <title>Generic functional architecture of transport networks</title>
            <author>
              <organization>International Telecommunication Union</organization>
            </author>
            <date year="2000" month="March"/>
          </front>
          <seriesInfo name="ITU-T Recommendation G.805" value=""/>
        </reference>
        <reference anchor="ITU-T_G.808" target="https://www.itu.int/rec/T-REC-G.808-201611-I/en">
          <front>
            <title>Terms and definitions for network protection and restoration</title>
            <author>
              <organization>International Telecommunication Union</organization>
            </author>
            <date year="2016" month="November"/>
          </front>
          <seriesInfo name="ITU-T Recommendation G.808" value=""/>
        </reference>
        <reference anchor="ITU-T_G.874" target="https://www.itu.int/rec/T-REC-G.874-202010-I/en">
          <front>
            <title>Management aspects of optical transport network elements</title>
            <author>
              <organization>International Telecommunication Union</organization>
            </author>
            <date year="2020" month="October"/>
          </front>
          <seriesInfo name="ITU-T Recommendation G.874" value=""/>
        </reference>
        <reference anchor="ITU-T_G.875" target="https://www.itu.int/rec/T-REC-G.875-202006-I/en">
          <front>
            <title>Optical transport network%3AProtocol-neutral management information model for the network element view</title>
            <author>
              <organization>International Telecommunication Union</organization>
            </author>
            <date year="2020" month="June"/>
          </front>
          <seriesInfo name="ITU-T Recommendation G.875" value=""/>
        </reference>
        <reference anchor="I-D.draft-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>Alef Edge</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="7" month="November" year="2024"/>
            <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-20"/>
        </reference>
        <reference anchor="I-D.draft-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="9" month="October" year="2024"/>
            <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 that is independent of
   any technology or dataplane encapsulation and is divided into two
   YANG modules that cover device-specific, and device independent data.

   This model covers data for configuration, operational state, remote
   procedural calls, and event notifications.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-teas-yang-te-37"/>
        </reference>
        <reference anchor="I-D.draft-ietf-ccamp-transport-nbi-app-statement">
          <front>
            <title>Transport Northbound Interface Applicability Statement</title>
            <author fullname="Italo Busi" initials="I." surname="Busi">
              <organization>Huawei</organization>
            </author>
            <author fullname="Daniel King" initials="D." surname="King">
              <organization>Old Dog Consulting</organization>
            </author>
            <author fullname="Haomian Zheng" initials="H." surname="Zheng">
              <organization>Huawei</organization>
            </author>
            <author fullname="Yunbin Xu" initials="Y." surname="Xu">
              <organization>CAICT</organization>
            </author>
            <date day="10" month="July" year="2023"/>
            <abstract>
              <t>   This document provides an analysis of the applicability of the YANG
   models defined by the IETF (in particular in the Traffic Engineering
   Architecture and Signaling (TEAS) and Common Control and Measurement
   Plane (CCAMP) working groups) to support ODU transit services,
   transparent client services, and Ethernet Private Line/Ethernet
   Virtual Private Line (EPL/EVPL) services over Optical Transport
   Network (OTN) in single and multi-domain network scenarios.

   This document also describes how existing YANG models can be used
   through several worked examples and JSON fragments.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-ccamp-transport-nbi-app-statement-17"/>
        </reference>
        <reference anchor="I-D.draft-gstk-ccamp-actn-optical-transport-mgmt">
          <front>
            <title>Integrating YANG Configuration and Management into an Abstraction and Control of TE Networks (ACTN) System for Optical Networks</title>
            <author fullname="Yanxia Tan" initials="" surname="Tan">
              <organization>China Unicom</organization>
            </author>
            <author fullname="XingZhao" initials="" surname="XingZhao">
              <organization>CAICT</organization>
            </author>
            <author fullname="Chaode Yu" initials="C." surname="Yu">
              <organization>Huawei Technologies</organization>
            </author>
            <author fullname="Daniel King" initials="D." surname="King">
              <organization>Old Dog Consulting</organization>
            </author>
            <author fullname="Adrian Farrel" initials="A." surname="Farrel">
              <organization>Old Dog Consulting</organization>
            </author>
            <date day="18" month="October" year="2024"/>
            <abstract>
              <t>   Many network technologies are operated as Traffic Engineered (TE)
   networks.  Optical networks are a particular case, and have complex
   technology-specific details.

   Abstraction and Control of TE Networks (ACTN) is a management
   architecture that abstracts TE network resources to provide a limited
   network view for customers to request and self-manage connectivity
   services.  It also provides functional components to orchestrate and
   operate the network.

   Management of legacy optical networks is often provided via Fault,
   Configuration, Accounting, Performance, and Security (known as FCAPS)
   using mechanisms such as the Multi-Technology Operations System
   Interface (MTOSI) and the Common Object Request Broker Architecture
   (CORBA).  FCAPS can form a critical part of configuration management
   and service assurance for network operations.  However, the ACTN
   architecture as described in RFC 8453 does not include consideration
   of FCAPS.

   This document enhances the ACTN architecture as applied to optical
   networks by introducing support for FCAPS.  It considers which
   elements of existing IETF YANG work can be used to solve existing
   scenarios and emerging technologies, and what new work may be needed.
   In doing so, this document adds fine-grained network management to
   the ACTN architecture.  This enhanced architecture may then be used
   to evolve networks from CORBA and MTOSI FCAPS interfaces to IETF-
   based YANG and RESTful API capabilities.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-gstk-ccamp-actn-optical-transport-mgmt-05"/>
        </reference>
      </references>
    </references>
    <?line 1131?>

<section anchor="appendix">
      <name>Appendix</name>
      <section anchor="mapping-between-actn-tmf-tapi-modelling">
        <name>Mapping Between ACTN &amp; TMF &amp; TAPI Modelling</name>
        <table anchor="tab-mapping2">
          <name>Mapping of ACTN &amp; TMF &amp; TAPI Modelling</name>
          <thead>
            <tr>
              <th align="left">ACTN Object</th>
              <th align="left">TMF Object</th>
              <th align="left">TAPI Object</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left">Network</td>
              <td align="left">NA</td>
              <td align="left">topology</td>
            </tr>
            <tr>
              <td align="left">Node</td>
              <td align="left">Management Element</td>
              <td align="left">node</td>
            </tr>
            <tr>
              <td align="left">Link</td>
              <td align="left">Topology Link</td>
              <td align="left">link</td>
            </tr>
            <tr>
              <td align="left">TP</td>
              <td align="left">PTP</td>
              <td align="left">SIP/NEP</td>
            </tr>
            <tr>
              <td align="left">TTP</td>
              <td align="left">CTP/FTP</td>
              <td align="left">CEP</td>
            </tr>
            <tr>
              <td align="left">Tunnel</td>
              <td align="left">SNC/XC</td>
              <td align="left">connection</td>
            </tr>
            <tr>
              <td align="left">NE</td>
              <td align="left">Management Element</td>
              <td align="left">device</td>
            </tr>
            <tr>
              <td align="left">component</td>
              <td align="left">equipment holder/equipment</td>
              <td align="left">equipment/holder</td>
            </tr>
            <tr>
              <td align="left">Client signal</td>
              <td align="left">NA</td>
              <td align="left">connectivity service</td>
            </tr>
            <tr>
              <td align="left">Ethernet Client signal</td>
              <td align="left">NA</td>
              <td align="left">connectivity service</td>
            </tr>
            <tr>
              <td align="left">NA</td>
              <td align="left">Protection Group</td>
              <td align="left">NA</td>
            </tr>
            <tr>
              <td align="left">NA</td>
              <td align="left">Equipment Protection Group</td>
              <td align="left">NA</td>
            </tr>
          </tbody>
        </table>
      </section>
    </section>
    <section numbered="false" anchor="acknowledgments">
      <name>Acknowledgments</name>
      <t>The authors would like to thank Adrian Farrrel and Scott Mansfield for their inputs and suggestions.</t>
      <t>This document was prepared using kramdown.</t>
    </section>
    <section anchor="contributors" numbered="false" toc="include" removeInRFC="false">
      <name>Contributors</name>
      <contact initials="J." surname="Meuric" fullname="Julien Meuric">
        <organization>Orange Innovation</organization>
        <address>
          <email>julien.meuric@orange.com</email>
        </address>
      </contact>
      <contact initials="S." surname="Belotti" fullname="Sergio Belotti">
        <organization>Nokia</organization>
        <address>
          <email>sergio.belotti@nokia.com</email>
        </address>
      </contact>
      <contact initials="Z." surname="Liu" fullname="Zhoulong Liu">
        <organization>Huawei Technologies</organization>
        <address>
          <email>liuzhoulong@huawei.com</email>
        </address>
      </contact>
      <contact initials="I." surname="Busi" fullname="Italo Busi">
        <organization>Huawei Technologies</organization>
        <address>
          <email>Italo.Busi@huawei.com</email>
        </address>
      </contact>
      <contact initials="A." surname="Guo" fullname="Aihua Guo">
        <organization>Futurewei Technologies</organization>
        <address>
          <email>aihuaguo.ietf@gmail.com</email>
        </address>
      </contact>
    </section>
  </back>
  <!-- ##markdown-source:
H4sIAAAAAAAAA+19a3Mbx3Lod1TlP0ygurF0xQVJWbZ1aB9LFCXZPBEpRoTL
dh43tcAOgT1c7CL7IIQjMb8lvyW/7PZj3rsLApKc5KTMKlvk7kxPd09PT79m
NoqiQZ3WmTwSw1+Pz38QL+I6FmdFIrNKXBWlGJdxXi2Lshbnsl4V5bV4m07n
0QtZx2lmnp3FeTyTC5nX4v7bF+dnD4aDeDIp5Q2Axb8Fwh4OpnEtZ0W5PhJV
nQwGSTHN4wUMnZTxVR2tm2g6jRfLqEzyRbSO81l0cDiomskiraq0yOv1Etqe
vhy/EuKeiLOqAOhpnsilhP/l9XBPDGWS1kWZxhn+cXr8HP4BIoanb8evhoO8
WUxkeTRIAI2jwbTIK5lXTXUk6rKRA8D1y0FcyhhxLpo6zWfDAVI3K4tmCQ9P
isWiyMUJYFIWmYjzRJzJuGpKJvwii3M5HFzLNXRKjgYiErl8V4uZzGUZ10AA
PmrydFqU9Gu1jMvrDIYRSVrVZTppapmITCYzWQ5uZN4AkkLsNroQzKXhz4A4
gv4Bu+PzBcwXPCcOP0tlfTUqyhm+iMvpHF7M63pZHe3vYzt8lN7IkW62jw/2
J2WxquQ+QdjHnrO0njcT6Ct0Z34ymhaL/V+bk3kMcrRvZhO7ZMD6qt66y36f
ZIzm9SIbDgZxU8+LEvkUwX9CsDwxGPFrQ8+AgCPxYxOvZCrGcjrPi6yYpbKi
l5L5sm6m1OfZnNohOgHMX5Cb/wiNLMyT49OTsQvlL/D6HbR7No3TaT2Kp6Np
HoD5Nc7fpbEYx7kDZ57msfgJJWPhgqvjfP3u8PDZFN+T4CzaAM/Tmcxg2d6k
lQMxlXnsgsoTbPBsis87iHsR5ylA+XvA3QJ5kyXiRTFDkauarNbvFMSEujwr
siQpZgBy1FwPcE2xILfn5E9NBoODzDZlOnUGAf0yk+I0z4sbtUjsGH+mPqMF
9XlWUNMO7C9lOUsL8VxmRV2nFvZ5cZ16XKio4WjCDZ/l+L4D3j/OiyYrYLpf
p9tLUJY2f1H9+oXotI4zQLSp0q3hUpcRdukHe5zCK/FD48jmq6YG1bAJcIyd
Zk1Bq/zZDB8S6EFelAuYihtQP4M0v3L+EmJ89ip6cvj4iACpjeNsDAr+ssga
nD6YDNgDTl+8fiDePh59Re3sIjXojc/Eq6JsFuI+QHxAb0grC/Ho4PAx/Q2T
BRgjAkd6WB41LmcSVIhWIKvValQvrhAa6apSVkVTTmW1n+a1LK/iqdyH99A9
WtSgPiqFaVTJOkqTLLqRJW4vUfk4+mp/gFS+OX/1r+O30VePv/EIHR9fnIqb
R6PD0ZfirbySpcynILqLZUY6mMRXHM9KSX/2kf4Gtiu9caJOeVU0sDqp730Y
2GMGLJo1cOTRQYsj0FIwiozW29NjcXM4OuhkUQFD5mZE4tJqGeFiBTz3m2VW
xEm1j+PsHzzZZ7ARgo2Y2shQG/nURoba6HC0TK6Qeafjn6Lxv/4wenLwlce9
H3AfTKfiqsmn2DfOaOtJazlFURXFFezD2thQ2FZ9TDzFqc1jBWcsMwmiu0Ad
yZwEZapUieLkGY4FrDxos5IQhglFCFJPBeHfK29p3YxAukDWpvvj6O3Lk4ja
Rwj/4MvodF/mA58XT3xJkuWioj08kVdpnuKQbG8pwsWyLJAxiAo2A6EGnWoV
5OdgyXlxI9EgwiX39fZcebIjV55ECP/wUHHFYco3gR6xRmRcLYH4CmWiWNZA
QdaWDSFZED+fjLyZ1gXzo2PB9fHjm36t1MmPbx5HCP/woIMf/oJ500f5//ny
+ALEo5gWWZTLBt5nYN4Z5hmdDQgu0JInwarnMuScuEnl6rNx709NLndk3Y4L
7JuviHUHXyvWRVEk4gmYzvG0HgzG87QS4FI0RBqtK1kJIFiAFQ6GPg5KLk6C
Ls6CXZy4mWFz1MN1IcYv4f9L3CvXtOrw7wY0Z4bNm0xWe2ISV2CkAyjkJ7k2
9zc7RA9g7f5bk7KZXsHkdGi5EdOySJMkk4PBPWR+CSPS+h8M3r//27evTp58
84evbm8NYbFPDGDH06x3+zU7Hul0j0hJQS4MuUDBZC2qYgFaF+jweuHKS69A
TzuQgW45mo3Em/G5ZZBlIxL1/v3T0+jFiO11tCiUxV7UeYRdyGq/vR0hNWHL
GvwY9vdq2U+hI8egHMGaBd7gvCF1jvSDygCf9QopeJnPABDwAFrdH798oCYT
qHkdgw0oLldpPZ0DMy7iel6J+68vL6oHil3adKhG4jJdoEuUrfeQi1Ow8YB9
khzQj2YoSluqt1Kg1DTK4jV0RyK07AHLBsdTcBoTJaV9rDZyFeWTNIqXy6iC
XZpGuL3dUxIwK4oEgTQoxsjLaVOWiAOM53C6WlfQExsya4EpZqlBR61ItDCM
QGJ9vGZVfa3wgi55pNS4g+RitnDwgnfg+YpjO4b2dO8fnzwQQE1ZxNM5MOOT
RqJJK+MUqY9znitHePQwe2I1h1XtILZV1GPEGgH1EOi+WS6J1WhnpeDN4+/A
WzClS/Hq5PjiEmAv40mawfYPEgHCOE9Zr5Bl9o5k+fhkfE6LxjGraI1UU3C0
UJBa++JVWSwIDKr3ZZHyosAH7s5A/cCqs0iAfNPCSmjtze4w1wyDiKWpbwQ7
UZmRIMVc+tofnhBCfjdQrilt+ouiMkjfQKeirL7AQA4YsmAE0V8soag6x4XG
G4lKUoUts9iiT1yGicVtkCcGns1y4jsNRJJP8Rg2RQ2kDqmomtkMTDKGA8rg
/XvlooCKA4LBWAZOyz1WCQv4FV0YEdcqzAOzrdVIqlS9TKAj4HRTpIl5iMjk
YGZP4un1Ki4TsNkXS+DVBLT9/fPnsDCmc3SKmS6GmaXXJGqaJ4RC/xYYbGla
HbAacGccOH3pgao0P2Igz4gLzBKsGCOMpM+gJbZhxZ6I1Nk9vf2Wn5gdF7Ab
gaoGAJHRj9TEogDSmyMXr9CJQsC8pMOtEcVkcO8e2d1pbgc8L1jyqsEAfgUr
hmczThLmSAK+cp6MqO9bdxvXHdHskOJargUG/SoxPPvpcoyxR/xXnL+h39++
/IefTt++fIG/X/54/Pq1+WWgWlz++Oan1y/sb7bnyZuzs5fnL7gzPBXeo8Hw
7PjXIW9ZwzcX49M358evh8xg1xpC7jNptLEtS4miG1cDrUeId89PLv7zPw4f
C7Y3Hh0e/gE0jTI+Dr8B0Yb5ljmPVuTgmfKfwPH1ANaIjEuEgrMPOiWtYxSu
GNbKvFjlAtfEaPDdU1hgUkRfP/1ezQj4j+JFGs/KeAH7nKhQJcBMA0bwaDkn
C7iUgHFl1IRSDK4BUvGGFhI+oulZyDjXyxr+rNaLSZFVtjGPzmrbSKii+8vH
B2S1AKoXsKjTd/iOguTnGGI8jxeyIiM+GHmPQjOkzAjPvCC1ipwjCXWQLyZ/
RmeHQrFo2+AogENT0X6PCNfQD1a/egc8rYppGuMUauUFncFCACYti5zsBFoB
wEvYGKCZMeP0dNhVeFVkWbGioWJQK0DqB03pB4xWzjAbgNZl188HJw5Cf0Pn
iH6E/qX3J2xBnfOVgkt2jVYinSObCcL9kDvXHZ0jo2E2d65l7XSuZVc/vzPb
49QZjVfbmU3Z9RImvK/z13/4w6HuDBJX28741/ada6lfKbQ7p0lN1auTX+FH
UctjOOR2DulQ+83XGmGBYfhaj0kxecMsGkb8Aj/CSAS3yDO/B6v5EMPOroSa
11k9CTu8PxL3QIwjtYgqdqX/OLzQf+MC7Fgoan0MbwcDBPmSskiCtoTBRQbu
iUQdlIE/wMMZmwFbc1oJV6Ux+QIlFICgWbgbhHT8TzJ1HUCL4kbyKGDE4qK9
B9bocqm0HBqNrjnDCoaHRDtEa5xNZqUTLojRHvyMduYIVApoOr2nw4ax3mNd
5NiaMFHgCjRoemwVKVQWht3OjAUKGxX0sPFPxzkDv0X5BNrpvInLtGgqwRIG
/Uqj4IhE0KFVgzYPswgcM1lV4oKov398Ae4j+C25itypxycXyqsExxTch3aD
sWmhvFsEiphOAGkp8w4kQv8kTuIlb48jceywB4Mb9RrgxjU/XaQUhbATZMhB
5PQK0RhWvSiMMIDP+zB5RWyCojlGLdnZwdlYMhzYbsBWXYL1Ib5Evoaih+O+
Smc4v4fYWf3+Jcj2G7AYkrSKk5sYTICZ7OoOnGBHsi7Q40IjArPNYFRfFiTz
xrCoAmNfubptmGTIO4wlbpO5ra1+MphdH65DXhhK+JR8iIKnxYHpRRC0qZqa
+MvF+IL5BP/KeqpcK02ZCsxVdUoWGNnFC7TLEo4aBMRdquFjkRW0cpWjxUaK
drQAu6Ko2H2xPGPbIS0V82COnrtOhNcYVsSbt8+P9385e23DKmIVW2vLcVbY
aXOjL8C9SjpPQMrQ+4TGsK6t0Sdd31Ct9RFb53YxkF40LiuG3VH3eM66Yuba
aDlYC1coiuwnkI82j0H5xpjKJzvVsoUU7OmFo2D2MLqAwFZOs5qi/xzjIWqs
D0jMnzQp+HHNEsbwOypuI09AgdaO6qxk0FTr/Gpu4lViGZc40VQS0ZKPuktK
0Zmz8q/na7JuS9OPxUreyHJPz4Z8l1YUVqV6Db0VVoQsUkwbF+geDNSlHLAl
LeI5dBjt4R0lnENHjhBPnLhmSe85foJxhVqGYZa1Ht4E8TA8rN17JW3iKi0r
GwrSoYpg3GCO4iwuF/sggaRXkYOLIqdSFGDBQuIST6vFnrDONqphHVGjgA/G
usz8jcSfGkCCfPkVrlKSuQkq4qTIJTsoTiJFKVD32VfktyBBlQT4iUdRKa17
4YU6tqRD6y7DGSt5GF2plIL0xcsdyFI6GJxwzCFb90tHbSXezLSOBvvzZfZR
Fw7ucBh9kYslbxJlyooDpdPuZAGjYKHkUts0dvfhrQblNM1hmLT2bJeKhAQc
SgoKUxjI6lpGi+M0iJmSwAUiKK+gLQiFjk4t47WTuFkZsLjFUxQ08DdbASD2
7LoIAzlHX088cgN+C2U/6g3fTK1WJWTBWOuRPEVq8IYeoAGPr/VfLU9iEDh8
mz1EbH7u+n/w53Gvd0PQySO33oQTnn2pAu1e89dpfu00H2sXxntum8Oe6/oq
F97fHc3d9x/Eyfhi/1VPF2ruukMfxOX5yf4vJxtIfekhcxepqBBBlnPl4mIk
a0mt5kWWyHLfPqDmJxktOtwV4+xuvr9EsUYn9u5+hLv3GKMNJtVN1Wp3NH9p
cG11tA6gFmbl/4W+UZ9HhA4gakyqrsCyCs83YFVfSfZzcBN3I6BJekW7Z20d
Ize5r9RIa+N83tSoTsxCJOPUoktYaHRhUXMuVT8ADabt5OgRm7C2dgWhn/I6
RjUM7u47xiJUG0QkRZZLGS57R7HT+rfouBYec0Ft3WSUkc9o7QkKC4NVAW4N
Kh5HlynGVKwJHTsPQ4miisEgPntxecIuLsXLSpmxMTZPlzxdOmhNeJtQxMJW
sVrzwUnMsX6slOVjYSLuE4nvjgaDf4cfeDBN0wisp4EVxIfdauvhwJXVVqKM
hXonKO7P/+t5/sHmsfta7Iw6/Lj58I+Bghh7/4QEfBBuBp7AO39/cHFRgwej
PvTfgnYY/yicYNQOfdss0/92MrcFzIPywc+Vf9jIuod9GBhowduwf/D6g/j5
hZNZubM3CTmpTvB0OIlqOisF+tZdH1qL6kakNV8GC488vDhdsDHDKhSVDBYx
O3kwnS8i+9CpVBwJn4OofFyq9sgB5uQDqV8E4shOGx/Hy8z8nJJNJ4GWOc5q
cJlmcy8H6ehbolybQi0vSqJ9TQ48R7RApYIGA51WhaCgq7IAtbcCnugipoIE
0tscBqC00p6XmnO1s2tsExmJTgpQKAEIBlueQhOBi3TVAL/c5CgFyWLPRucx
0LnHPSpv2fBWq+oMRdVpeFfxWu1mMC0RqVrXbQZqr8h6jdHQV+U6fnECO5FO
3U6tvHAiY5fErU7ne2lE9GgbDmCpxK4js8qh3FJuedsKwBOCwEf0M7I78plk
wtuN0/jRq3htCwal2h0lyhedGtgE1Uai0RFxs6+WQWbbtyvOy/ZjTMmVMRK5
3v3xrr3hrp1xl22xc0/s1Kd3gu9Xkl0UiK4N8jvbVu0fxOiXZi4+KxaivcF2
0L1xFw432c7+XTvxJ/Xv34pNnxbt7n7dv9E7Y2IT5v4vY3rw+cbvo7CH/rBR
jwg87OjfbuL07zAz2mNiE8OGD591/H4SN/54/bsGaP1ssnhCc6cHL2xk2fDp
GLSNJj8T2mM5EQot8+m0NnFpcnl04MdmAL1SHIpTrsB5l76ajq8wv+KW0Thb
i9LhnUr7E3WR4jlg68cxttSGn0MTbqEHe7XgFjqsVwN+TN+HPpVh3y00n2Jz
W+9tr/V2HLebpk3rPeh7p67ZoGlYiRnZauu5DVruU8btJ2rDz2665W7N5pLd
wuYTtNrWGo3Hv1ufUTvUZvfCZU4niZW6YzOYotKU7WR/aA+Un3K8OI/rlGKh
9b8nwO6mXmgIo6uicicqMUvuRqsO9apMwVzFxIKQZBxTvo+wGV+osj7fVKZ3
1qob3B/bisAHXLHmZY/RJG8qlZQGoEGtNkcBTRqcQ3S2emiPwsSo+XNzKIPc
MNewNNVv5OFgRqIEy/9GYl3EssAjXKnvjMnyJp1KlUFmRuiygfvpSILXrJtM
OWDr5PjCIocYJWz/zclcDwDWf/lAJyCkikdq/0/3y1sgtavM/lKAGNEMHMgT
2D4j6VUgULaSpQVP9RHxGKAPCk4QpkywKE5My6KqIgsBCyKW83VFySPiEOKi
jmVLm/9GB25q3F5V4CDfxShSIJ7i8ODgB0HliwaIdqCRU08OAMIKvDCYfdiE
37z46aCLsY8P8NVh1ysc7kZlXlr8YxbRRPCxADqXmyZ8vMEWRN4UGfh6uGwy
PFcTVUCSKeXR1fa4WlZpJdndXmKCXzmzla1beC6ncYNtMHPlREMWXKeoJQ8W
lHZSnXAM+JWTeALvcCiOCPPylZzWZSpNgao68GCCOxbNNE+4kkNguSmXRqBh
NL5wk9sqskOjJKAgDpCZ0B3m3h5+QetqjnWUmBxLdYgBq8FYpdmaLE9c+rJt
OlSAWDrBJepvliXhqVWXcebpKdhvTlqXeDRZe7U3WJ2RoyW5kBQkIXx5yepg
SSkxl0nFYDx37sAotZjmBQF4e3FCEjuX2ZKCG1hsogpI8J1iJYBryiCDjyou
IEjNJZmqhJ2tg2Y1SElWktOoXkZp4hwXEBNY++WaKqxs6jVEXAuAU6yfFVNe
rx5gZSkvOJPCyc7yRnKFg56TmKpxddtKqkG4gA7fKPKdlOkS08WlV/QwPns1
Ej/P1QptTYQO2cQ+MXs6W2xbUEoXh9XpGGqm8ta5SwTZ7Jr0pIt2PNRCVr86
OKJLy6al5PqnYwLLgyie0oEEWNZ5iCtJKmpiR1AJf8UfW+Wt1iDoQ6UX9Emg
lndRLqfVkbby34l/a2S5jmogYAL/LKuBMUZKjE0tGx1E+qAfQlMc5f+KfyKq
/8W+F04TYAf8ZDK+Aj57QIumtlDNU9hSm6x+qh/KHBa2c8C21bITB7eZwSHE
wmukiQntS/Xamd2nPYA8WChFmga8Q6Sd/+G2VO1B58Ga6mlALpl9LZut0qYQ
m59k+py5gVauXQTJP8PLIaILrhiie0ncB2EDB6KbuvOOWmJRPJ4vUAHrirck
tA14L6ymMsc6Te+oDfVA80gZClRBipaCLiOVrlmpKtXUmFidb5KlXclCXZnC
O59CZoF0+RgxA+yLoJmzPk2PwM6g1tO4MnYcrKifvbh0R3w85F4Q7CeYLd65
9oPZUjFrgxuaMY+4hMVlltIse64W9PXbZG30A/yKMqqP0NhT7PD3PfG6mF5z
0aTzAqaBj03FaNblVIVkuLUnlrIARsHbtdkbYI3Iv0iVyDWQnLova1Qr28k3
7Uh/FpMaBtTMmDYAB5ZI9YXgi4JqRW9cwn7Lu4sqjVT7P48s9bSBqDWWtWZ+
pk1dgGJXOy8Y9jd0nqjJKzp+YXtfZaoIgIww2n/AESDOg/GC1eIAyhvEAS03
AeQqIT6+enVFySij73VrPOylBPXL0aPRk9HhYVBzdvDk9lZQtg11BaWUcBZI
OSylze23LjIo+W4lUdHpW8r/OKtYlSHoky1OMgc25LlzVnNv4wIg6kxyDLw3
i50jFcpB23DZglUeo16JFTiJdIUIu7YkvGoyjODu2YlAyZ1IxQll3FBlCVVg
uwtOAzEMHYkXrflWpfMkEgr0FR4558r3ZdZQuS4Zcfg7jAlCI/lg6kJdrcWz
gId9r1HVlNJW9yFihCjbIqQbwCWOp9eafUWZzlKcIW5Gx6evXIVB9YYd7NJK
dWVLVJ2z8lam2ivbgDAemFpQ2syPg9ymY8Wxx8pn4r+A2Ui51F4fvQ0FSs37
JeZlG7332fHR+h0MzhxV9ediAtttQ44RWsHAUjBE6eAHJe34dBf2A47mSbHa
o51WaSM0rfN0Nq/pcJ1WdrjtsCOlJ98ewjBTjRXV8ZqdhaDgUM/chI7cYsUp
NCb/EH9R4oWmfq1B6ClcBJQBRVcgpWhYvlEF164uJD0IvLGWOIl8KCm0ljWl
fjVp9zTbkkn2mNKZJkRt5Lbk+x4d1UthLNb7nXuLLhZXHqsu8naruFxElhoe
ek6mhbpOgOMxSm+yf8Bbvqt99VY10RSyrxpbH2pPzIEbkRnKdF2qjVU528V0
2ixxM1DXHLHjAG5LR1cVdDGqhmwk6y5YZQx86hkdc+aqQEExl05Moci6HDIR
tJb9r4oyxH4tj2pJ/2e+2V/xNweY9hbKlTtEBE7Q9VPPtp0UBVjIeXdzIzym
Y6t5xYtaJk5jnAoeBY/xHeHlJlGMgSlc6J0DaZ5Z3Dqs63tkDc2LZY/V65wH
xUkz1luhjklhkAXPtKQ1Gav7r9GZy6dZk8hkX77jX5wyfJwfVHklHqPFc9EU
1LJxPe3YmUqNpToqakdUBQvGTFIaUu9oqKBgwbgxLxREFCM3CHZtE1iwbgtY
9zZahEsR+VrZBROE0K7NItMLSLd8B2unbyw2gRzTVPMQ8e/r9AV7yPqYNHNU
E92DFvQha5iVFSjiqjaBmlaXpJBV/kW9EyUtI3tnSrRsfAQl5KGV0oRuVwUG
3ytXKHVgQW2/bYwQEdXfGJm6lEgHuGGrSVGxVxwJIwWX8mZ9xxznbigCFtdG
dtXsoTsxF4W1xpEshwnutHkvrhhxSfRdO44/xHFmJ4KT96GhAz8UjlFGR5vz
H6dEQRUt4nId4f5ahQ9MZABfaG0S0c4QqZh3FGc4w15Lt0Gk1kWkpIpGxwtH
lWY8uo9Mhol44ERgVkI99AMrK1JkKtAh8tWR+jNsdT9NYPYp0vHgaRhSOYK3
D7yHH9xBFXAVcmx3JqBdEZOVF11RkZUtJ4EPW5hp8Jjpv/t9In7Tidh+NegX
bAbI3yfnt58cuxJcpvetlt8n5tMnhi3RwT0RXLqik+A2Qf/+PVYA1LJWBQDQ
/PYWz0QUK7o+pFJxUinN5SkqERve2OZk8dUldcP2pRHD9n7HjY86bpgY2DMC
Yh/Zrs7/O7/vq9mA6a2Pap5dPRt+oWxk3BY7N8RZdZ3Rgx0Gy3Esk9jmaKs3
N/+16PBgHQioFEOI6m+NVn2Upfn15+ABPDU5pc1JJXq78rJKaoHB0560ks0r
cZuuvFJPYmmHzNK2qaV2bqk7JxRkl8Q//UuoFnbLMO2UYto2x6RLizzFouuK
SCfpeiKtioYDUAZ0iw9i8ccO3TFCGFhzZNWYyi6xEtN3z/x2SoyrnrZSYQoz
Z7X075HuEomzNK6ehlz354PngHMzThBD/3QHM1QvLKO62bHXSuXZsFyHK0bo
1Yeet0YkbdrW7qDOC13jFn0fqBKtR0jVOlutC+++Hg3k+0EAlXRIVqut3Ty2
+63dbtWPuzR8MHULjEWhtd37dPm7fvCuc/PvRMOBZY2A4K1woelV3IbGbWwK
BAQik73ai1snEr1j3j38+d/YJNBLHUJg+LCbELjwOoTA5a4jBObxlkLgg6lb
YES/EPh0dZl+2wtBF6zQEtxeCNw22wnBRwZ0d43o7hrS/YSY7s5B3R5y0JDx
6OndAr1tqXsL5H2lfwPkKJje/lRY3n6+p8uupx0KWaA2p64L3N7/zYDZpL+L
IA5Hh9/iQ7rQcIl5rGFT5kfY94jON1ZH7xbZUV4dEXc77Hvqri4vpLvj4AE+
4vsJ/bv+aHzTepivuPdtb48Adadr3dvVvd4v6AXGiekmBP5XlLM4T/9Cs8ht
h3Qe8eTk+OxC+B/aoZ54mwtsqartzz+In+XkSHyH95sf7e/XILKV/bTOaqa+
qPM9txfQ/nWK38j5Dj/JURdH/id7vmdq4IdvqXO+dvM3vmGm+3d82+b7oKn5
uI3ogdH1ZZsQiP20TQ+Q7u/ZhGCcD9r0wAk/ZhNCcL5m0wOh4+M13w+VUDrl
2moGKUisVkz3rbpVeHs8GY7qal2Goq/CIyG84zZpJwuusQJlRjee4w37X0UH
j6JHj7TkthAGlN/q5oejAxZKYetzTKv+724dBGtA6/zhdm7nsAM3I1pD/SWQ
O7gg/VI03b2WZDJoqvj/TYU5VrQIiAjoGtGHs0AEPpKQLnd+f2jl6SGpit+c
1qBSvoPqevnZaNYEPXSXzXBj2OC/Z6brfqK53XZkezGJ34ISBN+BPj6+a9L0
0x6p3rT4Na72VAvef4kljhoXjc10XuAxkL4IjB6kcxhSjKqvoFJB51ZJZyRh
mDjFu0v1ReHvfUwU5eqfNhe6JnxnHowv/po58HlY8FfNg+6FszMTEMz/SC50
Ul8up60A5yaS/wHbmsspqKpXFUm9ht9Dsik4ajGgen4VRrRPe4iGwTRY9yyK
R7AlWdD5EHJqnffoi6r45nu3F+ZltKPqvxFcPnbXbgbbWGjNEsbdOzs+RCR8
1G+76fD3COJBijcN432g/PEWqr7ASZNrF+Jt10RryBxOdqYCOcMRYpcBxBjH
sfSZgy9Uhd63red4ASgVkUVVQxcXXzVZu1XnO4cTnULBXFDYUtUdyUKcWfJv
fcFTsuaEwLeRt7EdBbvsJGr/+4UOJS5Vt8jyUS6qbqk6ZdBjCC37jnXfOxNq
7ZN6oU58uAo8pdfeFtMmg5nvnmMKOL1pFracB2vKdk3HXUat97I9QcEUiWAI
b5pO/SmCOTIn4cIao4AJ9tNKpkpP+YWJUrZ4Uo9rp9R7H0JfDdNoS3HjeVJh
w8454vTDtxvIP7fFTqYwDkDSHaoJFhXyAemrGBe0D8c9l+ee8FSHS9QBOZR0
59ReCwTSr4/yIR5nr54cPt7EAaLaTWV1Ut6rf4nxqEWRvG8730zSBCZRFadH
eLhjk3Tddqxcd/dwTIXbnjQbfZ1CH993I4Luxw+GA87YTNHdWMTltSyrPw7x
y9hD4bzpy8M9s3GJEX3s+baVkdsUfeRKuveDjtDj4GMijxw8xb5O2BEDrvho
EAYDaWA3BEg9b9tNnS97+F2IZO4UdHG+V+F3sS+4Iw026AmKej0xJnpHDye8
6Xetu7H0AqIBM2p/NDccSi03REMHJhjKLbeOhbKg3xUKHXCzViDUX3Wb4qB+
SxsG7YbQGQX1mwbf926B6ImB+o3Db3q3oLQioH6z8HPerf7d8U9kp6O9eco+
MfjJlu3Hxj6p1qMr8hk6P9r38eOe9NSEPXWbjVFPvThs8Kg/yzXsx6N9jFap
OHOebE/XmFec3t/jI0EKgPtNwtx+qrAwt4ioimI6SGfPu6reTu51NFQaT+1s
NJbC29/FbV+zfRvhGXI397OUiru3GjrH5YAE/uqkjWrRW/ofqQI6kxCWDhiE
2qyEwS+ZQNN6NNTIkuEZADOwFE4mHexj1DcajPdanWmvese9Hdj/B6R1psY3
0/fCduklsgvs56M02YyBJVdNt14dG5dHkATebrW4IuYmVy0yVpbDVLIv1io1
7HXrmQC8AobPM+oPMbhXjfhHinM60Ye39eP9q0VpoMAS1SdqYDbAe9Z2d3iO
mY8x64M4qcVDHeh0VlYftX4ifCPdH0Wwtr+Cg65TZ1fzuUB3rfQg3peR99Fu
Z+a3mzk+SKmvzdiEuotyH65dJQA+np7lbxAhwx6PqnzrP8I7iZpF8BCcFX9l
baZRE6euH9jqbCE7VgYGH6IRXScavbOC5ugNRxcyB4Q+b4hSrTs78p64whSu
GgOkosOqU7kN+zmYui3vwUAJuLxKFrtwuTbxW32bCVgy6uil5i6fGsXD6XP6
IpY9WKrBpDwbMnEp3FVpeucWhq4F95D7ug36q+G7em5TDT/E9i1drZkHS04d
tlIUUiRblcibWaH9yHo4FkPV8OOZE5yu6SJy20M2fyUM0o7Xbyc/Xcdfuvr9
VbPxo+XMO5+yWd7+VzMQf2Em2pxk297vt/Jop3YcG+8j9x3mnVPLvK2pwOf4
xVWcVeZZr7b3LQdlcuL9N+qCG3Y/25uUUy39m+CVxVVNV/304UcIKAwJQYXf
bTA7LX+gf27Yxdrv8gO8j0XeNWeqKNfniwnlGzq3i+HbQ1XDcCfvZJ4fa8eu
NimhqemwPFTi1ykb3uyuBWfL7c0X+pQvns3nK0bJKCJpQrZZ2zngn7FMaIlm
DgJ+qsrREz2M3YG5HQkpTxGRJrIZKufVrfN7t2MJXPJzU8iS3rlwYQammtZZ
DolqumyJtUd+Lz53zlqYUCt9Exp/3KPb3sy2J9ShwdARTKGTYWm92TjB+LNT
FqzV++HuCbAAxm3wdx/fifcducq75CEcw/095GtLCFq5q/9xvEW0Pp2nrjx+
JDf9dRdudcGBgK29MWRU4I4pUFspchpL39Pg7EPOxXqVuYckdLRuuyrt/Sus
bVLqc2TACNDG/BdaVpur7zk/hGm8z1R6z3kl7OslwPDxtzpt+Hth+++F7Sa3
oz9yeEd65j5K9ANeNiRNIwZPhWr/PTXqumrBqxQM/RiNiA3UBy+6636RSaBc
fyyWXUV8vskblGhZ69Xp2VfWlG4wXZUXN2pVUplawrZF1F2j1aqkcq5KtgZR
klbLLO4yiLxSKX//6S3EMpZPZ2lJT/EPX3jQX6SxuSZpg6nR5qUH2TEnPrkS
ZgeEO/fxjah2FIp27nu4QjvqP2i7+QxbH8Lp2vnwW52kM/RNm/quWf50BPrV
//zdcZLQ9eYLr+XUa/k9grqU06a8C0qlG3UAOD0+P97YmRq0OkZRRBddIohj
9QVVvgdZ3aT6XH0qmT5/8Xf0RcC/40+kmpuSd/1IMvUO3u765eTOhzt+Ttn/
rJnFY5dvLOduWwfGLh9eztrPdv4a8+Xpxf75S7/Brp9oPnnZfrHrd5ud2589
GLt8zDmR9OGOFh67fOHZ/L7PLzWMXT77rGm5cXJIu34Lug/GLh+I7kJy169G
d8MIPiX9qO9b0t3rHrUgQADPZ4IJpD8OKfbHJ3WPp9d5scpkQqHoii9Cj5t6
XpRV8A13vKT/WhwnZQpb9Ku4xG9VUKXH5bSoaxSVCva5zHwGIS25oJ/vIVeX
hqf8ZdOx+wULCiSCa8CXLfO9stfgUCTFKh8N/j/Z2+nRF6QAAA==

-->

</rfc>
