Skip to main content

A YANG Data Model for Layer 0 Types
draft-ietf-ccamp-layer0-types-03

The information below is for an old version of the document.
Document Type
This is an older version of an Internet-Draft that was ultimately published as RFC 9093.
Authors Haomian Zheng , Young Lee , Aihua Guo , Victor Lopez , Daniel King
Last updated 2019-11-28 (Latest revision 2019-10-17)
RFC stream Internet Engineering Task Force (IETF)
Formats
Reviews
Additional resources Mailing list discussion
Stream WG state WG Document
Document shepherd (None)
IESG IESG state Became RFC 9093 (Proposed Standard)
Consensus boilerplate Unknown
Telechat date (None)
Responsible AD (None)
Send notices to (None)
draft-ietf-ccamp-layer0-types-03
CCAMP Working Group                                             H. Zheng
Internet-Draft                                       Huawei Technologies
Intended status: Standards Track                                  Y. Lee
Expires: May 31, 2020                                               SKKU
                                                                  A. Guo
                                                               Futurewei
                                                                V. Lopez
                                                              Telefonica
                                                                 D. King
                                                 University of Lancaster
                                                       November 28, 2019

                  A YANG Data Model for Layer 0 Types
                    draft-ietf-ccamp-layer0-types-03

Abstract

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

Status of This Memo

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

   Internet-Drafts are working documents of the Internet Engineering
   Task Force (IETF).  Note that other groups may also distribute
   working documents as Internet-Drafts.  The list of current Internet-
   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."

   This Internet-Draft will expire on May 31, 2020.

Copyright Notice

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

Zheng, et al.             Expires May 31, 2020                  [Page 1]
Internet-Draft     A YANG Data Model for Layer 0 Types     November 2019

   This document is subject to BCP 78 and the IETF Trust's Legal
   Provisions Relating to IETF Documents
   (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
     1.1.  Terminology and Notations . . . . . . . . . . . . . . . .   3
     1.2.  Prefix in Data Node Names . . . . . . . . . . . . . . . .   3
   2.  Overview  . . . . . . . . . . . . . . . . . . . . . . . . . .   3
     2.1.  Layer 0 Types Module Contents . . . . . . . . . . . . . .   3
   3.  YANG Code for Layer0 Types  . . . . . . . . . . . . . . . . .   6
   4.  Security Considerations . . . . . . . . . . . . . . . . . . .  22
   5.  IANA Considerations . . . . . . . . . . . . . . . . . . . . .  23
   6.  Acknowledgements  . . . . . . . . . . . . . . . . . . . . . .  23
   7.  Contributors  . . . . . . . . . . . . . . . . . . . . . . . .  24
   8.  References  . . . . . . . . . . . . . . . . . . . . . . . . .  24
     8.1.  Normative References  . . . . . . . . . . . . . . . . . .  24
     8.2.  Informative References  . . . . . . . . . . . . . . . . .  25
   Authors' Addresses  . . . . . . . . . . . . . . . . . . . . . . .  26

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 as well as non-TE features (e.g., physical
   network configuration aspect) for Layer 0 optical networks in
   model(s) defined outside of this document.  The applicability of
   Layer 0 types specified in this document include Wavelength Switched
   Optical Networks (WSONs) [RFC6163] and [ITU-Tg6982], and Flexi-grid
   Dense Wavelength Division Multiplexing (DWDM) Networks [RFC7698] and
   [ITU-Tg6941] .

Zheng, et al.             Expires May 31, 2020                  [Page 2]
Internet-Draft     A YANG Data Model for Layer 0 Types     November 2019

1.1.  Terminology and Notations

   Refer to [RFC7446] and [RFC7581] for the key terms used in this
   document, and the terminology for describing YANG data models can be
   found in [RFC7950].

   The YANG data model in this document conforms to the Network
   Management Datastore Architecture defined in [RFC8342].

1.2.  Prefix 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.

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

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

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

2.  Overview

   This document defines YANG module for common Layer 0 types, ietf-
   layer0-types.  This module is used for WSON and Flexi-grid DWDM
   networks.

2.1.  Layer 0 Types Module Contents

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

   Operational-mode:

   A type that represents operational mode as defined in [ITU-Tg6982].

   layer0-node-type:

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

Zheng, et al.             Expires May 31, 2020                  [Page 3]
Internet-Draft     A YANG Data Model for Layer 0 Types     November 2019

   wavelength-assignment:

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

   layer0-grid-type:

   A base YANG identity for the grid type as defined in [RFC6163] and
   [RFC7698].

   term-type:

   A base YANG identity for the supported termination type as defined in
   [ITU-Tg709].

   layer0-bandwidth-type:

   A base YANG identity for the layer0 bandwidth type as defined in
   [ITU-Tg709].

   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 [ITU-Tg709].

   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-label-start-end:

   A YANG grouping that defines the label-start and label-end for WSON
   as defined in [RFC6205].

Zheng, et al.             Expires May 31, 2020                  [Page 4]
Internet-Draft     A YANG Data Model for Layer 0 Types     November 2019

   wson-label-hop:

   A YANG grouping that defines the label hop for WSON as defined in
   [RFC6205].

   layer0-label-range-info:

   A YANG grouping that defines the layer 0 label range information
   applicable for both WSON per priority level as defined in [RFC6205].
   This grouping is used in the flexi-grid DWDM by adding more flexi-
   grid-specific parameters.

   wson-label-step:

   A YANG grouping that defines label steps for WSON as defined in
   [I-D.ietf-teas-yang-te-types].

   flexi-grid-node-attributes:

   A YANG grouping that defines flexi-grid node attributes as defined in
   [RFC7698].

   flexi-grid-path-bandwidth:

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

   flexi-grid-link-bandwidth:

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

   flexi-grid-label-start-end:

   A YANG grouping that defines the label-start and label-end for flexi-
   grid as defined in [RFC7698].

   flexi-grid-channel:

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

   flexi-grid-label-hop:

   A YANG grouping that defines the label hop for both single channel
   and multiple carriers in flexi-grid DWDM, as defined in [RFC7698].

   flexi-grid-label-range-info:

Zheng, et al.             Expires May 31, 2020                  [Page 5]
Internet-Draft     A YANG Data Model for Layer 0 Types     November 2019

   A YANG grouping that defines flexi-grid label range information and
   per priority level as defined in [RFC7698] and [RFC8363].

   flexi-grid-label-step:

   A YANG grouping that defines flexi-grid label steps as defined in
   [I-D.ietf-teas-yang-te-types].

3.  YANG Code for Layer0 Types

  <CODE BEGINS>file "ietf-layer0-types@2019-11-28.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: Haomian Zheng
         <mailto:zhenghaomian@huawei.com>

       Editor: Young Lee
         <mailto:younglee.tx@gmail.com>

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

       Editor: Victor Lopez
         <mailto:victor.lopezalvarez@telefonica.com>

       Editor: Daniel King
         <mailto:d.king@lancaster.ac.uk>";

    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) 2019 IETF Trust and the persons identified
       as authors of the code.  All rights reserved.

       Redistribution and use in source and binary forms, with

