<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE rfc SYSTEM "rfc2629.dtd" [
<!ENTITY RFC4110 SYSTEM "https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.4110.xml">
<!ENTITY RFC6020 SYSTEM "https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.6020.xml">
<!ENTITY RFC8309 SYSTEM "https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.8309.xml">
<!ENTITY RFC8199 SYSTEM "https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.8199.xml">
<!ENTITY RFC6241 SYSTEM "https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.6241.xml">
<!ENTITY RFC8453 SYSTEM "https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.8453.xml">
<!ENTITY RFC8795 SYSTEM "https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.8795.xml">
<!ENTITY I-D.ietf-teas-yang-te SYSTEM "https://xml2rfc.ietf.org/public/rfc/bibxml3/reference.I-D.ietf-teas-yang-te.xml">
<!ENTITY RFC8776 SYSTEM "https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.8776.xml">
<!ENTITY I-D.ietf-teas-actn-vn-yang SYSTEM "https://xml2rfc.ietf.org/public/rfc/bibxml3/reference.I-D.ietf-teas-actn-vn-yang.xml">
<!ENTITY I-D.ietf-teas-actn-yang SYSTEM "https://xml2rfc.ietf.org/public/rfc/bibxml3/reference.I-D.ietf-teas-actn-yang.xml">
<!ENTITY RFC8299 SYSTEM "https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.8299.xml">
<!ENTITY RFC8466 SYSTEM "https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.8466.xml">
<!ENTITY I-D.ietf-ccamp-l1csm-yang SYSTEM "https://xml2rfc.ietf.org/public/rfc/bibxml3/reference.I-D.ietf-ccamp-l1csm-yang.xml">
<!ENTITY RFC7950 SYSTEM "https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.7950.xml">
<!ENTITY RFC7926 SYSTEM "https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.7926.xml">
<!ENTITY RFC8340 SYSTEM "https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.8340.xml">
<!ENTITY RFC8345 SYSTEM "https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.8345.xml">
<!ENTITY RFC8446 SYSTEM "https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.8446.xml">
<!ENTITY RFC3688 SYSTEM "https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.3688.xml">
<!ENTITY RFC8040 SYSTEM "https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.8040.xml">
<!ENTITY RFC8341 SYSTEM "https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.8341.xml">
<!ENTITY RFC8342 SYSTEM "https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.8342.xml">
<!ENTITY RFC6242 SYSTEM "https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.6242.xml">
<!ENTITY RFC7950 SYSTEM "https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.7950.xml">
<!ENTITY I-D.ietf-opsawg-l3sm-l3nm SYSTEM "https://xml2rfc.ietf.org/public/rfc/bibxml3/reference.I-D.ietf-opsawg-l3sm-l3nm.xml">
<!ENTITY I-D.ietf-opsawg-l2nm SYSTEM "https://xml2rfc.ietf.org/public/rfc/bibxml3/reference.I-D.ietf-opsawg-l2nm.xml">
<!ENTITY I-D.ietf-spring-sr-policy-yang SYSTEM "https://xml2rfc.ietf.org/public/rfc/bibxml3/reference.I-D.ietf-spring-sr-policy-yang.xml">
<!ENTITY RFC8349 SYSTEM "https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.8349.xml">
<!ENTITY RFC6991 SYSTEM "https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.6991.xml">
<!ENTITY RFC2119 SYSTEM "https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.2119.xml">
<!ENTITY RFC8174 SYSTEM "https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.8174.xml">

]>
<rfc ipr="trust200902" category="std" docName="draft-ietf-teas-te-service-mapping-yang-05" obsoletes="" updates="" submissionType="IETF" xml:lang="en">
  <!-- Generated by id2xml 1.5.0 on 2019-09-09T05:10:22Z -->
