CCAMP Working Group                                   G. Fioccola (Ed.)
                                                         Telecom Italia
Internet Draft                                                   K.                                               Y. Lee
Internet-Draft                                                      SKKU
Intended Status: Standard status: Standards Track                                  K. Lee
Expires: March 12, 2020                                    Korea Telecom
Expires: September 6, 2019                                 Y. Lee (Ed.)
                                                                H. Zheng
                                                                D. Dhody
                                                     Huawei Technologies
                                                     O. Gonzalez de-Dios de Dios
                                                              Telefonica
                                                           D. Ceccarelli
                                                                Ericsson

                                                          March 6,
                                                       September 9, 2019

      A YANG Data Model for L1 Connectivity Service Model (L1CSM)

                      draft-ietf-ccamp-l1csm-yang-09
                     draft-ietf-ccamp-l1csm-yang-10

Abstract

   This document provides a YANG data model for Layer 1 Connectivity
   Service Model (L1CSM).  The intent of this document is to provide a
   transport
   Layer 1 service model exploiting YANG data model, which can be
   utilized by a client customer network controller to initiate a service
   request connectivity request as well as retrieving service states toward a transport
   Layer 1 network controller communicating with the client its customer network
   controller.  This YANG model is NMDA-compliant.

Status of this This Memo

   This Internet-Draft is submitted to IETF in full conformance with the
   provisions of BCP 78 and BCP 79.

   Internet-Drafts are working documents of the Internet Engineering
   Task Force (IETF), its areas, and its working groups. (IETF).  Note that other groups may also distribute
   working documents as Internet-Drafts.  The list of current Internet-
   Drafts.
   Drafts is at https://datatracker.ietf.org/drafts/current/.

   Internet-Drafts are draft documents valid for a maximum of six months
   and may be updated, replaced, or obsoleted by other documents at any
   time.  It is inappropriate to use Internet-Drafts as reference
   material or to cite them other than as "work in progress."

   The list of current Internet-Drafts can be accessed at
   http://www.ietf.org/ietf/1id-abstracts.txt

   The list of Internet-Draft Shadow Directories can be accessed at
   http://www.ietf.org/shadow.html

   This Internet-Draft will expire on September 6, 2019. March 12, 2020.

