Skip to main content

A YANG Data Model for Layer 1 Types
draft-ietf-ccamp-layer1-types-09

The information below is for an old version of the document.
Document Type
This is an older version of an Internet-Draft whose latest revision state is "Active".
Authors Haomian Zheng , Italo Busi
Last updated 2021-02-20
RFC stream Internet Engineering Task Force (IETF)
Formats
Reviews
Additional resources Mailing list discussion
Stream WG state WG Document
Associated WG milestone
Jul 2022
Submit YANG model of Layer 1 Types to IESG for review
Document shepherd (None)
IESG IESG state I-D Exists
Consensus boilerplate Unknown
Telechat date (None)
Responsible AD (None)
Send notices to (None)
draft-ietf-ccamp-layer1-types-09
CCAMP Working Group                                             H. Zheng
Internet-Draft                                                   I. Busi
Intended status: Standards Track                     Huawei Technologies
Expires: August 23, 2021                               February 19, 2021

                  A YANG Data Model for Layer 1 Types
                    draft-ietf-ccamp-layer1-types-09

Abstract

   This document defines a collection of common data types and groupings
   in the YANG data modeling language for use with layer 1 networks.
   These derived common types and groupings are intended to be imported
   by modules that specify OTN networks, such as topology, tunnel,
   client signal adaptation and service.

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 August 23, 2021.