<?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"?>
  <front>
  <title abbrev="TE Service Mapping">Traffic Engineering (TE) and Service Mapping Yang Model</title>
  <author fullname="Young Lee" initials="Y." surname="Lee" role="editor">
  <organization>Samsung Electronics</organization>
  <address><email>younglee.tx@gmail.com</email>
  </address>
  </author>

  <author fullname="Dhruv Dhody" initials="D." surname="Dhody" role="editor">
  <organization>Huawei Technologies</organization>
      <address>
        <postal>
          <street>Divyashree Techno Park, Whitefield</street>
          <city>Bangalore</city>
          <region>Karnataka</region>
          <code>560066</code>
          <country>India</country>
        </postal>
        <email>dhruv.ietf@gmail.com</email>
      </address>
  </author>

  <author fullname="Giuseppe Fioccola" initials="G." surname="Fioccola">
  <organization>Huawei Technologies</organization>
  <address><email>giuseppe.fioccola@huawei.com</email>
  </address>
  </author>

  <author fullname="Qin Wu" initials="Q." surname="Wu" role="editor">
  <organization>Huawei Technologies</organization>
  <address><email>bill.wu@huawei.com</email>
  </address>
  </author>

  <author fullname="Daniele Ceccarelli" initials="D." surname="Ceccarelli">
  <organization>Ericsson</organization>
  <address><postal><street>Torshamnsgatan,48</street>
  <street>Stockholm, Sweden</street>
  </postal>
  <email>daniele.ceccarelli@ericsson.com</email>
  </address>
  </author>

  <author fullname="Jeff Tantsura" initials="J." surname="Tantsura">
  <organization>Apstra</organization>
  <address><email>jefftant.ietf@gmail.com</email>
  </address>
  </author>

  <date year="2020"/>
  <workgroup>TEAS Working Group</workgroup>
  <abstract><t>
   This document provides a YANG data model to map customer service
   models (e.g., the L3VPN Service Model (L3SM)) to Traffic Engineering (TE)
   models (e.g., the TE Tunnel or the Virtual Network (VN) model). This model is
   referred to as TE Service Mapping Model and is applicable
   generically to the operator's need for seamless control and
   management of their VPN services with TE tunnel support.</t>

  <t>The model is principally used to allow monitoring and diagnostics of
   the management systems to show how the service requests are mapped
   onto underlying network resource and TE models.</t>

  </abstract>
  </front>

  <middle>
  <section title="Introduction" anchor="sect-1"><t>
   Data models are a representation of objects that can be configured
   or monitored within a system. Within the IETF, YANG <xref target="RFC7950"/> is the
   language of choice for documenting data models, and YANG models have
   been produced to allow configuration or modelling of a variety of
   network devices, protocol instances, and network services. YANG data
   models have been classified in <xref target="RFC8199"/> and <xref target="RFC8309"/>.</t>

  <t>
   Framework for Abstraction and Control of Traffic Engineered Networks
   (ACTN) <xref target="RFC8453"/> introduces an architecture to support virtual
   network services and connectivity services. <xref target="I-D.ietf-teas-actn-vn-yang"/> defines a
   YANG model and describes how customers or end-to-end orchestrator
   can request and/or instantiate a generic virtual network service.
   <xref target="I-D.ietf-teas-actn-yang"/> describes the way IETF YANG models of different
   classifications can be applied to the ACTN interfaces. In
   particular, it describes how customer service models can be mapped
   into the CNC-MDSC Interface (CMI) of the ACTN architecture.</t>

  <t>
   The models presented in this document are also applicable in generic
   context <xref target="RFC8309"/> as part of Customer Service Model used between
   Service Orchestrator and Customer.</t>

  <t>
   <xref target="RFC8299"/> provides a L3VPN service delivery YANG model for PE-based
   VPNs. The scope of that draft is limited to a set of domains under
   control of the same network operator to deliver services requiring
   TE tunnels.</t>

  <t>
   <xref target="RFC8466"/> provides a L2VPN service delivery YANG model for PE-based
   VPNs. The scope of that draft is limited to a set of domains under
   control of the same network operator to deliver services requiring
   TE tunnels.</t>

  <t>
   <xref target="I-D.ietf-ccamp-l1csm-yang"/> provides a L1 connectivity service delivery YANG model for
   PE-based VPNs. The scope of that draft is limited to a set of
   domains under control of the same network operator to deliver
   services requiring TE tunnels.</t>

  <t>
   While the IP/MPLS Provisioning Network Controller (PNC) is
   responsible for provisioning the VPN service on the Provider Edge
   (PE) nodes, the Multi-Domain Service Coordinator (MDSC) can
   coordinate how to map the VPN services onto Traffic Engineering (TE)
   tunnels. This is consistent with the two of the core functions of
   the MDSC specified in <xref target="RFC8453"/>:</t>
   
   <t><list style="symbols">
    <t>Customer mapping/translation function: This function is to map
  customer requests/commands into network provisioning requests
        that can be sent to the PNC according to the business policies
        that have been provisioned statically or dynamically.
        Specifically, it provides mapping and translation of a
        customer's service request into a set of parameters that are
        specific to a network type and technology such that the network
        configuration process is made possible.
  </t>

  <t>Virtual service coordination function: This function translates
  customer service-related information into virtual network
        service operations in order to seamlessly operate virtual
        networks while meeting a customer's service requirements. In
        the context of ACTN, service/virtual service coordination
        includes a number of service orchestration functions such as
        multi-destination load balancing, guarantees of service
        quality, bandwidth and throughput. It also includes
        notifications for service fault and performance degradation and
        so forth.
  </t>

  </list>
  </t>

  <t>
   <xref target="sect-2"/> describes a set of TE and service related parameters that
   this document addresses as "new and advanced parameters" that are not
   included in generic service models. <xref target="sect-3"/> discusses YANG
   modelling approach.</t>

   <t>Apart from the service model, the TE mapping is equally applicable to the Network Models (L3 VPN Service Network Model (L3NM) <xref target="I-D.ietf-opsawg-l3sm-l3nm"/>, L2 VPN Service Network Model (L2NM) <xref target="I-D.ietf-opsawg-l2nm"/> etc.). See <xref target="nw"/> for details.</t>

   <section title="Terminology" anchor="sect-1.1"><t>
   Refer to <xref target="RFC8453"/>, <xref target="RFC7926"/>, and <xref target="RFC8309"/> for the key terms used
   in this document.</t>
   <t>The terminology for describing YANG data models is found in
   <xref target="RFC7950"/>.</t>
   <section title="Requirements Language"
               toc="default">
        <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.</t>
      </section>

  </section>

  <section title="Tree diagram" anchor="sect-1.2"><t>
   A simplified graphical representation of the data model is used in
   Section 5 of this this document.  The meaning of the symbols in
   these diagrams is defined in <xref target="RFC8340"/>.</t>

  </section>

  <section title="Prefixes in Data Node Names" anchor="sect-1.3"><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 Table 1.</t>

  <texttable title="Prefixes and corresponding YANG modules" anchor="tab-prefixes-and-corresponding-yang-modules" style="full">
  <ttcol> Prefix</ttcol>
  <ttcol> YANG module</ttcol>
  <ttcol> Reference</ttcol>
  <c>inet</c><c>ietf-inet-types</c><c><xref target="RFC6991" pageno="false" format="default"/></c>

  <c>tsm-types</c>
  <c>ietf-te-service-mapping-types</c>
  <c>[RFCXXXX]</c>
  
  <c>l1csm</c>
  <c>ietf-l1csm</c>
  <c><xref target="I-D.ietf-ccamp-l1csm-yang"/></c>
  
  <c>l2vpn-svc</c>
  <c>ietf-l2vpn-svc</c>
  <c><xref target="RFC8466"/></c>
  
  <c>l3vpn-svc</c>
  <c>ietf-l3vpn-svc</c>
  <c><xref target="RFC8299"/></c>
  
  <c>l1-tsm</c>
  <c>ietf-l1csm-te-service-mapping</c>
  <c>[RFCXXXX]</c>
  
  <c>l2-tsm</c>
  <c>ietf-l2sm-te-service-mapping</c>
  <c>[RFCXXXX]</c>
  
  <c>l3-tsm</c>
  <c>ietf-l3sm-te-service-mapping</c>
  <c>[RFCXXXX]</c>
  
  <c>vn</c>
  <c>ietf-vn</c>
  <c><xref target="I-D.ietf-teas-actn-vn-yang"/></c>
  
  <c>nw</c>
  <c>ietf-network</c>
  <c><xref target="RFC8345"/></c>
  
  <c>te-types</c>
  <c>ietf-te-types</c>
  <c><xref target="RFC8776"/></c>
  
  <c>te</c>
  <c>ietf-te</c>
  <c><xref target="I-D.ietf-teas-yang-te"/></c>

  
  <c>l2vpn-ntw</c>
  <c>ietf-l2vpn-ntw</c>
  <c><xref target="I-D.ietf-opsawg-l2nm"/></c>
  
  <c>l3vpn-ntw</c>
  <c>ietf-l3vpn-ntw</c>
  <c><xref target="I-D.ietf-opsawg-l3sm-l3nm"/></c>

  <c>rt</c>
  <c>ietf-routing</c>
  <c><xref target="RFC8349"/></c>

  <c>sr-policy</c>
  <c>ietf-sr-policy</c>
  <c><xref target="I-D.ietf-spring-sr-policy-yang"/></c>


  </texttable>
  <t>
   Note: The RFC Editor should replace XXXX with the number assigned to
   the RFC once this draft becomes an RFC.</t>

  </section>

  </section>

  <section title="TE and Service Related Parameters" anchor="sect-2"><t>
   While L1/L2/L3 service models (L1CSM, L2SM, L3SM) are intended to
   provide service-specific parameters for VPN service instances, there
   are a number of TE Service related parameters that are not
   included in these  service models.</t>

  <t>
   Additional 'service parameters and policies' that are not included in
   the aforementioned service models are addressed in the YANG models
   defined in this document.</t>

  <section title="VN/Tunnel Selection Requirements" anchor="sect-2.1"><t>
   In some cases, the service requirements may need addition TE tunnels
   to be established. This may occur when there are no suitable
   existing TE tunnels that can support the service requirements, or
   when the operator would like to dynamically create and bind tunnels
   to the VPN such that they are not shared by other VPNs, for example,
   for network slicing. The establishment of TE tunnels is subject to
   the network operator's policies.</t>

  <t>To summarize, there are three modes of VN/Tunnel selection
   operations to be supported as follows. Additional modes may be
   defined in the future.</t>

  <t><list style="symbols">
    <t>New VN/Tunnel Binding - A customer could request a VPN
          service based on VN/Tunnels that are not shared with other
          existing or future services. This might be to meet VPN
          isolation requirements. Further, the YANG model described in
          Section 5 of this document can be used to describe the
          mapping between the VPN service and the ACTN VN. The VN (and
          TE tunnels) could be bound to the VPN and not used for any
          other VPN. Under this mode, the following sub-categories can be
          supported:
        <list style="numbers">
          <t>Hard Isolation with deterministic characteristics: A
             customer could request a VPN service using a set of TE
             Tunnels with deterministic characteristics requirements
             (e.g., no latency variation) and where that set of TE
             Tunnels must not be shared with other VPN services and
             must not compete for bandwidth or other network resources
             with other TE Tunnels.</t>

          <t>Hard Isolation: This is similar to the above case but
             without the deterministic characteristics requirements.</t>

          <t>Soft Isolation: The customer requests a VPN service using
             a set of TE tunnels which can be shared with other VPN
             services.</t>
      </list>
    </t>

  <t>VN/Tunnel Sharing - A customer could request a VPN service
          where new tunnels (or a VN) do not need to be created for
          each VPN and can be shared across multiple VPNs. Further, the
          mapping YANG model described in Section 5 of this document
          can be used to describe the mapping between the VPN service
          and the tunnels in use. No modification of the properties of
          a tunnel (or VN) is allowed in this mode: an existing tunnel
          can only be selected.</t>

  <t>VN/Tunnel Modify - This mode allows the modification of the
          properties of the existing VN/tunnel (e.g., bandwidth).</t>
  <t>TE Mapping Template - This mode allows a VPN service to be bound to a 
     mapping template containing constraints and optimization criteria. This allows
     mapping with the underlay TE characteristics without first creating a VN or tunnels to map. 
     The VPN service could be mapped to a template first.  
     Once the VN/Tunnels are actually created/selected for the VPN service, this mode is no longer used and replaced with the above modes.</t>        

  </list>
  </t>

  </section>

  <section title="Availability Requirement" anchor="sect-2.2"><t>
   Availability is another service requirement or intent that may
   influence the selection or provisioning of TE tunnels or a VN to
   support the requested service. Availability is a probabilistic
   measure of the length of time that a VPN/VN instance functions
   without a network failure.</t>

  <t>
   The availability level will need to be translated into network
   specific policies such as the protection/reroute policy associated
   with a VN or Tunnel. The means by which this is achieved is not in
   the scope of this document.</t>

  </section>

  </section>
  

  <section title="YANG Modeling Approach" anchor="sect-3"><t>
   This section provides how the TE and Service mapping parameters are
   supported using augmentation of the existing service models (i.e.,
   <xref target="I-D.ietf-ccamp-l1csm-yang"/>, <xref target="RFC8466"/>, and <xref target="RFC8299"/>). 
   <xref target="augmented-lxsm-model"/> shows the scope of the
   Augmented LxSM Model.</t>

  <figure title="Augmented LxSM Model" anchor="augmented-lxsm-model"><artwork><![CDATA[
+--------------+        +----------------------+         +----------+
|    LxSM      |o-------|                      | . . . . | ACTN VN  |
+--------------+ augment|                      |         +----------+
                        |                      |         +----------+
+--------------+        | Augmented LxSM Model | . . . . | TE-topo  |
| TE & Service |------->|                      |         +----------+
| Mapping Types| import |                      |         +----------+
+--------------+        |                      | . . . . | TE-tunnel|
                        +----------------------+         +----------+
                                                reference 
]]></artwork>
  </figure>
  <t>
   The Augmented LxSM model (where x=1,2,3) augments the basic LxSM
   model while importing the common TE and Service related parameters
   (defined in <xref target="sect-2"/>) grouping information from TE and Service
   Mapping Types. The TE and Service Mapping Types (ietf-te-service-
   mapping-types) module is the repository of all common groupings
   imported by each augmented LxSM model. Any future service models
   would import this mapping-type common model.</t>

  <t>
   The role of the augmented LxSm service model is to expose the
   mapping relationship between service models and TE models so that
   VN/VPN service instantiations provided by the underlying TE networks
   can be viewed outside of the MDSC, for example by an operator who is
   diagnosing the behaviour of the network. It also allows for the
   customers to access operational state information about how their
   services are instantiated with the underlying VN, TE topology or TE
   tunnels provided that the MDSC operator is willing to share that
   information. This mapping will facilitate a seamless service
   management operation with underlay-TE network visibility.</t>

  <t>
   As seen in Figure 1, the augmented LxSM service model records a
   mapping between the customer service models and the ACTN VN YANG
   model. Thus, when the MDSC receives a service request it creates a
   VN that meets the customer's service objectives with various
   constraints via TE-topology model <xref target="RFC8795"/>, and this relationship
   is recorded by the Augmented LxSM Model. The model also supports a
   mapping between a service model and TE-topology or a TE-tunnel.</t>

   <t>The YANG models defined in this document
   conforms to the Network Management Datastore Architecture (NMDA)
   <xref target="RFC8342"/>.</t>

  <section title="Forward Compatibility" anchor="sect-3.1"><t>
   The YANG module defined in this document supports three existing
   service models via augmenting while sharing the common TE and Service
   Mapping Types.</t>

  <t>
   It is possible that new service models will be defined at some
   future time and that it will be desirable to map them to underlying
   TE constructs in the same way as the three existing models are
   augmented.</t>

  </section>
   <section title="TE and Network Models" anchor="nw"><t>
   The L2/L3 network models (L2NM, L3NM) are intended to describe
      a VPN Service in the Service Provider Network.  It containts
      information of the Service Provider network and might include
      allocated resources.  It can be used by network controllers to
      manage and control the VPN Service configuration in the Service
      Provider network.</t>

   <t>Similar to service model,  the existing network models (i.e.,
   <xref target="I-D.ietf-opsawg-l3sm-l3nm"/>, and <xref target="I-D.ietf-opsawg-l2nm"/>) 
   are augmented to include the TE and Service mapping parameters. 
   <xref target="augmented-lxnm-model"/> shows the scope of the
   Augmented LxNM Model.</t>

  <figure title="Augmented LxNM Model" anchor="augmented-lxnm-model"><artwork><![CDATA[
+--------------+        +----------------------+         +----------+
|    LxNM      |o-------|                      | . . . . | ACTN VN  |
+--------------+ augment|                      |         +----------+
                        |                      |         +----------+
+--------------+        | Augmented LxNM Model | . . . . | TE-topo  |
| TE & Service |------->|                      |         +----------+
| Mapping Types| import |                      |         +----------+
+--------------+        |                      | . . . . | TE-tunnel|
                        +----------------------+         +----------+
                                                reference 
]]></artwork>
  </figure>
  <t>
   The Augmented LxNM model (where x=2,3) augments the basic LxNM
   model while importing the common TE mapping related parameters
   (defined in <xref target="sect-2"/>) grouping information from TE and Service
   Mapping Types. 
   The role of the augmented LxNM network model is to expose the
   mapping relationship between network models and TE models.</t>
  </section>
  </section>

  <section title="L3VPN Architecture in the ACTN Context" anchor="sect-4"><t>
   <xref target="l3vpn-architecture-from-the-ipoptical-network-perspective"/> shows the architectural context of this document
   referencing the ACTN components and interfaces.</t>

  <figure title="L3VPN Architecture from the IP+Optical Network Perspective" anchor="l3vpn-architecture-from-the-ipoptical-network-perspective"><artwork><![CDATA[
                           +----------------------------+
                           |  Customer Service Manager  |
                           |  +-----------------------+ |
                           |  |           CNC         + |
                           |  +-+-------------------+-+ |
                           +----|-------------------|---+
                                |                   |
                                |CMI(Augmented L3SM)|CMI(VN)
                                |                   |
               +----------------|-------------------|----+
               | +--------------|-----------------+ |    |
               | | MDSC         |                 | |    |
               | |              |                 | |    |
               | |  +-----------+--------------+  | |    |
   TE-Svc-Map<------+ Service Mapping Function |  | |    |
               | |  +-----------+--------------+  | |    |
               | |              |                 | |    |
               | +-------+------|-----------------+ |    |
               |         |      |                   |    |
               |         |      |CMI(VN)            |    |
               |         |      |                   |    |
               |         |   +--|-------------------|--+ |
               |         |   |  |        MDSC       |  | |
               |         |   | ++-------------------++ | |
               |         |   | +   Service Mapping   +---->TE-Svc-Map
               |         |   | ++----------+---------+ | |
               |         |   +--|----------|-----------+ |
               +---------|------|----------|-------------+
                         |      |          |
                         | +----+--------+ |
                         | |             | |
     MPI(VPN / TE models)| |             | |MPI(TE / L1 models)
                         | |             | |
                   +-----|-|---+   +-----|-|----+
        IP/MPLS    |  +--+-+-+ |   |  +--+-+-+  | Optical Domain
        Domain     |  | PNC1 | |   |  | PNC2 |  | Controller
        Controller |  +--+---+ |   |  +--+---+  |
                   +-----|-----+   +-----|------+
                         |               |
                         V               | SBI
             +---------------------+     |
            /    IP/MPLS Network    \    |
           +-------------------------+   |
                                         V
                              +---------------------+
                             /    Optical Network    \
                            +-------------------------+
]]></artwork>
  </figure>
  <t>
   There are three main entities in the ACTN architecture and shown in
   <xref target="l3vpn-architecture-from-the-ipoptical-network-perspective"/>.</t>

  <t><list style="symbols">
   <t>CNC: The Customer Network Controller is responsible for generating
   service requests. In the context of an L3VPN, the CNC uses the
   Augmented L3SM to express the service request and communicate it
   to the network operator.</t>

