CCAMP Working Group                                     Y. Lee (Editor)
Internet Draft                                                 D. Dhody
Intended status: Standard Track                                  A. Guo
Expires: November 10, 2019                                       Huawei

                                                               V. Lopez
                                                             Telefonica

                                                                D. King
                                                        U. of Lancaster



                                                           May 10, 2019

                    A YANG Data Model for Layer 0 Types


                     draft-ietf-ccamp-layer0-types-00


Abstract

   This document defines a collection of common data types and
   groupings in YANG data modeling language.  These derived common
   types and groupings are intended to be imported by modules that
   model Layer 0 Traffic Engineering (TE) configuration and state
   capabilities such as Wavelength Switched Optical Networks (WSONs)
   and Spectrum Switched optical Networks (SSONs).

Status of 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.  Note that
   other groups may also distribute working documents as Internet-
   Drafts.

   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 November 10, 2019.

Lee, et al.             Expires November 2019                  [Page 1]


Internet-Draft             WSON YANG Model                     May 2019


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) 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
      1.1. Requirements Language.....................................3
      1.2. Terminology...............................................3
      1.3. Prefixes in Data Node Names...............................3
   2. IETF-Layer0-Types YANG Module..................................7
   3. Security Considerations.......................................24
   4. IANA Considerations...........................................25
   5. References....................................................26
      5.1. Normative References.....................................26
      5.2. Informative References...................................26
   6. Contributors..................................................28
   Authors' Addresses...............................................28

1. Introduction

   YANG [RFC6020] and [RFC7950] is a data modeling language used to
   model configuration data, state data, Remote Procedure Calls, and
   notifications for network management protocols such as NETCONF
   [RFC6241].  The YANG language supports a small set of built-in data
   types and provides mechanisms to derive other types from the built-
   in types.

   This document introduces a collection of common data types derived
   from the built-in YANG data types.  The derived types and groupings
   are designed to be the common types applicable for modeling Traffic
   Engineering (TE) features for Layer 0 optical networks in model(s)
   defined outside of this document. Examples of Layer 0 optical


Lee, et al.             Expires November 2019                  [Page 2]


Internet-Draft             WSON YANG Model                     May 2019


   networks are Wavelength Switched Optical Networks (WSONs) [RFC6163]
   and Spectrum Switched optical Networks (SSONs) [RFC7698].

   [G.698.2] defines amplified multichannel Dense Wavelength Division
   Multiplexing (DWDM) applications with single channel optical
   interfaces.  The YANG data model defined in this document refers to
   the standard application mode defined in [G.698.2].

1.1. Requirements Language

   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 [RFC2119] [RFC8174] when, and only when, they appear in all
   capitals, as shown here.


1.2. Terminology

   Refer to [RFC7446] and [RFC7581] for the key terms used in this
   document.

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

1.3. 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 in Table 1.


      +-------------+-------------------------+-----------------+
      | Prefix      | YANG module             | Reference       |
      +-------------+-------------------------+-----------------+
      | layer0-type | ietf-layer0-types       | [RFCXXXX]       |
      +-------------+-------------------------+-----------------+

             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.

   YANG module "ietf-layer0-types" (defined in Section 3) references
   [RFC6163], [RFC7205], and [RFC7698].




Lee, et al.             Expires November 2019                  [Page 3]


Internet-Draft             WSON YANG Model                     May 2019


   3.  Overview

   This document defines one YANG module for common Layer 0 TE types:
   ietf-layer0-types for WSON and SSON specific types.

   3.1.  TE Types Module Contents

   The ietf-layer0-types module contains common Layer 0 TE types that
   are to be imported by layer 0 specific technology such as WSON and
   SSON.

   The ietf-layer0-types module contains the following YANG reusable
   types and groupings:


   Operational-mode:

      A type that represents operational-model type as defined in
      [G.698.2].

   Vendor-identifier:

      A type that represents vendor identifier as defined in [RFC7581].


   layer0-node-type:

      A base YANG identity for supported node type as defined in
      [RFC6163].

   wavelength-assignment:

      A base YANG identity for allocated wavelength assignment type as
      defined in [RFC6163].


   layer0-grid-type:

      A base YANG identity for the node type as defined in
      [RFC6163] & [RFC7698].

   term-type:

      A base YANG identity for the supported termination type as
      defined in [G.709].




