<?xml version="1.0" encoding="US-ASCII"?> 
<!DOCTYPE rfc SYSTEM "rfc2629.dtd">
<!--  vi: set et smarttab sw=2 tabstop=4:--> 
<?rfc toc="yes"?> 
<?rfc tocompact="yes"?> 
<?rfc tocdepth="3"?> 
<?rfc tocindent="yes"?> 
<?rfc symrefs="yes"?> 
<?rfc sortrefs="yes"?> 
<?rfc comments="yes"?> 
<?rfc inline="yes"?> 
<?rfc compact="yes"?> 
<?rfc subcompact="no"?> 

<rfc category="std" docName="draft-zheng-ccamp-client-tunnel-yang-10" ipr="trust200902" obsoletes="" updates="" submissionType="IETF" xml:lang="en">
 <front>
  <title abbrev="Client Tunnel YANG Model"> A YANG Data Model for Client-layer Tunnel  </title> 

  <author initials="H." surname="Zheng" fullname="Haomian Zheng">
   <organization>Huawei Technologies</organization>
   <address>
    <postal>
     <street>H1, XiliuBeipo Village, Songshan Lake</street>
     <city>Dongguan</city>
     <region>Guangdong</region>
     <code>523808</code>
     <country>China</country>
    </postal>
    <email>zhenghaomian@huawei.com</email>
   </address>
  </author>
  <author initials="A." surname="Guo" fullname="Aihua Guo">
   <organization>Futurewei</organization>
   <address>
    <postal>
     <street></street>
     <city></city>
     <region></region>
     <code></code>
     <country></country>
    </postal>
    <email>aihuaguo.ietf@gmail.com</email>
   </address>
  </author>
  
    <author initials="I." surname="Busi" fullname="Italo Busi">
   <organization>Huawei Technologies</organization>
   <address>
    <postal>
     <street></street>
     <city></city>
     <region></region>
     <code></code>
     <country></country>
    </postal>
    <email>Italo.Busi@huawei.com</email>
   </address>
  </author>

 <!--
  /* <author initials="S." surname="Belotti" fullname="Sergio Belotti">
   <organization>Nokia</organization>
   <address>
    <postal>
     <street></street>
     <city></city>
     <region></region>
     <code></code>
     <country></country>
    </postal>
    <email>sergio.belotti@nokia.com</email>
   </address>
  </author> */
-->
  <author initials="Y." surname="Xu" fullname="Yunbin Xu">
   <organization>CAICT</organization>
   <address>
    <postal>
     <street></street>
     <city></city>
     <region></region>
     <code></code>
     <country></country>
    </postal>
    <email>xuyunbin@caict.ca.cn</email>
   </address>
  </author> 

<author initials="Y." surname="Zhao" fullname="Yang Zhao">
   <organization>China Mobile</organization>
   <address>
    <postal>
     <street></street>
     <city></city>
     <region></region>
     <code></code>
     <country></country>
    </postal>
    <email>zhaoyangyjy@chinamobile.com</email>
   </address>
  </author> 

