<?xml version="1.0" encoding="utf-8"?>
  <?xml-stylesheet type="text/xsl" href="rfc2629.xslt" ?>
  <!-- generated by https://github.com/cabo/kramdown-rfc version 1.6.9 (Ruby 2.7.0) -->


<!DOCTYPE rfc  [
  <!ENTITY nbsp    "&#160;">
  <!ENTITY zwsp   "&#8203;">
  <!ENTITY nbhy   "&#8209;">
  <!ENTITY wj     "&#8288;">

]>

<?rfc comments="yes"?>

<rfc ipr="trust200902" docName="draft-gbb-ccamp-otn-path-computation-yang-02" category="std" consensus="true" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true">
  <front>
    <title abbrev="YANG for OTN Path Computation">A YANG Data Model for requesting Path Computation in an Optical Transport Network (OTN)</title>

    <author initials="I." surname="Busi" fullname="Italo Busi">
      <organization>Huawei Technologies</organization>
      <address>
        <email>italo.busi@huawei.com</email>
      </address>
    </author>
    <author initials="A." surname="Guo" fullname="Aihua Guo">
      <organization>Futurewei Technologies</organization>
      <address>
        <email>aihuaguo.ietf@gmail.com</email>
      </address>
    </author>
    <author initials="S." surname="Belotti" fullname="Sergio Belotti">
      <organization>Nokia</organization>
      <address>
        <email>sergio.belotti@nokia.com</email>
      </address>
    </author>

    <date year="2022" month="September" day="12"/>

    
    <workgroup>CCAMP Working Group</workgroup>
    

    <abstract>


<t>This document provides a mechanism to request path computation in an Optical Transport Network (OTN) by augmenting the Remote Procedure Calls (RPCs) defined in RFC YYYY.</t>