Lee, et al.             Expires November 2019                  [Page 4]


Internet-Draft             WSON YANG Model                     May 2019


   layer0-bandwidth-type:

      A base YANG identity for the layer0 bandwidth type as
      defined in [G.709].


   dwdm-ch-spc-type:

      A base YANG identity for the DWDM channel spacing type as
      defined in [RFC6205].


   cwdm-ch-spc-type:

      A base YANG identity for the CWDM channel spacing type as
      defined in [RFC6205].


   FEC-type:

      A base YANG identity for the FEC type as defined in [G.709].


   wson-path-bandwidth:

      A YANG grouping that defines the WSON path bandwidth attributes
      as defined in [RFC6163].

   wson-link-bandwidth:

      A YANG grouping that defines WSON link bandwidth attributes as
      defined in [RFC6163].

   wson-link-label:

      A YANG grouping that defines the label for WSON links as defined
      In [RFC6205].

   wson-path-label:

      A YANG groupin that defines the label for WSON paths as defined
      In [RFC6205].

   layer0-label-restriction:

      A YANG grouping that defines the layer 0 label restriction
      applicable for both WSON and SSON and per priority level as


Lee, et al.             Expires November 2019                  [Page 5]


Internet-Draft             WSON YANG Model                     May 2019


      defined in [RFC3209].

   wson-label-step:

      A YANG grouping that defines label steps for WSON as defined in
      [TE-topo].

   flex-grid-node-attributes:

      A YANG grouping that defines Flex-grid node attrtibutes as
      defined in [RFC7698].

   flex-grid-path-bandwidth:

      A YANG grouping that defines flex-grid path bandwidth attributes
      as defined in [RFC7698].

   flex-grid-link-bandwidth:

      A YANG grouping that defines flex-grid link bandwidth attributes
      As defined in [RFC7698].

   flex-grid-link-label:

      A YANG grouping that defines flex-grid link label attributes as
      defined in [RFC7698].

   flex-grid-channel:

      A YANG grouping that defines flex-grid channel as defined in
      [RFC7698].

   flex-grid-path-label:

      A YANG grouping that defines flex-grid path label for both single
      channel and multiple carriers [RFC7698].

   flex-grid-label-restriction:

      A YANG grouping that defines flex-grid label restrictions and per
      priority level as defined in [RFC3209].

   flex-grid-label-step:

      A YANG grouping that defines flex-grid label steps as defined in
      [TE-topo].



Lee, et al.             Expires November 2019                  [Page 6]


Internet-Draft             WSON YANG Model                     May 2019



2. IETF-Layer0-Types YANG Module

<CODE BEGINS> file ietf-layer0-types@2019-05-09.yang

module ietf-layer0-types {
  namespace "urn:ietf:params:xml:ns:yang:ietf-layer0-types";
  prefix "layer0-types";

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

     Editor: Aihua Guo
       <mailto:aihuaguo@huawei.com>

     Editor: Young Lee
       <mailto:leeyoung@huawei.com>

     Editor: Italo Busi
       <mailto:Italo.Busi@huawei.com>";

  description
    "This module defines Optical Layer 0 types. This module
     provides groupings that can be applicable to Layer 0
     Fixed Optical Networks (e.g., CWDM (Coarse Wavelength
     Division Multiplexing) and DWDM (Dense Wavelength Division
     Multiplexing)) and Flexi-grid Optical Networks.