<!--
  /* <author initials="O." surname="Gonzalez de Dios" fullname="Oscar Gonzalez de Dios">
   <organization>Telefonica</organization>
   <address>
    <postal>
     <street></street>
     <city></city>
     <region></region>
     <code></code>
     <country></country>
    </postal>
    <email>oscar.gonzalezdedios@telefonica.com</email>
   </address>
  </author> */
 -->
  <author initials="X." surname="Liu" fullname="Xufeng Liu">
   <organization>Volta Networks</organization>
   <address>
    <postal>
     <street></street>
     <city></city>
     <region></region>
     <code></code>
     <country></country>
    </postal>
    <email>xufeng.liu.ietf@gmail.com</email>
   </address>
  </author>
  <date  month="March" day="7" year="2022" />
  <workgroup>CCAMP Working Group</workgroup>

 <abstract>
  <t>
  A transport network is a server-layer network to provide connectivity services to its client. In this draft the tunnel of client is described, with the definition of client tunnel YANG model.
  </t>
 </abstract>

 <!--
 <note title="Requirements Language">
  <t>
  The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in 
  <xref target="RFC2119" pageno="false" format="default" />. 
  </t>
 </note>
 -->
 </front>


 <middle>
 <section title="Introduction" toc="default">
  <t>
  A transport network is a server-layer network designed to provide connectivity services for a client-layer network to carry the client traffic transparently across the server-layer network resources. The tunnel model in Traffic-Engineered network has been defined in both generic way and technology-specific way. The generic model, which is the base TE tunnel YANG model, can be found at <xref target="I-D.ietf-teas-yang-te" />. Technology-specific models, such as OTN/WSON tunnel model, have also been defined in <xref target="I-D.ietf-ccamp-otn-tunnel-model" /> and <xref target="I-D.ietf-ccamp-wson-tunnel-model" /> respectively. Corresponding tunnel on client-layer is also required, to have a complete topology view from the perspective of network controllers. 
  </t>
  <t>
  This document defines a data model of all client-layer tunnel, using YANG language defined in <xref target="RFC7950" />.  The model is augmenting the generic TE tunnel model, and can be used by applications exposing to a network controller via a REST interface.  Furthermore, it can be used by an application to describe the client tunnel that constructed above the server-layer network. It is also worth noting that the client layer network will only need the tunnel model when there is a demand for switching techniques, such as Carrier Ethernet and MPLS-TP. The transparent signals do not need this model. 
  </t>
 </section> 
 <!--  Introduction END  -->

 <section title="Terminology and Notations" toc="default">
  <t>
  A simplified graphical representation of the data model is used in this document. The meaning of the symbols in the YANG data tree presented later in this document is defined in <xref target="RFC8340" />. They are provided below for reference.
  </t>
  <t>
  <list style="symbols">
   <t>
   Brackets "[" and "]" enclose list keys.
   </t>
   <t>
   Abbreviations before data node names: "rw" means configuration (read-write) and "ro" state data (read-only).
   </t>
   <t>
   Symbols after data node names: "?" means an optional node, "!"  means a presence container, and "*" denotes a list and leaf-list.
   </t>
   <t>
   Parentheses enclose choice and case nodes, and case nodes are also marked with a colon (":").
   </t>
   <t>
   Ellipsis ("...") stands for contents of subtrees that are not shown.
   </t>
  </list>
  </t>
 </section>
 <!--  Terminology and Notation END  -->


 <section anchor="YANGTree" title="YANG Model for Client-layer Tunnel" toc="default">
  <section anchor="ETHTree" title="YANG Tree for Ethernet Tunnel " toc="default">
   <t>
   <figure anchor="treefigure" title="" suppress-title="true" align="left" alt="" width="" height="">
    <artwork xml:space="preserve" name="" type="" align="left" alt="" width="" height="">
<![CDATA[

module: ietf-eth-te-tunnel
  augment /te:te/te:tunnels/te:tunnel:
    +--rw src-eth-tunnel-endpoint
    |  +--rw vlanid?     etht-types:vlanid
    |  +--rw tag-type?   etht-types:eth-tag-type
    +--rw dst-eth-tunnel-endpoint
    |  +--rw vlanid?     etht-types:vlanid
    |  +--rw tag-type?   etht-types:eth-tag-type
    +--rw bandwidth-profile
       +--rw bandwidth-profile-name?   string
       +--rw bandwidth-profile-type?   etht-types:bandwidth-profile-type
       +--rw CIR?                      uint64
       +--rw CBS?                      uint64
       +--rw EIR?                      uint64
       +--rw EBS?                      uint64
       +--rw color-aware?              boolean
       +--rw coupling-flag?            boolean



]]> 
    </artwork>
   </figure>
   </t>
  </section>
  <!--  tree END  --> 

  <section anchor="OtherTree" title="YANG Tree for Tunnel of other Client Signal Model" toc="default">
   <t>
   This section will be completed later. 
   </t>
  </section>
  <!--  Othertree END  -->
  