<t>[RFC EDITOR NOTE: Please replace RFC YYYY with the RFC number of
draft-ietf-teas-yang-path-computation once it has been published.</t>



    </abstract>



  </front>

  <middle>


<section anchor="introduction"><name>Introduction</name>

<t><xref target="I-D.ietf-teas-yang-path-computation"/> describes key use cases, where a client needs to request
underlying SDN controllers for path computation. In some of these use cases, the
underlying SDN controller can control an
Optical Transport Network (OTN).</t>

<t>This document defines a YANG data model, which augment the generic Path Computation RPC defined in <xref target="I-D.ietf-teas-yang-path-computation"/>, with OTN technology-specific augmentations required to request path computation to an underlying OTN SDN controller. These models allow
a client to delegate path computation tasks to the underlying SDN controller without having to obtain OTN detailed information from the controller and performing feasible path computation itself.</t>

<section anchor="terminology-and-notations"><name>Terminology and Notations</name>

<t>Refer to <xref target="I-D.ietf-ccamp-otn-topo-yang"/> and <xref target="I-D.ietf-ccamp-layer1-types"/>
  for the OTN specific terms used in this document.</t>

<t>The following terms are defined in <xref target="RFC7950"/> and are not
  redefined here:</t>

<t><list style="symbols">
  <t>client</t>
  <t>server</t>
  <t>augment</t>
  <t>data model</t>
  <t>data node</t>
</list></t>

<t>The following terms are defined in <xref target="RFC6241"/> and are not redefined
  here:</t>

<t><list style="symbols">
  <t>configuration data</t>
  <t>state data</t>
</list></t>

<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="otn-pc-tree"/> of this document.  The meaning of the symbols in these
  diagrams 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 shown in
  <xref target="tab-prefixes"/>.</t>

<texttable title="Prefixes and corresponding YANG modules" anchor="tab-prefixes">
      <ttcol align='left'>Prefix</ttcol>
      <ttcol align='left'>YANG module</ttcol>
      <ttcol align='left'>Reference</ttcol>
      <c>l1-types</c>
      <c>ietf-layer1-types</c>
      <c>[RFCZZZZ]</c>
      <c>te</c>
      <c>ietf-te</c>
      <c>[RFCKKKK]</c>
      <c>te-pc</c>
      <c>ietf-te-path-computation</c>
      <c>[RFCYYYY]</c>
      <c>otn-pc</c>
      <c>ietf-otn-path-computation</c>
      <c>RFCXXXX</c>
</texttable>

<t>RFC Editor Note:
Please replace XXXX with the RFC number assigned to this document.
Please replace YYYY with the RFC number assigned to <xref target="I-D.ietf-teas-yang-path-computation"/>.
Please replace ZZZZ with the RFC number assigned to <xref target="I-D.ietf-ccamp-layer1-types"/>.
Please replace KKKK with the RFC number assigned to <xref target="I-D.ietf-teas-yang-te"/>.
Please remove this note.</t>

</section>
</section>
<section anchor="yang-data-model-for-otn-path-computation"><name>YANG Data Model for OTN Path Computation</name>

<section anchor="yang-model-overview"><name>YANG Model Overview</name>

<t>The YANG data model for requesting OTN path computation is defined as an augmentation of the generic Path Computation RPC defined in <xref target="I-D.ietf-teas-yang-path-computation"/>, as shown in <xref target="fig-otn-pc"/>.</t>

<figure title="Relationship between OTN and TE path computation models" anchor="fig-otn-pc"><artwork type="ascii-art"><![CDATA[
                    +--------------------------+    o: augment
       TE generic   | ietf-te-path-computation |
                    +--------------------------+
                                 o 
                                 |
                                 |
                                 |
                   +---------------------------+
       OTN         | ietf-otn-path-computation |
                   +---------------------------+
]]></artwork></figure>

<t>The entities and Traffic Engineering (TE) attributes, such as requested path and tunnel attributes, defined in <xref target="I-D.ietf-teas-yang-path-computation"/>, are still applicable when requesting OTN path computation and the models defined in this document only specifies the additional OTN technology-specific attributes/information, using the attributes defined in <xref target="I-D.ietf-ccamp-layer1-types"/>.</t>

<t>The YANG module ietf-otn-path-computation defined in this document conforms
to the Network Management Datastore Architecture (NMDA) defined in
<xref target="RFC8342"/>.</t>

</section>
<section anchor="otn-te-bandwidh"><name>Bandwidth Augmentation</name>

<t>The OTN path computation model augments all the occurrences of the te-bandwidth container
with the OTN technology-specific attributes using the otn-link-bandwidth and otn-path-bandwidth groupings defined in <xref target="I-D.ietf-ccamp-layer1-types"/>.</t>

</section>
<section anchor="otn-te-label"><name>Label Augmentations</name>

<t>The OTN path computation model augments all the occurrences of the label-restriction list
with OTN technology-specific attributes using the
otn-label-range-info grouping defined in <xref target="I-D.ietf-ccamp-layer1-types"/>.</t>

<t>Moreover, the model augments all the occurrences of the te-label
container with the OTN technology-specific attributes using the
otn-label-start-end, otn-label-hop and otn-label-step groupings defined in <xref target="I-D.ietf-ccamp-layer1-types"/>.</t>

</section>
</section>
<section anchor="otn-pc-tree"><name>OTN Path Computation Tree Diagram</name>

<t><xref target="fig-otn-pc-tree"/> below shows the tree diagram of the YANG data model defined in module ietf-otn-path-computation.yang.</t>

<figure title="OTN path computation tree diagram" anchor="fig-otn-pc-tree"><artwork type="ascii-art" name="ietf-otn-path-computation.tree"><![CDATA[
module: ietf-otn-path-computation

  augment /te:tunnels-path-compute/te:input/te:path-compute-info
            /te-pc:path-request/te-pc:te-bandwidth/te-pc:technology:
    +--:(otn)
       +-- otn
          +-- odu-type?                     identityref
          +-- (oduflex-type)?
             +--:(generic)
             |  +-- nominal-bit-rate        union
             +--:(cbr)
             |  +-- client-type             identityref
             +--:(gfp-n-k)
             |  +-- gfp-n                   uint8
             |  +-- gfp-k?                  gfp-k
             +--:(flexe-client)
             |  +-- flexe-client            flexe-client-rate
             +--:(flexe-aware)
             |  +-- flexe-aware-n           uint16
             +--:(packet)
                +-- opuflex-payload-rate    union
  augment /te:tunnels-path-compute/te:input/te:path-compute-info
            /te-pc:tunnel-attributes/te-pc:te-bandwidth
            /te-pc:technology:
    +--:(otn)
       +-- otn
          +-- odu-type?                     identityref
          +-- (oduflex-type)?
             +--:(generic)
             |  +-- nominal-bit-rate        union
             +--:(cbr)
             |  +-- client-type             identityref
             +--:(gfp-n-k)
             |  +-- gfp-n                   uint8
             |  +-- gfp-k?                  gfp-k
             +--:(flexe-client)
             |  +-- flexe-client            flexe-client-rate
             +--:(flexe-aware)
             |  +-- flexe-aware-n           uint16
             +--:(packet)
                +-- opuflex-payload-rate    union
  augment /te:tunnels-path-compute/te:output/te:path-compute-result
            /te-pc:response/te-pc:computed-paths-properties
            /te-pc:computed-path-properties/te-pc:path-properties
            /te-pc:te-bandwidth/te-pc:technology:
    +--:(otn)
       +--ro otn
          +--ro odu-type?                     identityref
          +--ro (oduflex-type)?
             +--:(generic)
             |  +--ro nominal-bit-rate        union
             +--:(cbr)
             |  +--ro client-type             identityref
             +--:(gfp-n-k)
             |  +--ro gfp-n                   uint8
             |  +--ro gfp-k?                  gfp-k
             +--:(flexe-client)
             |  +--ro flexe-client            flexe-client-rate
             +--:(flexe-aware)
             |  +--ro flexe-aware-n           uint16
             +--:(packet)
                +--ro opuflex-payload-rate    union
  augment /te:tunnels-path-compute/te:input/te:path-compute-info
            /te-pc:path-request/te-pc:path-in-segment
            /te-pc:label-restrictions/te-pc:label-restriction:
    +-- otn-label-range
       +-- range-type?      otn-label-range-type
       +-- tsg?             identityref
       +-- odu-type-list*   identityref
       +-- priority?        uint8
  augment /te:tunnels-path-compute/te:input/te:path-compute-info
            /te-pc:path-request/te-pc:path-out-segment
            /te-pc:label-restrictions/te-pc:label-restriction:
    +-- otn-label-range
       +-- range-type?      otn-label-range-type
       +-- tsg?             identityref
       +-- odu-type-list*   identityref
       +-- priority?        uint8
  augment /te:tunnels-path-compute/te:input/te:path-compute-info
            /te-pc:path-request/te-pc:optimizations/te-pc:algorithm
            /te-pc:metric/te-pc:optimization-metric
            /te-pc:explicit-route-exclude-objects
            /te-pc:route-object-exclude-object/te-pc:type/te-pc:label
            /te-pc:label-hop/te-pc:te-label/te-pc:technology:
    +--:(otn)
       +-- otn
          +-- tpn?       otn-tpn
          +-- tsg?       identityref
          +-- ts-list?   string
  augment /te:tunnels-path-compute/te:input/te:path-compute-info
            /te-pc:path-request/te-pc:optimizations/te-pc:algorithm
            /te-pc:metric/te-pc:optimization-metric
            /te-pc:explicit-route-include-objects
            /te-pc:route-object-include-object/te-pc:type/te-pc:label
            /te-pc:label-hop/te-pc:te-label/te-pc:technology:
    +--:(otn)
       +-- otn
          +-- tpn?       otn-tpn
          +-- tsg?       identityref
          +-- ts-list?   string
  augment /te:tunnels-path-compute/te:input/te:path-compute-info
            /te-pc:path-request/te-pc:explicit-route-objects-always
            /te-pc:route-object-exclude-always/te-pc:type/te-pc:label
            /te-pc:label-hop/te-pc:te-label/te-pc:technology:
    +--:(otn)
       +-- otn
          +-- tpn?       otn-tpn
          +-- tsg?       identityref
          +-- ts-list?   string
  augment /te:tunnels-path-compute/te:input/te:path-compute-info
            /te-pc:path-request/te-pc:explicit-route-objects-always
            /te-pc:route-object-include-exclude/te-pc:type
            /te-pc:label/te-pc:label-hop/te-pc:te-label
            /te-pc:technology:
    +--:(otn)
       +-- otn
          +-- tpn?       otn-tpn
          +-- tsg?       identityref
          +-- ts-list?   string
  augment /te:tunnels-path-compute/te:input/te:path-compute-info
            /te-pc:path-request/te-pc:path-in-segment
            /te-pc:label-restrictions/te-pc:label-restriction
            /te-pc:label-start/te-pc:te-label/te-pc:technology:
    +--:(otn)
       +-- otn
          +-- (range-type)?
             +--:(trib-port)
             |  +-- tpn?   otn-tpn
             +--:(trib-slot)
                +-- ts?    otn-ts
  augment /te:tunnels-path-compute/te:input/te:path-compute-info
            /te-pc:path-request/te-pc:path-in-segment
            /te-pc:label-restrictions/te-pc:label-restriction
            /te-pc:label-end/te-pc:te-label/te-pc:technology:
    +--:(otn)
       +-- otn
          +-- (range-type)?
             +--:(trib-port)
             |  +-- tpn?   otn-tpn
             +--:(trib-slot)
                +-- ts?    otn-ts
  augment /te:tunnels-path-compute/te:input/te:path-compute-info
            /te-pc:path-request/te-pc:path-in-segment
            /te-pc:label-restrictions/te-pc:label-restriction
            /te-pc:label-step/te-pc:technology:
    +--:(otn)
       +-- otn
          +-- (range-type)?
             +--:(trib-port)
             |  +-- tpn?   otn-tpn
             +--:(trib-slot)
                +-- ts?    otn-ts
  augment /te:tunnels-path-compute/te:input/te:path-compute-info
            /te-pc:path-request/te-pc:path-out-segment
            /te-pc:label-restrictions/te-pc:label-restriction
            /te-pc:label-start/te-pc:te-label/te-pc:technology:
    +--:(otn)
       +-- otn
          +-- (range-type)?
             +--:(trib-port)
             |  +-- tpn?   otn-tpn
             +--:(trib-slot)
                +-- ts?    otn-ts
  augment /te:tunnels-path-compute/te:input/te:path-compute-info
            /te-pc:path-request/te-pc:path-out-segment
            /te-pc:label-restrictions/te-pc:label-restriction
            /te-pc:label-end/te-pc:te-label/te-pc:technology:
    +--:(otn)
       +-- otn
          +-- (range-type)?
             +--:(trib-port)
             |  +-- tpn?   otn-tpn
             +--:(trib-slot)
                +-- ts?    otn-ts
  augment /te:tunnels-path-compute/te:input/te:path-compute-info
            /te-pc:path-request/te-pc:path-out-segment
            /te-pc:label-restrictions/te-pc:label-restriction
            /te-pc:label-step/te-pc:technology:
    +--:(otn)
       +-- otn
          +-- (range-type)?
             +--:(trib-port)
             |  +-- tpn?   otn-tpn
             +--:(trib-slot)
                +-- ts?    otn-ts
  augment /te:tunnels-path-compute/te:input/te:path-compute-info
            /te-pc:synchronization/te-pc:exclude-objects
            /te-pc:excludes/te-pc:type/te-pc:label/te-pc:label-hop
            /te-pc:te-label/te-pc:technology:
    +--:(otn)
       +-- otn
          +-- tpn?       otn-tpn
          +-- tsg?       identityref
          +-- ts-list?   string
  augment /te:tunnels-path-compute/te:output/te:path-compute-result
            /te-pc:response/te-pc:computed-paths-properties
            /te-pc:computed-path-properties/te-pc:path-properties
            /te-pc:path-route-objects/te-pc:path-route-object
            /te-pc:type/te-pc:label/te-pc:label-hop/te-pc:te-label
            /te-pc:technology:
    +--:(otn)
       +--ro otn
          +--ro tpn?       otn-tpn
          +--ro tsg?       identityref
          +--ro ts-list?   string
]]></artwork></figure>

</section>
<section anchor="otn-pc-yang"><name>YANG Model for OTN Path Computation</name>

<figure title="OTN path computation YANG module" anchor="fig-otn-pc-yang"><sourcecode type="yang" markers="true" name="ietf-otn-path-computation@2022-07-10.yang"><![CDATA[
module ietf-otn-path-computation {
  yang-version 1.1;
  namespace "urn:ietf:params:xml:ns:yang:ietf-otn-path-computation";
  prefix "otn-pc";

  import ietf-te-path-computation {
    prefix "te-pc";
    revision-date "2021-09-06";
    reference 
    "I-D.ietf-teas-yang-path-computation-14: Yang model
    for requesting Path Computation.";
  }

  import ietf-te {
    prefix "te";
    revision-date "2021-02-20";
    reference
      "I-D.ietf-teas-yang-te-19: A YANG Data Model for Traffic
      Engineering Tunnels and Interfaces. ";
  }

  import ietf-layer1-types {
    prefix "l1-types";
    reference 
    "I-D.ietf-ccamp-layer1-types: 
     A YANG Data Model for Layer 1 Types. ";
  }

  organization
    "IETF CCAMP Working Group";
  contact
    "WG Web: <https://datatracker.ietf.org/wg/ccamp/>
     WG List:  <mailto:ccamp@ietf.org>

     Editor:   Aihua Guo
               <mailto:aihuaguo.ietf@gmail.com>

     Editor:   Italo Busi
               <mailto:italo.busi@huawei.com>

     Editor:   Sergio Belotti
               <mailto:sergio.belotti@nokia.com>";

  description
    "This module defines a model for requesting
    OTN Path Computation.

    The model fully conforms to the Network Management 
    Datastore Architecture (NMDA).
    
    Copyright (c) 2022 IETF Trust and the persons
    identified as authors of the code.  All rights reserved.

    Redistribution and use in source and binary forms, with or
    without modification, is permitted pursuant to, and subject
    to the license terms contained in, the Revised BSD License
    set forth in Section 4.c of the IETF Trust's Legal Provisions
    Relating to IETF Documents
    (https://trustee.ietf.org/license-info).

    This version of this YANG module is part of RFC XXXX; see
    the RFC itself for full legal notices.";

  revision "2022-09-12" {
    description
      "Initial version.";
    reference
      "RFC XXXX: A YANG Data Model for requesting Path Computation
      in an Optical Transport Network (OTN)";
    // RFC Ed.: replace XXXX with actual RFC number, update date 
    // information and remove this note
  }

 /*
  * Data nodes
  */

  /*
   * Augment TE bandwidth
   */

  augment "/te:tunnels-path-compute/te:input/te:path-compute-info/"
        + "te-pc:path-request/te-pc:te-bandwidth/te-pc:technology" {
    description
      "Augment TE bandwidth of the requested path.";
    case otn {
      uses l1-types:otn-path-bandwidth;
    }
  }

  augment "/te:tunnels-path-compute/te:input/te:path-compute-info/"
        + "te-pc:tunnel-attributes/te-pc:te-bandwidth/"
        + "te-pc:technology" {
    description
      "Augment TE bandwidth of the requested tunnel attributes.";
    case otn {
      uses l1-types:otn-path-bandwidth;
    }
  }

  augment "/te:tunnels-path-compute/te:output/"
        + "te:path-compute-result/te-pc:response/"
        + "te-pc:computed-paths-properties/"
        + "te-pc:computed-path-properties/te-pc:path-properties/"
        + "te-pc:te-bandwidth/te-pc:technology" {
    description
      "Augment TE bandwidth of the computed path properties.";
    case otn {
      uses l1-types:otn-path-bandwidth;
    }
  }

  /*
   * Augment TE label range information
   */

  augment "/te:tunnels-path-compute/te:input/te:path-compute-info/"
        + "te-pc:path-request/te-pc:path-in-segment/"
        + "te-pc:label-restrictions/te-pc:label-restriction" {
    description
      "Augment TE label range information for the ingress segment
      of the requested path.";
    uses l1-types:otn-label-range-info;
  }

  augment "/te:tunnels-path-compute/te:input/te:path-compute-info/"
        + "te-pc:path-request/te-pc:path-out-segment/"
        + "te-pc:label-restrictions/te-pc:label-restriction" {
    description
      "Augment TE label range information for the egress segment
      of the requested path.";
    uses l1-types:otn-label-range-info;
  }

  /*
   * Augment TE label.
   */

  augment "/te:tunnels-path-compute/te:input/te:path-compute-info/"
        + "te-pc:path-request/te-pc:optimizations/te-pc:algorithm/"
        + "te-pc:metric/te-pc:optimization-metric/"
        + "te-pc:explicit-route-exclude-objects/"
        + "te-pc:route-object-exclude-object/te-pc:type/te-pc:label/"
        + "te-pc:label-hop/te-pc:te-label/te-pc:technology" {
    description
      "Augment TE label hop for the optimization of the explicit
      route objects excluded by the path computation of the requested
      path.";
    case otn {
      uses l1-types:otn-label-hop;
    }
  }

  augment "/te:tunnels-path-compute/te:input/te:path-compute-info/"
        + "te-pc:path-request/te-pc:optimizations/te-pc:algorithm/"
        + "te-pc:metric/te-pc:optimization-metric/"
        + "te-pc:explicit-route-include-objects/"
        + "te-pc:route-object-include-object/te-pc:type/te-pc:label/"
        + "te-pc:label-hop/te-pc:te-label/te-pc:technology" {
    description
      "Augment TE label hop for the optimization of the explicit
      route objects included by the path computation of the requested
      path.";
    case otn {
      uses l1-types:otn-label-hop;
    }
  }

  augment "/te:tunnels-path-compute/te:input/te:path-compute-info/"
        + "te-pc:path-request/te-pc:explicit-route-objects-always/"
        + "te-pc:route-object-exclude-always/te-pc:type/te-pc:label/"
        + "te-pc:label-hop/te-pc:te-label/te-pc:technology" {
    description
      "Augment TE label hop for the explicit route objects always
      excluded by the path computation of the requested path.";
    case otn {
      uses l1-types:otn-label-hop;
    }
  }

  augment "/te:tunnels-path-compute/te:input/te:path-compute-info/"
        + "te-pc:path-request/te-pc:explicit-route-objects-always/"
        + "te-pc:route-object-include-exclude/te-pc:type/"
        + "te-pc:label/te-pc:label-hop/te-pc:te-label/"
        + "te-pc:technology" {
    description
      "Augment TE label hop for the explicit route objects included
      or excluded by the path computation of the requested path.";
    case otn {
      uses l1-types:otn-label-hop;
    }
  }

  augment "/te:tunnels-path-compute/te:input/te:path-compute-info/"
        + "te-pc:path-request/te-pc:path-in-segment/"
        + "te-pc:label-restrictions/te-pc:label-restriction/"
        + "te-pc:label-start/te-pc:te-label/te-pc:technology" {
    description
      "Augment TE label range start for the ingress segment
      of the requested path.";
    case otn {
      uses l1-types:otn-label-start-end;
    }
  }

  augment "/te:tunnels-path-compute/te:input/te:path-compute-info/"
        + "te-pc:path-request/te-pc:path-in-segment/"
        + "te-pc:label-restrictions/te-pc:label-restriction/"
        + "te-pc:label-end/te-pc:te-label/te-pc:technology" {
    description
      "Augment TE label range end for the ingress segment
      of the requested path.";
    case otn {
      uses l1-types:otn-label-start-end;
    }
  }

  augment "/te:tunnels-path-compute/te:input/te:path-compute-info/"
        + "te-pc:path-request/te-pc:path-in-segment/"
        + "te-pc:label-restrictions/te-pc:label-restriction/"
        + "te-pc:label-step/te-pc:technology" {
    description
      "Augment TE label range step for the ingress segment
      of the requested path.";
    case otn {
      uses l1-types:otn-label-step;
    }
  }

  augment "/te:tunnels-path-compute/te:input/te:path-compute-info/"
        + "te-pc:path-request/te-pc:path-out-segment/"
        + "te-pc:label-restrictions/te-pc:label-restriction/"
        + "te-pc:label-start/te-pc:te-label/te-pc:technology" {
    description
      "Augment TE label range start for the egress segment
      of the requested path.";
    case otn {
      uses l1-types:otn-label-start-end;
    }
  }

  augment "/te:tunnels-path-compute/te:input/te:path-compute-info/"
        + "te-pc:path-request/te-pc:path-out-segment/"
        + "te-pc:label-restrictions/te-pc:label-restriction/"
        + "te-pc:label-end/te-pc:te-label/te-pc:technology" {
    description
      "Augment TE label range end for the egress segment
      of the requested path.";
    case otn {
      uses l1-types:otn-label-start-end;
    }
  }

  augment "/te:tunnels-path-compute/te:input/te:path-compute-info/"
        + "te-pc:path-request/te-pc:path-out-segment/"
        + "te-pc:label-restrictions/te-pc:label-restriction/"
        + "te-pc:label-step/te-pc:technology" {
    description
      "Augment TE label range end for the egress segment
      of the requested path.";
    case otn {
      uses l1-types:otn-label-step;
    }
  }

  augment "/te:tunnels-path-compute/te:input/te:path-compute-info/"
        + "te-pc:synchronization/te-pc:exclude-objects/"
        + "te-pc:excludes/te-pc:type/te-pc:label/te-pc:label-hop/"
        + "te-pc:te-label/te-pc:technology" {
    description
      "Augment TE label hop for the explicit route objects to always
      exclude from synchronized path computation.";
    case otn {
      uses l1-types:otn-label-hop;
    }
  }

  augment "/te:tunnels-path-compute/te:output/"
        + "te:path-compute-result/te-pc:response/"
        + "te-pc:computed-paths-properties/"
        + "te-pc:computed-path-properties/te-pc:path-properties/"
        + "te-pc:path-route-objects/te-pc:path-route-object/"
        + "te-pc:type/te-pc:label/"
        + "te-pc:label-hop/te-pc:te-label/te-pc:technology" {
    description
      "Augment TE label hop for the route object of the computed
      path.";
    case otn {
      uses l1-types:otn-label-hop;
    }
  }
}
]]></sourcecode></figure>

</section>
<section anchor="manageability-considerations"><name>Manageability Considerations</name>

<t>This document provides a method for requesting path computations for OTN tunnels. Consideration of mechanisms to gather and collate information required for the path computations will be necessary. Furthermore, storing path computation requests and responses and triggering actions will also need to be carefully managed and secured.</t>

<t>Future versions of this document will contain additional information.</t>

</section>
<section anchor="security-considerations"><name>Security Considerations</name>

<t>The YANG module defined in this document will be accessed via the NETCONF protocol <xref target="RFC6241"/> or RESTCONF protocol <xref target="RFC8040"/>. The lowest NETCONF layer is the secure transport layer, and the mandatory-to-implement secure transport is Secure Shell (SSH) <xref target="RFC6242"/>. The lowest RESTCONF layer is HTTPS and the mandatory-to-implement secure transport is TLS <xref target="RFC8446"/>.</t>

<t>The Network Configuration Access Control Model (NACM) <xref target="RFC8341"/> provides the means to restrict access to particular NETCONF or RESTCONF users to a pre-configured subset of all available NETCONF or RESTCONF protocol operations and content.</t>

<t>Some of the RPC operations defined in this YANG module may be
considered sensitive or vulnerable in some network environments. It is thus essential to control access to these operations.</t>

<t>Operations defined in this document, and their sensitivities and possible vulnerabilities, will be discussed further in future versions of this document.</t>

</section>
<section anchor="iana-considerations"><name>IANA Considerations</name>

<t>This document registers the following URIs in the "ns" subregistry
   within the "IETF XML registry" <xref target="RFC3688"/>.</t>

<figure><artwork><![CDATA[
  URI: urn:ietf:params:xml:ns:yang:ietf-otn-path-computation
  Registrant Contact:  The IESG.
  XML: N/A, the requested URI is an XML namespace.
]]></artwork></figure>

<t>This document registers the following YANG module in the "YANG Module Names"
   registry <xref target="RFC7950"/>.</t>

<figure><artwork><![CDATA[
  name:      ietf-otn-path-computation
  namespace: urn:ietf:params:xml:ns:yang:ietf-otn-path-computation
  prefix:    otn-pc
  reference: this document
]]></artwork></figure>

</section>


  </middle>

  <back>


    <references title='Normative References'>




<reference anchor='I-D.ietf-teas-yang-path-computation'>
   <front>
      <title>A YANG Data Model for requesting path computation</title>
      <author fullname='Italo Busi'>
	 <organization>Huawei Technologies</organization>
      </author>
      <author fullname='Sergio Belotti'>
	 <organization>Nokia</organization>
      </author>
      <author fullname='Oscar Gonzalez de Dios'>
	 <organization>Telefonica</organization>
      </author>
      <author fullname='Anurag Sharma'>
	 <organization>Google</organization>
      </author>
      <author fullname='Daniele Ceccarelli'>
	 <organization>Ericsson</organization>
      </author>
      <date day='22' month='March' year='2022'/>
      <abstract>
	 <t>   There are scenarios, typically in a hierarchical Software-Defined
   Networking (SDN) context, where the topology information provided by
   a Traffic Engineering (TE) network provider may be insufficient for
   its client to perform multi-domain path computation.  In these cases
   the client would need to request the TE network provider to compute
   some intra-domain paths.

   This document defines a YANG data model which contains Remote
   Procedure Calls (RPCs) to request path computation.  This model
   complements the solution, defined in RFC YYYY, to configure a TE
   tunnel path in &quot;compute-only&quot; mode.

   [RFC EDITOR NOTE: Please replace RFC YYYY with the RFC number of
   draft-ietf-teas-yang-te once it has been published.

   Moreover, this document describes some use cases where the path
   computation request, via YANG-based protocols (e.g., NETCONF or
   RESTCONF), can be needed.

	 </t>
      </abstract>
   </front>
   <seriesInfo name='Internet-Draft' value='draft-ietf-teas-yang-path-computation-18'/>
   <format target='https://www.ietf.org/archive/id/draft-ietf-teas-yang-path-computation-18.txt' type='TXT'/>
</reference>


<reference anchor='I-D.ietf-ccamp-layer1-types'>
   <front>
      <title>A YANG Data Model for Layer 1 Types</title>
      <author fullname='Haomian Zheng'>
	 <organization>Huawei Technologies</organization>
      </author>
      <author fullname='Italo Busi'>
	 <organization>Huawei Technologies</organization>
      </author>
      <date day='11' month='July' year='2022'/>
      <abstract>
	 <t>   This document defines a collection of common data types and groupings
   in the YANG data modeling language for use with layer 1 networks.
   These derived common types and groupings are intended to be imported
   by modules that specify OTN networks, such as topology, tunnel,
   client signal adaptation and service.

	 </t>
      </abstract>
   </front>
   <seriesInfo name='Internet-Draft' value='draft-ietf-ccamp-layer1-types-14'/>
   <format target='https://www.ietf.org/archive/id/draft-ietf-ccamp-layer1-types-14.txt' type='TXT'/>
</reference>



<reference anchor='RFC7950' target='https://www.rfc-editor.org/info/rfc7950'>
<front>
<title>The YANG 1.1 Data Modeling Language</title>
<author fullname='M. Bjorklund' initials='M.' role='editor' surname='Bjorklund'><organization/></author>
<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' target='https://www.rfc-editor.org/info/rfc6241'>
<front>
<title>Network Configuration Protocol (NETCONF)</title>
<author fullname='R. Enns' initials='R.' role='editor' surname='Enns'><organization/></author>
<author fullname='M. Bjorklund' initials='M.' role='editor' surname='Bjorklund'><organization/></author>
<author fullname='J. Schoenwaelder' initials='J.' role='editor' surname='Schoenwaelder'><organization/></author>
<author fullname='A. Bierman' initials='A.' role='editor' surname='Bierman'><organization/></author>
<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' target='https://www.rfc-editor.org/info/rfc8340'>
<front>
<title>YANG Tree Diagrams</title>
<author fullname='M. Bjorklund' initials='M.' surname='Bjorklund'><organization/></author>
<author fullname='L. Berger' initials='L.' role='editor' surname='Berger'><organization/></author>
<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='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'>
	 <organization>Juniper Networks</organization>
      </author>
      <author fullname='Rakesh Gandhi'>
	 <organization>Cisco Systems Inc</organization>
      </author>
      <author fullname='Xufeng Liu'>
	 <organization>IBM Corporation</organization>
      </author>
      <author fullname='Vishnu Pavan Beeram'>
	 <organization>Juniper Networks</organization>
      </author>
      <author fullname='Igor Bryskin'>
	 <organization>Individual</organization>
      </author>
      <author fullname='Oscar Gonzalez de Dios'>
	 <organization>Telefonica</organization>
      </author>
      <date day='11' month='July' year='2022'/>
      <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-30'/>
   <format target='https://www.ietf.org/archive/id/draft-ietf-teas-yang-te-30.txt' type='TXT'/>
</reference>



<reference anchor='RFC8342' target='https://www.rfc-editor.org/info/rfc8342'>
<front>
<title>Network Management Datastore Architecture (NMDA)</title>
<author fullname='M. Bjorklund' initials='M.' surname='Bjorklund'><organization/></author>
<author fullname='J. Schoenwaelder' initials='J.' surname='Schoenwaelder'><organization/></author>
<author fullname='P. Shafer' initials='P.' surname='Shafer'><organization/></author>
<author fullname='K. Watsen' initials='K.' surname='Watsen'><organization/></author>
<author fullname='R. Wilton' initials='R.' surname='Wilton'><organization/></author>
<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='RFC8040' target='https://www.rfc-editor.org/info/rfc8040'>
<front>
<title>RESTCONF Protocol</title>
<author fullname='A. Bierman' initials='A.' surname='Bierman'><organization/></author>
<author fullname='M. Bjorklund' initials='M.' surname='Bjorklund'><organization/></author>
<author fullname='K. Watsen' initials='K.' surname='Watsen'><organization/></author>
<date month='January' year='2017'/>
<abstract><t>This document describes an HTTP-based protocol that provides a programmatic interface for accessing data defined in YANG, using the datastore concepts defined in the Network Configuration Protocol (NETCONF).</t></abstract>
</front>
<seriesInfo name='RFC' value='8040'/>
<seriesInfo name='DOI' value='10.17487/RFC8040'/>
</reference>



<reference anchor='RFC6242' target='https://www.rfc-editor.org/info/rfc6242'>
<front>
<title>Using the NETCONF Protocol over Secure Shell (SSH)</title>
<author fullname='M. Wasserman' initials='M.' surname='Wasserman'><organization/></author>
<date month='June' year='2011'/>
<abstract><t>This document describes a method for invoking and running the Network Configuration Protocol (NETCONF) within a Secure Shell (SSH) session as an SSH subsystem.  This document obsoletes RFC 4742.  [STANDARDS-TRACK]</t></abstract>
</front>
<seriesInfo name='RFC' value='6242'/>
<seriesInfo name='DOI' value='10.17487/RFC6242'/>
</reference>



<reference anchor='RFC8446' target='https://www.rfc-editor.org/info/rfc8446'>
<front>
<title>The Transport Layer Security (TLS) Protocol Version 1.3</title>
<author fullname='E. Rescorla' initials='E.' surname='Rescorla'><organization/></author>
<date month='August' year='2018'/>
<abstract><t>This document specifies version 1.3 of the Transport Layer Security (TLS) protocol.  TLS allows client/server applications to communicate over the Internet in a way that is designed to prevent eavesdropping, tampering, and message forgery.</t><t>This document updates RFCs 5705 and 6066, and obsoletes RFCs 5077, 5246, and 6961.  This document also specifies new requirements for TLS 1.2 implementations.</t></abstract>
</front>
<seriesInfo name='RFC' value='8446'/>
<seriesInfo name='DOI' value='10.17487/RFC8446'/>
</reference>



<reference anchor='RFC8341' target='https://www.rfc-editor.org/info/rfc8341'>
<front>
<title>Network Configuration Access Control Model</title>
<author fullname='A. Bierman' initials='A.' surname='Bierman'><organization/></author>
<author fullname='M. Bjorklund' initials='M.' surname='Bjorklund'><organization/></author>
<date month='March' year='2018'/>
<abstract><t>The standardization of network configuration interfaces for use with the Network Configuration Protocol (NETCONF) or the RESTCONF protocol requires a structured and secure operating environment that promotes human usability and multi-vendor interoperability.  There is a need for standard mechanisms to restrict NETCONF or RESTCONF protocol access for particular users to a preconfigured subset of all available NETCONF or RESTCONF protocol operations and content.  This document defines such an access control model.</t><t>This document obsoletes RFC 6536.</t></abstract>
</front>
<seriesInfo name='STD' value='91'/>
<seriesInfo name='RFC' value='8341'/>
<seriesInfo name='DOI' value='10.17487/RFC8341'/>
</reference>



<reference anchor='RFC3688' target='https://www.rfc-editor.org/info/rfc3688'>
<front>
<title>The IETF XML Registry</title>
<author fullname='M. Mealling' initials='M.' surname='Mealling'><organization/></author>
<date month='January' year='2004'/>
<abstract><t>This document describes an IANA maintained registry for IETF standards which use Extensible Markup Language (XML) related items such as Namespaces, Document Type Declarations (DTDs), Schemas, and Resource Description Framework (RDF) Schemas.</t></abstract>
</front>
<seriesInfo name='BCP' value='81'/>
<seriesInfo name='RFC' value='3688'/>
<seriesInfo name='DOI' value='10.17487/RFC3688'/>
</reference>




    </references>

    <references title='Informative References'>




<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'>
	 <organization>Huawei Technologies</organization>
      </author>
      <author fullname='Italo Busi'>
	 <organization>Huawei Technologies</organization>
      </author>
      <author fullname='Xufeng Liu'>
	 <organization>IBM Corporation</organization>
      </author>
      <author fullname='Sergio Belotti'>
	 <organization>Nokia</organization>
      </author>
      <author fullname='Oscar Gonzalez de Dios'>
	 <organization>Telefonica</organization>
      </author>
      <date day='11' month='July' year='2022'/>
      <abstract>
	 <t>   This document describes a YANG data model to describe the topologies
   of an Optical Transport Network (OTN).  It is independent of control
   plane protocols and captures topological and resource related
   information pertaining to OTN.  This model enables clients, which
   interact with a transport domain controller, for OTN topology related
   operations such as obtaining the relevant topology resource
   information.


	 </t>
      </abstract>
   </front>
   <seriesInfo name='Internet-Draft' value='draft-ietf-ccamp-otn-topo-yang-15'/>
   <format target='https://www.ietf.org/archive/id/draft-ietf-ccamp-otn-topo-yang-15.txt' type='TXT'/>
</reference>


<reference anchor='I-D.ietf-teas-actn-poi-applicability'>
   <front>
      <title>Applicability of Abstraction and Control of Traffic Engineered Networks (ACTN) to Packet Optical Integration (POI)</title>
      <author fullname='Fabio Peruzzini'>
	 <organization>TIM</organization>
      </author>
      <author fullname='Jean-Francois Bouquier'>
	 <organization>Vodafone</organization>
      </author>
      <author fullname='Italo Busi'>
	 <organization>Huawei</organization>
      </author>
      <author fullname='Daniel King'>
	 <organization>Old Dog Consulting</organization>
      </author>
      <author fullname='Daniele Ceccarelli'>
	 <organization>Ericsson</organization>
      </author>
      <date day='10' month='July' year='2022'/>
      <abstract>
	 <t>   This document considers the applicability of Abstraction and Control
   of TE Networks (ACTN) architecture to Packet Optical Integration
   (POI)in the context of IP/MPLS and optical internetworking. It
   identifies the YANG data models being defined by the IETF to support
   this deployment architecture and specific scenarios relevant for
   Service Providers.

   Existing IETF protocols and data models are identified for each
   multi-layer (packet over optical) scenario with a specific focus on
   the MPI (Multi-Domain Service Coordinator to Provisioning Network
   Controllers Interface)in the ACTN architecture.

	 </t>
      </abstract>
   </front>
   <seriesInfo name='Internet-Draft' value='draft-ietf-teas-actn-poi-applicability-07'/>
   <format target='https://www.ietf.org/archive/id/draft-ietf-teas-actn-poi-applicability-07.txt' type='TXT'/>
</reference>




    </references>


<section numbered="false" anchor="acknowledgments"><name>Acknowledgments</name>

<t>The authors of this document would like to thank the authors of <xref target="I-D.ietf-teas-actn-poi-applicability"/> for having identified the gap and requirements to trigger this work.</t>

<t>This document was prepared using kramdown.</t>

</section>

    <section anchor="contributors" numbered="false" toc="include" removeInRFC="false">
        <name>Contributors</name>
    <contact initials="D." surname="King" fullname="Daniel King">
      <organization>Old Dog Consulting</organization>
      <address>
        <email>daniel@olddog.co.uk</email>
      </address>
    </contact>
    </section>

  </back>

<!-- ##markdown-source:
H4sIAAAAAAAAA+1dbXMbN5L+zir9Bxzz4aREQ72s1+swm8SKJDuqtWWXpats
bm/rCpwBSZyGg7kBRjLP9v72624AQ3A4Q1IyLceJWJWUiUE3Gv2GxvABFEXR
VidWicxGfVaaYfRkq7PVMdKkos+O2K9H58/ZCTecvVSJSNlQFawQ/1sKbYCC
veZmzI7VJC8NN1JlTGaMZ+xVbmTMU3ZZ8EznqjDsXJgbVVyx7VeX5zs4Ah8M
CnHdtwMgV3iwwG6rk6g44xMQJSn40ESjwSCKYz7JI2WyKIfuUTzrHk15Nor2
D7c6uhxMpNbQZqY5UJ+dXj7b6qAEo0KVeZ8dHx+9fM1+gQacxnNsBDVwI0aq
mPaZNslWR+ZFn5mi1OZwf/9bZAuMDc+S/+apyoDrVOitTi777B9GxbtMw0QL
MdTwr+nE/gOEm4jM6H/SlEszVkV/q8NYhP9jzE7tzAA/9lOppW1VBZji55Lf
CMkuRTzOVKpGEsfCp2LCZdpnEol6AyB6OqauPRhrgfWRhIfseakCzs9KUxZi
KXOOZKNS9aQww6cjbGxkfyGKkQTRRaqMCaU/V1eSz7HU1LU3sF2fZtjB8kT3
y0whB6Vp0s4JzyQ43t/ATsEAr9KEnagROEumy9RUD91oCRE9VWmSqBEM0yuv
cKAoihgfaFPw2OD3y7HUDFysRCOxvFDXMhGacTYBzQALPWFGeX9n6G4svq2z
s8GU8XKEI6CrmbFgb8REGcFeFyoWCdiCHfM01Wz7zetjvcMSMZSZSJD7m2fH
7Ff49FDY//oHfj09Obt89Yadv7o87bPXqeBagIB5ymNRdWc3EiSlkaAlKycD
UTA1hGiiIEKjRgYobbzUo4ipDHhJw8Zcs4EQGcvLQSr1WCQ9r8SJTJJU4Lev
2BkYTyVlbAN2q/Pu3b+dRSe9FaN8+AAT1TGYHRR+JaashInEMBuImpuxAKVw
FqcS7ZIJkejAEFudMktEkU5Rnxcn54z8R6WpKDSlkrqheiAjROdEgBJQLTBS
MBo0LOEIvTL/Fay91Vlh7t6iX1mDoltRskswm04wm+JMZTz27kEWG4lMFDJe
zKzgHKFrrKvlXesMmF2ND/dppHMRyyEM44amzpoULAsYYJnXwzNQSaAw5D2v
tB67JC3TLGHiaapuIP95gwIHaBcjSLcN7Lm+ImujNtrNgrNSJTrpNYWVYmpg
OCgGpUkE/DMlRYE/TCzjYaEmxDTgAsmc5aLATshlCIqUg7RBKmm0SIdk3K++
gsSJ/UmVxOJceQ1iBwYBPgTmINO7dz9WVpqtW0bliuwFQYDki71SPhXFQYSL
l/7wAVmiX6PwOL3Kegbk0OjL5BIm9LoeEuF/YAkgRguQnoiCQ3jN+xIkir98
++d9JxA+z5RBcvAG1xGDsm/n9zVzpqy+Qnq/FkX11blV9X3m8/NNGTTZlrXF
fHz46GBezJmMyKgmpsqGclQW1oo45kxkg/43a0IJTGBY1LhLUShSLXY1k5hs
wEFBNCQPlVj5SSEEO5F8VPCJHeSIaTnJU7AezAma8zElE8jgBQRM5jMwpalg
NBzMmdmOReVPHEG9IUAZ1D80vp3NRMAaBqI7dlCVDBQKntkkiJwSKxzNZkHV
T/70KJjMayhp5Ft8SvXgOcjFzmGJ1nZmZzUH3KX1W+Pglak1mU3B6EU4OTX4
HxEbKkHQpDkNBIJAceNWTCq7eJG4Z4xrrWIJ9kuqtQ6pY1WAGnOVJZXFQNuQ
o6EfDFWmmO9hVdNjdZNVujR8ELkxtZvuez9b+3lveVkWrPHz3ga9gLUTyVMX
vO4ZhXYY1IvktLz/J3z+ifRGzD10ab556ID+b/Bx9OAeC/SLa32NHqsHorf+
NU/fVHIH0392/Hf4VByhEOizr0LdMtpVfN997b+jMzSYzFmq+wEtQTVPIqE0
xCyLkV0remjQpoIHfESOMruY1VNjjUdr0RTyWHfFXWSPVr0V+6ZFYJEtGvuO
Uhsxz3CiroVVEuRTYSO+ce/XtEtjLkFQf9v1FSwG11Lc2GJI1JNnfRuJXBeX
3FlG4ugrc7WKz2mbL5eC9ABUsHhYv49dZvgXfKBPLGXEC2M3HfXPN1Hr5xva
wfRnC6QjuTytprI0Xt/ffsRmirmPYmt0ahl6Q32WzCCYAjpKxWdJVrrTGGha
m7VmVvc5641IbYU3ljlsiswN7otQGsxhYLwF77VFgs1hGAG4/TPSJT3YOwyx
fjvNRuCgYHWIge3L0x3Gjd0I4zqlS9waaB8n4Mc0CNKbMssgisLed/P1ApdW
mQKrHIqSmGPtC7uvbGVwkhTjqsIPRp9LtbCXTKe+XsUVAEh4AukceEDZ07or
qSa2F1Twu0FBMOvRNvOWHBrkI7ect3tR66ywqgSpoGJx+xS/BXzJMz4S1AcT
p4ZlS7CjIh5LmCa+dmHb5y9PjsJNPm2YbbF16CREF6R9gogGoOgbmYw/uBz7
k/0O1jgKsqGfVqOpbMZ1CYc2YySyiuOyoHpF+2Q6G49YZLifwqK+WmNW2ysw
Ec4gldlVwNNWf07Ts2Z6Jwdkt7dloKmUD0Tq1fQCv8ypSG9IRzRMBCULzJhe
ebBU4iuJ5bvsBv1sdUhBlh0EqIjQ1Std3FoVL8HVYBUvdmdxua7RSQj7Go4s
zu5k8HBCUK8XJhJZsstmjWOVVx7gu4l8A9b3GyFbtjSWKPWdWLiy+10Uvpu8
ocXfJips9hskr616IROIvCqd9DANN9YQlrLfTtrpVFtqtgdFsM3/OuwnsF1m
8C/8R/iA/GpuOdyj3YHt5BK9awozQNXkzd/vuEW0vw1C7nRmqyqatDO3zjKY
Etnqx8YaQCa0Hk5hJ1Cj2wbCYSreEvHOj/PLOI3t6qSd+UfvLXmmYP/O02gg
DUTVbMdUZqjGRWbxoGhmZN9vkBRrSF7JNsyjLLpqZkkPG5RRysw8aaW4atAg
tTcMj4oTkRW9WYawR/g4bCfFtXLnN1A1LGNOHeYmihM8eNzAMefxlahLypwD
5dYPcj5NFU8qa3pLbj4eLJcoKD4Wg6KR7iFCVkvOHiLktxghqjRNIQL1TZma
Jme3L2u0cF8dQUKMgX2hclHgPqeJdq5z0Ddcj5ZzuOP6VKjF+MO2u0UgUH5c
DAKDTUUhsNp8HALTW0eio9loLALPTxmNFfvNxCM61L2vWQ01HDXJLNKCBmui
WtjE6LYHVUyx2m4lXNvs9iWIpPrOBh+FBEaP5v2kwVfDJTLCPdbX7f3yQqoC
mium3k3vT+GQSB80fl8aV7mRE/l/PFQkT0co0XjSxGMiUL0N1JF90kQj3uIr
MczPCsUTb+O0TETkfqxqXBupo+1Q6+8XK1BtaPh2V4HN8mzNo6aPqzZNnnlb
0QuTfKHDzEPaa0+jyTGwIzpsNvo9W1xmt7P4fP8Hi3+cxWvGcEaIeHrDp+tH
n+3+YIvPaQsfF84mgTFaDbDCGBvchX/hltlosddOTe9zNxoR27M6pXH/hO9g
IoRuNG+kndkWTTZHr1PVsnc2+sfK5Pp3ZiyRJQ+m+jJMhT+APBjn8264HrLe
78NaD2nvy7HVQ95baR09zeJxoTK3ba0q8ZV7UtelbdNTL62ba+kvf9Pzhf2y
YYMx3F61PWg02Aojb2j/1PI7yipDY5c1TE3dasZuRuURYsND8xoBPSF2o7vV
gXUc8VkRQtK/77ZDNJDMYvYCbAmd1AggscvRsBXAA8k8tmMJyOwdQhUJoXct
CjyxyA56B99hI+Hnc0T6dssi6yML8AZE6/ffTtJ+pvtI1m9l3SUuDjHftZPB
Nmy1sPh2nOk7C6D0xOQilh8eCbmWKGiU4M8b3cP9w4No/9to//Gsg0PCO1hp
dw04YnTwqM9+hSf+mAgSrjht2rMDfmia0uIMlop/GB3uL4jvQaRN8oNGDr5t
OyHr8J2ePoR5Xtp0RUCos8yIYggG1j3WOpW5UwO1SflTBqsVv4ih6nvMb/MU
XmBXdsAusW9NPFWMuF+X/ECnl8+aDtVaOkKWxQ7t3P3lOftFDPrsr2Njct3f
20M8FZ7JvBIFSduDAfZuRnsk9N4PTk4gewG5oc/YX/GQp1F9ev7UU/xghUN9
03mBPs5t/vxr8PE8Wo66NjGrn9Nt4NZ4KreJV9PJ2QZ+badmf/BxbA8o5YEl
6Oyhyzqzk4dNsHtL0JTDel7iywpKOCzTdFoBX1k77tUSLkW/9mwf+/9jlU8L
ORobth3vMIjGQzqtDTFUalPhjGHl1ATinK0gdIQKTwbQseoKzxiDuD2wfJoy
YosAajqdllSzeiMSqS3Ix2OZ8TyoxEOiZQHRgy0DmfGCToFNtDtEqQpL788e
gmYQDenAyaD2HI+PGYJql4UuOZ113CV2uqTF2zJw2ktlLKDgcKfdPPwSwYS7
7pwwZCr4/tPFCbg+9bX0WhgUDEQCmS+ExaE+6sVeBzMF/rtmL8SIp3jY2KY9
7XWAgHZ7cpK6nzhws3u+7YOTDsALMQtMJzUVrjuBp8D8/Qrmz6PNwaxBPbAM
4zM8qoLHdr6DibgZ+RMs9pwlOSp6HEtJ+EwZiVnSe71P4ZS9D3HxOTjs+uS4
EBKYnjJpJDByAvbaU72X7Q6XH3geax0L9xLs7TF7xKnXbzjSBEmzBB6zsz27
rMwTd27RZ3lgEZ5zRW+rn+iZJe+9r+3xx5PqTB5937OKtU/hsYNO49GGCnBj
H7mevgTv3m3Hs9ed5bxvXH1xa0DqUpM3zcDHx/yRisob8EA4VrCeLcO0oKuz
fP1F6Loj/BAsjp9CMesgE5sJN6mrhVMnn0FxbldXn2vTHq++rWvST+smb3Xv
lbu8FoN8Cn/2gtl90EyEzRqoKTnQdtLCUcIk9DlSRe2VfSPZ+u+u1rVFiwKq
8/qwUABXzZxUnsXyRLRonPo5ke8+ccZZ493gb0TB4pPrt9Xve5/DzZciYRqZ
rILCNBItRz81ktwe/rTEhdZAYNzOg/D0kfeZUAneVfyEPQeajb+agLnpJHib
D+1H6i+c6g7n2dy6wKimf0+1xW/GxWpwq9Uuthbe6stxMTedP4aLLUUUrZ9d
lsK7Ppfp/dxq9rWyeha3Tih/RDO3I8fabbvip48NbZPWtrqP6qowKf4gpt9s
Ob6EfC2Uxl2qTWL8cYX8+raqTkz/ASy2BlLjLvYCtg/W+hTx1YDVuFs8ifz+
DCQ+d+7b3Fb58ye/u2yyv7xouheL3UPye7DWby/53ad97i31rYVRa9n73wqk
1vYu/Z62bnjlbdPuzd4pO9OCfwMfQorutWz/0n8eWR8F1+wRv5E3AKH31H+j
2fhbmw8tGDmEKS3FyAW/zoOeLPQB0RPRhBdXotDfd01Rii4LnqzAzz21P8f/
JTrYp9uOug42Z+EhfCBTaaZ0Z7tMRBHey9V6D7sZq6T+w3t9JroC47m46M2P
gSaobnSnaB5xuoPWXkCapvhbevjbQnUPtjfo4og3eGveQLBMxJDLeTHtsWdl
gVwnqhC7DMEvTbL6eWj3O72NPvsN1qPRyMLEeBwMw1Ot6BZ0FH2AF5cXwuJx
JqTYxCJMRFwWDuVi7/j3cAe9cEGw5esQJ+GNfIEW3C2gF8i2zWzzN+m13pfn
lcVjVBb0uJbc4odOL49fnT9DkxsFlpi/4xmU/+b0orHHk326mpgASqm6wYvK
PS8CuSHchC4OJqWAZj0Ig57uzu4vxHuFwVTTyKgIb2a2IKYFMmB3YdsuxgIm
s31x8fPOTNrDmiyV2JUwP19evr64y7CXLy78nB89ehzcYejhJMdzV1wfkYqx
kW6st8CV7fOj45c7s1udUblVlBl3U7S7Yt9WRc5U2ISoHRmXKS8qFYeGgURV
2BUSYYmRv3BbEOQJgUrge3j9HL/mMqULJpu4VObF5cGFmI3OzNgre7c6F7Mb
/Ol616Br3fNCr5zwKfgeXW9H/ouSCfinkdcCZbgu0wwYoWTS/ZmAzKlWZNcS
FnaCRfXYmbFeVWqGXpwRoggmXv11gEpl9m8MzOQj8V+1izu7M9s5iCwqGWe3
huZK29vpvcSYTiX9wQQXX4nUcUkBNrS5CEcYrsgFLs7Pjs6PGmKcOWhXFcuF
GEkoMQvrOLMr2//jzZm/Wpx1M91F89u+xZTYIKDJPyfE2d9fvmC+R9c5558e
P3kS3LSLhMC4z+4EgEbqN3YAhOIdWxRq38Iaz04vntMPuCBGn53vHe3Wym8Y
F+3NMxK0AmP3vGS30M0cDs6pwEPJsY2uUbe1ilfI4n3yXh/2z6LQZ+nMK4k/
QnsWaEyj2aoCGyvQXH/ekWaKwT8RMuDxlQPSW+iaSL7vDmEpE74qOIqvMnWT
imTkcIc2r83hOedWEVWmCUvllbAxxrMrexfsjCD8SwqE1QZ7g9hKRv6CWypB
IP3hyu7+dkQAJ6UrpXnu1mYqAuwFmjigXZ2tUJgeGv7Uxw3XqDNQc3V9/RVo
PFE3uJz+Px7u/OdsaQAA

-->

</rfc>