Zheng, et al.             Expires May 31, 2020                  [Page 6]
Internet-Draft     A YANG Data Model for Layer 0 Types     November 2019

       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 "2019-11-28" {
      description
        "Initial Version";
      reference
        "RFC XXXX: A YANG Data Model for Layer 0 Types";
    }

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

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

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

Zheng, et al.             Expires May 31, 2020                  [Page 7]
Internet-Draft     A YANG Data Model for Layer 0 Types     November 2019

    }

    typedef dwdm-n
    {
      type int16;
      description
        "The given value 'N' is used to determine the nominal
        central frequency.

        The nominal central frequency, 'f' is defined by,
        f = 193100.000 GHz + N x 12.500 GHz,
        where 193100.000 GHz (193.100000 THz) is the ITU-T 'anchor
        frequency' for transmission over the C band.    ";
      reference
        "RFC6205: Generalized Labels for
        Lambda-Switch-Capable (LSC) Label Switching Routers";
    }

    typedef cwdm-n
    {
      type int16;
      description
        "The given value 'N' is used to compute the channel
        wavelength as per the formula:
          Wavelength (nm) = 1471 + N x 20 ";
      reference
        "RFC6205: Generalized Labels for
        Lambda-Switch-Capable (LSC) Label Switching Routers";
    }

    typedef flexi-n
    {
      type int16;
      description
        "The given value 'N' is used to determine the nominal
        central frequency.

        The nominal central frequency, 'f' is defined by,
        f = 193100.000 GHz + N x 6.250 GHz,
        where 193100.000 GHz (193.100000 THz) is the ITU-T 'anchor
        frequency' for transmission over the C band.    ";
      reference
        "RFC7698: Framework and Requirements for GMPLS-Based Control
        of Flexi-Grid Dense Wavelength Division Multiplexing (DWDM)
        Networks";
    }

    identity layer0-node-type {

Zheng, et al.             Expires May 31, 2020                  [Page 8]
Internet-Draft     A YANG Data Model for Layer 0 Types     November 2019

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

    identity flexi-grid-node {
      base layer0-node-type;
      description
        "Flexi-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
        "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-assignment {
      base wavelength-assignment;

Zheng, et al.             Expires May 31, 2020                  [Page 9]
Internet-Draft     A YANG Data Model for Layer 0 Types     November 2019

      description
        "All the available wavelengths are numbered,
         and this WA (Wavelength Assignment) method chooses
         the available wavelength with the lowest index";
    }

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

    identity least-loaded-wavelength-assignment {
      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
        "Layer 0 grid type";
      reference
        "RFC6163:Framework for GMPLS and Path Computation Element
        (PCE) Control of Wavelength Switched Optical Networks (WSONs)";
    }

    identity flexi-grid-dwdm {
      base layer0-grid-type;
      description
        "Flexi-grid";
      reference
        "RFC7698: Framework and Requirements for GMPLS-Based Control
        of Flexi-Grid Dense Wavelength Division Multiplexing (DWDM)
        Networks";
    }

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

    identity wson-grid-cwdm {
      base layer0-grid-type;
      description

Zheng, et al.             Expires May 31, 2020                 [Page 10]
Internet-Draft     A YANG Data Model for Layer 0 Types     November 2019

        "CWDM grid";
    }

    identity term-type {
      description
        "Termination type";
      reference
        "ITU-T G.709: Interfaces for the Optical Transport Network";
    }

    identity term-phys {
      base term-type;
      description
        "Physical layer termination";
    }

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

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

    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
        "ITU-T G.709: Interfaces for the Optical Transport Network";
    }

    identity bw-otu1 {

Zheng, et al.             Expires May 31, 2020                 [Page 11]
Internet-Draft     A YANG Data Model for Layer 0 Types     November 2019

      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 {
      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 {

Zheng, et al.             Expires May 31, 2020                 [Page 12]
Internet-Draft     A YANG Data Model for Layer 0 Types     November 2019

      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
        "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";
    }

Zheng, et al.             Expires May 31, 2020                 [Page 13]
Internet-Draft     A YANG Data Model for Layer 0 Types     November 2019

    identity flexi-ch-spc-type {
      description
        "Flexi-grid channel spacing type";
      reference
        "RFC7698: Framework and Requirements for GMPLS-Based Control
        of Flexi-Grid Dense Wavelength Division Multiplexing (DWDM)
        Networks";
    }

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

    identity flexi-slot-width-granularity {
      description
        "Flexi-grid slot width granularity";
    }

    identity flexi-swg-12p5ghz {
      base flexi-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
        "ITU-T G.709: Interfaces for the Optical Transport Network";
    }

    identity g-fec {

Zheng, et al.             Expires May 31, 2020                 [Page 14]
Internet-Draft     A YANG Data Model for Layer 0 Types     November 2019

      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
        "No FEC";
    }

    /* Groupings. */
    grouping wson-path-bandwidth {
      description
        "WSON (Wavelength Switched Optical Network)
         path bandwidth attributes";
      leaf bandwidth-type {
        type identityref {
          base layer0-bandwidth-type;
        }
        description "WSON bandwidth type";
      }
      reference
        "RFC6163:Framework for GMPLS and Path Computation Element
        (PCE) Control of Wavelength Switched Optical Networks (WSONs)";
    }

    grouping wson-link-bandwidth {
      description
        "WSON link bandwidth attributes";
      leaf-list supported-bandwidth-list {
        type identityref {
          base layer0-bandwidth-type;
        }
        description "WSON bandwidth type";
      }
      reference
        "RFC6163:Framework for GMPLS and Path Computation Element
        (PCE) Control of Wavelength Switched Optical Networks (WSONs)";
    }

    grouping wson-label-start-end {
      description
        "The WSON label-start or label-end used to

Zheng, et al.             Expires May 31, 2020                 [Page 15]
Internet-Draft     A YANG Data Model for Layer 0 Types     November 2019

        specify WSON label range.";
      choice grid-type {
        description
          "Label for DWDM or CWDM grid";
        case dwdm {
          leaf dwdm-n {
            type layer0-types:dwdm-n;
            description
             "The central frequency of DWDM. ";
            reference
              "RFC6205: Generalized Labels for
               Lambda-Switch-Capable (LSC) Label Switching Routers";
          }
        }
        case cwdm {
          leaf cwdm-n {
            type layer0-types:cwdm-n;
            description
              "Channel wavelength computing input. ";
            reference
              "RFC6205: Generalized Labels for
               ambda-Switch-Capable (LSC) Label Switching Routers";
          }
        }
      }
      reference
        "RFC6205: Generalized Labels for
        Lambda-Switch-Capable (LSC) Label Switching Routers";
    }

    grouping wson-label-hop {
      description
        "Generic label hop information for WSON";
      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 layer0-types:dwdm-n;
                description
                 "The central frequency of DWDM. ";
               }
            }
            case super {
             leaf-list subcarrier-dwdm-n {

Zheng, et al.             Expires May 31, 2020                 [Page 16]
Internet-Draft     A YANG Data Model for Layer 0 Types     November 2019

                type layer0-types:dwdm-n;
                description
                  "List of center frequencies for each subcarrier
                   channels.";
                reference
                  "ITU-T Recommendation G.694.1: Spectral girds for
                  WDM applications: DWDM frequency grid";

             }
            }
          }

        }
        case cwdm {
          leaf cwdm-n {
            type layer0-types:cwdm-n;
            description
              "Channel wavelength computing input. ";
            reference
              "RFC6205: Generalized Labels for
               Lambda-Switch-Capable (LSC) Label Switching Routers";
          }
        }
      }
      reference
        "RFC6205: Generalized Labels for
        Lambda-Switch-Capable (LSC) Label Switching Routers";
    }

    grouping layer0-label-range-info {
      description
        "Information for layer0 label range.";

      leaf grid-type {
        type identityref {
          base layer0-grid-type;
        }
        description "Grid type";
      }
      leaf priority {
        type uint8;
        description "Priority";
      }
      reference
        "RFC6205: Generalized Labels for
        Lambda-Switch-Capable (LSC) Label Switching Routers";
    }