</section>
 <!--  YANG TREE END  -->

 <section title="YANG Code for Client-layer Tunnel" toc="default">
  <section anchor="ETHcode" title="The ETH Tunnel YANG Code" toc="default">
   <figure anchor="TheYANGCode" title="" suppress-title="true" align="left" alt="" width="" height="">
    <artwork xml:space="preserve" name="" type="" align="left" alt="" width="" height="">
 <![CDATA[ 
<CODE BEGINS> file "ietf-eth-te-tunnel@2018-03-01.yang"

module ietf-eth-te-tunnel {

    namespace "urn:ietf:params:xml:ns:yang:ietf-eth-te-tunnel";

    prefix "eth-tunnel";

    import ietf-te {
        prefix "te";
    }

    import ietf-eth-tran-types {
        prefix "etht-types";
    }

    organization
        "Internet Engineering Task Force (IETF) CCAMP WG";
  contact
    "
      WG List: <mailto:ccamp@ietf.org>

      ID-draft editor:
        Haomian Zheng (zhenghaomian@huawei.com);
        Italo Busi (italo.busi@huawei.com);
        Aihua Guo (aihuaguo.ietf@gmail.com);
        Yunbin Xu (xuyunbin@caict.ac.cn);
        Yang Zhao (zhaoyangyjy@chinamobile.com);
        Xufeng Liu (xufeng.liu.ietf@gmail.com);
    ";

    description
        "This module defines a model for ETH transport tunnel";

    revision 2018-03-01 {
        description
            "Initial revision";
        reference
            "draft-zheng-ccamp-client-tunnel-yang";
    }

    grouping eth-tunnel-endpoint {
        description "Parameters for ETH tunnel.";

        leaf vlanid {
            type etht-types:vlanid;
            description
                "VLAN tag id.";
        }

        leaf tag-type {
            type etht-types:eth-tag-type;
            description "VLAN tag type.";
        }
    }

    augment "/te:te/te:tunnels/te:tunnel" {
        description
            "Augment with additional parameters required for ETH
            service.";

        container src-eth-tunnel-endpoint {
            description
                "Source ETH tunnel endpoint.";

            uses eth-tunnel-endpoint;
        }

        container dst-eth-tunnel-endpoint {
            description
                "Destination ETH tunnel endpoint.";

            uses eth-tunnel-endpoint;
        }

        container bandwidth-profile {
            description
                "ETH tunnel bandwidth profile specification.";

            uses etht-types:etht-bandwidth-profiles;
        }
    }
}


<CODE ENDS>
]]> 
    </artwork>
   </figure>  
  </section>
  <!--  ETH YANG CODE END  -->

 <section anchor="OtherCode" title="Other Client-layer Tunnel YANG Code" toc="default">
 
      <t>
  TBD.
  </t> 
    </section>
 </section>
 <!--  YANG Code Chapter END  -->

 <section anchor="Issue" title="Considerations and Open Issue" toc="default">
  <t>
  Editor Notes: This section is used to note temporary discussion/conclusion that to be fixed in the future version, and will be removed before publication. 
  This is a part of L2 work, need to discuss how to go with other L2 network models. The expectation is to include all potential L2 TE part in this work. 
  </t> 
 </section>
 <!--  Issue END  -->

 <section anchor="IANA" title="IANA Considerations" toc="default">
  <t>
  TBD.
  </t> 
 </section>
 <!--  IANA END  -->

 <section title="Manageability Considerations" toc="default">
  <t>
  TBD.
  </t>
 </section>
 <!--  Manageability END  -->

 <section anchor="Security" title="Security Considerations" toc="default">
  <t>
  The data following the model defined in this document is exchanged via, for example, the interface between an orchestrator and a transport network controller. The security concerns mentioned in <xref target="I-D.ietf-teas-yang-te" /> also applies to this document.
  </t>
  <t>
  The YANG module defined in this document can be accessed via the RESTCONF protocol defined in <xref target="RFC8040" />, or maybe via the NETCONF protocol <xref target="RFC6241" />. 
  </t>

 </section>
 <!--  Security END  -->

 <section anchor="Acknowledgements" title="Acknowledgements" toc="default">
  <t>
  We would like to thank Igor Bryskin and Daniel King for their comments and discussions.
  </t> 
 </section>
 <!--  Acknowledgements END  -->

 <section anchor="Contributor" title="Contributors" toc="default">
  
  <t>
  Yanlei Zheng
  <vspace blankLines="0" /> 
  China Unicom
  <vspace blankLines="0" /> 
  Email: zhengyl@dimpt.com
  <vspace blankLines="0" /> 
  </t>
  
    <t>
  Zhe Liu
  <vspace blankLines="0" /> 
  Huawei Technologies, 
  <vspace blankLines="0" /> 
  Email: liuzhe123@huawei.com
  <vspace blankLines="0" /> 
  </t>
  
 
  <t>
  Sergio Belotti
  <vspace blankLines="0" /> 
  Nokia, 
  <vspace blankLines="0" /> 
  Email: sergio.belotti@nokia.com
  <vspace blankLines="0" /> 
  </t>
  
    <t>
  Yingxi Yao
  <vspace blankLines="0" /> 
  Shanghai Bell, 
  <vspace blankLines="0" /> 
  yingxi.yao@nokia-sbell.com
  <vspace blankLines="0" /> 
  </t>
  
  <t>
  Giuseppe Fioccola
  <vspace blankLines="0" /> 
  Huawei Technologies
  <vspace blankLines="0" /> 
  giuseppe.fioccola@huawei.com
  <vspace blankLines="0" /> 
  </t>
 </section>
 <!--  Contributor END  --> 
 </middle>


 <back>
 <references title="Normative References">
  <!--<?rfc include="http://xml.resource.org/public/rfc/bibxml/reference.RFC.2119.xml"?> --> 
  <?rfc include="http://xml.resource.org/public/rfc/bibxml/reference.RFC.6241.xml"?> 
  <?rfc include="http://xml.resource.org/public/rfc/bibxml/reference.RFC.7950.xml"?>
  <?rfc include="http://xml.resource.org/public/rfc/bibxml/reference.RFC.8040.xml"?>  
  <?rfc include="reference.I-D.ietf-teas-yang-te"?>  
 </references>
 <!--  Normative END  -->

 <references title="Informative References">
  <?rfc include="http://xml.resource.org/public/rfc/bibxml/reference.RFC.8340.xml"?> 
  <?rfc include="reference.I-D.ietf-ccamp-wson-tunnel-model"?>
  <?rfc include="reference.I-D.ietf-ccamp-otn-tunnel-model"?>
  </references>
 <!--  Informative END  -->
 </back>
</rfc>