Copyright Notice

   Copyright (c) 2021 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
   (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.

Zheng & Busi             Expires August 23, 2021                [Page 1]
Internet-Draft     A YANG Data Model for Layer 1 Types     February 2021

Table of Contents

   1.  Introduction  . . . . . . . . . . . . . . . . . . . . . . . .   2
   2.  Terminology and Notations . . . . . . . . . . . . . . . . . .   3
   3.  Prefix in Data Node Names . . . . . . . . . . . . . . . . . .   3
   4.  Layer 1 Types Overview  . . . . . . . . . . . . . . . . . . .   3
     4.1.  Relationship with other Modules . . . . . . . . . . . . .   3
     4.2.  Content in Layer 1 Type Module  . . . . . . . . . . . . .   3
     4.3.  OTN Label and Label Range . . . . . . . . . . . . . . . .   5
     4.4.  ODUflex . . . . . . . . . . . . . . . . . . . . . . . . .   6
       4.4.1.  Resizable ODUflex . . . . . . . . . . . . . . . . . .   8
   5.  YANG Code for Layer1 Types  . . . . . . . . . . . . . . . . .   9
   6.  Security Considerations . . . . . . . . . . . . . . . . . . .  34
   7.  IANA Considerations . . . . . . . . . . . . . . . . . . . . .  34
   8.  Acknowledgements  . . . . . . . . . . . . . . . . . . . . . .  35
   9.  Contributors  . . . . . . . . . . . . . . . . . . . . . . . .  35
   10. References  . . . . . . . . . . . . . . . . . . . . . . . . .  36
     10.1.  Normative References . . . . . . . . . . . . . . . . . .  36
     10.2.  Informative References . . . . . . . . . . . . . . . . .  38
   Appendix A.  Examples of OTN Label Ranges . . . . . . . . . . . .  39
   Authors' Addresses  . . . . . . . . . . . . . . . . . . . . . . .  45

1.  Introduction

   This document specifies common data types for use in YANG [RFC7950]
   data models of Layer 1 networks.  The derived types and groupings are
   types applicable to modeling Traffic Engineering (TE) for Layer 1
   networks.

   The Optical Transport Networking, a typical Layer 1 network, is
   specified in [RFC7062].  The corresponding routing and signaling
   protocol are specified in [RFC7138] and [RFC7139].  The types and
   groupings defined in this document are consistent to those documents,
   and can be imported into other Layer 1 data models, including but not
   limited to, [I-D.ietf-ccamp-otn-topo-yang],
   [I-D.ietf-ccamp-otn-tunnel-model],
   [I-D.ietf-ccamp-client-signal-yang] and [I-D.ietf-ccamp-l1csm-yang].

   The data model in this draft only defines groupings, typedef and
   identities.  There is no configuration or state data as specified in
   the Network Management Datastore Architecture [RFC8342].  The
   document is consistent with other specifications, including [MEF63]
   for Layer 1 service attributes, [ITU-Tg709] and [ITU-Tgsup43] for OTN
   data plane definitions.

Zheng & Busi             Expires August 23, 2021                [Page 2]
Internet-Draft     A YANG Data Model for Layer 1 Types     February 2021

2.  Terminology and Notations

   Refer to [RFC7062] for the key terms used in this document.  The
   terminology for describing YANG data models can be found in
   [RFC7950].

3.  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            |
      +-------------+---------------------------+----------------------+
      | l1-types    | ietf-layer1-types         | This Document        |
      +-------------+---------------------------+----------------------+

4.  Layer 1 Types Overview

4.1.  Relationship with other Modules

   This document defines one YANG module for common Layer 1 types.  The
   aim is to specify common Layer 1 TE types (i.e. typedef, identity,
   grouping) that can be imported by layer 1 specific technology, for
   example OTN, in its technology-specific modules, such as topology and
   tunnels.  It is worth noting that the generic traffic-engineering
   (TE) types module is specified in [RFC8776] as ietf-te-types, and
   both YANG modules, ietf-te-types and ietf-layer1-types, will need
   importing when the OTN is configured.  Generic attributes such as te-
   bandwidth and te-label, are specified in ietf-te-types in [RFC8776],
   while the OTN-specific attributes, such as odu-type, are specified in
   ietf-layer1-types in this document.

4.2.  Content in Layer 1 Type Module

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

   tributary-slot-granularity:

   This specifies the granularity of the server layer ODU Link (HO ODUk
   or ODUCn) supporting a client layer ODU LSP (LO ODUj or ODUk,
   respectively).  Three granularities, 1.25G/2.5G/5G, have been
   specified.

Zheng & Busi             Expires August 23, 2021                [Page 3]
Internet-Draft     A YANG Data Model for Layer 1 Types     February 2021

   odu-type:

   This specifies the type of ODUk LSP, including the types specified in
   [RFC7139] and [RFC7963].

   client-signal:

   This specifies the client signal types of OTN networks.  The initial
   input was the G-PID specified in [RFC7139].  Identities for some of
   the categories of client signal types, including ETH, STM-n, OC
   [ANSI] and Fiber Channel, have been specified.

   otn-label-range-type:

   The label range type of OTN is represented in one of two ways,
   tributary slots (TS) and tributary port number (TPN), as specified in
   [RFC7139].  Two representations are enumerated in the otn-label-
   range-type.

   otn-link-bandwidth:

   This grouping defines the link bandwidth information and could be
   used in OTN topology model for link bandwidth representation.  All
   the bandwidth related sections in generic module, [RFC8776], need to
   be augmented with this grouping for the usage of Layer 1.

   otn-path-bandwidth:

   This grouping defines the path bandwidth information and could be
   used in OTN topology model for path bandwidth representation.  All
   the bandwidth related sections in generic module, [RFC8776], need to
   be augmented with this grouping for the usage of Layer 1.  This
   grouping is also applicable when setting up the OTN tunnel.

   otn-label-range-info and otn-label-step:

   These groupings are used to augment an OTN label with type,
   granularity, priority and ODU types.

   otn-label-start-end and otn-label-hop:

   These groupings are used to augment a label for an OTN link and path
   respectively.

   optical-interface-func:

Zheng & Busi             Expires August 23, 2021                [Page 4]
Internet-Draft     A YANG Data Model for Layer 1 Types     February 2021

   The optical interface function is specified in [MEF63].  This
   grouping describes the functionality which encodes bits for
   transmission and decodes bits upon reception.

   service-performance-metric:

   The service performance metric is a quantitative characterization of
   the quality of the delivery of Layer 1 characteristic information as
   experienced by the Layer 1 subscriber.

4.3.  OTN Label and Label Range

   As described in [RFC7139], the OTN label usually represents the
   Tributary Port Number (TPN) and the related set of Tributary Slots
   (TS) assigned to a client layer ODU LSP (LO ODUj or ODUk) on a given
   server layer ODU (HO-ODU or ODUCn, respectively) Link (e.g., ODU2 LSP
   over ODU3 Link).  Some special OTN label values are also defined for
   an ODUk LSP being set up over an OTUk Link.

   The same OTN label must be assigned to the same ODUk LSP at the two
   ends of an OTN Link.

   As described in [RFC7139], TPN can be a number from 1 to 4095 and TS
   are numbered from 1 to 4095, although the actual maximum values
   depend on the type of server layer ODU.  For example, a server layer
   ODU4 provides 80 time slots (numbered from 1 to 80) and the TPN
   values can be any number from 1 to 80.

   The OTN Label Range represents the values for the TPN and TS that are
   available for ODUk LSPs to be setup over a given OTN Link.

   The OTN Label Range is defined by the label-restriction list, defined
   in [RFC8776], which, for OTN, should be augmented using the otn-
   label-range-info grouping.

   Each entry in the label-restriction list represents either the range
   of the available TPN values or the range of the available TS values:
   the range-type attribute in the otn-label-range-info grouping defines
   the type of range for each entry of the list.

   Each entry of the label-restriction list, as defined in [RFC8776],
   defines a label-start, a label-end, a label-step and a range-bitmap.
   The label-start and label-end definitions for OTN should be augmented
   using the otn-label-start-end grouping.  The label-step definition
   for OTN should be augmented using the otn-label-step grouping.  It is
   expected that the otn-label-step will always be equal to its default
   value (i.e., 1), which is defined in [RFC8776].

Zheng & Busi             Expires August 23, 2021                [Page 5]
Internet-Draft     A YANG Data Model for Layer 1 Types     February 2021

   As described in [RFC7139], in some cases, the TPN assignment rules
   are flexible (e.g., ODU4 Link) while in other cases the TPN
   assignment rules are fixed (e.g., ODU1 Link).  In the former case,
   both TPN and TS ranges are reported, while in the latter case, the
   TPN range is not reported which indicates that the TPN shall be set
   equal to the TS number assigned to the ODUk LSP.

   As described in [RFC7139], in some cases, the TPN assignment rules
   depends on the TS Granularity (e.g., ODU2 or ODU3 Links).  Different
   entries in the label-restriction list will report different TPN
   ranges for each TS granularity supported by the link, as indicated by
   the tsg attribute in the otn-label-range-info grouping.

   As described in [RFC7139], in some cases the TPN ranges are different
   for different types of ODUk LSPs.  For example, on an ODU2 Link with
   1.25G TS granularity, the TPN range is 1-4 for ODU1 but 1-8 for ODU0
   and ODUflex.  Different entries in the label-restriction list will
   report different TPN ranges for different set of ODUk types, as
   indicated by the odu-type-list in the otn-label-range-info grouping.

   Appendix A provides some examples of how the TPN and TS label ranges
   described in Table 3 and Table 4 of [RFC7139] can be represented in
   YANG using the groupings defined in this document.

4.4.  ODUflex

   ODUflex is a type of ODU which has a flexible bit rate which is
   configured when setting up an ODUflex LSP.

   [ITU-Tg709], defines six types of ODUflex: ODUflex(CBR),
   ODUflex(GFP), ODUflex(GFP,n,k), ODUflex(IMP), ODUflex(IMP,s) and
   ODUflex(FlexE-aware).

   The main difference between these types of ODUflex is the formula
   used to calculate the nominal bit rate of the ODUflex, as described
   in Table 7-2 of [ITU-Tg709].  A YANG choice has been defined to
   describe these cases:

Zheng & Busi             Expires August 23, 2021                [Page 6]
Internet-Draft     A YANG Data Model for Layer 1 Types     February 2021

          +--rw (oduflex-type)?
             +--:(generic)
             |  +--rw nominal-bit-rate        uint64
             +--:(cbr)
             |  +--rw client-type             identityref
             +--:(gfp-n-k)
             |  +--rw gfp-n                   uint8
             |  +--rw gfp-k?                  l1-types:gfp-k
             +--:(flexe-client)
             |  +--rw flexe-client
             |          l1-types:flexe-client-rate
             +--:(flexe-aware)
             |  +--rw flexe-aware-n           uint16
             +--:(packet)
                +--rw opuflex-payload-rate    uint64

   The 'generic' case has been added to allow the ODUflex nominal bit
   rate to be defined independently from the type of ODUflex.  This
   could be useful for forward compatibility in the transit domain/nodes
   where the setup of ODUflex LSPs does not depend on the ODUflex type.

   In order to simplify interoperability the 'generic' case should be
   used only when it is needed; the ODUflex type-specific case should be
   used whenever possible.

   The 'cbr' case is used for Constant Bit Rate (CBR) client signals.
   The client-type indicates which CBR client signal is carried by the
   ODUflex and, implicitly, the client signal bit rate which is then
   used to calculate the ODUflex(CBR) nominal bit rate as described in
   Table 7-2 of [ITU-Tg709].

   The 'gfp-n-k' case is used for GFP-F mapped client signals based on
   ODUk.ts and 'n' 1.25G tributary slots. 'gfp-k' defines the nominal
   bit-rate of the ODUk.ts which, together with the value of 'gfp-n', is
   used to calculated the ODUflex(GFP,n,k) nominal bit rate as described
   in Table 7-8 and Table L-7 of [ITU-Tg709] . With a few exceptions,
   shown in Table L-7 of [ITU-Tg709], the nominal bit-rate of the
   ODUk.ts could be inferred from the value of 'n', as shown in
   Table 7-8 of [ITU-Tg709] and therefore the 'gfp-k' is optional.

   The 'flexe-client' case is used for Idle Mapping Procedure(IMP)
   mapped FlexE client signals, The 'flexe-client' represents the type
   of FlexE client carried by the ODUflex which implicitly defines the
   value of 's' used to calculate the ODUflex(s) nominal bit rate as
   described in Table 7-2 of [ITU-Tg709].  The '10G' and '40G'
   enumeration values are used for 10G and 40G FlexE clients to

Zheng & Busi             Expires August 23, 2021                [Page 7]
Internet-Draft     A YANG Data Model for Layer 1 Types     February 2021

   implicitly define the values of s=2 and s=8.  For the 'n x 25G' FlexE
   Clients the value of 'n' is used to defines the value of s=5 x n.

   The 'flexe-aware' case is used for FlexE-aware client signals.  The
   flexe-aware-n represents the value n (n = n1 + n2 + ... + np) which
   is used to calculate the ODUflex(FlexE-aware) nominal bit rate as
   described in Table 7-2 of [ITU-Tg709].

   The 'packet' case is used for both the GFP-F mapped client signals
   and the IMP mapped client signals.  The opuflex-payload-rate is
   either the GFP-F encapsulated-packet client nominal bit rate or the
   64b/66b encoded-packet client nominal bit rate.  The calculation of
   ODUflex(GFP) nominal bit rate is defined in section 12.2.5 of
   [ITU-Tg709], and the calculation of ODUflex(IMP) nominal bit rate is
   defined in section 12.2.6 of [ITU-Tg709].  The same formula is used
   in both cases.

   Section 5.1 and 5.2 of [RFC7139] defines two rules to compute the
   number of tributary slots to be allocated to ODUflex(CBR) and
   ODUflex(GFP) LSPs when carried over a HO-ODUk link.  According to
   section 19.6 of [ITU-Tg709], the rules in section 5.2 apply only to
   ODUflex(GFP,n,k) while the rules defined in section 5.1 apply to any
   other ODUflex type, including, but not limited, to ODUflex(CBR).
   Section 20.5 of [ITU-Tg709] defines the rules for computing the
   number of tributary slots to be allocated to ODUflex LSPs when
   carried over an ODUCn link.

   Following the [ITU-Tg709] definitions, the rules defined for
   ODUflex(GFP,n,k) are used only when the 'gfp-n-k' case is used.  In
   all the other cases, including the (generic) case, the rules defined
   any other ODUflex type are used.

   The number of available ODUs, defined for each ODUk type, including
   ODUflex, together with the number of available time-slots, reported
   as part of the OTN label range, provide sufficient information to
   infer the OTN link bandwidth availability for ODUflex LSPs.  This
   information is independent of the ODUflex type.

4.4.1.  Resizable ODUflex

   Resizable ODUflex is a special type of ODUflex that supports the
   procedures defined in [ITU-Tg7044] for hitless resizing of the
   ODUflex nominal bit rate.

   Two odu-type identities have been defined for ODUflex:

   o  The ODUflex identity, which is used with any type of non-resizable
      ODUflex, as defined in Table 7-2 of [ITU-Tg709].

Zheng & Busi             Expires August 23, 2021                [Page 8]
Internet-Draft     A YANG Data Model for Layer 1 Types     February 2021

   o  The ODUflex-resizable identity, which is used only with resizable
      ODUflex(GFP,n,k).

   These two identities are used to identify whether an ODUflex(GFP,n,k)
   LSP does or does support the [ITU-Tg7044] hitless resizing
   procedures.  They also identify whether an OTN link only supports the
   setup of non-resizable ODUflex LSPs or also supports the setup of
   resizable ODUflex(GFP,n,k) LSP but with different capabilities (e.g.,
   a lower number of LSPs).

5.  YANG Code for Layer1 Types

  <CODE BEGINS>file "ietf-layer1-types@2021-02-19.yang"
  module ietf-layer1-types {
    yang-version 1.1;
    namespace "urn:ietf:params:xml:ns:yang:ietf-layer1-types";
    prefix "l1-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: Italo Busi
               <mailto:Italo.Busi@huawei.com>";

    description
      "This module defines Layer 1 types. The model fully conforms
       to the Network Management Datastore Architecture (NMDA).

       Copyright (c) 2021 IETF Trust and the persons
       identified as authors of the code.  All rights reserved.

       Redistribution and use in source and binary forms, with or
       without modification, is permitted pursuant to, and subject
       to the license terms contained in, the Simplified BSD License
       set forth in Section 4.c of the IETF Trust's Legal Provisions
       Relating to IETF Documents
       (https://trustee.ietf.org/license-info).
       This version of this YANG module is part of RFC XXXX; see
       the RFC itself for full legal notices.";

    revision "2021-02-19" {

Zheng & Busi             Expires August 23, 2021                [Page 9]
Internet-Draft     A YANG Data Model for Layer 1 Types     February 2021

      description
        "Initial Version";
      reference
        "RFC XXXX: A YANG Data Model for Layer 1 Types";
      // RFC Editor: replace XXXX with actual RFC number, update date
      // information and remove this note
    }

    /*
     * Typedefs
     */

    typedef otn-tpn {
      type uint16 {
        range "1..4095";
      }
      description
        "Tributary Port Number for OTN. ";
      reference
        "RFC7139: GMPLS Signaling Extensions for Control of Evolving
         G.709 Optical Transport Networks.";
    }

    typedef otn-ts {
      type uint16 {
        range "1..4095";
      }
      description
        "Tributary Slot for OTN. ";
      reference
        "RFC7139: GMPLS Signaling Extensions for Control of Evolving
         G.709 Optical Transport Networks.";
    }

    typedef otn-label-range-type {
      type enumeration {
        enum trib-slot {
          description
            "Defines a range of OTN tributary slots. ";
        }
        enum trib-port {
          description
            "Defines a range of OTN tributary ports. ";
        }
      }
      description
        "Defines the type of OTN label range: TS or TPN. ";
    }

Zheng & Busi             Expires August 23, 2021               [Page 10]
Internet-Draft     A YANG Data Model for Layer 1 Types     February 2021

    typedef gfp-k {
      type enumeration {
        enum 2 {
          description
            "The ODU2.ts rate (1,249,177.230 kbit/s) is used
             to compute the rate of an ODUflex(GFP,n,2). ";
        }
        enum 3 {
          description
            "The ODU3.ts rate (1,254,470.354 kbit/s) is used
             to compute the rate of an ODUflex(GFP,n,3). ";
        }
        enum 4 {
          description
            "The ODU4.ts rate (1,301,467.133 kbit/s) is used
             to compute the rate of an ODUflex(GFP,n,4). ";
        }
      }
      description
        "The ODUk.ts used to compute the rate of an ODUflex(GFP,n,k)";
      reference
        "ITU-T G.709 v6.0 (06/2020), Table 7-8 and L.7: Interfaces for
         the Optical Transport Network (OTN)";
    }

    typedef flexe-client-rate {
      type union {
        type uint16;
        type enumeration {
          enum "10G" {
            description
              "Represents a 10G FlexE Client signal (s=2)";
          }
          enum "40G" {
            description
              "Represents a 40G FlexE Client signal (s=8)";
          }
        }
      }
      description
        "The FlexE Client signal rate (s x 5,156,250.000 kbit/s)
         used to compute the rate of an ODUflex(IMP, s).
         Valid values for s are s=2 (10G), s=4 (40G) and
         s=5 x n (n x 25G).
         In the first two cases an enumeration value
         (either 10G or 40G) is used, while in the latter case
         the value of n is used";
      reference

Zheng & Busi             Expires August 23, 2021               [Page 11]
Internet-Draft     A YANG Data Model for Layer 1 Types     February 2021

        "ITU-T G.709 v6.0 (06/2020), Table 7-2: Interfaces for the
         Optical Transport Network (OTN)";
    }

    /*
     * Identities
     */

    identity tributary-slot-granularity {
      description
        "Tributary slot granularity";
      reference
        "ITU-T G.709 v6.0 (06/2020): Interfaces for the Optical
         Transport Network (OTN)";
    }

    identity tsg-1.25G {
      base tributary-slot-granularity;
      description
        "1.25G tributary slot granularity";
    }

    identity tsg-2.5G {
      base tributary-slot-granularity;
      description
        "2.5G tributary slot granularity";
    }

    identity tsg-5G {
      base tributary-slot-granularity;
      description
        "5G tributary slot granularity";
    }

    identity odu-type {
      description
        "Base identity from which specific ODU protocol is derived.";
    }

    identity ODU0 {
      base odu-type;
      description
        "ODU0 protocol (1.24Gb/s).";
      reference
        "RFC7139: GMPLS Signaling Extensions for Control of Evolving
         G.709 Optical Transport Networks

         ITU-T G.709 v6.0 (06/2020): Interfaces for the Optical

Zheng & Busi             Expires August 23, 2021               [Page 12]
Internet-Draft     A YANG Data Model for Layer 1 Types     February 2021

         Transport Network (OTN)";
    }

    identity ODU1 {
      base odu-type;
      description
        "ODU1 protocol (2.49Gb/s).";
      reference
        "RFC7139: GMPLS Signaling Extensions for Control of Evolving
         G.709 Optical Transport Networks

         ITU-T G.709 v6.0 (06/2020): Interfaces for the Optical
         Transport Network (OTN)";
    }

    identity ODU1e {
      base odu-type;
      description
        "ODU1e protocol (10.35Gb/s).";
      reference
        "RFC7963: RSVP-TE Extension for Additional Signal Types in
         G.709 Optical Transport Networks (OTNs)

         ITU-T G.sup43 v5.0 (02/2011): Transport of IEEE 10GBASE-R
         in optical transport networks (OTN)";
    }

    identity ODU2 {
      base odu-type;
      description
        "ODU2 protocol (10.03Gb/s).";
      reference
        "RFC7139: GMPLS Signaling Extensions for Control of Evolving
         G.709 Optical Transport Networks

         ITU-T G.709 v6.0 (06/2020): Interfaces for the Optical
         Transport Network (OTN)";
    }

    identity ODU2e {
      base odu-type;
      description
        "ODU2e protocol (10.39Gb/s).";
      reference
        "RFC7139: GMPLS Signaling Extensions for Control of Evolving
         G.709 Optical Transport Networks

         ITU-T G.709 v6.0 (06/2020): Interfaces for the Optical

Zheng & Busi             Expires August 23, 2021               [Page 13]
Internet-Draft     A YANG Data Model for Layer 1 Types     February 2021

         Transport Network (OTN)";
    }

    identity ODU3 {
      base odu-type;
      description
        "ODU3 protocol (40.31Gb/s).";
      reference
        "RFC7139: GMPLS Signaling Extensions for Control of Evolving
         G.709 Optical Transport Networks

         ITU-T G.709 v6.0 (06/2020): Interfaces for the Optical
         Transport Network (OTN)";
    }

    identity ODU3e1 {
      base odu-type;
      description
        "ODU3e1 protocol (41.77Gb/s).";
      reference
        "RFC7963: RSVP-TE Extension for Additional Signal Types in
         G.709 Optical Transport Networks (OTNs)

         ITU-T G.sup43 v5.0 (02/2011): Transport of IEEE 10GBASE-R
         in optical transport networks (OTN)";
    }

    identity ODU3e2 {
      base odu-type;
      description
        "ODU3e2 protocol (41.78Gb/s).";
      reference
        "RFC7963: RSVP-TE Extension for Additional Signal Types in
         G.709 Optical Transport Networks (OTNs)

         ITU-T G.sup43 v5.0 (02/2011): Transport of IEEE 10GBASE-R
         in optical transport networks (OTN)";
    }

    identity ODU4 {
      base odu-type;
      description
        "ODU4 protocol (104.79Gb/s).";
      reference
        "RFC7139: GMPLS Signaling Extensions for Control of Evolving
         G.709 Optical Transport Networks

         ITU-T G.709 v6.0 (06/2020): Interfaces for the Optical

Zheng & Busi             Expires August 23, 2021               [Page 14]
Internet-Draft     A YANG Data Model for Layer 1 Types     February 2021

         Transport Network (OTN)";
    }

    identity ODUflex {
      base odu-type;
      description
        "ODUflex protocol (flexibile bit rate, not resizable).

         It could be used for any type of ODUflex, including
         ODUflex(CBR), ODUflex(GFP), ODUflex(GFP,n,k), ODUflex(IMP,s),
         ODUflex(IMP) and ODUflex(FlexE-aware).";
      reference
        "RFC7139: GMPLS Signaling Extensions for Control of Evolving
         G.709 Optical Transport Networks

         ITU-T G.709 v6.0 (06/2020): Interfaces for the Optical
         Transport Network (OTN)";
    }

    identity ODUflex-resizable {
      base odu-type;
      description
        "ODUflex protocol (flexibile bit rate, resizable).

         It could be used only for ODUflex(GFP,n,k).";
      reference
        "RFC7139: GMPLS Signaling Extensions for Control of Evolving
         G.709 Optical Transport Networks

         ITU-T G.709 v6.0 (06/2020): Interfaces for the Optical
         Transport Network (OTN)";
    }

    identity protocol {
      description
        "Base identity from which specific protocol is derived.";
      reference
        "MEF63: Subscriber Layer 1 Service Attributes";
    }

    identity Ethernet {
      base protocol;
      description
        "Ethernet protocol.";
      reference
        "MEF63: Subscriber Layer 1 Service Attributes";
    }

Zheng & Busi             Expires August 23, 2021               [Page 15]
Internet-Draft     A YANG Data Model for Layer 1 Types     February 2021

    identity Fibre-Channel {
      base protocol;
      description
        "Fibre-Channel (FC) protocol.";
      reference
        "MEF63: Subscriber Layer 1 Service Attributes";
    }

    identity SDH {
      base protocol;
      description
        "SDH protocol.";
      reference
        "MEF63: Subscriber Layer 1 Service Attributes";
    }

    identity SONET {
      base protocol;
      description
        "SONET protocol.";
      reference
        "MEF63: Subscriber Layer 1 Service Attributes";
    }

    identity client-signal {
      description
        "Base identity from which specific client signal is derived";
    }

    identity coding-func {
      description
        "Base identity from which specific coding function
         is derived.";
      reference
        "MEF63: Subscriber Layer 1 Service Attributes";
    }

    identity ETH-1Gb {
      base client-signal;
      description
        "Client signal type of 1GbE";
      reference
        "RFC7139: GMPLS Signaling Extensions for Control of Evolving
         G.709 Optical Transport Networks

         ITU-T G.709 v6.0 (06/2020): Interfaces for the Optical
         Transport Network (OTN)";
    }

Zheng & Busi             Expires August 23, 2021               [Page 16]
Internet-Draft     A YANG Data Model for Layer 1 Types     February 2021

    identity ETH-10Gb-LAN {
      base client-signal;
      description
        "Client signal type of ETH-10Gb-LAN (10.3 Gb/s)";
      reference
        "RFC7139: GMPLS Signaling Extensions for Control of Evolving
         G.709 Optical Transport Networks

         ITU-T G.709 v6.0 (06/2020): Interfaces for the Optical
         Transport Network (OTN)

         IEEE 802.3-2018, Clause 49: IEEE Standard for Ethernet";
    }

    identity ETH-10Gb-WAN {
      base client-signal;
      description
        "Client signal type of ETH-10Gb-WAN (9.95 Gb/s)";
      reference
        "RFC7139: GMPLS Signaling Extensions for Control of Evolving
         G.709 Optical Transport Networks

         ITU-T G.709 v6.0 (06/2020): Interfaces for the Optical
         Transport Network (OTN)

         IEEE 802.3-2018, Clause 50: IEEE Standard for Ethernet";
    }

    identity ETH-40Gb {
      base client-signal;
      description
        "Client signal type of 40GbE";
      reference
        "RFC7139: GMPLS Signaling Extensions for Control of Evolving
         G.709 Optical Transport Networks

         ITU-T G.709 v6.0 (06/2020): Interfaces for the Optical
         Transport Network (OTN)";
    }

    identity ETH-100Gb {
      base client-signal;
      description
        "Client signal type of 100GbE";
      reference
        "RFC7139: GMPLS Signaling Extensions for Control of Evolving
         G.709 Optical Transport Networks

Zheng & Busi             Expires August 23, 2021               [Page 17]
Internet-Draft     A YANG Data Model for Layer 1 Types     February 2021

         ITU-T G.709 v6.0 (06/2020): Interfaces for the Optical
         Transport Network (OTN)";
    }

    identity STM-1 {
      base client-signal;
      base coding-func;
      description
        "Client signal type of STM-1;
         STM-1 G.707 (N=1) coding function.";
      reference
        "RFC7139: GMPLS Signaling Extensions for Control of Evolving
         G.709 Optical Transport Networks

         ITU-T G.709 v6.0 (06/2020): Interfaces for the Optical
         Transport Network (OTN)

         MEF63: Subscriber Layer 1 Service Attributes";
    }

    identity STM-4 {
      base client-signal;
      base coding-func;
      description
        "Client signal type of STM-4;
         STM-4 G.707 (N=4) coding function.";
      reference
        "RFC7139: GMPLS Signaling Extensions for Control of Evolving
         G.709 Optical Transport Networks

         ITU-T G.709 v6.0 (06/2020): Interfaces for the Optical
         Transport Network (OTN)

         MEF63: Subscriber Layer 1 Service Attributes";
    }

    identity STM-16 {
      base client-signal;
      base coding-func;
      description
        "Client signal type of STM-16;
         STM-16 G.707 (N=16) coding function.";
      reference
        "RFC7139: GMPLS Signaling Extensions for Control of Evolving
         G.709 Optical Transport Networks

         ITU-T G.709 v6.0 (06/2020): Interfaces for the Optical
         Transport Network (OTN)

Zheng & Busi             Expires August 23, 2021               [Page 18]
Internet-Draft     A YANG Data Model for Layer 1 Types     February 2021

         MEF63: Subscriber Layer 1 Service Attributes";
    }

    identity STM-64 {
      base client-signal;
      base coding-func;
      description
        "Client signal type of STM-64;
         STM-64 G.707 (N=64) coding function.";
      reference
        "RFC7139: GMPLS Signaling Extensions for Control of Evolving
         G.709 Optical Transport Networks

         ITU-T G.709 v6.0 (06/2020): Interfaces for the Optical
         Transport Network (OTN)

         MEF63: Subscriber Layer 1 Service Attributes";
    }

    identity STM-256 {
      base client-signal;
      base coding-func;
      description
        "Client signal type of STM-256;
         STM-256 G.707 (N=256) coding function.";
      reference
        "RFC7139: GMPLS Signaling Extensions for Control of Evolving
         G.709 Optical Transport Networks

         ITU-T G.709 v6.0 (06/2020): Interfaces for the Optical
         Transport Network (OTN)

         MEF63: Subscriber Layer 1 Service Attributes";
    }

    identity OC-3 {
      base client-signal;
      base coding-func;
      description
        "Client signal type of OC3;
         OC-3 GR-253-CORE (N=3) coding function.";
      reference
        "ANSI T1.105-1995: Synchronous Optical Network (SONET)
         Basic Description including Multiplex Structure, Rates,
         and Formats

         MEF63: Subscriber Layer 1 Service Attributes";
    }

Zheng & Busi             Expires August 23, 2021               [Page 19]
Internet-Draft     A YANG Data Model for Layer 1 Types     February 2021

    identity OC-12 {
      base client-signal;
      base coding-func;
      description
        "Client signal type of OC12;
         OC-12 GR-253-CORE (N=12) coding function.";
      reference
        "ANSI T1.105-1995: Synchronous Optical Network (SONET)
         Basic Description including Multiplex Structure, Rates,
         and Formats

         MEF63: Subscriber Layer 1 Service Attributes";
    }

    identity OC-48 {
      base client-signal;
      base coding-func;
      description
        "Client signal type of OC48;
         OC-48 GR-253-CORE (N=48) coding function.";
      reference
        "ANSI T1.105-1995: Synchronous Optical Network (SONET)
         Basic Description including Multiplex Structure, Rates,
         and Formats

         MEF63: Subscriber Layer 1 Service Attributes";
    }

    identity OC-192 {
      base client-signal;
      base coding-func;
      description
        "Client signal type of OC192;
         OC-192 GR-253-CORE (N=192) coding function.";
      reference
        "ANSI T1.105-1995: Synchronous Optical Network (SONET)
         Basic Description including Multiplex Structure, Rates,
         and Formats

         MEF63: Subscriber Layer 1 Service Attributes";
    }

    identity OC-768 {
      base client-signal;
      base coding-func;
      description
        "Client signal type of OC768;
         OC-768 GR-253-CORE (N=768) coding function.";

Zheng & Busi             Expires August 23, 2021               [Page 20]
Internet-Draft     A YANG Data Model for Layer 1 Types     February 2021

      reference
        "ANSI T1.105-1995: Synchronous Optical Network (SONET)
         Basic Description including Multiplex Structure, Rates,
         and Formats

         MEF63: Subscriber Layer 1 Service Attributes";
    }

    identity FC-100 {
      base client-signal;
      base coding-func;
      description
        "Client signal type of Fibre Channel FC-100;
         FC-100 FC-FS-2 (1.0625 Gb/s) coding function.";
      reference
        "RFC7139: GMPLS Signaling Extensions for Control of Evolving
         G.709 Optical Transport Networks

         ITU-T G.709 v6.0 (06/2020): Interfaces for the Optical
         Transport Network (OTN)

         MEF63: Subscriber Layer 1 Service Attributes";
    }

    identity FC-200 {
      base client-signal;
      base coding-func;
      description
        "Client signal type of Fibre Channel FC-200;
         FC-200 FC-FS-2 (2.125 Gb/s) coding function.";
      reference
        "RFC7139: GMPLS Signaling Extensions for Control of Evolving
         G.709 Optical Transport Networks

         ITU-T G.709 v6.0 (06/2020): Interfaces for the Optical
         Transport Network (OTN)

         MEF63: Subscriber Layer 1 Service Attributes";
    }

    identity FC-400 {
      base client-signal;
      base coding-func;
      description
        "Client signal type of Fibre Channel FC-400;
         FC-400 FC-FS-2 (4.250 Gb/s) coding function.";
      reference
        "RFC7139: GMPLS Signaling Extensions for Control of Evolving

Zheng & Busi             Expires August 23, 2021               [Page 21]
Internet-Draft     A YANG Data Model for Layer 1 Types     February 2021

         G.709 Optical Transport Networks

         ITU-T G.709 v6.0 (06/2020): Interfaces for the Optical
         Transport Network (OTN)

         MEF63: Subscriber Layer 1 Service Attributes";
    }

    identity FC-800 {
      base client-signal;
      base coding-func;
      description
        "Client signal type of Fibre Channel FC-800;
         FC-800 FC-FS-2 (8.500 Gb/s) coding function.";
      reference
        "RFC7139: GMPLS Signaling Extensions for Control of Evolving
         G.709 Optical Transport Networks

         ITU-T G.709 v6.0 (06/2020): Interfaces for the Optical
         Transport Network (OTN)

         MEF63: Subscriber Layer 1 Service Attributes";
    }

    identity FC-1200 {
      base client-signal;
      base coding-func;
      description
        "Client signal type of Fibre Channel FC-1200;
         FC-1200 FC-10GFC (10.51875 Gb/s) coding function.";
      reference
        "RFC7139: GMPLS Signaling Extensions for Control of Evolving
         G.709 Optical Transport Networks

         ITU-T G.709 v6.0 (06/2020): Interfaces for the Optical
         Transport Network (OTN)

         MEF63: Subscriber Layer 1 Service Attributes";
    }

    identity FC-1600 {
      base client-signal;
      base coding-func;
      description
        "Client signal type of Fibre Channel FC-1600;
         FC-1600 FC-FS-3 (14.025 Gb/s) coding function.";
      reference
        "RFC7139: GMPLS Signaling Extensions for Control of Evolving

Zheng & Busi             Expires August 23, 2021               [Page 22]
Internet-Draft     A YANG Data Model for Layer 1 Types     February 2021

         G.709 Optical Transport Networks

         ITU-T G.709 v6.0 (06/2020): Interfaces for the Optical
         Transport Network (OTN)

         MEF63: Subscriber Layer 1 Service Attributes";
    }

    identity FC-3200 {
      base client-signal;
      base coding-func;
      description
        "Client signal type of Fibre Channel FC-3200;
         FC-3200 FC-FS-4 (28.05 Gb/s) coding function.";
      reference
        "RFC7139: GMPLS Signaling Extensions for Control of Evolving
         G.709 Optical Transport Networks

         ITU-T G.709 v6.0 (06/2020): Interfaces for the Optical
         Transport Network (OTN)

         MEF63: Subscriber Layer 1 Service Attributes";
    }

    identity FICON-4G {
      base client-signal;
      description
        "Client signal type of Fibre Connection 4G";
      reference
        "RFC7139: GMPLS Signaling Extensions for Control of Evolving
         G.709 Optical Transport Networks

         ITU-T G.709 v6.0 (06/2020): Interfaces for the Optical
         Transport Network (OTN)";
    }

    identity FICON-8G {
      base client-signal;
      description
        "Client signal type of Fibre Connection 8G";
      reference
        "RFC7139: GMPLS Signaling Extensions for Control of Evolving
         G.709 Optical Transport Networks

         ITU-T G.709 v6.0 (06/2020): Interfaces for the Optical
         Transport Network (OTN)";
    }

Zheng & Busi             Expires August 23, 2021               [Page 23]
Internet-Draft     A YANG Data Model for Layer 1 Types     February 2021

    identity ETH-1000X {
      base coding-func;
      description
        "1000BASE-X PCS clause 36 coding function.";
      reference
        "MEF63: Subscriber Layer 1 Service Attributes";
    }

    identity ETH-10GW {
      base coding-func;
      description
        "10GBASE-W (WAN PHY) PCS clause 49 and WIS clause 50
         coding function.";
      reference
        "MEF63: Subscriber Layer 1 Service Attributes";
    }

    identity ETH-10GR {
      base coding-func;
      description
        "10GBASE-R (LAN PHY) PCS clause 49 coding function.";
      reference
        "MEF63: Subscriber Layer 1 Service Attributes";
    }

    identity ETH-40GR {
      base coding-func;
      description
        "40GBASE-R PCS clause 82 coding function.";
      reference
        "MEF63: Subscriber Layer 1 Service Attributes";
    }

    identity ETH-100GR {
      base coding-func;
      description
        "100GBASE-R PCS clause 82 coding function.";
      reference
        "MEF63: Subscriber Layer 1 Service Attributes";
    }

    identity optical-interface-func {
      description
        "Base identity from which optical-interface-function
         is derived.";
      reference
        "MEF63: Subscriber Layer 1 Service Attributes";
    }

Zheng & Busi             Expires August 23, 2021               [Page 24]
Internet-Draft     A YANG Data Model for Layer 1 Types     February 2021

    identity SX-PMD-1000 {
      base optical-interface-func;
      description
        "SX-PMD-clause-38 Optical Interface function for
        1000BASE-X PCS-36";
      reference
        "MEF63: Subscriber Layer 1 Service Attributes";
    }

    identity LX-PMD-1000 {
      base optical-interface-func;
      description
        "LX-PMD-clause-38 Optical Interface function for
         1000BASE-X PCS-36";
      reference
        "MEF63: Subscriber Layer 1 Service Attributes";
    }

    identity LX10-PMD-1000 {
      base optical-interface-func;
      description
        "LX10-PMD-clause-59 Optical Interface function for
         1000BASE-X PCS-36";
      reference
        "MEF63: Subscriber Layer 1 Service Attributes";
    }

    identity BX10-PMD-1000 {
      base optical-interface-func;
      description
        "BX10-PMD-clause-59 Optical Interface function for
         1000BASE-X PCS-36";
      reference
        "MEF63: Subscriber Layer 1 Service Attributes";
    }

    identity LW-PMD-10G {
      base optical-interface-func;
      description
        "LW-PMD-clause-52 Optical Interface function for
         10GBASE-W PCS-49-WIS-50";
      reference
        "MEF63: Subscriber Layer 1 Service Attributes";
    }

    identity EW-PMD-10G {
      base optical-interface-func;
      description

Zheng & Busi             Expires August 23, 2021               [Page 25]
Internet-Draft     A YANG Data Model for Layer 1 Types     February 2021

        "EW-PMD-clause-52 Optical Interface function for
         10GBASE-W PCS-49-WIS-50";
      reference
        "MEF63: Subscriber Layer 1 Service Attributes";
    }

    identity LR-PMD-10G {
      base optical-interface-func;
      description
        "LR-PMD-clause-52 Optical Interface function for
         10GBASE-R PCS-49";
      reference
        "MEF63: Subscriber Layer 1 Service Attributes";
    }

    identity ER-PMD-10G {
      base optical-interface-func;
      description
        "ER-PMD-clause-52 Optical Interface function for
         10GBASE-R PCS-49";
      reference
        "MEF63: Subscriber Layer 1 Service Attributes";
    }

    identity LR4-PMD-40G {
      base optical-interface-func;
      description
        "LR4-PMD-clause-87 Optical Interface function for
         40GBASE-R PCS-82";
      reference
        "MEF63: Subscriber Layer 1 Service Attributes";
    }

    identity ER4-PMD-40G {
      base optical-interface-func;
      description
        "ER4-PMD-clause-87 Optical Interface function for
         40GBASE-R PCS-82";
      reference
        "MEF63: Subscriber Layer 1 Service Attributes";
    }

    identity FR-PMD-40G {
      base optical-interface-func;
      description
        "FR-PMD-clause-89 Optical Interface function for
         40GBASE-R PCS-82";
      reference

Zheng & Busi             Expires August 23, 2021               [Page 26]
Internet-Draft     A YANG Data Model for Layer 1 Types     February 2021

        "MEF63: Subscriber Layer 1 Service Attributes";
    }

    identity LR4-PMD-100G {
      base optical-interface-func;
      description
        "LR4-PMD-clause-88 Optical Interface function for
         100GBASE-R PCS-82";
      reference
        "MEF63: Subscriber Layer 1 Service Attributes";
    }

    identity ER4-PMD-100G {
      base optical-interface-func;
      description
        "ER4-PMD-clause-88 Optical Interface function for
         100GBASE-R PCS-82";
      reference
        "MEF63: Subscriber Layer 1 Service Attributes";
    }

    /*
     * Groupings
     */

    grouping otn-link-bandwidth {
      description
        "Bandwidth attributes for OTN links";
      list odulist {
        key "odu-type";
        description
          "OTN bandwidth definition";
        leaf odu-type {
          type identityref {
            base odu-type;
          }
          description "ODU type";
        }
        leaf number {
          type uint16;
          description "Number of ODUs";
        }
      }
    }

    grouping otn-path-bandwidth {
      description
        "Bandwidth attributes for OTN paths.";

Zheng & Busi             Expires August 23, 2021               [Page 27]
Internet-Draft     A YANG Data Model for Layer 1 Types     February 2021

      container otn {
        description
          "Bandwidth attributes for OTN paths.";
        leaf odu-type {
          type identityref {
            base odu-type;
          }
          description "ODU type";
        }
        choice oduflex-type {
          when 'derived-from-or-self(./odu-type,"ODUflex") or
                derived-from-or-self(./odu-type,"ODUflex-resizable")'{
            description
              "Applicable when odu-type is ODUflex or
               ODUflex-resizable";
          }
          description
            "Types of ODUflex used to compute the ODUflex
             nominal bit rate.";
          reference
            "ITU-T G.709 v6.0 (06/2020), Table 7-2: Interfaces for the
             Optical Transport Network (OTN)";
          case generic {
            leaf nominal-bit-rate {
              type uint64;
              units "bps";
              mandatory true;
              description
                "Nominal ODUflex bit rate.";
            }
          }
          case cbr {
            leaf client-type {
              type identityref {
                base client-signal;
              }
              mandatory true;
              description
                "The CBR client signal for an ODUflex(CBR).";
            }
          }
          case gfp-n-k {
            leaf gfp-n {
              type uint8 {
                range "1..80";
              }
              mandatory true;
              description

Zheng & Busi             Expires August 23, 2021               [Page 28]
Internet-Draft     A YANG Data Model for Layer 1 Types     February 2021

                "The value of n for an ODUflex(GFP,n,k).";
              reference
                "ITU-T G.709 v6.0 (06/2020), Tables 7-8 and L.7:
                 Interfaces for the Optical Transport Network (OTN)";
            }
            leaf gfp-k {
              type gfp-k;
              description
                "The value of k for an ODUflex(GFP,n,k).

                 If omitted, it is calculated from the value of gfp-n
                 as described in Table 7-8 of G.709";
              reference
                "ITU-T G.709 v6.0 (06/2020), Tables 7-8 and L.7:
                 Interfaces for the Optical Transport Network (OTN)";
            }
          }
          case flexe-client {
            leaf flexe-client {
              type flexe-client-rate;
              mandatory true;
              description
                "The rate of the FlexE-client for an ODUflex(IMP,s).";
            }
          }
          case flexe-aware {
            leaf flexe-aware-n {
              type uint16;
              mandatory true;
              description
                "The rate of FlexE-aware client signal
                 for ODUflex(FlexE-aware)";
            }
          }
          case packet {
            leaf opuflex-payload-rate {
              type uint64;
              units "Kbps";
              mandatory true;
              description
                "Either the GFP-F encapsulated packet client nominal
                 bit rate for an ODUflex(GFP) or the 64b/66b encoded
                 packet client nominal bit rate for an ODUflex(IMP).";
            }
          }
        }
      }
    }

Zheng & Busi             Expires August 23, 2021               [Page 29]
Internet-Draft     A YANG Data Model for Layer 1 Types     February 2021

    grouping otn-label-range-info {
      description
        "Label range information for OTN.

         This grouping should be used together with the
         otn-label-start-end and otn-label-step groupings to provide
         OTN technology-specific label information to the models which
         use the label-restriction-info grouping defined in the module
         ietf-te-types.";
      leaf range-type {
        type otn-label-range-type;
        description "The type of range (e.g., TPN or TS)
           to which the label range applies";
      }
      leaf tsg {
        type identityref {
          base tributary-slot-granularity;
        }
        description
          "Tributary slot granularity (TSG) to which the label range
           applies.

           This leaf shall be present when the range-type is TS.

           This leaf can be omitted when mapping an ODUk over an OTUk
           Link. In this case the range-type is tpn, with only one
           entry (ODUk), and the tpn range has only one value (1).";
        reference
          "ITU-T G.709 v6.0 (06/2020): Interfaces for the Optical
           Transport Network (OTN)";
      }
      leaf-list odu-type-list {
        type identityref {
          base odu-type;
        }
        description
          "List of ODU types to which the label range applies.

           An Empty odu-type-list means that the label range
           applies to all the supported ODU types.";
      }
      leaf priority {
        type uint8;
        description
          "Priority in Interface Switching Capability
           Descriptor (ISCD).";
        reference
          "RFC4203: OSPF Extensions in Support of Generalized

Zheng & Busi             Expires August 23, 2021               [Page 30]
Internet-Draft     A YANG Data Model for Layer 1 Types     February 2021

           Multi-Protocol Label Switching (GMPLS)";
      }
    }

    grouping otn-label-start-end {
      description
        "The OTN label-start or label-end used to specify an OTN label
         range.

         This grouping is dependent on the range-type defined in the
         otn-label-range-info grouping.

         This grouping should be used together with the
         otn-label-range-info and otn-label-step groupings to provide
         OTN technology-specific label information to the models which
         use the label-restriction-info grouping defined in the module
         ietf-te-types.";
      choice range-type {
        description
          "OTN label range type, either TPN range or TS range";
        case trib-port {
          leaf otn-tpn {
            when "../../../range-type = 'trib-port'" {
              description
                "Valid only when range-type represented by trib-port";
            }
            type otn-tpn;
            description
              "Tributary Port Number.";
            reference
              "RFC7139: GMPLS Signaling Extensions for Control of
               Evolving G.709 Optical Transport Networks.";
          }
        }
        case trib-slot {
          leaf otn-ts {
            when "../../../range-type = 'trib-slot'" {
              description
                "Valid only when range-type represented by trib-slot";
            }
            type otn-ts;
            description
              "Tributary Slot Number.";
            reference
              "RFC7139: GMPLS Signaling Extensions for Control of
               Evolving G.709 Optical Transport Networks";
          }
        }

Zheng & Busi             Expires August 23, 2021               [Page 31]
Internet-Draft     A YANG Data Model for Layer 1 Types     February 2021

      }
    }

    grouping otn-label-hop {
      description "OTN Label";
      reference
        "RFC7139, section 6: GMPLS Signaling Extensions for Control of
         Evolving G.709 Optical Transport Networks";
      leaf otn-tpn {
        type otn-tpn;
        description
          "Tributary Port Number.";
        reference
          "RFC7139: GMPLS Signaling Extensions for Control of Evolving
           G.709 Optical Transport Networks.";
      }
      leaf tsg {
        type identityref {
          base tributary-slot-granularity;
        }
        description "Tributary slot granularity.";
        reference
          "ITU-T G.709 v6.0 (06/2020): Interfaces for the Optical
           Transport Network (OTN)";
      }
      leaf ts-list {
        type string {
            pattern "([1-9][0-9]{0,3}(-[1-9][0-9]{0,3})?"
                  + "(,[1-9][0-9]{0,3}(-[1-9][0-9]{0,3})?)*)";
          }
        description
          "A list of available tributary slots ranging
           between 1 and 4095. If multiple values or
           ranges are given, they all must be disjoint
           and must be in ascending order.
           For example 1-20,25,50-1000.";
        reference
          "RFC 7139: GMPLS Signaling Extensions for Control
           of Evolving G.709 Optical Transport Networks";
      }
    }

    grouping otn-label-step {
      description
        "Label step for OTN.

         This grouping is dependent on the range-type defined in the
         otn-label-range-info grouping.

Zheng & Busi             Expires August 23, 2021               [Page 32]
Internet-Draft     A YANG Data Model for Layer 1 Types     February 2021

         This grouping should be used together with the
         otn-label-range-info and otn-label-start-end groupings to
         provide OTN technology-specific label information to the models
         which use the label-restriction-info grouping defined in the
         module ietf-te-types.";
      choice range-type {
        description
          "OTN label range type, either TPN range or TS range";
        case trib-port {
          leaf otn-tpn {
            when "../../range-type = 'trib-port'" {
              description
                "Valid only when range-type represented by trib-port";
            }
            type otn-tpn;
            description
              "Label step which represents possible increments for
               Tributary Port Number.";
            reference
              "RFC7139: GMPLS Signaling Extensions for Control of
               Evolving G.709 Optical Transport Networks.";
          }
        }
        case trib-slot {
          leaf otn-ts {
            when "../../range-type = 'trib-slot'" {
              description
                "Valid only when range-type represented by trib-slot";
            }
            type otn-ts;
            description
              "Label step which represents possible increments for
               Tributary Slot Number.";
            reference
              "RFC7139: GMPLS Signaling Extensions for Control of
               Evolving G.709 Optical Transport Networks.";
          }
        }
      }
    }
  }
  <CODE ENDS>

Zheng & Busi             Expires August 23, 2021               [Page 33]
Internet-Draft     A YANG Data Model for Layer 1 Types     February 2021

6.  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 or RESTCONF users to a
   preconfigured subset of all available NETCONF or RESTCONF protocol
   operations and content.

   The YANG module in this document defines layer 1 type definitions
   (i.e., typedef, identity and grouping statements) in YANG data
   modeling language to be imported and used by other layer 1
   technology-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.

7.  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-layer1-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-layer1-types
      namespace:    urn:ietf:params:xml:ns:yang:ietf-layer1-types
      prefix:       l1-types
      reference:    RFC XXXX

Zheng & Busi             Expires August 23, 2021               [Page 34]
Internet-Draft     A YANG Data Model for Layer 1 Types     February 2021

8.  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.

9.  Contributors

   Dieter Beller
   Nokia
   Email: dieter.beller@nokia.com

   Sergio Belotti
   Nokia
   Email: sergio.belotti@nokia.com

   Yanlei Zheng
   China Unicom
   Email: zhengyanlei@chinaunicom.cn

   Aihua Guo
   Futurewei Technologies
   Email: aihuaguo@futurewei.com

   Young Lee
   Samsung
   Email: younglee.tx@gmail.com

   Lei Wang
   China Mobile
   Email: wangleiyj@chinamobile.com

   Oscar Gonzalez de Dios
   Telefonica
   Email: oscar.gonzalezdedios@telefonica.com

   Xufeng Liu
   Volta Networks
   Email: xufeng.liu.ietf@gmail.com

   Yunbin Xu
   CAICT
   Email: xuyunbin@caict.ac.cn

   Anurag Sharma
   Google
   Email: ansha@google.com

Zheng & Busi             Expires August 23, 2021               [Page 35]
Internet-Draft     A YANG Data Model for Layer 1 Types     February 2021

   Rajan Rao
   Infinera
   Email: rrao@infinera.com

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

   Yunbo Li
   China Mobile
   Email: liyunbo@chinamobile.com

10.  References

10.1.  Normative References

   [ANSI]     American National Standards Institute, "Synchronous
              Optical Network (SONET) Basic Description including
              Multiplex Structure, Rates, and Formats", ANSI T1.105,
              January 1995.

   [IEEE]     Institute of Electrical and Electronics Engineers, "IEEE
              Standard for Ethernet", IEEE 802.3-2018, June 2018.

   [ITU-Tg7044]
              International Telecommunication Union, "Hitless adjustment
              of ODUflex(GFP)", ITU-T G.7044, October 2011.

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

   [ITU-Tgsup43]
              International Telecommunication Union, "Transport of IEEE
              10GBASE-R in optical transport networks (OTN)",
              ITU-T G.sup43, November 2011.

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

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

   [RFC4203]  Kompella, K., Ed. and Y. Rekhter, Ed., "OSPF Extensions in
              Support of Generalized Multi-Protocol Label Switching
              (GMPLS)", RFC 4203, DOI 10.17487/RFC4203, October 2005,
              <https://www.rfc-editor.org/info/rfc4203>.

Zheng & Busi             Expires August 23, 2021               [Page 36]
Internet-Draft     A YANG Data Model for Layer 1 Types     February 2021

   [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>.

   [RFC7139]  Zhang, F., Ed., Zhang, G., Belotti, S., Ceccarelli, D.,
              and K. Pithewan, "GMPLS Signaling Extensions for Control
              of Evolving G.709 Optical Transport Networks", RFC 7139,
              DOI 10.17487/RFC7139, March 2014,
              <https://www.rfc-editor.org/info/rfc7139>.

   [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>.

   [RFC7963]  Ali, Z., Bonfanti, A., Hartley, M., and F. Zhang, "RSVP-TE
              Extension for Additional Signal Types in G.709 Optical
              Transport Networks (OTNs)", RFC 7963,
              DOI 10.17487/RFC7963, August 2016,
              <https://www.rfc-editor.org/info/rfc7963>.

   [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>.

   [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>.

   [RFC8776]  Saad, T., Gandhi, R., Liu, X., Beeram, V., and I. Bryskin,
              "Common YANG Data Types for Traffic Engineering",
              RFC 8776, DOI 10.17487/RFC8776, June 2020,
              <https://www.rfc-editor.org/info/rfc8776>.

Zheng & Busi             Expires August 23, 2021               [Page 37]
Internet-Draft     A YANG Data Model for Layer 1 Types     February 2021

10.2.  Informative References

   [I-D.ietf-ccamp-client-signal-yang]
              Zheng, H., Guo, A., Busi, I., Snitser, A., Lazzeri, F.,
              Xu, Y., Zhao, Y., Liu, X., and G. Fioccola, "A YANG Data
              Model for Transport Network Client Signals", draft-ietf-
              ccamp-client-signal-yang-04 (work in progress), January
              2021.

   [I-D.ietf-ccamp-l1csm-yang]
              Lee, Y., Lee, K., Zheng, H., Dios, O., and D. Ceccarelli,
              "A YANG Data Model for L1 Connectivity Service Model
              (L1CSM)", draft-ietf-ccamp-l1csm-yang-13 (work in
              progress), November 2020.

   [I-D.ietf-ccamp-otn-topo-yang]
              Zheng, H., Busi, I., Liu, X., Belotti, S., and O. Dios, "A
              YANG Data Model for Optical Transport Network Topology",
              draft-ietf-ccamp-otn-topo-yang-11 (work in progress),
              September 2020.

   [I-D.ietf-ccamp-otn-tunnel-model]
              Zheng, H., Busi, I., Belotti, S., Lopez, V., and Y. Xu,
              "OTN Tunnel YANG Model", draft-ietf-ccamp-otn-tunnel-
              model-11 (work in progress), September 2020.

   [I-D.ietf-ccamp-transport-nbi-app-statement]
              Busi, I., King, D., Zheng, H., and Y. Xu, "Transport
              Northbound Interface Applicability Statement", draft-ietf-
              ccamp-transport-nbi-app-statement-12 (work in progress),
              January 2021.

   [RFC7062]  Zhang, F., Ed., Li, D., Li, H., Belotti, S., and D.
              Ceccarelli, "Framework for GMPLS and PCE Control of G.709
              Optical Transport Networks", RFC 7062,
              DOI 10.17487/RFC7062, November 2013,
              <https://www.rfc-editor.org/info/rfc7062>.

   [RFC7138]  Ceccarelli, D., Ed., Zhang, F., Belotti, S., Rao, R., and
              J. Drake, "Traffic Engineering Extensions to OSPF for
              GMPLS Control of Evolving G.709 Optical Transport
              Networks", RFC 7138, DOI 10.17487/RFC7138, March 2014,
              <https://www.rfc-editor.org/info/rfc7138>.

   [RFC8792]  Watsen, K., Auerswald, E., Farrel, A., and Q. Wu,
              "Handling Long Lines in Content of Internet-Drafts and
              RFCs", RFC 8792, DOI 10.17487/RFC8792, June 2020,
              <https://www.rfc-editor.org/info/rfc8792>.

Zheng & Busi             Expires August 23, 2021               [Page 38]
Internet-Draft     A YANG Data Model for Layer 1 Types     February 2021

Appendix A.  Examples of OTN Label Ranges

   This appendix provides some examples of how the TPN and TS label
   ranges described in Table 3 and Table 4 of [RFC7139] can be
   represented in YANG using the groupings defined in this document.

   It also considers the OTUk links in addition to HO-ODUk links.

   The JSON code examples provided in this appendix provides some
   embedded comments following the conventions in section 3.2 of
   [I-D.ietf-ccamp-transport-nbi-app-statement] and have been folded
   using the tool in [RFC8792].

   ========== NOTE: '\\' line wrapping per BCP XXX (RFC XXXX) ==========

   {
     "examples of label-restrictions for different OTN Links": [
       {
         "// ": "HO-ODU1 or OTU1 Link",
         "label-restrictions": {
           "label-restriction": [
             {
               "index ": 1,
               "// ___DEFAULT___ restriction": "inclusive",
               "range-type": "label-range-trib-port",
               "// ___NOT-PRESENT___ tsg": "",
               "odu-type-list": "[ ODU1 ]",
               "// ___DEFAULT___ priority": 7,
               "// tpn-range": 1,
               "// ___ COMMENT ___": "Since no TS range and no TSG are \
   \reported for ODU1, the link is an OTU1 Link. TS allocation is not n\
   \eeded and TPN shall be set to '1' for mapping ODU1 over OTU1. This \
   \entry is not present if the OTN Link is an HO-ODU1 Link."
             },
             {
               "index ": 2,
               "// ___DEFAULT___ restriction": "inclusive",
               "range-type": "label-range-trib-slot",
               "tsg": "tsg-1.25G",
               "odu-type-list": "[ ODU0 ]",
               "// ts-range": "1-2",
               "// ___ COMMENT ___": "Since no TPN range is reportd for\
   \ ODU0 with 1.25G TSG, the TPN allocation rule is fixed (TPN = TS#) \
   \for mapping LO-ODU0 over HO-ODU1 with 1.25G TSG. See Table 4 of [RF\
   \C7139]."
             }
           ]

Zheng & Busi             Expires August 23, 2021               [Page 39]
Internet-Draft     A YANG Data Model for Layer 1 Types     February 2021

         }
       },
       {
         "// ": "HO-ODU2 or OTU2 Link",
         "label-restrictions": {
           "label-restriction": [
             {
               "index ": 1,
               "// ___DEFAULT___ restriction": "inclusive",
               "range-type": "label-range-trib-port",
               "// ___NOT-PRESENT___ tsg": "",
               "odu-type-list": "[ ODU2 ]",
               "// ___ DEFAULT ___ priority": 7,
               "// tpn-range": 1,
               "// ___ COMMENT ___": "Since no TS range and no TSG are \
   \reported for ODU2, the link is an OTU2 Link. TS allocation is not n\
   \eeded and TPN shall be set to '1' for mapping ODU2 over OTU2. This \
   \entry is not present if the OTN Link is an HO-ODU2 Link."
             },
             {
               "index ": 2,
               "// ___DEFAULT___ restriction": "inclusive",
               "range-type": "label-range-trib-slot",
               "tsg": "tsg-1.25G",
               "odu-type-list": "[ ODUFlex-cbr, ODUFlex-gfp, ODU0, ODU1\
   \ ]",
               "// ___ DEFAULT ___ priority": 7,
               "// ts-range": "1-8"
             },
             {
               "index ": 3,
               "// ___DEFAULT___ restriction": "inclusive",
               "range-type": "label-range-trib-port",
               "tsg": "tsg-1.25G ",
               "odu-type-list": "[ ODUFlex-cbr, ODUFlex-gfp, ODU0 ]",
               "// ___ DEFAULT ___ priority": 7,
               "// tpn-range": "1-8",
               "// ___ COMMENT ___": "Since this TPN range is reported \
   \for ODUflex and ODU0 with 1.25G TSG, the TPN assignment rule is fle\
   \xible within a common range for mapping LO-ODUflex and LO-ODU0 over\
   \ HO-ODU2 with 1.25G TSG. See Table 4 of [RFC7139]."
             },
             {
               "index ": 4,
               "// ___DEFAULT___ restriction": "inclusive",
               "range-type": "label-range-trib-port",
               "tsg": "tsg-1.25G",
               "odu-type-list": "[ ODU1 ]",

Zheng & Busi             Expires August 23, 2021               [Page 40]
Internet-Draft     A YANG Data Model for Layer 1 Types     February 2021

               "// ___ DEFAULT ___ priority": 7,
               "// tpn-range": "1-4",
               "// ___ COMMENT ___": "Since this TPN range is reported \
   \for ODU1 with 1.25G TSG, the TPN assignment rule is flexible within\
   \ a common range for mapping LO-ODU1 over HO-ODU2 with 1.25G TSG. Se\
   \e Table 4 of [RFC7139]."
             },
             {
               "index ": 5,
               "// ___DEFAULT___ restriction": "inclusive",
               "range-type": "label-range-trib-slot",
               "tsg": "tsg-2.5G",
               "odu-type-list": "[ ODU1 ]",
               "// ___ DEFAULT ___ priority": 7,
               "// ts-range": "1-4",
               "// ___ COMMENT ___": "Since no TPN range is reported fo\
   \r ODU1 with 2.5G TSG, the TPN allocation rule is fixed (TPN = TS#) \
   \for mapping LO-ODU1 over HO-ODU2 with 2.5G TSG. See Table 3 of [RFC\
   \7139]."
             }
           ]
         }
       },
       {
         "// ": "HO-ODU3 or OTU3 Link",
         "label-restrictions": {
           "label-restriction": [
             {
               "index ": 1,
               "// ___DEFAULT___ restriction": "inclusive",
               "range-type": "label-range-trib-port",
               "// ___NOT-PRESENT___ tsg": "",
               "odu-type-list": "[ ODU3 ]",
               "// ___ DEFAULT ___ priority": 7,
               "// tpn-range": 1,
               "// ___ COMMENT ___": "Since no TS range and no TSG are \
   \reported for ODU3, the link is an OTU3 Link. TS allocation is not n\
   \eeded and TPN shall be set to '1' for mapping ODU3 over OTU3. This \
   \entry is not present if the OTN Link is an HO-ODU3 Link."
             },
             {
               "index ": 2,
               "// ___DEFAULT___ restriction": "inclusive",
               "range-type": "label-range-trib-slot",
               "tsg": "tsg-1.25G",
               "odu-type-list": "[ ODUFlex-cbr, ODUFlex-gfp, ODU0, ODU1\
   \, ODU2, ODU2e ]",
               "// ___ DEFAULT ___ priority": 7,

Zheng & Busi             Expires August 23, 2021               [Page 41]
Internet-Draft     A YANG Data Model for Layer 1 Types     February 2021

               "// ts-range": "1-32"
             },
             {
               "index ": 3,
               "// ___DEFAULT___ restriction": "inclusive",
               "range-type": "label-range-trib-port",
               "tsg": "tsg-1.25G",
               "odu-type-list": "[ ODUFlex-cbr, ODUFlex-gfp, ODU0, ODU2\
   \e ]",
               "// ___ DEFAULT ___ priority": 7,
               "// tpn-range": "1-32",
               "// ___ COMMENT ___": "Since this TPN range is reported \
   \for ODUflex, ODU0 and ODU2e with 1.25G TSG, the TPN assignment rule\
   \ is flexible within a common range for mapping LO-ODUflex, LO-ODU0 \
   \and LO-ODU2e over HO-ODU3 with 1.25G TSG. See Table 4 of [RFC7139]."
             },
             {
               "index ": 4,
               "// ___DEFAULT___ restriction": "inclusive",
               "range-type": "label-range-trib-port",
               "tsg": "tsg-1.25G",
               "odu-type-list": "[ ODU1 ]",
               "// ___ DEFAULT ___ priority": 7,
               "// tpn-range": "1-16",
               "// ___ COMMENT ___": "Since this TPN range is reported \
   \for ODU1 with 1.25G TSG, the TPN assignment rule is flexible within\
   \ a common range for mapping LO-ODU1 over HO-ODU3 with 1.25G TSG. Se\
   \e Table 4 of [RFC7139]."
             },
             {
               "index ": 5,
               "// ___DEFAULT___ restriction": "inclusive",
               "range-type": "label-range-trib-port",
               "tsg": "tsg-1.25G",
               "odu-type-list": "[ ODU2 ]",
               "// ___ DEFAULT ___ priority": 7,
               "// tpn-range": "1-4",
               "// ___ COMMENT ___": "Since this TPN range is reported \
   \for ODU2 with 1.25G TSG, the TPN assignment rule is flexible within\
   \ a common range for mapping LO-ODU2 over HO-ODU3 with 1.25G TSG. Se\
   \e Table 4 of [RFC7139]."
             },
             {
               "index ": 6,
               "// ___DEFAULT___ restriction": "inclusive",
               "range-type": "label-range-trib-slot",
               "tsg": "tsg-2.5G",
               "odu-type-list": "[ ODU1, ODU2 ]",

Zheng & Busi             Expires August 23, 2021               [Page 42]
Internet-Draft     A YANG Data Model for Layer 1 Types     February 2021

               "// ___ DEFAULT ___ priority": 7,
               "// ts-range": "1-16"
             },
             {
               "index ": 7,
               "// ___DEFAULT___ restriction": "inclusive",
               "range-type": "label-range-trib-port",
               "tsg": "tsg-2.5G ",
               "odu-type-list": "[ ODU2 ]",
               "// ___ DEFAULT ___ priority": 7,
               "// tpn-range": "1-4",
               "// ___ COMMENT ___": "Since this TPN range is reported \
   \for ODU2 with 2.5G TSG, the TPN assignment rule is flexible within \
   \a common range for mapping LO-ODU2 over HO-ODU3. Since no TPN range\
   \ is reported for ODU1 with 2.5G TSG, the TPN allocation rule is fix\
   \ed (TPN = TS#) for mapping LO-ODU1 over HO-ODU3 with 2.5G TSG. See \
   \Table 3 of [RFC7139]."
             }
           ]
         }
       },
       {
         "// ": "HO-ODU4 or OTU4 Link",
         "label-restrictions": {
           "label-restriction": [
             {
               "index ": 1,
               "// ___DEFAULT___ restriction": "inclusive",
               "range-type": "label-range-trib-port",
               "// ___NOT-PRESENT___ tsg": "",
               "odu-type-list": "[ ODU4 ]",
               "// ___ DEFAULT ___ priority": 7,
               "// tpn-range": 1,
               "// ___ COMMENT ___": "Since no TS range and no TSG are \
   \reported for ODU4, the link is an OTU4 Link. TS allocation is not n\
   \eeded and TPN shall be set to '1' for mapping ODU4 over OTU4. This \
   \entry is not present if the OTN Link is an HO-ODU4 Link."
             },
             {
               "index ": 2,
               "// ___DEFAULT___ restriction": "inclusive",
               "range-type": "label-range-trib-slot",
               "tsg": "tsg-1.25G",
               "odu-type-list": "[ ODUFlex-cbr, ODUFlex-gfp, ODU0, ODU1\
   \, ODU2, ODU2e, ODU3 ]",
               "// ___ DEFAULT ___ priority": 7,
               "// ts-range": "1-80"
             },

Zheng & Busi             Expires August 23, 2021               [Page 43]
Internet-Draft     A YANG Data Model for Layer 1 Types     February 2021

             {
               "index ": 3,
               "// ___DEFAULT___ restriction": "inclusive",
               "range-type": "label-range-trib-port",
               "tsg": "tsg-1.25G",
               "odu-type-list": "[ ODUFlex-cbr, ODUFlex-gfp, ODU0, ODU1\
   \, ODU2, ODU2e, ODU3 ]",
               "// ___ DEFAULT ___ priority": 7,
               "// tpn-range": "1-80",
               "// ___ COMMENT ___": "Since this TPN range is reported \
   \for any LO-ODUj with 1.25G TSG, the TPN assignment rule is flexible\
   \ within a common range for mapping any LO-ODUj over HO-ODU4 with 1.\
   \25G TSG. See Table 4 of [RFC7139]."
             }
           ]
         }
       },
       {
         "// ": "ODUC1 Link",
         "label-restrictions": {
           "label-restriction": [
             {
               "index ": 1,
               "// ___DEFAULT___ restriction": "inclusive",
               "range-type": "label-range-trib-slot",
               "tsg": "tsg-5G",
               "odu-type-list": "[ ODUFlex-cbr, ODUFlex-gfp, ODU0, ODU1\
   \, ODU2, ODU2e, ODU3, ODU4 ]",
               "// ___ DEFAULT ___ priority": 7,
               "// ts-range": "1-20",
               "// ___ COMMENT ___": "Since the TS range is specified f\
   \or any ODUk, the OTN Link is an ODUCn Link."
             },
             {
               "index ": 2,
               "// ___DEFAULT___ restriction": "inclusive",
               "range-type": "label-range-trib-port",
               "tsg": "tsg-5G",
               "odu-type-list": "[ ODUFlex-cbr, ODUFlex-gfp, ODU0, ODU1\
   \, ODU2, ODU2e, ODU3, ODU4 ]",
               "// ___ DEFAULT ___ priority": 7,
               "// tpn-range": "1-10",
               "// ___ COMMENT ___": "Since this TPN range is reported \
   \for any ODUk with 5G TSG, the TPN assignment rule is flexible withi\
   \n a common range for mapping any ODUk over ODUCn with 5G TSG."
             }
           ]
         }

Zheng & Busi             Expires August 23, 2021               [Page 44]
Internet-Draft     A YANG Data Model for Layer 1 Types     February 2021

       }
     ]
   }

Authors' Addresses

   Haomian Zheng
   Huawei Technologies
   H1, Huawei Xiliu Beipo Village, Songshan Lake
   Dongguan, Guangdong  523808
   China

   Email: zhenghaomian@huawei.com

   Italo Busi
   Huawei Technologies
   Milan
   Italy

   Email: Italo.Busi@huawei.com

Zheng & Busi             Expires August 23, 2021               [Page 45]