     Copyright (c) 2018 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).";

  revision "2019-05-09" {
    description
      "Initial Version";
    reference


Lee, et al.             Expires November 2019                  [Page 7]


Internet-Draft             WSON YANG Model                     May 2019


      "RFC XXXX: A YANG Data Model for WSON (Wavelength Switched
       Optical Networks)";
  }

  typedef operational-mode {
    type string;
    description
      "Vendor-specific mode that guarantees interoperability.";
    reference "ITU-T G.698.2 (11/2018)";
  }

  typedef standard-mode {
    type string;
    description
      "ITU-T G.698.2 standard mode that guarantees interoperability.
       It must be an string with the following format:
       B-DScW-ytz(v) where all these attributes are conformant
       to the ITU-T recomendation";
    reference "ITU-T G.698.2 (11/2018)";
  }

  typedef vendor-identifier {
    type string;
    description
      "vendor identifier that uses vendor-specific mode";
    reference
      "RFC7581: Routing and Wavelength Assignment Information
       Encoding for Wavelength Switched Optical Networks";
  }

  typedef frequency-thz {
    type decimal64 {
      fraction-digits 5;
    }
    units THz;
    description
      "The DWDM frequency in THz, e.g., 193.12500";
    reference
      "RFC6205:Generalized Labels for Lambda-Switch-Capable (LSC)
       Label Switching Routers";
  }

  typedef frequency-ghz {
    type decimal64 {
      fraction-digits 5;


Lee, et al.             Expires November 2019                  [Page 8]


Internet-Draft             WSON YANG Model                     May 2019


    }
    units GHz;
    description
      "The DWDM frequency in GHz, e.g., 193125.00";
    reference
      "RFC6205: Generalized Labels for Lambda-Switch-Capable (LSC)
       Label Switching Routers";
  }

  identity layer0-node-type {
    description
      "layer0 node type.";
    reference
      "RFC6163: Framework for GMPLS and Path Computation Element
       (PCE) Control of Wavelength Switched Optical Networks
       (WSONs)";
  }

  identity flex-grid-node {
    base layer0-node-type;
    description
      "Flex Grid node";
  }

  identity wson-node-foadm {
    base layer0-node-type;
    description
      "Fixed OADM (Optical Add-Drop Multiplexer) node";
  }

  identity wson-node-roadm {
    base layer0-node-type;
    description
      "ROADM (Reconfigurable Optical Add-Drop Multiplexer)
       or OXC (Optical Cross Connect) node";
  }

  identity wson-node-ila {
    base layer0-node-type;
    description
      "ILA (In-Line Amplifier) node";
  }

  identity wavelength-assignment {
    description


Lee, et al.             Expires November 2019                  [Page 9]


Internet-Draft             WSON YANG Model                     May 2019


      "Wavelength selection base";
    reference
      "RFC6163: Framework for GMPLS and Path Computation Element
      (PCE) Control of Wavelength Switched Optical Networks
      (WSONs)";
  }

  identity unspecified-wavelength-assignment {
    base wavelength-assignment;
    description
      "No method specified";
  }

  identity first-fit-wavelength-asignment {
    base wavelength-assignment;
    description
      "All the available wavelengths are numbered,
       and this WA (Wavelength Assignment) method chooses
       the available wavelength with the lowest index";
  }

  identity random-wavelength-asignment {
    base wavelength-assignment;
    description
      "This WA method chooses an available
       wavelength randomly";
  }

  identity least-loaded-wavelength-asignment {
    base wavelength-assignment;
    description
      "This WA method selects the wavelength that
       has the largest residual capacity on the most loaded
       link along the route (in multi-fiber networks)";
  }

  identity layer0-grid-type {
    description
      "Layer0 grid type.";
    reference
      "RFC7698: Framework and Requirements for GMPLS-Based Control
       of Flexi-Grid Dense Wavelength Division Multiplexing (DWDM)
       Networks &
       RFC6163: Framework for GMPLS and Path Computation Element
       (PCE) Control of Wavelength Switched Optical Networks


Lee, et al.             Expires November 2019                 [Page 10]


Internet-Draft             WSON YANG Model                     May 2019


      (WSONs)";
  }

  identity flex-grid-dwdm {
    base layer0-grid-type;
    description
      "Flex grid";
  }

  identity wson-grid-dwdm {
    base layer0-grid-type;
    description
      "DWDM grid";
  }

  identity wson-grid-cwdm {
    base layer0-grid-type;
    description
      "CWDM grid";
  }

  identity term-type {
    description
      "Termination type.";
  }

  identity term-phys {
    base term-type;
    description
      "Physical Layer Termination";
    reference
      "G.709: Interfaces for the Optical Transport Network (OTN)";
  }

  identity term-otu {
    base term-type;
    description
      "OTU (Optical Transport Unit) Termination";
  }

  identity term-odu {
    base term-type;
    description
      "ODU (Optical Data Unit) Termination";
  }


Lee, et al.             Expires November 2019                 [Page 11]