<t>MDSC: This entity is responsible for coordinating a L3VPN service
   request (expressed via the Augmented L3SM) with the IP/MPLS PNC
   and the Transport PNC. For TE services, one of the key
   responsibilities of the MDSC is to coordinate with both the IP PNC
   and the Transport PNC for the mapping of the Augmented L3VPN
   Service Model to the ACTN VN model. In the VN/TE-tunnel binding
   case, the MDSC will need to coordinate with the Transport PNC to
   dynamically create the TE-tunnels in the transport network as
   needed. These tunnels are added as links in the IP/MPLS Layer
   topology. The MDSC coordinates with IP/MPLS PNC to create the TE-
   tunnels in the IP/MPLS layer, as part of the ACTN VN creation.</t>
<t>PNC: The Provisioning Network Controller is responsible for
   configuring and operating the network devices. Figure 2 shows two
   distinct PNCs.
   <list style="symbols">
     <t>IP/MPLS PNC (PNC1): This entity is responsible for device
        configuration to create PE-PE L3VPN tunnels for the VPN
        customer and for the configuration of the L3VPN VRF on the PE
        nodes. Each network element would select a tunnel based on
        the configuration.</t>
     <t>Transport PNC (PNC2): This entity is responsible for device
        configuration for TE tunnels in the transport networks.</t>
    </list></t></list></t>

 <t>There are four main interfaces shown in Figure 2.</t>

  <t><list style="symbols">
  <t>CMI: The CNC-MDSC Interface is used to communicate service
  requests from the customer to the operator. The requests may be
     expressed as Augmented VPN service requests (L2SM, L3SM), as
     connectivity requests (L1CSM), or as virtual network requests
     (ACTN VN).</t>

  <t>MPI: The MDSC-PNC Interface is used by the MDSC to orchestrate
  networks under the control of PNCs. The requests on this interface
     may use TE tunnel models, TE topology models, VPN network
     configuration models or layer one connectivity models.
  </t>

  <t>SBI: The Southbound Interface is used by the PNC to control
  network devices and is out of scope for this document.
  </t></list></t>

  <t>The TE Service Mapping Model as described in this document can be
  used to see the mapping between service models and VN models and
     TE Tunnel/Topology models. That mapping may occur in the CNC if a
     service request is mapped to a VN request. Or it may occur in the
     MDSC where a service request is mapped to a TE tunnel, TE
     topology, or VPN network configuration model. The TE Service
     Mapping Model may be read from the CNC or MDSC to understand how
     the mapping has been made and to see the purpose for which network
     resources are used.
  </t>

  <t>
   As shown in Figure 2, the MDSC may be used recursively. For example,
   the CNC might map a L3SM request to a VN request that it sends to a
   recursive MDSC.</t>

  <t>
   The high-level control flows for one example are as follows:</t>

  <t><list style="numbers"><t>A customer asks for an L3VPN between CE1 and CE2 using the
     Augmented L3SM model.</t>

  <t>The MDSC considers the service request and local policy to
     determine if it needs to create a new VN or any TE Topology, and
     if that is the case, ACTN VN YANG <xref target="I-D.ietf-teas-actn-vn-yang"/> is used to
     configure a new VN based on this VPN and map the VPN service to
     the ACTN VN. In case an existing tunnel is to be used, each device
     will select which tunnel to use and populate this mapping
     information.</t>

  <t>The MDSC interacts with both the IP/MPLS PNC and the Transport PNC
     to create a PE-PE tunnel in the IP network mapped to a TE tunnel
     in the transport network by providing the inter-layer access
     points and tunnel requirements. The specific service information
     is passed to the IP/MPLS PNC for the actual VPN configuration and
     activation.<list style="letters"><?rfc subcompact="yes"?>
  <t>The Transport PNC creates the corresponding TE tunnel
          matching with the access point and egress point.</t>

  <t>The IP/MPLS PNC maps the VPN ID with the corresponding TE
          tunnel ID to bind these two IDs.</t>

  <?rfc subcompact="no"?>
  </list>
  </t>

  <t>The IP/MPLS PNC creates/updates a VRF instance for this VPN
     customer. This is not in the scope of this document.</t>

  </list>
  </t>

  <section title="Service Mapping" anchor="sect-4.1"><t>
   Augmented L3SM and L2SM can be used to request VPN service creation
   including the creation of sites and corresponding site network
   access connection between CE and PE. A VPN-ID is used to identify
   each VPN service ordered by the customer. The ACTN VN can be used
   further to establish PE-to-PE connectivity between VPN sites
   belonging to the same VPN service. A VN-ID is used to identify each
   virtual network established between VPN sites.</t>

  <t>
   Once the ACTN VN has been established over the TE network (maybe a
   new VN, maybe modification of an existing VN, or maybe the use of an
   unmodified existing VN), the mapping between the VPN service and the
   ACTN VN service can be created.</t>

  </section>

  <section title="Site Mapping" anchor="sect-4.2"><t>
   The elements in Augmented L3SM and L2SM define site location
   parameters and constraints such as distance and access diversity
   that can influence the placement of network attachment points (i.e,
   virtual network access points (VNAP)). To achieve this, a central
   directory can be set up to establish the mapping between location
   parameters and constraints and network attachment point location.
   Suppose multiple attachment points are matched, the management
   system can use constraints or other local policy to select the best
   candidate network attachment points.</t>

  <t>
   After a network attachment point is selected, the mapping between
   VPN site and VNAP can be established as shown in Table 1.</t>

  <texttable title=": Mapping Between VPN Site and VNAP" anchor="tab-mapping-between-vpn-site-and-vnap" style="all"><ttcol>   Site   </ttcol>
  <ttcol>  Site Network Access  </ttcol>
  <ttcol> Location  (Address, Postal Code, State, City,Country Code)</ttcol>
  <ttcol> Access Diversity  (Constraint-Type, Group-id,Target Group-id) </ttcol>
  <ttcol> PE     </ttcol>
  <c>SITE1</c>
  <c>ACCESS1</c>
  <c>(,,US,NewYork,)</c>
  <c>(10,PE-Diverse,10)</c>
  <c>PE1</c>
  <c>SITE2</c>
  <c>ACCESS2</c>
  <c>(,,CN,Beijing,)</c>
  <c>(10,PE-Diverse,10)</c>
  <c>PE2</c>
  <c>SITE3</c>
  <c>ACCESS3</c>
  <c>(,,UK,London, )</c>
  <c>(12,same-PE,12)</c>
  <c>PE4</c>
  <c>SITE4</c>
  <c>ACCESS4</c>
  <c>(,,FR,Paris,)</c>
  <c>(20,Bearer-Diverse,20)</c>
  <c>PE7</c>
  </texttable>
  </section>

  </section>

  <section title="Applicability of TE-Service Mapping in Generic context" anchor="sect-5"><t>
   As discussed in the Introduction Section, the models presented in
   this document are also applicable generically outside of the ACTN
   architecture. <xref target="RFC8309"/> defines Customer Service Model between
   Customer and Service Orchestrator and Service Delivery Model between
   Service Orchestrator and Network Orchestrator(s). TE-Service mapping
   models defined in this document can be regarded primarily as
   Customer Service Model and secondarily as Service Deliver Model.</t>

  </section>

  <section title="YANG Data Trees" anchor="sect-6">
    <section title="Service Mapping Types">