Copyright Notice

   Copyright (c) 2019 IETF Trust and the persons identified as the
   document authors.  All rights reserved.

   This document is subject to BCP 78 and the IETF Trust's Legal
   Provisions Relating to IETF Documents
   (http://trustee.ietf.org/license-info)
   (https://trustee.ietf.org/license-info) in effect on the date of
   publication of this document.  Please review these documents
   carefully, as they describe your rights and restrictions with respect
   to this document.  Code Components extracted from this document must
   include Simplified BSD License text as described in Section 4.e of
   the Trust Legal Provisions and are provided without warranty as
   described in the Simplified BSD License.

Table of Contents

   1. Introduction...................................................2  Introduction  . . . . . . . . . . . . . . . . . . . . . . . .   2
     1.1.  Deployment Scenarios......................................3 Scenarios  . . . . . . . . . . . . . . . . . .   3
     1.2. Terminology...............................................6  Terminology . . . . . . . . . . . . . . . . . . . . . . .   6
     1.3.  Tree diagram..............................................6 Diagram  . . . . . . . . . . . . . . . . . . . . . .   6
     1.4.  Prefixes in Data Node Names...............................6 Names . . . . . . . . . . . . . . .   6
   2. Definitions....................................................7  Definitions . . . . . . . . . . . . . . . . . . . . . . . . .   7
   3. L1SM  L1CSM YANG Model (Tree Structure)...............................7 Structure) . . . . . . . . . . . . . .   7
   4. L1SM  L1CSM YANG Code.................................................8 Code . . . . . . . . . . . . . . . . . . . . . . .   8
   5.  JSON Example..................................................21
   6. Security Considerations.......................................22
   7. IANA Considerations...........................................23
   8. Acknowledgments...............................................24
   9. References....................................................25
      9.1. Normative References.....................................25
      9.2. Informative References...................................25
   10. Contributors.................................................26
   Authors' Addresses...............................................26

1. Introduction

   This document Example  . . . . . . . . . . . . . . . . . . . . . . . .  12
   6.  Security Considerations . . . . . . . . . . . . . . . . . . .  14
   7.  IANA Considerations . . . . . . . . . . . . . . . . . . . . .  14
   8.  Acknowledgements  . . . . . . . . . . . . . . . . . . . . . .  15
   9.  Contributors  . . . . . . . . . . . . . . . . . . . . . . . .  15
   10. References  . . . . . . . . . . . . . . . . . . . . . . . . .  15
     10.1.  Normative References . . . . . . . . . . . . . . . . . .  15
     10.2.  Informative References . . . . . . . . . . . . . . . . .  16
   Authors' Addresses  . . . . . . . . . . . . . . . . . . . . . . .  17

1.  Introduction

   This document provides a YANG data model for L1VPN Connectivity
   Service Model (L1CSM) which can be classified as Network Service YANG
   module per [RFC8199].  The intent of this document is to provide a
   transport service model exploiting YANG data model, which can be
   utilized by a client network controller to initiate a service request
   connectivity request as well as retrieving service states toward a
   transport network controller communicating with the client controller
   via a NETCONF [RFC8341] or a RESTCONF [RFC8040] interface.

   [RFC4847] provides a framework and service level requirements for
   Layer 1 Virtual Private Networks (L1VPNs).  It classifies service
   models as management-based service model, signaling-based service
   model (Basic Mode) and signaling and routing service model (Enhanced
   Mode).

   In the management-based service model, customer management systems
   and provider management systems communicate with each other.
   Customer management systems access provider management systems to
   request layer 1 connection setup/deletion between a pair of CEs.
   Customer management systems may obtain additional information, such
   as resource availability information and monitoring information, from
   provider management systems.  There is no control message exchange
   between a CE and PE.

   In the signaling-based service model (Basic Model), the CE-PE
   interface's functional repertoire is limited to path setup signaling
   only.  In the Signaling and routing service model (Enhanced Mode),
   the CE-PE interface provides the signaling capabilities as in the
   Basic Mode, plus permits limited exchange of information between the
   control planes of the provider and the customer to help such
   functions as discovery of customer network routing information (i.e.,
   reachability or TE information in remote customer sites), or
   parameters of the part of the provider's network dedicated to the
   customer.

   The primary focus of this document is to describe L1CS YANG model
   required for the instantiation of point-to-point L1VPN service.  A
   L1VPN is a service offered by a core layer 1 network to provide layer
   1 connectivity between two or more customer sites where the customer
   has some control over the establishment and type of the connectivity.

   The data model presented in Section 3 is in consistent with [MEF63].
   The data model includes configuration and state data according to the
   new Network Management Datastore Architecture [RFC8342].

1.1.  Deployment Scenarios

   Figure 1 depicts a deployment scenario of the L1VPN SDN control-
   based control-based
   service model for an external customer instantiating L1 point-
   to-point point-to-
   point connectivity to the provider.

                             +------------+
                             |  Customer  |
                             |   Service  |
                             |Orchestrator|
                             +------------+
                                    |
                      .. .. .. .. ..|.. .. .. .. .. .. .
                     :                          |                 :
                     :     +--------------------+     :
                     :     |                    |     :
                     :     |    +----------+    |     :
                     :     |    | Network  |    |     :
                     :     |    |   SDN    |    |     :
                     :     |    |Controller|    |     :
                     :     |    |/NMS/EMS  |    |     :
                     :     |    +----------+    |     :
                     :     |                    |     :
                     :     |                    |     :
           +----+    :   +----+    +----+    +----+   :   +----+
           | CE |----:---| PE |----| P  |----| PE |---:---| CE |
           +----+    :   +----+    +----+    +----+   :   +----+
                     :     |                    |     :
                     :     |                    |     :
                     :     +--------------------+     :
                     :     |                    |     :
                     :     |<-Provider network->|     :

                 Customer                          Customer
                 Interface                         Interface

   Figure 1: L1VPN SDN Controller/EMS/NMS-Based Service Model: External
                                 Customer

   With this scenario, the customer service orchestrator interfaces with
   the network SDN controller of the provider using Customer Service
   Model as defined in [RFC8309].

   Figure 2 depicts another deployment scenario for internal customer
   (e.g., higher-layer service management department(s)) interfacing the
   layer 1 transport network department.  With this scenario, a
   multi-service multi-
   service backbone is characterized such that each service department
   of a provider (e.g., L2/3 services) that receives the same provider's
   L1VPN service provides a different kind of higher-
   layer higher-layer service.  The
   customer receiving the L1VPN service (i.e., each service department)
   can offer its own services, whose payloads can be any layer (e.g.,
   ATM, IP, TDM).  The layer 1 transport network and each service
   network belong to the same organization, but may be managed
   separately.  The Service SDN Controller is the control/management
   entity owned by higher-layer service department (e.g., L2/3 VPN)
   whereas the Network SDN Controller is the control/management entity
   responsible for Layer 1 connectivity service.  The CE's CEs in Figure 2
   are L2/3 devices that interface with L1 PE devices.

                                   +----------+
                                   | Service  |
                                   |   SDN    |
                                   |Controller|
                                   |/EMS/NMS  |
                                   | for L2/3 |
                                   +----------+
                                        |
                                        |
                                        |
                           +--------------------+
                           |                    |
                           |    +----------+    |
                           |    | Network  |    |
                           |    |   SDN    |    |
                           |    |Controller|    |
                           |    |/EMS/NMS  |    |
                           |    | for L1VPN|    |
                           |    +----------+    |
                           |                    |
                           |                    |
           +----+        +----+    +----+    +----+      +----+
           | CE |--------| PE |----| P  |----| PE |------| CE |
           +----+        +----+    +----+    +----+      +----+
              |            |                    |          |
              |            |                    |          |
              |            +--------------------+          |
              |            |                    |          |
              |            |<------------------>|          |
              |               Provider Network             |
              |                  For Layer 1               |
              |<------------------------------------------>|
                             Provider Network for L2/3

   Figure 2: L1VPN SDN Controller/EMS/NMS-Based Service Model: Internal
                                 Customer

   The benefit is that the same layer 1 transport network resources are
   shared by multiple services.  A large capacity backbone network (data
   plane) can be built economically by having the resources shared by
   multiple services usually with flexibility to modify topologies,
   while separating the control functions for each service department.
   Thus, each customer can select a specific set of features that are
   needed to provide their own service [RFC4847].

1.2.  Terminology

   Refer to [RFC4847] and [RFC5253] for the key terms used in this
   document.

   The following terms are defined in [RFC7950] and are not redefined
   here:

   o  client

   o  server

   o  augment

   o  data model

   o  data node

   The following terms are defined in [RFC6241] and are not redefined
   here:

   o  configuration data

   o  state data

   The terminology for describing YANG data models is found in
   [RFC7950].

1.3.  Tree diagram Diagram

   A simplified graphical representation of the data model is used in
   chapter
   Section 3 of this this document.  The meaning of the symbols in these
   diagrams is defined in [RFC8340].

1.4.  Prefixes in Data Node Names

   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 modules.  The module ietf-layer1-types
   specified in Table 1.

      +---------+------------------------------+-----------------+ [I-D.ietf-ccamp-layer1-types] and ietf-yang-types
   specified in [RFC6991] are imported in this module.

    +-------------+-------------------+------------------------------+
    | Prefix      | YANG module       |         Reference            |
      +---------+------------------------------+-----------------+
    +-------------+-------------------+------------------------------+
    | l1csm       | ietf-l1cms ietf-l1csm        | [RFC XXXX]                   |
    | l1-st   | ietf-l1-service-types        | [RFC XXXX] layer1-types|ietf-layer1-types  | [I-D.ietf-ccamp-layer1-types]|
    | yang        | ietf-yang-types   | [RFC6991]                    |
      +---------+------------------------------+-----------------+

             Table 1: Prefixes and corresponding YANG modules
    +-------------+-------------------+------------------------------+

   Note: The RFC Editor will replace XXXX with the number assigned to
   the RFC once this draft becomes an RFC.

2.  Definitions

   L1VC Layer 1 Virtual Connection

   SLS Service Level Specification

   UNI User Network Interface

   PE Provider Edge

   CE Customer Edge

   EP End Point

   P Protocol

   C Coding

   O Optical Interface

3. L1SM  L1CSM YANG Model (Tree Structure)
      module: ietf-l1csm
       +--rw l1-connectivity
          +--rw access
          |  +--rw unis
          |     +--rw uni* [id]
          |        +--rw id                   string
          |        +--rw protocol?            identityref
          |        +--rw coding?              identityref
          |        +--rw optical-interface?   identityref
          +--rw services
             +--rw service* [service-id]
                +--rw service-id            string
                +--rw endpoint-1
                |  +--rw id     string
                |  +--rw uni    -> /l1-connectivity/access/unis/uni/id
                +--rw endpoint-2
                |  +--rw id     string
                |  +--rw uni    -> /l1-connectivity/access/unis/uni/id
                +--rw start-time?           yang:date-and-time
                +--rw time-interval?        int32
                +--rw performance-metric*   identityref

4. L1SM  L1CSM YANG Code

   The YANG code is as follows:

  <CODE BEGINS> file "ietf-l1csm@2018-09-12.yang" BEGINS>file "ietf-l1csms@2019-09-09.yang"
  module ietf-l1csm {
    yang-version 1.1;
    namespace "urn:ietf:params:xml:ns:yang:ietf-l1csm";
    prefix "l1csm";

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

    import ietf-l1-service-types ietf-layer1-types {
      prefix "l1-st";
    reference "RFC XXXX - A YANG Data Model for L1 Connectivity
              Service Model (L1CSM)"; "layer1-types";
    }

    organization
      "Internet Engineering Task Force (IETF) CCAMP WG";

    contact

      "Editor: G. Fioccolla (giuseppe.fioccola@telecomitalia.it) Y. Lee (younglee_tx@gmail.com)
       Editor: K. Lee (kwangkoog.lee@kt.com)
       Editor: Y. Lee (leeyoung@huawei.com) H. Zheng (zhenghaomian@huawei.com)
       Editor: D. Dhody (dhruv.ietf@gmail.com)
       Editor: O. G. de-Dios (oscar.gonzalezdedios@telefonica.com)
       Editor: D. Ceccarelli (daniele.ceccarelli@ericsson.com)";

    description
      "This module describes L1 connectivity service based on MEF 63:
           Subscriber Layer 1 Service Attribute Technical Specification.
           Refer to MEF 63 for all terms and the original references
       used in the module.

       Copyright (c) 2018 2019 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
       (http://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 "2018-09-12" "2019-09-09" {
         description "Initial revision.";
         reference "RFC XXXX: A YANG Yang Data Model for L1 Connectivity
                   Service Model (L1CSM)";
    // Note: The RFC Editor will replace XXXX with the number
    // assigned to the RFC once this draft becomes an RFC.
    }

          grouping protocol-coding-optical-interface {
       description
        "describes <p,c,o> where p:protocol type; c:coding
         function; o:optical interface function";
        reference "MEF 63";
        leaf protocol {
          type identityref {
            base "l1-st:protocol-type"; "layer1-types:client-signal";
          }
          description
            "List of physical layer L1VC clientprotocol"; client protocol";

        }
        leaf coding {
           type identityref {
             base "l1-st:coding-func"; "layer1-types:coding-func";
           }
           description "coding function";
        }

         leaf optical-interface {
           type identityref {
             base "l1-st:optical-interface-func"; "layer1-types:optical-interface-func";
           }
           description "optical-interface-function";
        }

       }

    grouping subscriber-l1vc-sls-service-attribute {
       description
        "The value of the Subscriber L1VC SLS (Service Level
          Specification) Service Attribute";
        reference "MEF 63";

        leaf start-time {
          type yang:date-and-time;
          description "a time that represent the date and time
                       for the start of the SLS";
        }

        leaf time-interval {
          type int32;
          units seconds;
          description "a time interval (e.g., 2,419,200 seconds
                       which is 28 days) that is used in
                       conjunction wuth time-start to specify a
                       contiguous sequence of time intervals T for
                       determining when performance objectives are
                       met.";
        }

        leaf-list performance-metric {
          type identityref {
            base "l1-st:performance-metric"; "layer1-types:service-performance-metric";
          }
          description "list of service performance metric"; metric.";
        }

    }

    grouping subscriber-l1vc-endpoint-attributes {
       description
        "subscriber layer 1 connection endpoint attributes";
        reference "MEF 63";
        container endpoint-1 {
          description "One end of UNI id's - string and id";
          leaf id {
            type string;
            mandatory true;
            description "subscriber end point ID of one end";
          }

          leaf uni {
            type leafref {
              path "/l1-connectivity/access/unis/uni/id";
            }
             mandatory true;
            description "this is one end of subscriber L1VC end point
             ID value = UNI-1";
          }
        }
        container endpoint-2 {
          description "One end of UNI id's - string and id";
          leaf id {
            type string;
             mandatory true;
            description "subscriber end point ID of the other end";
          }

          leaf uni {
            type leafref {
              path "/l1-connectivity/access/unis/uni/id";
            }
             mandatory true;
            description
               "this is one other end of subscriber L1VC end point
                ID value = UNI-2";
          }
        }
    }

    container l1-connectivity {
      description
        "serves as a top-level container for a list of layer 1
         connection services (l1cs)";

        container access {
          description "UNI configurations for access networks";

          container unis {
            description "the list of UNI's to be configured";
            list uni {
              key "id";
              description "UNI identifier";
                  leaf id {
                    type string;
                     description "the UNI id of UNI Service Attributes";
                  }

                 uses protocol-coding-optical-interface;
            }
          }
        }

         container services {
           description "L1VC services";
             list service {
               key "service-id";
               description
                 "an unique identifier of a subscriber L1VC service";

                 leaf service-id {
                   type string;
                       mandatory true;
                   description "a unique service identifier for
                      subscriber L1VC.";
                 }

                 uses subscriber-l1vc-endpoint-attributes;
                 uses subscriber-l1vc-sls-service-attribute;

             }//end of service list
         } //end of service container
    }//service top container
  }

  <CODE ENDS>

   <CODE BEGINS> file "ietf-l1-service-types@2018-09-12.yang"

   module ietf-l1-service-types {
     namespace "urn:ietf:params:xml:ns:yang:ietf-l1-service-types";
     prefix "l1-st";

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

       Editor: G. Fioccolla(giuseppe.fioccola@telecomitalia.it)
       Editor: K. Lee (kwangkoog.lee@kt.com)
       Editor: Y. Lee (leeyoung@huawei.com)
       Editor: D. Dhody (dhruv.ietf@gmail.com)
       Editor: O. G. de-Dios(oscar.gonzalezdedios@telefonica.com)
       Editor: D. Ceccarelli(daniele.ceccarelli@ericsson.com)";

     description
        "This module defines L1 service types based on MEF 63:
       Subscriber Layer 1 Service Attribute Technical Specification.
       Refer to MEF 63 for all terms and

5.  JSON Example

   This section provides a JSON example of the original references
        used YANG module described in
   Section 4.  This example configures one L1VC service with two UNIs
   that describe the module. As for UNI endpoints.  The service is configured with the protocol-type, refer also
   starting time to be 06:06:09 on 2018-09-13 for the client-type in G.709.

        Copyright (c) 2018 IETF Trust and the persons identified as
        authors service life time
   of the code.  All rights reserved.
        Redistribution and use in source and binary forms, with or
        without modification, 2419200 seconds (which is permitted pursuant to, and subject corresponds to 28 days).  In addition,
   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
        (http://trustee.ietf.org/license-info).

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

        revision "2018-09-12" {
          description "Initial revision.";
          reference "RFC XXXX: A Yang Data Model for L1 Connectivity
                    Service Model (L1CSM)";
        // Note: The RFC Editor will replace XXXX with the number
        // assigned configured to the RFC once this draft becomes an RFC.
        }

       identity protocol-type {
      description
      "base identity from which client protocol type is derived.";
      }

      identity ETH-1GbE {
         base "protocol-type";
         description
             "Gigabit Ethernet protocol type";
         reference "MEF63 & G.709";
      }

      identity ETH-10GbE-WAN {
         base "protocol-type";
         description
            "10 Gigabit Ethernet-WAN protocol type";
          reference "MEF63 & G.709";

      }

      identity ETH-10GbE-LAN {
         base "protocol-type";
         description
            "10 Gigabit Ethernet-LAN protocol type";
         reference "MEF63 & G.709";
      }

      identity ETH-40GbE {
         base "protocol-type";
         description
            "40 Gigabit Ethernet protocol type";
         reference "MEF63 & G.709";
      }

      identity ETH-100GbE {
         base "protocol-type";
         description
            "100 Gigabit Ethernet protocol type";
         reference "MEF63 & G.709";
      }

      identity FC-100 {
         base "protocol-type";
         description
            "Fiber Channel - 100 protocol type";
         reference "MEF63 & G.709";
      }

      identity FC-200 {
         base "protocol-type";
         description
            "Fiber Channel - 200 protocol type";
         reference "MEF63 & G.709";
      }

      identity FC-400 {
         base "protocol-type";
         description
            "Fiber Channel - 400 protocol type";
         reference "MEF63 & G.709";
      }

      identity FC-800 {
         base "protocol-type";
         description
            "Fiber Channel - 800 protocol type";
         reference "MEF63 & G.709";
      }

      identity FC-1200 {
         base "protocol-type";
         description
            "Fiber Channel - 1200 protocol type";
         reference "MEF63 & G.709";
      }

      identity FC-1600 {
         base "protocol-type";
         description
            "Fiber Channel - 1600 protocol type";
         reference "MEF63 & G.709";
      }

      identity FC-3200 {
         base "protocol-type";
         description
            "Fiber Channel - 3200 protocol type";
         reference "MEF63 & G.709";
      }

      identity STM-1 {
         base "protocol-type";
         description
            "SDH STM-1 protocol type";
         reference "MEF63 & G.709";
      }

      identity STM-4 {
         base "protocol-type";
         description
            "SDH STM-4 protocol type";
         reference "MEF63 & G.709";
      }

      identity STM-16 {
         base "protocol-type";
         description
            "SDH STM-16 protocol type";
         reference "MEF63 & G.709";
      }

      identity STM-64 {
         base "protocol-type";
         description
            "SDH STM-64 protocol type";
         reference "MEF63 & G.709";
      }

      identity STM-256 {
         base "protocol-type";
         description
            "SDH STM-256 protocol type";
         reference "MEF63 & G.709";
      }

      identity OC-3 {
         base "protocol-type";
         description
            "SONET OC-3 protocol type";
         reference "MEF63 & G.709";
      }

      identity OC-12 {
         base "protocol-type";
         description
            "SONET OC-12 protocol type";
         reference "MEF63 & G.709";
      }

      identity OC-48 {
         base "protocol-type";
         description
            "SONET OC-48 protocol type";
         reference "MEF63 & G.709";
      }

      identity OC-192 {
         base "protocol-type";
         description
            "SONET OC-192 protocol type";
         reference "MEF63 & G.709";
      }

      identity OC-768 {
         base "protocol-type";
         description
            "SONET OC-768 protocol type";
         reference "MEF63 & G.709";
      }

     identity coding-func {
      description
      "base identity from which coding func is derived.";
     }

      identity ETH-1000X-PCS-36 {
         base "coding-func";
         description
            "PCS clause 36 coding function that corresponds to
             1000BASE-X";
         reference "MEF63 & IEEE802.3";
      }

      identity ETH-10GW-PCS-49-WIS-50 {
         base "coding-func";
         description
            "PCS clause 49 and WIS clause 50 coding func that
             corresponds to 10GBASE-W (WAN PHY)";
         reference "MEF63 & IEEE802.3";
      }

      identity ETH-10GR-PCS-49 {
         base "coding-func";
         description
            "PCS clause 49 coding function that corresponds to
             10GBASE-R (LAN PHY)";
         reference "MEF63 & IEEE802.3";
      }

      identity ETH-40GR-PCS-82 {
         base "coding-func";
         description
            "PCS clause 82 coding function that corresponds to
             40GBASE-R";
         reference "MEF63 & IEEE802.3";
      }

      identity ETH-100GR-PCS-82 {
         base "coding-func";
         description
            "PCS clause 82 coding function that corresponds to
             100GBASE-R";
         reference "MEF63 & IEEE802.3";
      }

      /* coding func needs to expand for Fiber Channel, SONET, SDH  */

     identity optical-interface-func {
      description
        "base identity from which optical-interface-function is
         derived.";
     }

      identity SX-PMD-clause-38 {
         base "optical-interface-func";
         description
            "SX-PMD-clause-38 Optical Interface function for
            1000BASE-X PCS-36";
         reference "MEF63 & IEEE802.3";
      }

      identity LX-PMD-clause-38 {
         base "optical-interface-func";
         description
            "LX-PMD-clause-38 Optical Interface function for
            1000BASE-X PCS-36";
         reference "MEF63 & IEEE802.3";
      }

      identity LX10-PMD-clause-59 {
         base "optical-interface-func";
         description
            "LX10-PMD-clause-59 Optical Interface function for
            1000BASE-X PCS-36";
         reference "MEF63 & IEEE802.3";
      }

      identity BX10-PMD-clause-59 {
         base "optical-interface-func";
         description
            "BX10-PMD-clause-59 Optical Interface function for
            1000BASE-X PCS-36";
         reference "MEF63 & IEEE802.3";
      }

      identity LW-PMD-clause-52 {
         base "optical-interface-func";
         description
            "LW-PMD-clause-52 Optical Interface function for
            10GBASE-W PCS-49-WIS-50";
         reference "MEF63 & IEEE802.3";
      }

      identity EW-PMD-clause-52 {
         base "optical-interface-func";
         description
            "EW-PMD-clause-52 Optical Interface function for
            10GBASE-W PCS-49-WIS-50";
         reference "MEF63 & IEEE802.3";
      }

      identity LR-PMD-clause-52 {
         base "optical-interface-func";
         description
            "LR-PMD-clause-52 Optical Interface function for
            10GBASE-R PCS-49";
         reference "MEF63 & IEEE802.3";
      }

      identity ER-PMD-clause-52 {
         base "optical-interface-func";
         description
            "ER-PMD-clause-52 Optical Interface function for
            10GBASE-R PCS-49";
         reference "MEF63 & IEEE802.3";
      }

      identity LR4-PMD-clause-87 {
         base "optical-interface-func";
         description
            "LR4-PMD-clause-87 Optical Interface function for
            40GBASE-R PCS-82";
         reference "MEF63 & IEEE802.3";
      }

      identity ER4-PMD-clause-87 {
         base "optical-interface-func";
         description
            "ER4-PMD-clause-87 Optical Interface function for
            40GBASE-R PCS-82";
         reference "MEF63 & IEEE802.3";
      }

      identity FR-PMD-clause-89 {
         base "optical-interface-func";
         description
            "FR-PMD-clause-89 Optical Interface function for
            40GBASE-R PCS-82";
         reference "MEF63 & IEEE802.3";
      }

      identity LR4-PMD-clause-88 {
         base "optical-interface-func";
         description
            "LR4-PMD-clause-88 Optical Interface function for
            100GBASE-R PCS-82";
         reference "MEF63 & IEEE802.3";
      }

      identity ER4-PMD-clause-88 {
         base "optical-interface-func";
         description
            "ER4-PMD-clause-88 Optical Interface function for
            100GBASE-R PCS-82";
         reference "MEF63 & IEEE802.3";
      }

      /* optical interface func needs to expand for Fiber Channel,
         SONET and SDH */

     identity performance-metric {
      description "list of performance metric";
     }

      identity One-way-Delay {
         base "performance-metric";
         description "one-way-delay";
      }

      identity One-way-Errored-Second {
         base "performance-metric";
         description "one-way-errored-second";
      }

      identity One-way-Severely-Errored-Second {
         base "performance-metric";
         description "one-way-severely-errored-second";
      }

      identity One-way-Unavailable-Second {
         base "performance-metric";
         description "one-way-unavailable-second";
      }

      identity One-way-Availability {
         base "performance-metric";
         description "one-way-availability";
      }

   }

   <CODE ENDS>

5. JSON Example

   This section provides a JSON example of the YANG module described in
   Section 4. This example configures one L1VC service with two UNIs
   that describe the UNI endpoints. The service is configured with the
   starting time to be 06:06:09 on 2018-09-13 for the service life time
   of 2419200 seconds (which is corresponds to 28 days). In addition,
   the service is configured to collect one performance metric, One-
   way-Delay. collect one performance metric, One-way-
   Delay.

   {
     "l1-connectivity": {
       "access": {
         "unis": {
           "uni": [
             {
               "id": "MTL-HQ-Node3-Slot2-Port1",
               "protocol": "ETH-10GigE_LAN ",
               "coding": "ETH-10GR-PCS-49 ",
               "optical_interface": "LR-PMD-clause-52 "
             },
             {
               "id": "MTL-STL-Node5-Slot4-Port3",
               "protocol": "ETH-10GigE_LAN ",
               "coding": "ETH-10GR-PCS-49 ",
               "optical_interface": "ER-PMD-clause-52 "
             }
           ]
         },
       },
       "services": {
         "service": [
           {
             "service-id": "Sub-L1VC-1867-LT-MEGAMART",
             "endpoint-1":
               {
                 "id": "MTL-HQ_1867-MEGAMART",
                 "uni": "MTL-HQ-Node3-Slot2-Port1"
               },
             "endpoint-2":
               {
                 "id": "MTL-STL_1867-MEGAMART",
                 "uni": "MTL-STL-Node5-Slot4-Port3"
               },
             "start-time": "2018-09-13T06:06:09Z",
             "time-interval": 2419200,
             "performance-metric": "One-way-Delay "
           }
         ]
       },
   }

6.  Security Considerations

   The configuration, state, and action data defined YANG module specified in this document
   are defines a schema for data
   that is designed to be accessed via a management protocol with a secure
   transport layer, be accessed via network management protocols such
   as NETCONF [RFC6241] or RESTCONF [RFC8040].  The lowest NETCONF layer
   is the secure transport layer, and the mandatory-to-implement secure
   transport is Secure Shell (SSH) [RFC6242].  The lowest RESTCONF layer
   is HTTPS, and the mandatory-
   to-implement mandatory-to-implement secure transport is TLS
   [RFC8446].

   The NETCONF access control model [RFC8341] provides the means to
   restrict access for particular NETCONF or RESTCONF users to a
   preconfigured subset of all available NETCONF or RESTCONF protocol
   operations and content.

   A number of configuration data nodes defined in this document are
   writable/deletable (i.e., "config true") These data nodes may be
   considered sensitive or vulnerable in some network environments.

   These are the subtrees and data nodes and their
   sensitivity/vulnerability: sensitivity/
   vulnerability:

   unis:

   - id

   Service:

   - service-id

   - endpoint-1

   - endpoint-2

   - start-time

   - time-interval

   - performance-metric

   The security considerations spelled out in the YANG 1.1 specification
   [RFC7950] apply for this document as well.

7.  IANA Considerations

   This document registers the following namespace

   It is proposed that IANA should assign new URIs in from the IETF "IETF XML
   registry [RFC3688]:

   --------------------------------------------------------------------
   Registry" [RFC3688] as follows:

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

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

   This document registers the following YANG modules in the YANG Module
   Names registry [RFC6020]:

   -------------------------------------------------------------------- [RFC7950].

      name:         ietf-l1csm
      namespace:    urn:ietf:params:xml:ns:yang:ietf-l1csm
      prefix:       l1csm
      reference:    RFC XXXX (TDB)
   --------------------------------------------------------------------

   --------------------------------------------------------------------
   name:         ietf-l1-service-types
   namespace:    urn:ietf:params:xml:ns:yang:ietf-l1-service-types
   reference:    RFC XXXX (TDB)
   --------------------------------------------------------------------

8. Acknowledgments  Acknowledgements

   The authors would like to thank Tom Petch and Italo Busi for their his helpful comments
   and valuable contributions and Robert Wilton for his YANG doctor's review that
   improved the model significantly.

9.  Contributors

   Italo Busi
   Huawei Technologies
   Email: Italo.Busi@huawei.com

   Giuseppe Fioccola
   Huawei Technologies
   Email: giuseppe.fioccola@huawei.com

10.  References

   9.1.

10.1.  Normative References

   [MEF63]    Metro Ethernet Forum, "Subscriber Layer 1 Layer1 Service Attributes",
              Attributes Technical
             Specification, Specification", MEF 63, August 2018.

   [RFC8446] Dierks, T. and E. Rescorla, "The Transport Layer Security
             (TLS) Protocol Version 1.3", RFC 8446, August 2018.

   [RFC6020] Bjorklund,

   [RFC3688]  Mealling, M., Ed., "YANG - A Data Modeling Language for
             the Network Configuration Protocol (NETCONF)", "The IETF XML Registry", BCP 81, RFC 6020,
             October 2010. 3688,
              DOI 10.17487/RFC3688, January 2004,
              <https://www.rfc-editor.org/info/rfc3688>.

   [RFC6241]  Enns, R., Ed., Bjorklund, M., Ed., Schoenwaelder, J., Ed.,
              and A. Bierman, Ed., "Network Configuration Protocol
              (NETCONF)", RFC 6241, DOI 10.17487/RFC6241, June 2011. 2011,
              <https://www.rfc-editor.org/info/rfc6241>.

   [RFC6242]  Wasserman, M., "Using the NETCONF Protocol over Secure
              Shell (SSH)", RFC 6242, DOI 10.17487/RFC6242, June 2011. 2011,
              <https://www.rfc-editor.org/info/rfc6242>.

   [RFC6991] J.  Schoenwaelder, J., Ed., "Common YANG Data Types",
              RFC 6991, DOI 10.17487/RFC6991, July 2013. 2013,
              <https://www.rfc-editor.org/info/rfc6991>.

   [RFC7950]  Bjorklund, M., Ed., "The YANG 1.1 Data Modeling Language",
              RFC 7950, DOI 10.17487/RFC7950, August 2016. 2016,
              <https://www.rfc-editor.org/info/rfc7950>.

   [RFC8040]  Bierman, A., Bjorklund, M., and K. Watsen, "RESTCONF
              Protocol", RFC 8040, DOI 10.17487/RFC8040, January 2017. 2017,
              <https://www.rfc-editor.org/info/rfc8040>.

   [RFC8340]  Bjorklund, M. and L. Berger, Ed., "YANG Tree Diagrams",
              BCP 215, RFC 8340, DOI 10.17487/RFC8340, March 2018,
              <https://www.rfc-editor.org/info/rfc8340>.

   [RFC8341]  Bierman, A. and M. Bjorklund, "Network Configuration
              Access Control Model", STD 91, RFC 8341,
              DOI 10.17487/RFC8341, March 2018.

   9.2. Informative References

   [RFC3688] M. Mealling, 2018,
              <https://www.rfc-editor.org/info/rfc8341>.

   [RFC8342]  Bjorklund, M., Schoenwaelder, J., Shafer, P., Watsen, K.,
              and R. Wilton, "Network Management Datastore Architecture
              (NMDA)", RFC 8342, DOI 10.17487/RFC8342, March 2018,
              <https://www.rfc-editor.org/info/rfc8342>.

   [RFC8446]  Rescorla, E., "The IETF XML Registry", Transport Layer Security (TLS) Protocol
              Version 1.3", RFC 3688, January
             2004. 8446, DOI 10.17487/RFC8446, August 2018,
              <https://www.rfc-editor.org/info/rfc8446>.

10.2.  Informative References

   [I-D.ietf-ccamp-layer1-types]
              Zheng, H. and I. Busi, "A YANG Data Model for Layer 1
              Types", draft-ietf-ccamp-layer1-types-01 (work in
              progress), July 2019.

   [RFC4847] T. Takeda (Editor),  Takeda, T., Ed., "Framework and Requirements for Layer 1
              Virtual Private Networks", RFC 4847, DOI 10.17487/RFC4847,
              April 2007. 2007, <https://www.rfc-editor.org/info/rfc4847>.

   [RFC5253] T.  Takeda, T., Ed., "Applicability Statement for Layer 1
              Virtual Private Network (L1VPN) Basic Mode", RFC 5253,
              DOI 10.17487/RFC5253, July 2008. 2008,
              <https://www.rfc-editor.org/info/rfc5253>.

   [RFC8199] D.  Bogdanovic, B. D., Claise, B., and C. Moberg, "YANG Module
              Classification", RFC 8199, DOI 10.17487/RFC8199, July 2017.
              2017, <https://www.rfc-editor.org/info/rfc8199>.

   [RFC8309] Q.  Wu, W. Liu Q., Liu, W., and A. Farrel, "Service Models
              Explained", RFC 8309, DOI 10.17487/RFC8309, January 2018.

   [RFC8340] M. Bjorklund and L. Berger, Ed., "YANG Tree Diagrams", RFC
             8340, March 2018.

   [RFC8342]  Bjorklund, M., Schoenwaelder, J., Shafer, P., Watsen, K.,
             and R. Wilton, "Network Management Datastore Architecture
             (NMDA)", RFC 8342, March 2018,

   [G.709] ITU-T Recommendation G.709/Y.1331, Interfaces for the
             optical transport network, Corrigendum 1, August 2017.

   [IEEE802.3] IEEE Std 802.3, IEEE Standard for Ethernet, 2015.

10. Contributors

Contributor's Addresses

   I. Busi
   Huawei
   Email: Italo.Busi@huawei.com
              <https://www.rfc-editor.org/info/rfc8309>.

Authors' Addresses

   G. Fioccola (Editor)
   Telecom Italia

   Young Lee
   SKKU
   Sung Kyun Kwan University
   Seoul
   South Korea

   Email: giuseppe.fioccola@telecomitalia.it

   K. younglee.tx@gmail.com

   KwangKoog Lee
   KT
   Korea Telecom
   South Korea

   Email: kwangkoog.lee@kt.com

   Y. Lee (Editor)

   Haomian Zheng
   Huawei Technologies
   H1-1-A043S Huawei Industrial Base, Songshanhu
   Dongguan, Guangdong  523808
   China

   Email: leeyoung@huawei.com

   D. zhenghaomian@huawei.com

   Dhruv Dhody
   Huawei Technologies
   India

   Email: dhruv.ietf@gmail.com
   O.
   Oscar Gonzalez de Dios
   Telefonica

   Email: oscar.gonzalezdedios@telefonica.com

   D.

   Daniele Ceccarelli
   Ericsson

   Email: daniele.ceccarelli@ericsson.com