Internet-Draft             WSON YANG Model                     May 2019



  identity term-opu {
    base term-type;
    description
      "OPU (Optical Payload Unit) Termination";
  }

  identity term-section {
    base term-type;
    description
      "Section Layer Termination";
  }

  identity layer0-bandwidth-type {
    description
      "Bandwidth type carried by a single wavelength channel";
    reference
     "G.709: Interfaces for the Optical Transport Network (OTN)";
  }

  identity bw-otu1 {
    base layer0-bandwidth-type;
    description
      "OTU1 (2.66G)";
  }

  identity bw-otu1e {
    base layer0-bandwidth-type;
    description
      "OTU1e (11.04G)";
  }

  identity bw-otu1f {
    base layer0-bandwidth-type;
    description
      "OTU1f (11.27G)";
  }

  identity bw-otu2 {
    base layer0-bandwidth-type;
    description
      "OTU2 (10.70G)";
  }

  identity bw-otu2e {


Lee, et al.             Expires November 2019                 [Page 12]


Internet-Draft             WSON YANG Model                     May 2019


    base layer0-bandwidth-type;
    description
      "OTU2e (11.09G)";
  }

  identity bw-otu2f {
    base layer0-bandwidth-type;
    description
      "OTU2f (11.31G)";
  }

  identity bw-otu3 {
    base layer0-bandwidth-type;
    description
      "OTU3 (43.01G)";
  }

  identity bw-otu3e1 {
    base layer0-bandwidth-type;
    description
      "OTU3e1 (44.57G)";
  }

  identity bw-otu3e2 {
    base layer0-bandwidth-type;
    description
      "OTU3e2 (44.58G)";
  }

  identity bw-otu4 {
    base layer0-bandwidth-type;
    description
      "OTU4 (111.80G)";
  }

  identity bw-otucn {
    base layer0-bandwidth-type;
    description
      "OTUCn (beyond 100G)";
  }

  identity dwdm-ch-spc-type {
    description
      "DWDM channel spacing type";
    reference


Lee, et al.             Expires November 2019                 [Page 13]


Internet-Draft             WSON YANG Model                     May 2019


      "RFC6205: Generalized Labels for Lambda-Switch-Capable (LSC)
      Label Switching Routers";
  }

  identity dwdm-100ghz {
    base dwdm-ch-spc-type;
    description
      "100GHz channel spacing";
  }

  identity dwdm-50ghz {
    base dwdm-ch-spc-type;
    description
      "50GHz channel spacing";
  }

  identity dwdm-25ghz {
    base dwdm-ch-spc-type;
    description
      "25GHz channel spacing";
  }

  identity dwdm-12p5ghz {
    base dwdm-ch-spc-type;
    description
      "12.5GHz channel spacing";
  }

  identity  flex-ch-spc-type {
    description
      "Flex-grid channel spacing type";
    reference
      "RFC7581: Routing and Wavelength Assignment Information
       Encoding for Wavelength Switched Optical Networks";
  }

  identity flex-ch-spc-6p25ghz {
    base flex-ch-spc-type;
    description
      "6.25GHz channel spacing";
  }

  identity  flex-slot-width-granularity {
    description
      "Flex-grid slot width granularity";


Lee, et al.             Expires November 2019                 [Page 14]


Internet-Draft             WSON YANG Model                     May 2019


    reference
      "RFC7581: Routing and Wavelength Assignment Information
       Encoding for Wavelength Switched Optical Networks";
  }

  identity flex-swg-12p5ghz {
    base flex-slot-width-granularity;
    description
      "12.5GHz slot width granularity";
  }

  identity cwdm-ch-spc-type {
    description
      "CWDM channel spacing type";
    reference
      "RFC6205: Generalized Labels for Lambda-Switch-Capable (LSC)
       Label Switching Routers";
  }

  identity cwdm-20nm {
    base cwdm-ch-spc-type;
    description
      "20nm channel spacing";
  }

  identity fec-type {
    description
      "FEC (Forward Error Correction) type";
    reference
      "G.709: Interfaces for the Optical Transport Network (OTN)";
  }

  identity g-fec {
    base fec-type;
    description
      "G-FEC (Generic-FEC)";
  }
  identity e-fec {
    base fec-type;
    description
      "E-FEC (Enhanced-FEC)";
  }
  identity no-fec {
    base fec-type;
    description


Lee, et al.             Expires November 2019                 [Page 15]


Internet-Draft             WSON YANG Model                     May 2019


      "No FEC";
  }

  /* Groupings. */
  grouping wson-path-bandwidth {
    description "WSON (Wavelength Switched Optical Network)
                 path bandwidth attributes";
    reference
      "RFC6163";
    leaf bandwidth-type {
      type identityref {
        base layer0-bandwidth-type;
      }
      description "WSON bandwidth type";
    }
  }

  grouping wson-link-bandwidth {
    description "WSON link bandwidth attributes";
    reference
      "RFC6163";
    leaf-list supported-bandwidth-list {
      type identityref {
        base layer0-bandwidth-type;
      }
      description "WSON bandwidth type";
    }
  }

  grouping wson-link-label {
    description
      "Generic label for WSON links";
    reference
      "RFC6205";
    choice grid-type {
      description
        "Label for DWDM or CWDM grid";
      case dwdm {
        leaf dwdm-n {
          type int16;
          description
           "N is used to determine the Nominal Central Frequency.
             The set of nominal central frequencies can be
             built using the following expression
             f = 193.1 THz + N x 0.00625 THz,


Lee, et al.             Expires November 2019                 [Page 16]


Internet-Draft             WSON YANG Model                     May 2019


             where 193.1 THz is ITU-T 'anchor frequency'
             for transmission over the C band, N is a positive or
             negative integer including 0.";
          reference
            "RFC6205:Generalized Labels for Lambda-Switch-Capable
             (LSC) Label Switching Routers";
        }
      }
      case cwdm {
        leaf cwdm-n {
          type int16;
          description
            "N is a two's-complement integer to take either a
            positive, negative, or zero value. This value is
            used to compute the channel wavelength as such
            in G.694.2:
            Wavelength (nm) = 1471 nm + N * 20 nm";
          reference
            "RFC6205:Generalized Labels for Lambda-Switch-Capable
             (LSC) Label Switching Routers";

        }
      }
    }
  }

  grouping wson-path-label {
    description
      "Generic label for WSON paths";
    reference
      "RFC6205";
    choice grid-type {
      description
        "Label for DWDM or CWDM grid";
      case dwdm {
        choice single-or-super-channel {
          description "single or super channel";
          case single {
            leaf dwdm-n {
              type int16;
              description
               "N is used to determine the Nominal Central Frequency.
                The set of nominal central frequencies can be
                built using the following expression
                 f = 193.1 THz + N x 0.00625 THz,


Lee, et al.             Expires November 2019                 [Page 17]


Internet-Draft             WSON YANG Model                     May 2019


                where 193.1 THz is ITU-T 'anchor frequency'
                for transmission over the C band, N is a positive or
                negative integer including 0.";
             }
          }
          case super {
           leaf-list subcarrier-dwdm-n {
              type int16;
              description
                "List of subcarrier channels for super channel.
             Each of the channels is represented by an
             integer, n, a two's-complement integer to take
             either a positive, negative, or zero value.
             This value is used to compute the frequency as
             such in G.694.1:
             Frequency (THz) =
               193.1 THz + n * channel spacing (THz)";
           }
          }
        }

      }
      case cwdm {
        leaf cwdm-n {
          type int16;
          description
            "Represented by an integer, n, a two's-complement
          integer to take either a positive, negative, or
          zero value. This value is used to compute the
          channel wavelength as such in G.694.2:
          Wavelength (nm) = 1471 nm + n * 20 nm";
          reference
            "RFC6205:Generalized Labels for Lambda-Switch-Capable
            (LSC) Label Switching Routers";

        }
      }
    }
  }

  grouping layer0-label-restriction {
    description
      "layer0 label restriction.";
    reference
      "RFC3209";


Lee, et al.             Expires November 2019                 [Page 18]


Internet-Draft             WSON YANG Model                     May 2019



    leaf grid-type {
      type identityref {
        base layer0-grid-type;
      }
      description "Grid type";
    }
    leaf priority {
      type uint8;
      description "priority";
    }
  }

  grouping wson-label-step {
    description "Label step information for WSON";
    reference
      "draft-ietf-teas-yang-te-topo-20";
    choice layer0-grid-type {
      description
        "Grid type: DWDM, CWDM, etc.";
      case dwdm {
        leaf wson-dwdm {
          type identityref {
            base dwdm-ch-spc-type;
          }
          description
            "Label-step is the channel-spacing (GHz), e.g.,
             100, 50, 25, or 12.5 GHz for DWDM";
          reference
            "RFC6205:Generalized Labels for Lambda-Switch-Capable
            (LSC) Label Switching Routers";

        }
      }
      case cwdm {
        leaf wson-cwdm {
          type identityref {
            base cwdm-ch-spc-type;
          }
          description
            "label-step is the channel-spacing (nm), i.e., 20 nm
             for CWDM, which is the only value defined for CWDM";
          reference
            "RFC6205:Generalized Labels for Lambda-Switch-Capable
            (LSC) Label Switching Routers";


Lee, et al.             Expires November 2019                 [Page 19]


Internet-Draft             WSON YANG Model                     May 2019


        }
      }
    }
  }

  grouping flex-grid-node-attributes {
    description "Flex-grid node attributes";
    reference
      "RFC7698";
    container flex-grid-node {
      description "Flex-grid node attrtibutes";
      leaf node-type {
        type identityref {
          base layer0-node-type;
        }
        description "Flex-grid node type";
      }
    }
  }

  grouping flex-grid-path-bandwidth {
    description "Flex-grid path bandwidth attributes";
    reference
      "RFC7698";
    leaf bandwidth-type {
      type identityref {
        base layer0-bandwidth-type;
      }
      description "Flex-grid bandwidth type";
    }
  }

  grouping flex-grid-link-bandwidth {
    description "flex-grid link bandwidth attributes";
    reference
      "RFC7698";
    leaf-list supported-bandwidth-list {
      type identityref {
        base layer0-bandwidth-type;
      }
      description "Flex-grid bandwidth type";
    }
  }

  grouping flex-grid-link-label {


Lee, et al.             Expires November 2019                 [Page 20]


Internet-Draft             WSON YANG Model                     May 2019


    description "Flex-grid link label.";
    reference
      "RFC7698";
    leaf flex-n {
      type uint16;
      description
        "N is used to determine the Nominal Central Frequency.
         The set of nominal central frequencies can be
         built using the following expression
          f = 193.1 THz + N x 0.00625 THz,
         where 193.1 THz is ITU-T 'anchor frequency'
         for transmission over the C band, N is a positive or
         negative integer including 0.";
      reference
        "RFC7698: Framework and Requirements for GMPLS-Based
         Control of Flexi-Grid Dense Wavelength Division Multiplexing
         (DWDM) Networks";
    }
  }

  grouping flex-grid-channel {
    description "Flex-grid channel grouping.";
    reference
      "RFC7698";
    uses flex-grid-link-label;

    leaf flex-m {
      type uint16 {
       range "1..max";
     }
      description
        "M is used to determine the slot width. A slot width is
         constrained to be M x SWG (that is, M x 12.5 GHz),
         where M is an integer greater than or equal to 1.";
      reference
        "RFC7698: Framework and Requirements for GMPLS-Based
         Control of Flexi-Grid Dense Wavelength Division Multiplexing
         (DWDM) Networks";
    }
  }
  grouping flex-grid-path-label {
    description "Flex-grid path label.";
    reference
      "RFC7698";
      choice single-or-super-channel {


Lee, et al.             Expires November 2019                 [Page 21]


Internet-Draft             WSON YANG Model                     May 2019


       description "single of super channel";
        case single {
          uses flex-grid-channel;
       }
        case super {
         list subcarrier-flex-n {
         key flex-n;
         uses flex-grid-channel;
         description
            "List of subcarrier channels for flex-grid
             super channel.";
          }
        }
      }
  }

  grouping flex-grid-label-restriction {
    description
      "Flex Grid-specific label restriction";
    reference
      "RFC7698 & RFC3209";
    uses layer0-label-restriction;

    container flex-grid {
      description "flex-grid definition";
      leaf nominal-central-frequency-granularity {
        type identityref {
          base flex-ch-spc-type;
        }
        default flex-ch-spc-6p25ghz;
        description
          "It is the spacing between allowed nominal central
           frequencies. Default is 6.25 GHz";
        reference
          "RFC7698: Framework and Requirements for GMPLS-Based
           Control of Flexi-Grid Dense Wavelength Division Multiplexing
           (DWDM) Networks";

      }

      leaf slot-width-granularity {
        type identityref {
          base flex-slot-width-granularity;
        }
        default flex-swg-12p5ghz;


Lee, et al.             Expires November 2019                 [Page 22]


Internet-Draft             WSON YANG Model                     May 2019


        description
          "Minimum space between slot widths. Default is
          12.5 GHz";
        reference
          "RFC7698: Framework and Requirements for GMPLS-Based
           Control of Flexi-Grid Dense Wavelength Division Multiplexing
           (DWDM) Networks";

      }

      leaf min-slot-width-factor {
        type uint16 {
          range "1..max";
        }
        default 1;
        description
          "Minimum slot width is calculated by:
           Minimum slot width (GHz) =
            min-slot-width-factor * slot-width-granularity";
        reference
          "RFC8363: GMPLS OSPF-TE Extensions in Support of Flexi-Grid
           Dense Wavelength Division Multiplexing (DWDM) Networks";

      }

      leaf max-slot-width-factor {
        type uint16 {
          range "1..max";
        }
        description
          "Maximum slot width is calculated by:
           Maximum slot width (GHz) =
            max-slot-width-factor * slot-width-granularity";
        reference
          "RFC8363: GMPLS OSPF-TE Extensions in Support of Flexi-Grid
           Dense Wavelength Division Multiplexing (DWDM) Networks";
      }

    }
  }

  grouping flex-grid-label-step {
    description "Label step information for flex grid";
    reference
      "draft-ietf-teas-yang-te-topo-20";


Lee, et al.             Expires November 2019                 [Page 23]


Internet-Draft             WSON YANG Model                     May 2019


    leaf flex {
      type identityref {
        base flex-ch-spc-type;
      }
     default flex-ch-spc-6p25ghz;
      description
        "Label-step is the nominal central frequency
         granularity (GHz), e.g., 6.25 GHz";
      reference
        "RFC7698: Framework and Requirements for GMPLS-Based
         Control of Flexi-Grid Dense Wavelength Division Multiplexing
         (DWDM) Networks";
    }
  }
}
<CODE ENDS>