<figure><artwork><![CDATA[
module: ietf-te-service-mapping-types
  +--rw te-mapping-templates
     +--rw te-mapping-template* [id]
        +--rw id                  te-mapping-template-id
        +--rw description?        string
        +--rw map-type?           identityref
        +--rw path-constraints
        |  +--rw te-bandwidth
        |  |  +--rw (technology)?
        |  |     +--:(generic)
        |  |        +--rw generic?   te-bandwidth
        |  +--rw link-protection?          identityref
        |  +--rw setup-priority?           uint8
        |  +--rw hold-priority?            uint8
        |  +--rw signaling-type?           identityref
        |  +--rw path-metric-bounds
        |  |  +--rw path-metric-bound* [metric-type]
        |  |     +--rw metric-type    identityref
        |  |     +--rw upper-bound?   uint64
        |  +--rw path-affinities-values
        |  |  +--rw path-affinities-value* [usage]
        |  |     +--rw usage    identityref
        |  |     +--rw value?   admin-groups
        |  +--rw path-affinity-names
        |  |  +--rw path-affinity-name* [usage]
        |  |     +--rw usage            identityref
        |  |     +--rw affinity-name* [name]
        |  |        +--rw name    string
        |  +--rw path-srlgs-lists
        |  |  +--rw path-srlgs-list* [usage]
        |  |     +--rw usage     identityref
        |  |     +--rw values*   srlg
        |  +--rw path-srlgs-names
        |  |  +--rw path-srlgs-name* [usage]
        |  |     +--rw usage    identityref
        |  |     +--rw names*   string
        |  +--rw disjointness?             te-path-disjointness
        +--rw optimizations
           +--rw (algorithm)?
              +--:(metric) {path-optimization-metric}?
              |  +--rw optimization-metric* [metric-type]
              |  |  +--rw metric-type
              |  |  |       identityref
              |  |  +--rw weight?                           uint8
              |  |  +--rw explicit-route-exclude-objects
              |  |  |     ...
              |  |  +--rw explicit-route-include-objects
              |  |        ...
              |  +--rw tiebreakers
              |     +--rw tiebreaker* [tiebreaker-type]
              |           ...
              +--:(objective-function)
                       {path-optimization-objective-function}?
                 +--rw objective-function
                    +--rw objective-function-type?   identityref

]]></artwork></figure>      
    </section>
    <section title="Service Models">
  <section title="L3SM" anchor="sect-6.1">    
    <figure><artwork><![CDATA[



module: ietf-l3sm-te-service-mapping
  augment /l3vpn-svc:l3vpn-svc/l3vpn-svc:vpn-services
            /l3vpn-svc:vpn-service:
    +--rw te-service-mapping!
       +--rw te-mapping
          +--rw map-type?                        identityref
          +--rw availability-type?               identityref
          +--rw (te)?
             +--:(vn)
             |  +--rw vn-list*
             |          -> /vn:vn/vn-list/vn-id
             +--:(te-topo)
             |  +--rw vn-topology-id?
             |  |       te-types:te-topology-id
             |  +--rw abstract-node?
             |          -> /nw:networks/network/node/node-id
             +--:(te-tunnel)
             |  +--rw te-tunnel-list*            te:tunnel-ref
             |  +--rw sr-policy*
             |          [policy-color-ref policy-endpoint-ref]
             |          {sr-policy}?
             |     +--rw policy-color-ref       leafref
             |     +--rw policy-endpoint-ref    leafref
             +--:(te-mapping-template) {template}?
                +--rw te-mapping-template-ref?   leafref
  augment /l3vpn-svc:l3vpn-svc/l3vpn-svc:sites/l3vpn-svc:site
            /l3vpn-svc:site-network-accesses
            /l3vpn-svc:site-network-access:
    +--rw (te)?
       +--:(vn)
       |  +--rw ap-list*
       |          -> /vn:ap/access-point-list/access-point-id
       +--:(te)
          +--rw ltp?       te-types:te-tp-id



]]></artwork>
  </figure>
  </section>
  <section title="L2SM" anchor="sect-6.2">    
    <figure><artwork><![CDATA[



module: ietf-l2sm-te-service-mapping
  augment /l2vpn-svc:l2vpn-svc/l2vpn-svc:vpn-services
            /l2vpn-svc:vpn-service:
    +--rw te-service-mapping!
       +--rw te-mapping
          +--rw map-type?                        identityref
          +--rw availability-type?               identityref
          +--rw (te)?
             +--:(vn)
             |  +--rw vn-list*
             |          -> /vn:vn/vn-list/vn-id
             +--:(te-topo)
             |  +--rw vn-topology-id?
             |  |       te-types:te-topology-id
             |  +--rw abstract-node?
             |          -> /nw:networks/network/node/node-id
             +--:(te-tunnel)
             |  +--rw te-tunnel-list*            te:tunnel-ref
             |  +--rw sr-policy*
             |          [policy-color-ref policy-endpoint-ref]
             |          {sr-policy}?
             |     +--rw policy-color-ref       leafref
             |     +--rw policy-endpoint-ref    leafref
             +--:(te-mapping-template) {template}?
                +--rw te-mapping-template-ref?   leafref
  augment /l2vpn-svc:l2vpn-svc/l2vpn-svc:sites/l2vpn-svc:site
            /l2vpn-svc:site-network-accesses
            /l2vpn-svc:site-network-access:
    +--rw (te)?
       +--:(vn)
       |  +--rw ap-list*
       |          -> /vn:ap/access-point-list/access-point-id
       +--:(te)
          +--rw ltp?       te-types:te-tp-id



]]></artwork>
  </figure>
  </section>
  <section title="L1CSM" anchor="sect-6.3">   
    <figure><artwork><![CDATA[


module: ietf-l1csm-te-service-mapping
  augment /l1csm:l1-connectivity/l1csm:services/l1csm:service:
    +--rw te-service-mapping!
       +--rw te-mapping
          +--rw map-type?                        identityref
          +--rw availability-type?               identityref
          +--rw (te)?
             +--:(vn)
             |  +--rw vn-list*
             |          -> /vn:vn/vn-list/vn-id
             +--:(te-topo)
             |  +--rw vn-topology-id?
             |  |       te-types:te-topology-id
             |  +--rw abstract-node?
             |          -> /nw:networks/network/node/node-id
             +--:(te-tunnel)
             |  +--rw te-tunnel-list*            te:tunnel-ref
             |  +--rw sr-policy*
             |          [policy-color-ref policy-endpoint-ref]
             |          {sr-policy}?
             |     +--rw policy-color-ref       leafref
             |     +--rw policy-endpoint-ref    leafref
             +--:(te-mapping-template) {template}?
                +--rw te-mapping-template-ref?   leafref
  augment /l1csm:l1-connectivity/l1csm:access/l1csm:unis/l1csm:uni:
    +--rw (te)?
       +--:(vn)
       |  +--rw ap-list*
       |          -> /vn:ap/access-point-list/access-point-id
       +--:(te)
          +--rw ltp?       te-types:te-tp-id


]]></artwork>
  </figure>
  </section>