Zheng, et al.             Expires May 31, 2020                 [Page 17]
Internet-Draft     A YANG Data Model for Layer 0 Types     November 2019

    grouping wson-label-step {
      description "Label step information for WSON";
      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.000, 50.000, 25.000, or 12.500 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";
          }
        }
      }
      reference
        "RFC6205: Generalized Labels for
        Lambda-Switch-Capable (LSC) Label Switching Routers";
    }

    grouping flexi-grid-node-attributes {
      description "Flexi-grid node attributes";
      container flexi-grid-node {
        description "Flexi-grid node attrtibutes";
        leaf node-type {
          type identityref {
            base layer0-node-type;
          }
          description "Flexi-grid node type";
        }
      }

Zheng, et al.             Expires May 31, 2020                 [Page 18]
Internet-Draft     A YANG Data Model for Layer 0 Types     November 2019

      reference
        "RFC7698: Framework and Requirements for GMPLS-Based Control
        of Flexi-Grid Dense Wavelength Division Multiplexing (DWDM)
        Networks";
    }

    grouping flexi-grid-path-bandwidth {
      description "Flexi-grid path bandwidth attributes";
      leaf bandwidth-type {
        type identityref {
          base layer0-bandwidth-type;
        }
        description "Flexi-grid bandwidth type";
      }
      reference
        "RFC7698: Framework and Requirements for GMPLS-Based Control
        of Flexi-Grid Dense Wavelength Division Multiplexing (DWDM)
        Networks";
    }

    grouping flexi-grid-link-bandwidth {
      description "flexi-grid link bandwidth attributes";
      leaf-list supported-bandwidth-list {
        type identityref {
          base layer0-bandwidth-type;
        }
        description "Flexi-grid bandwidth type";
      }
      reference
        "RFC7698: Framework and Requirements for GMPLS-Based Control
        of Flexi-Grid Dense Wavelength Division Multiplexing (DWDM)
        Networks";
    }

    grouping flexi-grid-label-start-end {
      description
        "Label-start and Label-end information for Flexi-grid.";
      leaf flexi-n {
        type int16;
        description
          "The central frequency in Flexi-grid.";
      }
      reference
        "RFC7698: Framework and Requirements for GMPLS-Based Control
        of Flexi-Grid Dense Wavelength Division Multiplexing (DWDM)
        Networks";
    }