3. Security Considerations

   The YANG module specified in this document defines a schema for data
   that is designed to 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 secure
   transport is TLS [RFC8446].

   The NETCONF access control model [RFC6536] provides the means to
   restrict access for particular NETCONF users to a preconfigured
   subset of all available NETCONF protocol operations and content. The
   NETCONF Protocol over Secure Shell (SSH) [RFC6242] describes a
   method for invoking and running NETCONF within a Secure Shell (SSH)
   session as an SSH subsystem. The Network Configuration Access
   Control Model (NACM) [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.

   The YANG module in this document defines optical layer0 type
   definitions (i.e., typedef, identity and grouping statements) in
   YANG data modeling language to be imported and used by other layer 0
   specific modules.  When imported and used, the resultant schema will
   have data nodes that can be writable, or readable.  The access to
   such data nodes may be onsidered sensitive or vulnerable in some


Lee, et al.             Expires November 2019                 [Page 24]


Internet-Draft             WSON YANG Model                     May 2019


   network environments. Write operations (e.g., edit-config) to these
   data nodes without proper protection can have a negative effect on
   network operations.

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



4. IANA Considerations

   This document registers the following namespace URIs in the IETF XML
   registry [RFC3688]. Following the format in [RFC3688], registration
   is requested to be made as follows:

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


   This document registers the following YANG module in the YANG Module
   Names registry [RFC7950] & [RFC6020]:

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
















Lee, et al.             Expires November 2019                 [Page 25]


Internet-Draft             WSON YANG Model                     May 2019




5. References

   5.1. Normative References

   [RFC6020] Bjorklund, M., Ed., "YANG - A Data Modeling Language for
             the Network Configuration Protocol (NETCONF)", RFC 6020,
             October 2010.

   [RFC6241] R. Enns, Ed., M. Bjorklund, Ed., J. Schoenwaelder, Ed.,
             "Network Configuration Protocol (NETCONF)", RFC 6241, June
             2011.

   [RFC6242] M. Wasserman, "Using the NETCONF Protocol over Secure
             Shell (SSH)", RFC 6242, June 2011.

   [RFC6536] A. Bierman, M. Bjorklund, "Network Configuration Protocol
             (NETCONF) Access Control Model", RFC 6536, March 2012.

   [RFC7950] Bjorklund, M., Ed., "The YANG 1.1 Data Modeling Language",
             RFC 7950, August 2016.

   [RFC8040] A. Bierman, M. Bjorklund, K. Watsen, "RESTCONF Protocol",
             RFC 8040, January 2017.

   [RFC8341] A. Bierman, M. Bjorklund, "Network Configuration Access
             Control Model", RFC 8341, March 2018.

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



   5.2. Informative References

   [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
             Requirement Levels", BCP 14, RFC 2119, DOI
             10.17487/RFC2119, March 1997, <https://www.rfc-
             editor.org/info/rfc2119>.

   [RFC3209] D. Awduche, L. Berger, D. Gan, T. Li, V. Srinivasan, and
             G. Swallow, "RSVP-TE: Extensions to RSVP for LSP Tunnels",
             RFC 3209, December 2001.





Lee, et al.             Expires November 2019                 [Page 26]


Internet-Draft             WSON YANG Model                     May 2019


   [RFC3688] M. Mealling, "The IETF XML Registry", RFC 3688, January
             2004.

   [RFC6163] Y. Lee, Ed. G. Berstein, Ed., W. Imajuku, "Framework for
             GMPLS and Path Computation Element (PCE) Control of
             Wavelength Switched Optical Networks (WSONs)", RFC 6163,
             April 2011.

   [RFC6205] T. Otani, Ed., D. Li, Ed., "Generalized Labels for Lambda-
             Switch-Capable (LSC) Label Switching Routers", RFC 6205,
             March 2011.

   [RFC7205] A. Romanow, S. Botzko, M. Duckworth, R. Even, Ed.,"Use
             Cases for Telepresence Multistreams", RFC 7205, April
             2014.

   [RFC7446] Y. Lee, G. Bernstein, D. Li, W. Imajuku, "Routing and
             Wavelength Assignment Information Model for Wavelength
             Switched Optical Networks", RFC 7446, Feburary 2015.

   [RFC7581] G. Bernstein, Y. Lee, D. Li, W. Imajuku, "Routing and
             Wavelength Assignment Information Encoding for Wavelength
             Switched Optical Networks", RFC 7581, June 2015.

   [RFC7698] O. Gonzalez de Dios, Ed., R. Casellas, Ed., "Framework and
             Requirements for GMPLS-Based Control of Flexi-Grid Dense
             Wavelength Division Multiplexing (DWDM) Networks", RFC
             7698, November 2015.

   [RFC8174] B. Leiba, "Ambiguity of Uppercase vs Lowercase in RFC 2119
             Key Words", RFC 8174, May 2017.

   [RFC8363] X. Zhang, H. Zheng, R. Casellas, O. Gonzalez de Dios, D.
             Ceccarelli, "GMPLS OSPF-TE Extensions in Support of Flexi-
             Grid Dense Wavelength Division Multiplexing (DWDM)
             Networks", RFC 8363, May 2018.

   [G.698.2] "Amplified multichannel dense wavelength division
             multiplexing applications with single channel optical
             interfaces", ITU-T G.698.2, November, 2018.

   [G.709]  "Interfaces for the Optical Transport Network (OTN)", ITU-T
             G.709, June 2016.






Lee, et al.             Expires November 2019                 [Page 27]


Internet-Draft             WSON YANG Model                     May 2019


   [TE-topo] Xufeng Liu, Igor Bryskin, Vishnu Pavan Beeram, Tarek Saad,
             Himanshu Shah, Oscar Gonzalez De Dios, "YANG Data Model
             for Traffic Engineering (TE) Topologies", draft-ietf-teas-
             yang-te-topo, work in progress.



6. Contributors


Authors' Addresses

   Young Lee (ed.)
   Huawei Technologies
   5700 Tennyson Parkway, Suite 600
   Plano, TX 75024
   USA
   Email: leeyoung@huawei.com


   Dhruv Dhody
   Huawei Technologies
   Divyashree Techno Park, Whitefield
   Bangalore, Karnataka  560066
   India
   EMail: dhruv.ietf@gmail.com

   Aihua Guo
   Huawei Technologies
   Email: aihuaguo@huawei.com

   Victor Lopez
   Telefonica
   Email: victor.lopezalvarez@telefonica.com

   Daniel King
   University of Lancaster
   Email: d.king@lancaster.ac.uk

   Bin Yeong Yoon
   ETRI
   218 Gaijeongro, Yuseong-gu
   Daejeon, Korea



Lee, et al.             Expires November 2019                 [Page 28]


Internet-Draft             WSON YANG Model                     May 2019


   Email: byyun@etri.re.kr

   Ricard Vilalta
   CTTC
   Email: ricard.vilalta@cttc.es

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







































Lee, et al.             Expires November 2019                 [Page 29]