</section>
<section title="Network Models">
<section title="L3NM">    
    <figure><artwork><![CDATA[  



module: ietf-l3nm-te-service-mapping
  augment /l3vpn-ntw:l3vpn-ntw/l3vpn-ntw:vpn-services
            /l3vpn-ntw:vpn-service:
    +--rw te-service-mapping!
       +--rw te-mapping
          +--rw map-type?                        identityref
          +--rw availability-type?               identityref
          +--rw (te)?
             +--:(vn)
             |  +--rw vn-list*
             |          -> /vn:vn/vn-list/vn-id
             +--:(te-topo)
             |  +--rw vn-topology-id?
             |  |       te-types:te-topology-id
             |  +--rw abstract-node?
             |          -> /nw:networks/network/node/node-id
             +--:(te-tunnel)
             |  +--rw te-tunnel-list*            te:tunnel-ref
             |  +--rw sr-policy*
             |          [policy-color-ref policy-endpoint-ref]
             |          {sr-policy}?
             |     +--rw policy-color-ref       leafref
             |     +--rw policy-endpoint-ref    leafref
             +--:(te-mapping-template) {template}?
                +--rw te-mapping-template-ref?   leafref
  augment /l3vpn-ntw:l3vpn-ntw/l3vpn-ntw:vpn-services
            /l3vpn-ntw:vpn-service/l3vpn-ntw:vpn-nodes
            /l3vpn-ntw:vpn-node/l3vpn-ntw:vpn-network-accesses
            /l3vpn-ntw:vpn-network-access:
    +--rw (te)?
       +--:(vn)
       |  +--rw ap-list*
       |          -> /vn:ap/access-point-list/access-point-id
       +--:(te)
          +--rw ltp?       te-types:te-tp-id


      ]]></artwork>
  </figure>
  </section>
<section title="L2NM">    
    <figure><artwork><![CDATA[  


module: ietf-l2nm-te-service-mapping
  augment /l2vpn-ntw:l2vpn-ntw/l2vpn-ntw:vpn-services
            /l2vpn-ntw:vpn-service:
    +--rw te-service-mapping!
       +--rw te-mapping
          +--rw map-type?                        identityref
          +--rw availability-type?               identityref
          +--rw (te)?
             +--:(vn)
             |  +--rw vn-list*
             |          -> /vn:vn/vn-list/vn-id
             +--:(te-topo)
             |  +--rw vn-topology-id?
             |  |       te-types:te-topology-id
             |  +--rw abstract-node?
             |          -> /nw:networks/network/node/node-id
             +--:(te-tunnel)
             |  +--rw te-tunnel-list*            te:tunnel-ref
             |  +--rw sr-policy*
             |          [policy-color-ref policy-endpoint-ref]
             |          {sr-policy}?
             |     +--rw policy-color-ref       leafref
             |     +--rw policy-endpoint-ref    leafref
             +--:(te-mapping-template) {template}?
                +--rw te-mapping-template-ref?   leafref
  augment /l2vpn-ntw:l2vpn-ntw/l2vpn-ntw:vpn-services
            /l2vpn-ntw:vpn-service/l2vpn-ntw:vpn-nodes
            /l2vpn-ntw:vpn-node/l2vpn-ntw:vpn-network-accesses
            /l2vpn-ntw:vpn-network-access:
    +--rw (te)?
       +--:(vn)
       |  +--rw ap-list*
       |          -> /vn:ap/access-point-list/access-point-id
       +--:(te)
          +--rw ltp?       te-types:te-tp-id


      ]]></artwork>
  </figure>
  </section>
</section>
</section>

  <section title="YANG Data Models" anchor="sect-7">
    <t>The YANG codes are as follows:</t>