Zheng, et al.             Expires May 31, 2020                 [Page 19]
Internet-Draft     A YANG Data Model for Layer 0 Types     November 2019

    grouping flexi-grid-channel {
      description "Flexi-grid channel grouping.";

      uses flexi-grid-label-start-end;

      leaf flexi-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.500 GHz),
           where M is a positive integer.";

      }
      reference
        "RFC7698: Framework and Requirements for GMPLS-Based Control
        of Flexi-Grid Dense Wavelength Division Multiplexing (DWDM)
        Networks";
    }
    grouping flexi-grid-label-hop {
      description "Flexi-grid path label.";
        choice single-or-super-channel {
         description "single of super channel";
          case single {
            uses flexi-grid-channel;
         }
          case super {
           list subcarrier-flexi-n {
           key flexi-n;
           uses flexi-grid-channel;
           description
              "List of subcarrier channels for flexi-grid
               super channel.";
            }
          }
        }
      reference
        "RFC7698: Framework and Requirements for GMPLS-Based Control
        of Flexi-Grid Dense Wavelength Division Multiplexing (DWDM)
        Networks";
    }

    grouping flexi-grid-label-range-info {
      description
        "Info of Flexi-grid-specific label range";
      uses layer0-label-range-info;

Zheng, et al.             Expires May 31, 2020                 [Page 20]
Internet-Draft     A YANG Data Model for Layer 0 Types     November 2019

      container flexi-grid {
        description "flexi-grid definition";
        leaf nominal-central-frequency-granularity {
          type identityref {
            base flexi-ch-spc-type;
          }
          default flexi-ch-spc-6p25ghz;
          description
            "It is the spacing between allowed nominal central
             frequencies. Default is 6.250 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 flexi-slot-width-granularity;
          }
          default flexi-swg-12p5ghz;
          description
            "Minimum space between slot widths. Default is
             12.500 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";
          }

Zheng, et al.             Expires May 31, 2020                 [Page 21]
Internet-Draft     A YANG Data Model for Layer 0 Types     November 2019

          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 flexi-grid-label-step {
      description "Label step information for flexi-grid";
      leaf flex {
        type identityref {
          base flexi-ch-spc-type;
        }
        default flexi-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>

4.  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 [RFC8341] 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

Zheng, et al.             Expires May 31, 2020                 [Page 22]
Internet-Draft     A YANG Data Model for Layer 0 Types     November 2019

   as an SSH subsystem.  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.

   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 considered sensitive or vulnerable in some
   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.

5.  IANA Considerations

   It is proposed that IANA should assign new URIs from the "IETF XML
   Registry" [RFC3688] 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 following YANG modules in the YANG Module
   Names registry [RFC7950].

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

6.  Acknowledgements

   The authors and the working group give their sincere thanks for
   Robert Wilton for the YANG doctor review, and Tom Petch for his
   comments during the model and document development.

Zheng, et al.             Expires May 31, 2020                 [Page 23]
Internet-Draft     A YANG Data Model for Layer 0 Types     November 2019

7.  Contributors

   Dhruv Dhody
   Huawei
   Email: dhruv.ietf@gmail.com

   Bin Yeong Yoon
   ETRI
   Email: byyun@etri.re.kr

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

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

8.  References

8.1.  Normative References

   [RFC6020]  Bjorklund, M., Ed., "YANG - A Data Modeling Language for
              the Network Configuration Protocol (NETCONF)", RFC 6020,
              DOI 10.17487/RFC6020, October 2010,
              <https://www.rfc-editor.org/info/rfc6020>.

   [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,
              <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,
              <https://www.rfc-editor.org/info/rfc6242>.

   [RFC7950]  Bjorklund, M., Ed., "The YANG 1.1 Data Modeling Language",
              RFC 7950, DOI 10.17487/RFC7950, August 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,
              <https://www.rfc-editor.org/info/rfc8040>.

   [RFC8341]  Bierman, A. and M. Bjorklund, "Network Configuration
              Access Control Model", STD 91, RFC 8341,
              DOI 10.17487/RFC8341, March 2018,
              <https://www.rfc-editor.org/info/rfc8341>.

Zheng, et al.             Expires May 31, 2020                 [Page 24]
Internet-Draft     A YANG Data Model for Layer 0 Types     November 2019

   [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 Transport Layer Security (TLS) Protocol
              Version 1.3", RFC 8446, DOI 10.17487/RFC8446, August 2018,
              <https://www.rfc-editor.org/info/rfc8446>.

8.2.  Informative References

   [I-D.ietf-teas-yang-te-types]
              Saad, T., Gandhi, R., Liu, X., Beeram, V., and I. Bryskin,
              "Traffic Engineering Common YANG Types", draft-ietf-teas-
              yang-te-types-12 (work in progress), November 2019.

   [ITU-Tg6941]
              International Telecommunication Union, "Spectral grids for
              WDM applications: DWDM frequency grid", ITU-T G.694.1,
              February 2012.

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

   [ITU-Tg709]
              International Telecommunication Union, "Interfaces for the
              optical transport network", ITU-T G.709, June 2016.

   [RFC3688]  Mealling, M., "The IETF XML Registry", BCP 81, RFC 3688,
              DOI 10.17487/RFC3688, January 2004,
              <https://www.rfc-editor.org/info/rfc3688>.

   [RFC6163]  Lee, Y., Ed., Bernstein, G., Ed., and W. Imajuku,
              "Framework for GMPLS and Path Computation Element (PCE)
              Control of Wavelength Switched Optical Networks (WSONs)",
              RFC 6163, DOI 10.17487/RFC6163, April 2011,
              <https://www.rfc-editor.org/info/rfc6163>.

   [RFC6205]  Otani, T., Ed. and D. Li, Ed., "Generalized Labels for
              Lambda-Switch-Capable (LSC) Label Switching Routers",
              RFC 6205, DOI 10.17487/RFC6205, March 2011,
              <https://www.rfc-editor.org/info/rfc6205>.

Zheng, et al.             Expires May 31, 2020                 [Page 25]
Internet-Draft     A YANG Data Model for Layer 0 Types     November 2019

   [RFC7205]  Romanow, A., Botzko, S., Duckworth, M., and R. Even, Ed.,
              "Use Cases for Telepresence Multistreams", RFC 7205,
              DOI 10.17487/RFC7205, April 2014,
              <https://www.rfc-editor.org/info/rfc7205>.

   [RFC7446]  Lee, Y., Ed., Bernstein, G., Ed., Li, D., and W. Imajuku,
              "Routing and Wavelength Assignment Information Model for
              Wavelength Switched Optical Networks", RFC 7446,
              DOI 10.17487/RFC7446, February 2015,
              <https://www.rfc-editor.org/info/rfc7446>.

   [RFC7581]  Bernstein, G., Ed., Lee, Y., Ed., Li, D., Imajuku, W., and
              J. Han, "Routing and Wavelength Assignment Information
              Encoding for Wavelength Switched Optical Networks",
              RFC 7581, DOI 10.17487/RFC7581, June 2015,
              <https://www.rfc-editor.org/info/rfc7581>.

   [RFC7698]  Gonzalez de Dios, O., Ed., Casellas, R., Ed., Zhang, F.,
              Fu, X., Ceccarelli, D., and I. Hussain, "Framework and
              Requirements for GMPLS-Based Control of Flexi-Grid Dense
              Wavelength Division Multiplexing (DWDM) Networks",
              RFC 7698, DOI 10.17487/RFC7698, November 2015,
              <https://www.rfc-editor.org/info/rfc7698>.

   [RFC8363]  Zhang, X., Zheng, H., Casellas, R., Gonzalez de Dios, O.,
              and D. Ceccarelli, "GMPLS OSPF-TE Extensions in Support of
              Flexi-Grid Dense Wavelength Division Multiplexing (DWDM)
              Networks", RFC 8363, DOI 10.17487/RFC8363, May 2018,
              <https://www.rfc-editor.org/info/rfc8363>.

Authors' Addresses

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

   Email: zhenghaomian@huawei.com

   Young Lee
   SKKU
   Sung Kyun Kwan University
   Seoul
   South Korea

   Email: younglee.tx@gmail.com

Zheng, et al.             Expires May 31, 2020                 [Page 26]
Internet-Draft     A YANG Data Model for Layer 0 Types     November 2019

   Aihua Guo
   Futurewei

   Email: aihuaguo@futurewei.com

   Victor Lopez
   Telefonica

   Email: victor.lopezalvarez@telefonica.com

   Daniel King
   University of Lancaster

   Email: d.king@lancaster.ac.uk

Zheng, et al.             Expires May 31, 2020                 [Page 27]