<section title="ietf-te-service-mapping-types" anchor="sect-7.1">
  <figure><artwork><![CDATA[
<CODE BEGINS> file "ietf-te-service-mapping-types@2020-11-02.yang"
module ietf-te-service-mapping-types {
  yang-version 1.1;
  namespace
    "urn:ietf:params:xml:ns:yang:ietf-te-service-mapping-types";
  prefix tsm-types;

  /* Import inet-types */

  import ietf-inet-types {
    prefix inet;
    reference
      "RFC 6991: Common YANG Data Types";
  }

  /* Import inet-types */

  import ietf-te-types {
    prefix te-types;
    reference
      "RFC 8776: Common YANG Data Types for Traffic Engineering";
  }

  /* Import network model */

  import ietf-network {
    prefix nw;
    reference
      "RFC 8345: A YANG Data Model for Network Topologies";
  }

  /* Import TE model */

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

  /* Import VN model */

  import ietf-vn {
    prefix vn;
    reference
      "I-D.ietf-teas-actn-vn-yang: A Yang Data Model for VN Operation";
  }

  /* Import Routing */

  import ietf-routing {
    prefix rt;
    reference
      "RFC 8349: A YANG Data Model for Routing Management";
  }

  /* Import SR Policy */

  import ietf-sr-policy {
    prefix sr-policy;
    reference
      "I-D.ietf-spring-sr-policy-yang: YANG Data Model for Segment
       Routing Policy";
  }

  organization
    "IETF Traffic Engineering Architecture and Signaling (TEAS)
     Working Group";
  contact
    "WG Web:   <http://tools.ietf.org/wg/teas/>
     WG List:  <mailto:teas@ietf.org>

     Editor:   Young Lee
               <mailto:younglee.tx@gmail.com>
     Editor:   Dhruv Dhody
               <mailto:dhruv.ietf@gmail.com>
     Editor:   Qin Wu
               <mailto:bill.wu@huawei.com>";
  description
    "This module contains a YANG module for TE & Service mapping
     parameters and policies as a common grouping applicable to
     variuous service models (e.g., L1CSM, L2SM, L3SM, etc.)

     Copyright (c) 2020 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 Simplified BSD License set
     forth in Section 4.c of the IETF Trust's Legal Provisions
     Relating to IETF Documents
     (https://trustee.ietf.org/license-info).

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

     The key words 'MUST', 'MUST NOT', 'REQUIRED', 'SHALL', 'SHALL
     NOT', 'SHOULD', 'SHOULD NOT', 'RECOMMENDED', 'NOT RECOMMENDED',
     'MAY', and 'OPTIONAL' in this document are to be interpreted as
     described in BCP 14 (RFC 2119) (RFC 8174) when, and only when,
     they appear in all capitals, as shown here.";

  revision 2020-11-02 {
    description
      "Initial revision.";
    reference
      "RFC XXXX:  Traffic Engineering and Service Mapping Yang Model";
  }

  /*
   * Features
   */

  feature template {
    description
      "Support TE mapping templates.";
  }

  feature sr-policy {
    description
      "Support SR Policy.";
  }

  /*
   * Identity for map-type
   */

  identity map-type {
    description
      "Base identity from which specific map types are derived.";
  }

  identity new {
    base map-type;
    description
      "The new VN/tunnels are binded to the service.";
  }

  identity hard-isolation {
    base new;
    description
      "Hard isolation.";
  }

  identity detnet-hard-isolation {
    base hard-isolation;
    description
      "Hard isolation with deterministic characteristics.";
  }

  identity soft-isolation {
    base new;
    description
      "Soft-isolation.";
  }

  identity select {
    base map-type;
    description
      "The VPN service selects an existing tunnel with no
       modification.";
  }

  identity modify {
    base map-type;
    description
      "The VPN service selects an existing tunnel and allows to modify
       the properties of the tunnel (e.g., b/w)";
  }

  identity template {
    base map-type;
    description
      "The VPN service selects an TE mapping template with path
       constraints and optimization criteria";
  }

  /*
   * Identity for availability-type
   */

  identity availability-type {
    description
      "Base identity from which specific map types are derived.";
  }

  identity level-1 {
    base availability-type;
    description
      "level 1: 99.9999%";
  }

  identity level-2 {
    base availability-type;
    description
      "level 2: 99.999%";
  }

  identity level-3 {
    base availability-type;
    description
      "level 3: 99.99%";
  }

  identity level-4 {
    base availability-type;
    description
      "level 4: 99.9%";
  }

  identity level-5 {
    base availability-type;
    description
      "level 5: 99%";
  }

  /*
   * Typedef
   */

  typedef te-mapping-template-id {
    type inet:uri;
    description
      "Identifier for a TE mapping template.  The precise
       structure of the te-mapping-template-id will be up
       to the implementation. The identifier SHOULD be
       chosen such that the same template will always be
       identified through the same identifier, even if the
       data model is instantiated in separate datastores.";
  }

  /*
   * Groupings
   */

  grouping te-ref {
    description
      "The reference to TE.";
    choice te {
      description
        "The TE";
      case vn {
        leaf-list vn-list {
          type leafref {
            path "/vn:vn/vn:vn-list/vn:vn-id";
          }
          description
            "The reference to VN";
          reference
            "RFC 8453: Framework for Abstraction and Control of TE
             Networks (ACTN)";
        }
      }
      case te-topo {
        leaf vn-topology-id {
          type te-types:te-topology-id;
          description
            "An identifier to the TE Topology Model where the abstract
             nodes and links of the Topology can be found for Type 2
             VNS";
          reference
            "RFC 8795: YANG Data Model for Traffic Engineering (TE)
             Topologies";
        }
        leaf abstract-node {
          type leafref {
            path "/nw:networks/nw:network/nw:node/nw:node-id";
          }
          description
            "A reference to the abstract node in TE Topology";
          reference
            "RFC 8795: YANG Data Model for Traffic Engineering (TE)
             Topologies";
        }
      }
      case te-tunnel {
        leaf-list te-tunnel-list {
          type te:tunnel-ref;
          description
            "Reference to TE Tunnels";
          reference
            "I-D.ietf-teas-yang-te: A YANG Data Model for Traffic
             Engineering Tunnels and Interfaces";
        }
        list sr-policy {
          if-feature "sr-policy";
          key "policy-color-ref policy-endpoint-ref";
          description
            "SR Policy";
          leaf policy-color-ref {
            type leafref {
              path
                "/rt:routing/sr-policy:segment-routing"
              + "/sr-policy:traffic-engineering/sr-policy:policies"
              + "/sr-policy:policy/sr-policy:color";
            }
            description
              "Reference to sr-policy color";
          }
          leaf policy-endpoint-ref {
            type leafref {
              path
                "/rt:routing/sr-policy:segment-routing"
              + "/sr-policy:traffic-engineering/sr-policy:policies"
              + "/sr-policy:policy/sr-policy:endpoint";
            }
            description
              "Reference to sr-policy endpoint";
          }
        }
      }
      case te-mapping-template {
        if-feature "template";
        leaf te-mapping-template-ref {
          type leafref {
            path "/tsm-types:te-mapping-templates/"
               + "tsm-types:te-mapping-template/tsm-types:id";
          }
          description
            "An identifier to the TE Mapping Template where the TE
             constraints and optimization criteria are specified.";
        }
      }
    }
  }

  //grouping

  grouping te-endpoint-ref {
    description
      "The reference to TE endpoints.";
    choice te {
      description
        "The TE";
      case vn {
        leaf-list ap-list {
          type leafref {
            path "/vn:ap/vn:access-point-list/vn:access-point-id";
          }
          description
            "The reference to VN AP";
          reference
            "RFC 8453: Framework for Abstraction and Control of TE
             Networks (ACTN)";
        }
      }
      case te {
        leaf ltp {
          type te-types:te-tp-id;
          description
            "Reference LTP in the TE-topology";
          reference
            "RFC 8795: YANG Data Model for Traffic Engineering (TE)
             Topologies";
        }
      }
    }
  }

  //grouping

  grouping te-mapping {
    description
      "Mapping between Services and TE";
    container te-mapping {
      description
        "Mapping between Services and TE";
      leaf map-type {
        type identityref {
          base map-type;
        }
        description
          "Isolation Requirements, Tunnel Bind or
           Tunnel Selection";
      }
      leaf availability-type {
        type identityref {
          base availability-type;
        }
        description
          "Availability Requirement for the Service";
      }
      uses te-ref;
    }
  }

  //grouping

  container te-mapping-templates {
    description
      "The TE constraints and optimization criteria";
    list te-mapping-template {
      key "id";
      leaf id {
        type te-mapping-template-id;
        description
          "Identification of the Template to be used.";
      }
      leaf description {
        type string;
        description
          "Description of the template.";
      }
      leaf map-type {
        type identityref {
          base map-type;
        }
        must "0 = derived-from-or-self(.,'template')" {
          error-message "The map-type must be other than "
                      + "TE mapping template";
        }
        description
          "Map type for the VN/Tunnel creation/
           selection.";
      }
      uses te-types:generic-path-constraints;
      uses te-types:generic-path-optimization;
      description
        "List for templates.";
    }
  }
}


<CODE ENDS>
]]></artwork>
  </figure>
</section>
<section title="Service Models">
<section title="ietf-l3sm-te-service-mapping" anchor="sect-7.2">
  <figure><artwork><![CDATA[
<CODE BEGINS> file "ietf-l3sm-te-service-mapping@2020-11-02.yang"
module ietf-l3sm-te-service-mapping {
  yang-version 1.1;
  namespace
    "urn:ietf:params:xml:ns:yang:ietf-l3sm-te-service-mapping";
  prefix l3-tsm;

  import ietf-te-service-mapping-types {
    prefix tsm-types;
    reference
      "RFC XXXX:  Traffic Engineering and Service Mapping Yang Model";
  }
  import ietf-l3vpn-svc {
    prefix l3vpn-svc;
    reference
      "RFC 8299: YANG Data Model for L3VPN Service Delivery";
  }

  organization
    "IETF Traffic Engineering Architecture and Signaling (TEAS)
     Working Group";
  contact
    "WG Web:   <http://tools.ietf.org/wg/teas/>
     WG List:  <mailto:teas@ietf.org>

     Editor:   Young Lee
               <mailto:younglee.tx@gmail.com>
     Editor:   Dhruv Dhody
               <mailto:dhruv.ietf@gmail.com>
     Editor:   Qin Wu
               <mailto:bill.wu@huawei.com>";
  description
    "This module contains a YANG module for the mapping of Layer 3
     Service Model (L3SM) to the TE and VN.

     Copyright (c) 2020 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 Simplified BSD License set
     forth in Section 4.c of the IETF Trust's Legal Provisions
     Relating to IETF Documents
     (https://trustee.ietf.org/license-info).

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

     The key words 'MUST', 'MUST NOT', 'REQUIRED', 'SHALL', 'SHALL
     NOT', 'SHOULD', 'SHOULD NOT', 'RECOMMENDED', 'NOT RECOMMENDED',
     'MAY', and 'OPTIONAL' in this document are to be interpreted as
     described in BCP 14 (RFC 2119) (RFC 8174) when, and only when,
     they appear in all capitals, as shown here.";

  revision 2020-11-02 {
    description
      "Initial revision.";
    reference
      "RFC XXXX:  Traffic Engineering and Service Mapping Yang Model";
  }

  /*
   * Augmentation to L3SM
   */

  augment "/l3vpn-svc:l3vpn-svc/l3vpn-svc:vpn-services"
        + "/l3vpn-svc:vpn-service" {
    description
      "L3SM augmented to include TE parameters and mapping";
    container te-service-mapping {
      presence "Indicates L3 service to TE mapping";
      description
        "Container to augment l3sm to TE parameters and mapping";
      uses tsm-types:te-mapping;
    }
  }

  //augment

  augment "/l3vpn-svc:l3vpn-svc/l3vpn-svc:sites/l3vpn-svc:site"
        + "/l3vpn-svc:site-network-accesses"
        + "/l3vpn-svc:site-network-access" {
    description
      "This augment is only valid for TE mapping of L3SM network-access
       to TE endpoints";
    uses tsm-types:te-endpoint-ref;
  }

  //augment
}

<CODE ENDS>
]]></artwork>
  </figure>
</section>
  <section title="ietf-l2sm-te-service-mapping" anchor="sect-7.3">
  <figure><artwork><![CDATA[
<CODE BEGINS> file "ietf-l2sm-te-service-mapping@2020-11-02.yang"
module ietf-l2sm-te-service-mapping {
  yang-version 1.1;
  namespace
    "urn:ietf:params:xml:ns:yang:ietf-l2sm-te-service-mapping";
  prefix l2-tsm;

  import ietf-te-service-mapping-types {
    prefix tsm-types;
    reference
      "RFC XXXX:  Traffic Engineering and Service Mapping Yang Model";
  }
  import ietf-l2vpn-svc {
    prefix l2vpn-svc;
    reference
      "RFC 8466: A YANG Data Model for Layer 2 Virtual Private Network
       (L2VPN) Service Delivery";
  }

  organization
    "IETF Traffic Engineering Architecture and Signaling (TEAS)
     Working Group";
  contact
    "WG Web:   <http://tools.ietf.org/wg/teas/>
     WG List:  <mailto:teas@ietf.org>

     Editor:   Young Lee
               <mailto:younglee.tx@gmail.com>
     Editor:   Dhruv Dhody
               <mailto:dhruv.ietf@gmail.com>
     Editor:   Qin Wu
               <mailto:bill.wu@huawei.com>";
  description
    "This module contains a YANG module for the mapping of Layer 2
     Service Model (L2SM) to the TE and VN.

     Copyright (c) 2020 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 Simplified BSD License set
     forth in Section 4.c of the IETF Trust's Legal Provisions
     Relating to IETF Documents
     (https://trustee.ietf.org/license-info).

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

     The key words 'MUST', 'MUST NOT', 'REQUIRED', 'SHALL', 'SHALL
     NOT', 'SHOULD', 'SHOULD NOT', 'RECOMMENDED', 'NOT RECOMMENDED',
     'MAY', and 'OPTIONAL' in this document are to be interpreted as
     described in BCP 14 (RFC 2119) (RFC 8174) when, and only when,
     they appear in all capitals, as shown here.";

  revision 2020-11-02 {
    description
      "Initial revision.";
    reference
      "RFC XXXX:  Traffic Engineering and Service Mapping Yang Model";
  }

  /*
   * Augmentation to L2SM
   */

  augment "/l2vpn-svc:l2vpn-svc/l2vpn-svc:vpn-services/"
        + "l2vpn-svc:vpn-service" {
    description
      "L2SM augmented to include TE parameters and mapping";
    container te-service-mapping {
      presence "indicates L2 service to te mapping";
      description
        "Container to augment L2SM to TE parameters and mapping";
      uses tsm-types:te-mapping;
    }
  }

  //augment

  augment "/l2vpn-svc:l2vpn-svc/l2vpn-svc:sites/l2vpn-svc:site"
        + "/l2vpn-svc:site-network-accesses"
        + "/l2vpn-svc:site-network-access" {
    description
      "This augment is only valid for TE mapping of L2SM network-access
       to TE endpoints";
    uses tsm-types:te-endpoint-ref;
  }

  //augment
}


<CODE ENDS>
]]></artwork>
  </figure>
</section>
<section title="ietf-l1csm-te-service-mapping" anchor="sect-7.4">
  <figure><artwork><![CDATA[
<CODE BEGINS> file "ietf-l1csm-te-service-mapping@2020-11-02.yang"
module ietf-l1csm-te-service-mapping {
  yang-version 1.1;
  namespace
    "urn:ietf:params:xml:ns:yang:ietf-l1csm-te-service-mapping";
  prefix l1-tsm;

  import ietf-te-service-mapping-types {
    prefix tsm-types;
    reference
      "RFC XXXX:  Traffic Engineering and Service Mapping Yang Model";
  }
  import ietf-l1csm {
    prefix l1csm;
    reference
      "I-D.ietf-ccamp-l1csm-yang: A YANG Data Model for L1 Connectivity
       Service Model (L1CSM)";
  }

  organization
    "IETF Traffic Engineering Architecture and Signaling (TEAS)
     Working Group";
  contact
    "WG Web:   <http://tools.ietf.org/wg/teas/>
     WG List:  <mailto:teas@ietf.org>

     Editor:   Young Lee
               <mailto:younglee.tx@gmail.com>
     Editor:   Dhruv Dhody
               <mailto:dhruv.ietf@gmail.com>
     Editor:   Qin Wu
               <mailto:bill.wu@huawei.com>";
  description
    "This module contains a YANG module for the mapping of
     Layer 1 Connectivity Service Module (L1CSM) to the TE and VN

     Copyright (c) 2020 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 Simplified BSD License set
     forth in Section 4.c of the IETF Trust's Legal Provisions
     Relating to IETF Documents
     (https://trustee.ietf.org/license-info).

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

     The key words 'MUST', 'MUST NOT', 'REQUIRED', 'SHALL', 'SHALL
     NOT', 'SHOULD', 'SHOULD NOT', 'RECOMMENDED', 'NOT RECOMMENDED',
     'MAY', and 'OPTIONAL' in this document are to be interpreted as
     described in BCP 14 (RFC 2119) (RFC 8174) when, and only when,
     they appear in all capitals, as shown here.";

  revision 2020-11-02 {
    description
      "Initial revision.";
    reference
      "RFC XXXX:  Traffic Engineering and Service Mapping Yang Model";
  }

  /*
   * Augmentation to L1CSM
   */

  augment "/l1csm:l1-connectivity/l1csm:services/l1csm:service" {
    description
      "L1CSM augmented to include TE parameters and mapping";
    container te-service-mapping {
      presence "Indicates L1 service to TE mapping";
      description
        "Container to augment L1CSM to TE parameters and mapping";
      uses tsm-types:te-mapping;
    }
  }

  //augment

  augment "/l1csm:l1-connectivity/l1csm:access/l1csm:unis/"
        + "l1csm:uni" {
    description
      "This augment is only valid for TE mapping of L1CSM UNI to TE
       endpoints";
    uses tsm-types:te-endpoint-ref;
  }

  //augment
}

<CODE ENDS>
]]></artwork>
  </figure>
  </section>
</section>
<section title="Network Models">
<section title="ietf-l3nm-te-service-mapping">
  <figure><artwork><![CDATA[
<CODE BEGINS> file "ietf-l3nm-te-service-mapping@2020-11-02.yang"
module ietf-l3nm-te-service-mapping {
  yang-version 1.1;
  namespace
    "urn:ietf:params:xml:ns:yang:ietf-l3nm-te-service-mapping";
  prefix l3nm-tsm;

  import ietf-te-service-mapping-types {
    prefix tsm-types;
    reference
      "RFC XXXX:  Traffic Engineering and Service Mapping Yang Model";
  }
  import ietf-l3vpn-ntw {
    prefix l3vpn-ntw;
    reference
      "I-D.ietf-opsawg-l3sm-l3nm: A Layer 3 VPN Network YANG Model";
  }

  organization
    "IETF Traffic Engineering Architecture and Signaling (TEAS)
     Working Group";
  contact
    "WG Web:   <http://tools.ietf.org/wg/teas/>
     WG List:  <mailto:teas@ietf.org>

     Editor:   Young Lee
               <mailto:younglee.tx@gmail.com>
     Editor:   Dhruv Dhody
               <mailto:dhruv.ietf@gmail.com>
     Editor:   Qin Wu
               <mailto:bill.wu@huawei.com>";
  description
    "This module contains a YANG module for the mapping of Layer 3
     Network Model (L3NM) to the TE and VN.

     Copyright (c) 2020 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 Simplified BSD License set
     forth in Section 4.c of the IETF Trust's Legal Provisions
     Relating to IETF Documents
     (https://trustee.ietf.org/license-info).

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

     The key words 'MUST', 'MUST NOT', 'REQUIRED', 'SHALL', 'SHALL
     NOT', 'SHOULD', 'SHOULD NOT', 'RECOMMENDED', 'NOT RECOMMENDED',
     'MAY', and 'OPTIONAL' in this document are to be interpreted as
     described in BCP 14 (RFC 2119) (RFC 8174) when, and only when,
     they appear in all capitals, as shown here.";

  revision 2020-11-02 {
    description
      "Initial revision.";
    reference
      "RFC XXXX:  Traffic Engineering and Service Mapping Yang Model";
  }

  /*
   * Augmentation to L3NM
   */

  augment "/l3vpn-ntw:l3vpn-ntw/l3vpn-ntw:vpn-services"
        + "/l3vpn-ntw:vpn-service" {
    description
      "L3SM augmented to include TE parameters and mapping";
    container te-service-mapping {
      presence "Indicates L3 network to TE mapping";
      description
        "Container to augment l3nm to TE parameters and mapping";
      uses tsm-types:te-mapping;
    }
  }

  //augment

  augment "/l3vpn-ntw:l3vpn-ntw/l3vpn-ntw:vpn-services"
        + "/l3vpn-ntw:vpn-service"
        + "/l3vpn-ntw:vpn-nodes/l3vpn-ntw:vpn-node"
        + "/l3vpn-ntw:vpn-network-accesses"
        + "/l3vpn-ntw:vpn-network-access" {
    description
      "This augment is only valid for TE mapping of L3NM network-access
       to TE endpoints";
    uses tsm-types:te-endpoint-ref;
  }

  //augment
}

  <CODE ENDS>
]]></artwork>
  </figure>
  </section>
<section title="ietf-l2nm-te-service-mapping">
  <figure><artwork><![CDATA[
<CODE BEGINS> file "ietf-l2nm-te-service-mapping@2020-11-02.yang"
module ietf-l2nm-te-service-mapping {
  yang-version 1.1;
  namespace
    "urn:ietf:params:xml:ns:yang:ietf-l2nm-te-service-mapping";
  prefix l2nm-tsm;

  import ietf-te-service-mapping-types {
    prefix tsm-types;
    reference
      "RFC XXXX:  Traffic Engineering and Service Mapping Yang Model";
  }
  import ietf-l2vpn-ntw {
    prefix l2vpn-ntw;
    reference
      "I-D.ietf-l2nm: A Layer 2 VPN Network YANG Model";
  }

  organization
    "IETF Traffic Engineering Architecture and Signaling (TEAS)
     Working Group";
  contact
    "WG Web:   <http://tools.ietf.org/wg/teas/>
     WG List:  <mailto:teas@ietf.org>

     Editor:   Young Lee
               <mailto:younglee.tx@gmail.com>
     Editor:   Dhruv Dhody
               <mailto:dhruv.ietf@gmail.com>
     Editor:   Qin Wu
               <mailto:bill.wu@huawei.com>";
  description
    "This module contains a YANG module for the mapping of Layer 2
     Network Model (L2NM) to the TE and VN.

     Copyright (c) 2020 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 Simplified BSD License set
     forth in Section 4.c of the IETF Trust's Legal Provisions
     Relating to IETF Documents
     (https://trustee.ietf.org/license-info).

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

     The key words 'MUST', 'MUST NOT', 'REQUIRED', 'SHALL', 'SHALL
     NOT', 'SHOULD', 'SHOULD NOT', 'RECOMMENDED', 'NOT RECOMMENDED',
     'MAY', and 'OPTIONAL' in this document are to be interpreted as
     described in BCP 14 (RFC 2119) (RFC 8174) when, and only when,
     they appear in all capitals, as shown here.";

  revision 2020-11-02 {
    description
      "Initial revision.";
    reference
      "RFC XXXX:  Traffic Engineering and Service Mapping Yang Model";
  }

  /*
   * Augmentation to L2NM
   */

  augment "/l2vpn-ntw:l2vpn-ntw/l2vpn-ntw:vpn-services"
        + "/l2vpn-ntw:vpn-service" {
    description
      "L2SM augmented to include TE parameters and mapping";
    container te-service-mapping {
      presence "Indicates L2 network to TE mapping";
      description
        "Container to augment l2nm to TE parameters and mapping";
      uses tsm-types:te-mapping;
    }
  }

  //augment

  augment "/l2vpn-ntw:l2vpn-ntw/l2vpn-ntw:vpn-services"
        + "/l2vpn-ntw:vpn-service"
        + "/l2vpn-ntw:vpn-nodes/l2vpn-ntw:vpn-node"
        + "/l2vpn-ntw:vpn-network-accesses"
        + "/l2vpn-ntw:vpn-network-access" {
    description
      "This augment is only valid for TE mapping of L2NM network-access
       to TE endpoints";
    uses tsm-types:te-endpoint-ref;
  }

  //augment
}

  <CODE ENDS>
]]></artwork>
  </figure>
  </section>

</section>
</section>

  <section title="Security Considerations" anchor="sect-8">
   <t>The YANG modules defined in this document is designed to be accessed via
   network management protocol such as NETCONF <xref target="RFC6241"/>
   or RESTCONF <xref target="RFC8040"/>.  The lowest NETCONF layer is the secure
   transport layer and the mandatory-to-implement secure transport is
   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 NETCONF access control model <xref target="RFC8341"/> provides
   the means to restrict access for particular NETCONF or RESTCONF users to a
   pre-configured subset of all available NETCONF or RESTCONF protocol
   operations and content.</t>

   <t>There are a number of data nodes defined in the YANG moduleS which are
   writable/creatable/deletable (i.e., config true, which is the
   default).  These data nodes may be considered sensitive or vulnerable
   in some network environments.  Write operations (e.g.,  &lt;edit-config&gt;)
   to these data nodes without proper protection can have a negative
   effect on network operations. These are the subtrees and data nodes and 
   their sensitivity/vulnerability:
   <list style="symbols">
   <t>/l3vpn-svc/vpn-services/vpn-service/te-service-mapping/te-mapping/ - configure TE Service mapping.</t>
   <t>/l3vpn-svc/sites/site/site-network-accesses/site-network-access/te/ - configure TE Endpoint mapping.</t>
   <t>/l2vpn-svc/vpn-services/vpn-service/te-service-mapping/te-mapping/ - configure TE Service mapping.</t>
   <t>/l2vpn-svc/sites/site/site-network-accesses/site-network-access/te/ - configure TE Endpoint mapping.</t>
   <t>/l1-connectivity/services/service/te-service-mapping/te-mapping/ - configure TE Service mapping.</t>
   <t>/l1-connectivity/access/unis/uni/te/ - configure TE Endpoint mapping.</t>
   <t>/l3vpn-ntw/vpn-services/vpn-service/te-service-mapping/te-mapping/ - configure TE Network mapping.</t>
   <t>/l3vpn-ntw/vpn-services/vpn-service/vpn-nodes/vpn-node/vpn-network-accesses/vpn-network-access/te/ - configure TE Endpoint mapping.</t>
   <t>/l2vpn-ntw/vpn-services/vpn-service/te-service-mapping/te-mapping/ - configure TE Network mapping.</t>
   <t>/l2vpn-ntw/vpn-services/vpn-service/vpn-nodes/vpn-node/vpn-network-accesses/vpn-network-access/te/ - configure TE Endpoint mapping.</t>

   </list></t>

   <t>Unauthorized access to above list can adversely affect the
   VPN service.</t>

   <t>Some of the readable data nodes in the YANG module may be considered 
    sensitive or vulnerable in some network environments. It is thus important 
    to control read access (e.g., via get, get-config, or notification) to 
    these data nodes. The TE related parameters attached to the VPN service can leak sensitive information about the network. This is apploicable to all elements in the yang models defined in this document. </t>

    <t>This document has no RPC defined.</t>

  </section>

  <section title="IANA Considerations" anchor="sect-9">
    <t>This document request the IANA to register four URIs in the "IETF XML Registry"
    <xref target="RFC3688"/>.
   Following the format in RFC 3688, the following registrations are requested -
    <figure title="" suppress-title="false" align="left" alt="" width="" height="">
          <artwork xml:space="preserve" name="" type="" align="left" alt="" width="" height=""><![CDATA[

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

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

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

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

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

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

        ]]></artwork>
        </figure>
   </t>

<t>This document request the IANA to register four YANG modules in the "YANG Module Names"
   registry <xref target="RFC6020"/>, as follows - 
    <figure title="" suppress-title="false" align="left" alt="" width="" height="">
          <artwork xml:space="preserve" name="" type="" align="left" alt="" width="" height=""><![CDATA[
Name:      ietf-te-service-mapping-types
Namespace: urn:ietf:params:xml:ns:yang:ietf-te-service-mapping-types
Prefix:    tsm-types
Reference: [This.I-D]

Name:      ietf-l3sm-te-service-mapping
Namespace: urn:ietf:params:xml:ns:yang:ietf-l3sm-te-service-mapping
Prefix:    l3-tsm
Reference: [This.I-D]

Name:      ietf-l2sm-te-service-mapping
Namespace: urn:ietf:params:xml:ns:yang:ietf-l2sm-te-service-mapping
Prefix:    l2-tsm
Reference: [This.I-D]

Name:      ietf-l1csm-te-service-mapping
Namespace: urn:ietf:params:xml:ns:yang:ietf-l1csm-te-service-mapping
Prefix:    l1-tsm
Reference: [This.I-D]

Name:      ietf-l3nm-te-service-mapping
Namespace: urn:ietf:params:xml:ns:yang:ietf-l3nm-te-service-mapping
Prefix:    l3nm-tsm
Reference: [This.I-D]

Name:      ietf-l2nm-te-service-mapping
Namespace: urn:ietf:params:xml:ns:yang:ietf-l2nm-te-service-mapping
Prefix:    l2nm-tsm
Reference: [This.I-D]

        ]]></artwork>
        </figure>
    </t>
  </section>

  <section title="Acknowledgements" anchor="sect-10"><t>
   We thank Diego Caviglia, and Igor Bryskin for useful discussions and
   motivation for this work.</t>

  </section>

  </middle>

  <back>
  <references title="Normative References">

    &RFC3688;
    &RFC6242;
    &RFC7926;
    &RFC7950;
    &RFC8040;
      &RFC8299;
    &RFC8340;
    &RFC8341;
    &RFC8345;
    &RFC8446;
    &RFC8466;
    &I-D.ietf-ccamp-l1csm-yang;
    &I-D.ietf-teas-actn-vn-yang;
    &I-D.ietf-teas-yang-te;
    &RFC8776;
    &I-D.ietf-opsawg-l3sm-l3nm;
    &I-D.ietf-opsawg-l2nm;
    &RFC8795;
    &RFC8342;
    &RFC6020;
    &RFC8349;
    &I-D.ietf-spring-sr-policy-yang;
    &RFC6991;
    &RFC2119;
    &RFC8174;
  </references>
  <references title="Informative References">
  
  
  &RFC6241;
  &RFC8199;
  &RFC8309;
  
  &RFC8453;
  
  &I-D.ietf-teas-actn-yang;
  
  
  </references>
  <section title="Contributor Addresses" anchor="sect-a"><figure><artwork><![CDATA[
Adrian Farrel
Old Dog Consulting

EMail: adrian@olddog.co.uk

Italo Busi
Huawei Technologies

EMail: Italo.Busi@huawei.com

Haomian Zheng 
Huawei Technologies

EMail: zhenghaomian@huawei.com

Anton Snitser 
Sedonasys

EMail: antons@sedonasys.com

SAMIER BARGUIL GIRALDO 
Telefonica

EMail: samier.barguilgiraldo.ext@telefonica.com

Oscar González de Dios 
Telefonica

EMail: oscar.gonzalezdedios@telefonica.com

Carlo Perocchio 
Ericsson

EMail: carlo.perocchio@ericsson.com

Kenichi Ogaki
KDDI
Email: ke-oogaki@kddi.com
]]></artwork>
  </figure>
  </section>

  </back>

  </rfc>
  
