<?xml version="1.0" encoding="utf-8"?>
  <?xml-stylesheet type="text/xsl" href="rfc2629.xslt" ?>
  <!-- generated by https://github.com/cabo/kramdown-rfc version 1.7.24 (Ruby 3.2.3) -->


<!DOCTYPE rfc  [
  <!ENTITY nbsp    "&#160;">
  <!ENTITY zwsp   "&#8203;">
  <!ENTITY nbhy   "&#8209;">
  <!ENTITY wj     "&#8288;">

]>

<?rfc comments="yes"?>

<rfc ipr="trust200902" docName="draft-ietf-ccamp-rfc9093-bis-19" category="std" consensus="true" submissionType="IETF" obsoletes="9093" tocInclude="true" sortRefs="true" symRefs="true">
  <front>
    <title abbrev="L0 Common YANG Types">Common YANG Data Types for Layer 0 Optical Networks</title>

    <author initials="S." surname="Belotti" fullname="Sergio Belotti" role="editor">
      <organization>Nokia</organization>
      <address>
        <email>sergio.belotti@nokia.com</email>
      </address>
    </author>
    <author initials="I." surname="Busi" fullname="Italo Busi" role="editor">
      <organization>Huawei</organization>
      <address>
        <email>italo.busi@huawei.com</email>
      </address>
    </author>
    <author initials="D." surname="Beller" fullname="Dieter Beller" role="editor">
      <organization>Nokia</organization>
      <address>
        <email>dieter.beller@nokia.com</email>
      </address>
    </author>
    <author initials="E." surname="Le Rouzic" fullname="Esther Le Rouzic">
      <organization>Orange</organization>
      <address>
        <email>esther.lerouzic@orange.com</email>
      </address>
    </author>
    <author initials="A." surname="Guo" fullname="Aihua Guo">
      <organization>Futurewei Technologies</organization>
      <address>
        <email>aihuaguo.ietf@gmail.com</email>
      </address>
    </author>

    <date year="2025" month="November" day="03"/>

    
    <workgroup>CCAMP Working Group</workgroup>
    

    <abstract>


<?line 206?>

<t>This document defines a collection of common data types, identities,
and groupings in the YANG data modeling language. These common types
and groupings, derived from the built-in YANG data types, identities,
and groupings are intended to be imported by modules that model Optical Layer 0 configuration and state
capabilities, such as Wavelength Switched Optical Networks (WSONs) and
flexi-grid Dense Wavelength Division Multiplexing (DWDM) networks.</t>

<t>This document obsoletes RFC 9093 by replacing the YANG module it contained with a new revision that includes additional YANG data types, identities and groupings.</t>



    </abstract>



  </front>

  <middle>


<?line 217?>

<section anchor="introduction"><name>Introduction</name>

<t>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 aspects) for Layer 0 optical networks in
   models defined outside of this document.  The applicability of
   Layer 0 types specified in this document includes Wavelength Switched
   Optical Networks (WSONs) <xref target="RFC6163"/> <xref target="ITU-T_G.694.1"/> and <xref target="ITU-T_G.694.2"/>, and flexi-grid Dense
   Wavelength Division Multiplexing (DWDM) networks <xref target="RFC7698"/>
   <xref target="ITU-T_G.694.1"/>.</t>

<t>This document adds new type definitions to the YANG modules and
   obsoletes <xref target="RFC9093"/>.  For further details, see the revision
   statements of the YANG module in <xref target="yang-code"/> or the summary in
   <xref target="changes-bis"/>.</t>

<t>This document obsoletes <xref target="RFC9093"/> by replacing it in its entirety. It
provides a new revision of the YANG module contained in that RFC,
and retains the data types previously defined, but also adds new type
definitions to the YANG module.
For further details, see <xref target="changes-bis"/>.</t>

<t>The YANG data model in this document conforms to the Network
   Management Datastore Architecture defined in <xref target="RFC8342"/>.</t>

<section anchor="editorial-note-to-be-removed-by-rfc-editor"><name>Editorial Note (To be removed by RFC Editor)</name>

<ul empty="true"><li>
  <t>Note to the RFC Editor: This section is to be removed prior to publication.</t>
</li></ul>

<t>This document contains placeholder values that need to be replaced with finalized values at the time of publication. This note summarizes all of the substitutions that are needed.</t>

<t>Please apply the following replacements:</t>

<t><list style="symbols">
  <t>XXXX --&gt; the assigned RFC number for this I-D</t>
  <t>YYYY --&gt; the assigned RFC number for <xref target="I-D.ietf-teas-rfc8776-update"/></t>
  <t>ZZZZ --&gt; the assigned RFC number for <xref target="I-D.ietf-ccamp-optical-impairment-topology-yang"/></t>
</list></t>

<t>Please replace the revision date of the latest revision of the 'ietf-layer0-types' module with the publication date of this I-D, using the the format (year-month-day).</t>

<t>Please manually fix the YANG trees in <xref target="yang-tree"/> which have been generated by pyang and have some bugs.</t>

</section>
<section anchor="terminology-and-notations"><name>Terminology and Notations</name>

<t>In the context of this document, the term "layer 0" refers to the
photonic layer or WDM layer network in the architecture of the
optical transport network (OTN) as defined in <xref target="ITU-T_G.709"/>, <xref target="ITU-T_G.872"/>,
and <xref target="ITU-T_G.807"/> as opposed to the electrical switching
layers of the OTN, which are typically referred to as layer 1 (L1).</t>

<t>The term "layer 0" may also be used for other transport network
technologies (e.g., copper-based, radio-based, or free space optics-based, etc.), which are outside the scope of this document.</t>

<t>Refer to <xref target="RFC7446"/> and <xref target="RFC7581"/> for other key terms used in this
   document, and the terminology for describing YANG data models can be
   found in <xref target="RFC7950"/>.</t>

<t>The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL
NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED",
"MAY", and "OPTIONAL" in this document are to be interpreted as
described in BCP 14 <xref target="RFC2119"/> <xref target="RFC8174"/> when, and only when, they
appear in all capitals, as shown here.
<?line -6?></t>

</section>
<section anchor="prefix-in-data-node-names"><name>Prefix in Data Node Names</name>

<t>In this document, names of data nodes and other data model objects
   are prefixed using the standard prefix associated with the
   corresponding YANG imported module.</t>

<texttable title="Prefixes and corresponding YANG module" anchor="tab-prefixes">
      <ttcol align='left'>Prefix</ttcol>
      <ttcol align='left'>YANG module</ttcol>
      <ttcol align='left'>Reference</ttcol>
      <c>te-types</c>
      <c>ietf-te-types</c>
      <c>[RFCYYYY]</c>
      <c>l0-types</c>
      <c>ietf-layer0-types</c>
      <c>RFC XXXX</c>
</texttable>

</section>
</section>
<section anchor="layer-0-types-module-contents"><name>Layer 0 Types Module Contents</name>

<t>This document defines a YANG module for common Layer 0 types, ietf-layer0-types.
This module is used for WSON and flexi-grid DWDM networks.</t>

<section anchor="identities"><name>Identities</name>

<t>The "ietf-layer0-types" module contains the following YANG reusable YANG identities:</t>

<dl>
  <dt>l0-grid-type:</dt>
  <dd>
    <t>A base YANG identity for the grid type as defined in <xref target="RFC6205"/> and <xref target="RFC7699"/>.</t>
  </dd>
  <dt>cwdm-ch-spc-type:</dt>
  <dd>
    <t>A base YANG identity for the Coarse Wavelength Division
Multiplexing (CWDM) channel-spacing type as defined in <xref target="RFC6205"/>.</t>
  </dd>
  <dt>dwdm-ch-spc-type:</dt>
  <dd>
    <t>A base YANG identity for the DWDM channel-spacing type as defined
in <xref target="RFC6205"/>.</t>
  </dd>
  <dt>flexi-ncfg-type:</dt>
  <dd>
    <t>A base YANG identity for the DWDM flexi-grid Nominal Central Frequency Granularity (NCFG) 
type as defined in <xref target="RFC7699"/>.</t>
  </dd>
</dl>

<ul empty="true"><li>
  <t>Note that the only value for NCFG standardized in <xref target="ITU-T_G.694.1"/> is 6.25GHz.</t>
</li></ul>

<dl>
  <dt>flexi-slot-width-granularity:</dt>
  <dd>
    <t>A base YANG identity for the DWDM flexi-grid Slot Width Granularity (SWG) type, as defined in <xref target="RFC7699"/>.</t>
  </dd>
  <dt/>
  <dd>
    <t>Note that the only value for SWG standardized in <xref target="ITU-T_G.694.1"/> is 12.5GHz.</t>
  </dd>
  <dt>fec-type:</dt>
  <dd>
    <t>A base YANG identity from which specific FEC (Forward Error Correction) type identities are derived.</t>
  </dd>
  <dt>line-coding:</dt>
  <dd>
    <t>A base YANG identity from which specific identities defining the bit rate/line coding of optical tributary signals are derived.</t>
  </dd>
  <dt>wavelength-assignment:</dt>
  <dd>
    <t>A base YANG identity from which specific identities defining the Wavelength selection methods, as defined in <xref target="RFC7689"/>, are derived.</t>
  </dd>
  <dt>modulation:</dt>
  <dd>
    <t>A base YANG identity to define the different modulation types, as defined in <xref target="ITU-T_G.Sup39"/></t>
  </dd>
  <dt>switching-wson-lsc:</dt>
  <dd>
    <t>A YANG identity for the Wavelength Switched Optical Network Lambda-Switch Capable (WSON-LSC) interface switching capability as defined in <xref target="RFC7688"/>.</t>
  </dd>
  <dt>switching-flexi-grid-lsc:</dt>
  <dd>
    <t>A YANG identity for the Flexi-Grid Lambda-Switch Capable (Flexi-Grid-LSC) interface switching capability as defined in <xref target="RFC8363"/>.</t>
  </dd>
</dl>

<t>It is worth noting that there is an inheritance relationship between the Lambda-Switch Capable (LSC) switching capability, defined in <xref target="RFC3471"/>, and the WSON-LSC and Flexi-Grid-LSC, defined respectively in <xref target="RFC7688"/> and <xref target="RFC8363"/>. As a consequence, the 'switching-wson-lsc' and 'switching-flexi-grid-lsc' YANG identities are defined as derived identities from the 'switching-lsc', defined in <xref target="I-D.ietf-teas-rfc8776-update"/>.</t>

</section>
<section anchor="data-types"><name>Data Types</name>

<t>The "ietf-layer0-types" module contains the following YANG reusable YANG data types:</t>

<dl>
  <dt>operational-mode:</dt>
  <dd>
    <t>A YANG data type used to identify an organization (e.g., vendor) specific mode for transceiver capability description, as defined in <xref section="2.6.2" sectionFormat="of" target="I-D.ietf-ccamp-optical-impairment-topology-yang"/></t>
  </dd>
  <dt>snr:</dt>
  <dd>
    <t>A YANG data type used to represent an (Optical) Signal-to-noise ratio measured over 0.1 nm resolution bandwidth, as defined in <xref target="ITU-T_G.977.1"/></t>
  </dd>
  <dt>psd:</dt>
  <dd>
    <t>A YANG data type used to represent a Power Spectral Density (PSD), as defined in <xref target="ITU-T_G.9700"/></t>
  </dd>
</dl>

<section anchor="reporting-unknown-values"><name>Reporting unknown values</name>

<t>Some data types, whose identifiers are suffixed as "-or-unknown", are defined as a union with the data type 'unknown-value' (e.g., snr-or-unknown), which is defined as an enumeration having only one assigned name (i.e., 'unknown').</t>

<t>The unknown-value data type is used to report when the value is unknown in order to differentiate the case where an attribute is unknown from the case where an attribute is not applicable:</t>

<t><list style="symbols">
  <t>if the value of a mandatory attribute is unknown, it MUST be reported using the unknown-value type;</t>
  <t>if an optional attribute is applicable but its value is unknown, it MUST be reported using the unknown-value type;</t>
  <t>if an optional attribute is not applicable to an entity, it MUST be omitted (not be present in the datastore).</t>
</list></t>

</section>
</section>
<section anchor="groupings"><name>Groupings</name>

<t>The "ietf-layer0-types" module contains the following YANG reusable YANG groupings:</t>

<dl>
  <dt>wson-label-start-end:</dt>
  <dd>
    <t>The WSON label range was defined in <xref target="RFC6205"/>, and the generic
topology model defines the label-start/label-end in <xref target="RFC8795"/>.
This grouping shows the WSON-specific label-start and label-end
information. See <xref target="label-range"/> for more details.</t>
  </dd>
  <dt>wson-label-hop:</dt>
  <dd>
    <t>The WSON label range was defined in <xref target="RFC6205"/>, and the generic
topology model defines the label-hop in <xref target="RFC8795"/>.  This grouping
shows the WSON-specific label-hop information. See <xref target="label-range"/> for more details.</t>
  </dd>
  <dt>l0-label-range-info:</dt>
  <dd>
    <t>A YANG grouping that defines the Layer 0 label range information
applicable for WSON as defined in <xref target="RFC6205"/>. The label range info is defined per priority <xref target="RFC4203"/>.</t>
  </dd>
  <dt/>
  <dd>
    <t>This grouping is used in the flexi-grid DWDM by adding more flexi-grid-specific
parameters. See <xref target="label-range"/> for more details.</t>
  </dd>
  <dt>wson-label-step:</dt>
  <dd>
    <t>A YANG grouping that defines label steps for WSON as defined in
<xref target="I-D.ietf-teas-rfc8776-update"/>. See <xref target="label-range"/> for more details.</t>
  </dd>
  <dt>flexi-grid-label-start-end:</dt>
  <dd>
    <t>The flexi-grid label range was defined in <xref target="RFC7699"/>, and the
generic topology model defines the label-start/label-end in
<xref target="RFC8795"/>.</t>
  </dd>
  <dt/>
  <dd>
    <t>This grouping shows the flexi-grid-specific label-start and label-end information which is used to describe the range of available nominal central frequencies. See <xref target="label-range"/> for more details.</t>
  </dd>
  <dt/>
  <dd>
    <t>As described in <xref section="3.1" sectionFormat="of" target="RFC8363"/>, the range of available nominal central frequencies is advertised for m=1, which means that for an available central frequency n, the frequency slot from central frequency n-1 to central frequency n+1 is available.</t>
  </dd>
  <dt>flexi-grid-label-hop:</dt>
  <dd>
    <t>The flexi-grid label range was defined in <xref target="RFC8363"/>, and the
generic topology model defines the label-hop in <xref target="RFC8795"/>.</t>
  </dd>
  <dt/>
  <dd>
    <t>This grouping shows the WSON-specific label-hop information. See <xref target="label-range"/> for more details.</t>
  </dd>
  <dt>flexi-grid-label-range-info:</dt>
  <dd>
    <t>A YANG grouping that defines flexi-grid label range information as
defined in <xref target="RFC8363"/>. See <xref target="label-range"/> for more details. See <xref target="label-range"/> for more details.</t>
  </dd>
  <dt>flexi-grid-label-step:</dt>
  <dd>
    <t>A YANG grouping that defines flexi-grid label steps as defined in
<xref target="I-D.ietf-teas-rfc8776-update"/>. See <xref target="label-range"/> for more details.</t>
  </dd>
  <dt>wdm-label-start-end:</dt>
  <dd>
    <t>A YANG grouping that combines the definition of label-start/label-end information
that was defined separately in wson-label-start-end and flexi-grid-label-start-end,
to support optical network scenarios that contain both fixed- and flexi-grid
links. See <xref target="label-range"/> for more details.</t>
  </dd>
  <dt>wdm-label-hop:</dt>
  <dd>
    <t>A YANG grouping that combines the definition of label hop information
that was defined separately in wson-label-hop and flexi-grid-label-hop,
to support optical network scenarios that contain both fixed- and flexi-grid
links. See <xref target="label-range"/> for more details.</t>
  </dd>
  <dt>wdm-label-range-info:</dt>
  <dd>
    <t>A YANG grouping that combines the definition of label range information
that was defined separately in wson-label-range-info and flexi-grid-label-range-info,
to support optical network scenarios that contain both fixed- and flexi-grid
links. See <xref target="label-range"/> for more details.</t>
  </dd>
  <dt>wdm-label-step:</dt>
  <dd>
    <t>A YANG grouping that combines the definition of label step information
defined separately in wson-label-step and flexi-grid-label-step,
to support optical network scenarios that contain both fixed- and flexi-grid
links. See <xref target="label-range"/> for more details.</t>
  </dd>
  <dt>transceiver-capabilities:</dt>
  <dd>
    <t>A YANG grouping to define the transceiver capabilities (also called
"modes") needed to determine optical signal compatibility.</t>
  </dd>
  <dt/>
  <dd>
    <t>When this grouping is used, the explicit-mode container shall be augmented
with a leafref to an explicit mode template with the proper XPath, which
depends from where this grouping is actually used.</t>
  </dd>
</dl>

<ul empty="true"><li>
  <t>Examples of how the transceiver-capabilities grouping can be used and augmented with a leafref
to an explicit mode template are provided in the YANG models defined in
<xref target="I-D.ietf-ccamp-optical-impairment-topology-yang"/> and <xref target="I-D.ietf-ccamp-dwdm-if-param-yang"/>.</t>
</li></ul>

<dl>
  <dt>standard-mode:</dt>
  <dd>
    <t>A YANG grouping for the standard modes defined in <xref target="ITU-T_G.698.2"/>.</t>
  </dd>
  <dt>organizational-mode:</dt>
  <dd>
    <t>A YANG grouping to define transponder operational mode supported by
organizations or vendors, as defined in <xref target="I-D.ietf-ccamp-optical-impairment-topology-yang"/>.</t>
  </dd>
  <dt>explicit-mode:</dt>
  <dd>
    <t>A YANG grouping to define the list of attributes related to the limits of the optical
impairments, in case of transceiver explicit mode, as defined in <xref target="I-D.ietf-ccamp-optical-impairment-topology-yang"/>.</t>
  </dd>
  <dt/>
  <dd>
    <t>Note that the actual portion of the spectrum occupied by an OTSi is not explicitly reported within the explicit-mode parameters because it can be calculated using the available-baud-rate, the roll-off and the min-carrier-spacing attributes.</t>
  </dd>
  <dt>transceiver-tuning-range:</dt>
  <dd>
    <t>A YANG grouping that defines the transceiver tuning range, which
includes the minimum and maximum tuning frequency, as well as the
frequency tuning granularity.</t>
  </dd>
  <dt>common-all-modes:</dt>
  <dd>
    <t>A YANG grouping used to define the common attributes used by all transceiver's modes.</t>
  </dd>
  <dt>penalty-value:</dt>
  <dd>
    <t>A YANG grouping to define the penalty value for multiple penalty types, such as Chromatic Dispersion (CD), Polarization Mode Dispersion (PMD), as defined in <xref target="ITU-T_G.666"/> or Polarization Dependent Loss(PDL)</t>
  </dd>
</dl>

</section>
<section anchor="label-range"><name>WDM Label and Label Range</name>

<t>As described in <xref target="RFC6205"/> and <xref target="RFC7699"/>, the WDM label represents the frequency slots assigned to a WDM Label Switched Path (LSP) on a given WDM Link, which models an Optical Multiplex Section (OMS) Media Channel Group (MCG) as described in <xref target="I-D.ietf-ccamp-optical-impairment-topology-yang"/>.</t>

<t>The same WDM label (which represents the frequency slots associated with the WDM LSP) will be assigned on all the
WDM Links along a regen-free LSP path or path segment (i.e., an LSP path or path segment which does not include any 3R regenerator). Depending on the 3R capabilities, the WDM label may or may not change at a 3R regenerator: see
<xref section="2.7" sectionFormat="of" target="I-D.ietf-ccamp-optical-impairment-topology-yang"/> for more details on 3R regenerators.</t>

<t>A frequency slot is defined in <xref target="ITU-T_G.694.1"/> as a contiguous frequency range characterized by its nominal central frequency and slot width. The frequency range allocated to a frequency slot is unavailable to other frequency slots.</t>

<t>The definition of the frequency slot depends on the WDM grid type:</t>

<t><list style="symbols">
  <t>In case of CWDM fixed-grid, defined in <xref target="ITU-T_G.694.2"/>, the frequency slot is defined by a fixed CWDM channel spacing (cwdm-ch-spc-type) and by the nominal central wavelength which is computed as described in <xref target="RFC6205"/>. The formula in <xref target="RFC6205"/> is copied here for reader convenience:</t>
</list></t>

<figure><artwork><![CDATA[
      lambda = 1471 nm + n * channel spacing (measured in nm)
]]></artwork></figure>

<ul empty="true"><li>
  <t>where 'n' is defined in <xref target="RFC6205"/> as integer (positive, negative, or 0)</t>
</li></ul>

<t><list style="symbols">
  <t>In case of DWDM fixed-grid, defined in <xref target="ITU-T_G.694.1"/>, the frequency slot is defined by a fixed DWDM channel spacing (dwdm-ch-spc-type) and by the nominal central frequency, which is computed as described in <xref target="RFC6205"/>. The formula in <xref target="RFC6205"/> is copied here for reader convenience:</t>
</list></t>

<figure><artwork><![CDATA[
      f = 193100.000 GHz + n * channel spacing (measured in GHz)
]]></artwork></figure>

<ul empty="true"><li>
  <t>where 'n' is defined in <xref target="RFC6205"/> as integer (positive, negative, or 0)</t>
</li></ul>

<t><list style="symbols">
  <t>In case of DWDM flexible-grid, defined in <xref target="ITU-T_G.694.1"/>, the frequency slot is defined by the slot width and by the nominal central frequency, which are computed, based on the slot width granularity (SWG, fixed at 12.5GHz in <xref target="ITU-T_G.694.1"/>), and of the nominal central frequency granularity (NCFG, fixed at 6.25GHz in <xref target="ITU-T_G.694.1"/>) respectively, as described in <xref target="RFC7698"/> and <xref target="RFC7699"/>. The formulas in <xref target="RFC7699"/> can be generalized as follows:</t>
</list></t>

<figure><artwork><![CDATA[
      SW = m * SWG (measured in GHz)
      f = 193100.000 GHz + N * NCFG (measured in GHz)
]]></artwork></figure>

<ul empty="true"><li>
  <t>where 'n' is defined in <xref target="RFC7699"/> as integer (positive, negative, or 0) and 'm' is defined in <xref target="RFC7698"/> as an integer greater than or equal to 1.</t>
</li></ul>

<t>The definition of the channel spacing, NCFG and SWG in the YANG model have been generalized to support modelling of vendor-specific values (e.g., finer vendor-specific granularity for NCFG and SWG).</t>

<t>The WDM Label Range represents the frequency slots that are available for WDM LSPs to be set up over a given WDM Link.</t>

<t>The WDM Label Range is defined by augmenting the label-restriction list, defined in <xref target="I-D.ietf-teas-rfc8776-update"/>, with WDM technology-specific attributes, using the l0-label-range-info grouping (for WSON only models) or the flexi-grid-label-range-info grouping (for DWDM flexible-grid only models) or the wdm-label-range-info grouping (for models that support both WSON and DWDM flexible-grid).</t>

<t>Each entry in the label-restriction list represents either the range of the available central wavelength values (in case of CWDM fixed-grid) or the range of the available nominal central frequencies values (in case of DWDM fixed or flexible grids): the grid-type attribute defines the type of grid for each entry of the list.</t>

<t>In case of DWDM flexible grid, each entry in the label-restriction list also represents the range of the supported slot width values
based on the following attributes, defined based on concepts used in <xref target="RFC7699"/>:</t>

<t><list style="symbols">
  <t>slot-width-granularity, which represents the minimum space between slot widths;</t>
  <t>min-slot-width-factor: a multiplier of the slot width granularity, indicating the minimum slot width supported by each entry in the label-restriction list;</t>
  <t>max-slot-width-factor: a multiplier of the slot width granularity, indicating the maximum slot width supported by each entry in the label-restriction list.</t>
</list></t>

<t>Each entry of the label-restriction list, as defined in <xref target="I-D.ietf-teas-rfc8776-update"/>, defines a label-start, a label-end, a label-step and a range-bitmap.</t>

<t>The label-start and label-end definitions, when used for representing WDM label range, are augmented with WDM technology-specific attributes, using the wson-label-start-end grouping (for WSON only models) or the flexi-grid-label-start-end grouping (for DWDM flexible-grid only models) or the wdm-label-start-end grouping (for models that support both WSON and DWDM flexible-grid).</t>

<t>The label-step definition, when used for representing WDM label range, is augmented with WDM technology-specific attributes, using the wson-label-step grouping (for WSON only models) or the flexi-grid-label-step grouping (for DWDM flexible-grid only models) or the wdm-label-step grouping (for models that support both WSON and DWDM flexible-grid). The label-step definition for WDM depends on the WDM grid type:</t>

<t><list style="symbols">
  <t>For CWDM and DWDM fixed grids, it describes the channel spacing, as defined in <xref target="RFC6205"/>;</t>
  <t>For DWDM flexible grids, it describes the nominal central frequency granularity (e.g., 6,25 GHz) as well as the multiplier for the supported values of n, as defined in <xref target="RFC7699"/>.</t>
</list></t>

</section>
</section>
<section anchor="yang-code"><name>YANG Module for Layer 0 Types</name>

<t>This YANG module references <xref target="RFC6205"/>, <xref target="RFC7689"/>, <xref target="RFC7699"/>, <xref target="RFC8363"/>, <xref target="RFC9093"/>, <xref target="ITU-T_G.666"/>, <xref target="ITU-T_G.694.1"/>, <xref target="ITU-T_G.694.2"/>, <xref target="ITU-T_G.698.2"/>, <xref target="ITU-T_G.709"/>, <xref target="ITU-T_G.709.2"/>, <xref target="ITU-T_G.709.3"/>, <xref target="ITU-T_G.959.1"/> <xref target="ITU-T_G.975"/>, <xref target="ITU-T_G.975.1"/>, <xref target="ITU-T_G.977.1"/>, <xref target="ITU-T_G.9700"/> and <xref target="OIF_400ZR"/>.</t>

<figure title="Layer 0 Types YANG module" anchor="fig-yang-code"><sourcecode type="yang" markers="true" name="ietf-layer0-types@2025-11-03.yang"><![CDATA[
module ietf-layer0-types {
  yang-version 1.1;
  namespace "urn:ietf:params:xml:ns:yang:ietf-layer0-types";
  prefix l0-types;

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

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

     Editor:  Dieter Beller
              <mailto:Dieter.Beller@nokia.com>

     Editor:  Sergio Belotti
              <mailto:Sergio.Belotti@nokia.com>

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

     Editor:  Haomian Zheng
              <mailto:zhenghaomian@huawei.com>";
  description
    "This module defines Optical Layer 0 types.  This module
     provides groupings that can be applicable to Layer 0
     Fixed Optical Networks (e.g., CWDM (Coarse Wavelength
     Division Multiplexing) and DWDM (Dense Wavelength Division
     Multiplexing)) and flexi-grid optical networks.

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

     All revisions of IETF and IANA published modules can be found
     at the YANG Parameters registry group
     (https://www.iana.org/assignments/yang-parameters).

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

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

  revision 2025-11-03 {
    description
      "This revision adds the following new identities:
       - cwdm-ch-spc-type;
       - flexi-ncfg-type;
       - flexi-ncfg-6p25gh;
       - modulation;
       - dpsk;
       - qpsk;
       - dp-qpsk;
       - qam8;
       - dp-qam8;
       - qam16;
       - dp-qam16;
       - qam32;
       - dp-qam32;
       - qam64;
       - dp-qam64;
       - fec-type;
       - g-fec;
       - super-fec;
       - no-fec;
       - sc-fec;
       - o-fec;
       - c-fec;
       - line-coding;
       - nrz-2p5g;
       - nrz-otu1;
       - nrz-10g;
       - nrz-otu2;
       - otl4.4-sc;
       - foic1.4-sc;
       - wavelength-assignment;
       - first-fit-wavelength-assignment;
       - random-wavelength-assignment;
       - least-loaded-wavelength-assignment;
       - lower-first-wavelength-assignment;
       - upper-first-wavelength-assignment;
       - type-power-mode;
       - power-spectral-density;
       - carrier-power;
       - switching-wson-lsc;
       - switching-flexi-grid-lsc.

       This revision adds the following new data types:
       - standard-mode
       - organization-identifier
       - operational-mode
       - frequency-thz
       - frequency-ghz
       - unknown-value
       - snr
       - snr-or-unknown
       - decimal-2
       - decimal-2-or-unknown
       - power-gain
       - power-gain-or-unknown
       - power-loss
       - power-loss-or-unknown
       - power-ratio
       - power-ratio-or-unknown
       - power-dbm
       - power-dbm-or-unknown
       - decimal-5
       - decimal-5-or-unknown
       - psd
       - psd-or-unknown.

       This revision adds the following new groupings:
       - wdm-label-start-end;
       - wdm-label-step;
       - wdm-label-hop;
       - wdm-label-range-info;
       - transceiver-capabilities;
       - standard-mode;
       - organizational-mode;
       - penalty-value;
       - explicit-mode;
       - common-standard-organizational-mode;
       - transceiver-tuning-range;
       - common-all-mode;
       - common-transceiver-param;
       - common-transceiver-configured-param;
       - common-transceiver-readonly-param;
       - tunnel-attributes;
       - frequency-range;
       - frequency-range-with-identifier;
       - path-constraints;
       - path-properties.

       The default value of the min-slot-width-factor data node
       within flexi-grid-label-range-info grouping has been removed
       (bug fixing).
      ";
    reference
      "RFC XXXX: Common YANG Data Types for Layer 0 Optical
       Networks";
  }
  revision 2021-08-13 {
    description
      "Initial version";
    reference
      "RFC 9093: A YANG Data Model for Layer 0 Types";
  }

  /*
   * Identities
   */

  identity l0-grid-type {
    description
      "Base identity for the WDM grid types.";
    reference
      "RFC 6205: Generalized Labels for Lambda-Switch-Capable
                 (LSC), Label Switching Routers
       ITU-T G.694.2 (12/2003): Spectral grids for WDM applications:
                CWDM wavelength grid";
  }

  identity wson-grid-cwdm {
    base l0-grid-type;
    description
      "Coarse Wavelength Division Multiplexing (CWDM) grid.";
    reference
      "RFC 6205: Generalized Labels for Lambda-Switch-Capable (LSC)
                 Label Switching Routers
       ITU-T G.694.2 (12/2003): Spectral grids for WDM applications:
                 CWDM wavelength grid";
  }

  identity wson-grid-dwdm {
    base l0-grid-type;
    description
      "Fixed Dense Wavelength Division Multiplexing (DWDM) grid.";
    reference
      "RFC 6205: Generalized Labels for Lambda-Switch-Capable
                 (LSC), Label Switching Routers
       ITU-T G.694.1 (10/2020): Spectral grids for WDM applications:
                 DWDM frequency grid, Clause 7.";
  }

  identity flexi-grid-dwdm {
    base l0-grid-type;
    description
      "Flexible Dense Wavelength Division Multiplexing (DWDM) grid
       (flexi-grid).";
    reference
      "RFC 7699: Generalized Labels for the Flexi-Grid in Lambda
                 Switch Capable (LSC) Label Switching Routers
       ITU-T G.694.1 (10/2020): Spectral grids for WDM applications:
                DWDM frequency grid, Clause 8";
  }

  identity cwdm-ch-spc-type {
    description
      "Base identity for CWDM channel-spacing types.";
    reference
      "RFC 6205: Generalized Labels for Lambda-Switch-Capable (LSC)
                 Label Switching Routers, Section 3.3
       ITU-T G.694.2 (12/2003): Spectral grids for WDM applications:
                 CWDM wavelength grid";
  }

  identity cwdm-20nm {
    base cwdm-ch-spc-type;
    description
      "20nm channel spacing";
    reference
      "RFC 6205: Generalized Labels for Lambda-Switch-Capable (LSC)
                 Label Switching Routers, Section 3.3
       ITU-T G.694.2 (12/2003): Spectral grids for WDM applications:
                CWDM wavelength grid";
  }

  identity dwdm-ch-spc-type {
    description
      "Base identity for DWDM channel-spacing types.";
    reference
      "RFC 6205: Generalized Labels for Lambda-Switch-Capable (LSC)
                 Label Switching Routers, Section 3.2
       ITU-T G.694.1 (10/2020): Spectral grids for WDM applications:
                 DWDM frequency grid";
  }

  identity dwdm-100ghz {
    base dwdm-ch-spc-type;
    description
      "100 GHz channel spacing.";
    reference
      "RFC 6205: Generalized Labels for Lambda-Switch-Capable (LSC)
                 Label Switching Routers, Section 3.2
       ITU-T G.694.1 (10/2020): Spectral grids for WDM applications:
                DWDM frequency grid";
  }

  identity dwdm-50ghz {
    base dwdm-ch-spc-type;
    description
      "50 GHz channel spacing.";
    reference
      "RFC 6205: Generalized Labels for Lambda-Switch-Capable (LSC)
                 Label Switching Routers, Section 3.2
       ITU-T G.694.1 (10/2020): Spectral grids for WDM applications:
                 DWDM frequency grid";
  }

  identity dwdm-25ghz {
    base dwdm-ch-spc-type;
    description
      "25 GHz channel spacing.";
    reference
      "RFC 6205: Generalized Labels for Lambda-Switch-Capable (LSC)
                 Label Switching Routers, Section 3.2
       ITU-T G.694.1 (10/2020): Spectral grids for WDM applications:
                 DWDM frequency grid";
  }

  identity dwdm-12p5ghz {
    base dwdm-ch-spc-type;
    description
      "12.5 GHz channel spacing.";
    reference
      "RFC 6205: Generalized Labels for Lambda-Switch-Capable (LSC)
                 Label Switching Routers, Section 3.2
       ITU-T G.694.1 (10/2020): Spectral grids for WDM applications:
                 DWDM frequency grid";
  }

  identity flexi-ch-spc-type {
    status obsolete;
    description
      "Flexi-grid channel-spacing type";
  }

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

  identity flexi-ncfg-type {
    description
      "Flexi-grid Nominal Central Frequency Granularity (NCFG)
       type.";
    reference
      "RFC 7699: Generalized Labels for the Flexi-Grid in Lambda
                 Switch Capable (LSC) Label Switching Routers
       ITU-T G.694.1 (10/2020): Spectral grids for WDM applications:
                 DWDM frequency grid";
  }

  identity flexi-ncfg-6p25ghz {
    base flexi-ncfg-type;
    description
      "6.25 GHz Nominal Central Frequency Granularity (NCFG).";
    reference
      "RFC 7699: Generalized Labels for the Flexi-Grid in Lambda
                 Switch Capable (LSC) Label Switching Routers
       ITU-T G.694.1 (10/2020): Spectral grids for WDM applications:
                 DWDM frequency grid";
  }

  identity flexi-slot-width-granularity {
    description
      "Flexi-grid slot width granularity.";
    reference
      "RFC 7699: Generalized Labels for the Flexi-Grid in Lambda
                 Switch Capable (LSC) Label Switching Routers
       ITU-T G.694.1 (10/2020): Spectral grids for WDM applications:
                 DWDM frequency grid";
  }

  identity flexi-swg-12p5ghz {
    base flexi-slot-width-granularity;
    description
      "12.5 GHz slot width granularity.";
    reference
      "RFC 7699: Generalized Labels for the Flexi-Grid in Lambda
                 Switch Capable (LSC) Label Switching Routers
       ITU-T G.694.1 (10/2020): Spectral grids for WDM applications:
                 DWDM frequency grid";
  }

  identity modulation {
    description
      "base identity for modulation type.";
  }

  identity dpsk {
    base modulation;
    description
      "Differential Phase Shift Keying (DPSK) modulation.";
  }

  identity qpsk {
    base modulation;
    description
      "Quadrature Phase Shift Keying (QPSK) modulation.";
  }

  identity dp-qpsk {
    base modulation;
    description
      "Dual Polarization Quadrature Phase Shift Keying
       (DP-QPSK) modulation.";
  }

  identity qam8 {
    base modulation;
    description
      "8 symbols Quadrature Amplitude Modulation (8QAM).";
  }

  identity dp-qam8 {
    base modulation;
    description
      "8 symbols Dual Polarization Quadrature Amplitude
       Modulation (DP-QAM8).";
  }

  identity qam16 {
    base modulation;
    description
      "16 symbols Quadrature Amplitude Modulation (QAM16).";
  }

  identity dp-qam16 {
    base modulation;
    description
      "16 symbols Dual Polarization Quadrature Amplitude
       Modulation (DP-QAM16).";
  }

  identity qam32 {
    base modulation;
    description
      "32 symbols Quadrature Amplitude Modulation (QAM32)";
  }

  identity dp-qam32 {
    base modulation;
    description
      "32 symbols Dual Polarization Quadrature Amplitude
       Modulation (DP-QAM32).";
  }

  identity qam64 {
    base modulation;
    description
      "64 symbols Quadrature Amplitude Modulation (QAM64).";
  }

  identity dp-qam64 {
    base modulation;
    description
      "64 symbols Dual Polarization Quadrature Amplitude
       Modulation (DP-QAM64).";
  }

  identity fec-type {
    description
      "Base identity from which specific Forward Error Correction
       (FEC) type identities are derived.";
  }

  identity g-fec {
    base fec-type;
    description
      "Generic Forward Error Correction (G-FEC).";
    reference
      "ITU-T G.975 v2.0 (10/2000): Forward error correction for
                   submarine systems.";
  }

  identity super-fec {
    base fec-type;
    description
      "Super Forward Error Correction (S-FEC).";
    reference
      "ITU-T G.975.1 v1.2 (07/2013): Forward error correction for
                     high bit-rate DWDM submarine systems.";
  }

  identity no-fec {
    base fec-type;
    description
      "No FEC.";
  }

  identity sc-fec {
    base fec-type;
    description
      "Staircase Forward Error Correction (SC-FEC).";
    reference
      "Annex A of ITU-T G.709.2 v1.1 (09/2020):OTU4 long-reach
                      interface.";
  }

  identity o-fec {
    base fec-type;
    description
      "Open Forward Error Correction (O-FEC) which reuses the
       Bose, Chaudhuri and Hocquenghem (BCH) FEC.";
    reference
      "ITU-T G.709.3 v2.1 (11/2022): Flexible OTN
               long-reach interfaces, Clause 16.4.4
       ITU-T G.709.3 v2.1 (11/2022): Flexible OTN
               long-reach interfaces, Annex E";
  }

  identity c-fec {
    base fec-type;
    description
      "Concatenated FEC (C-FEC) that combines an outer Staircase
       Forward Error Correction (SC-FEC) code and an inner
       double-extended SD-FEC (128,119) Hamming code.

       More details are provided in clause 15/G.709.3 where it is
       called DSH instead of concatenated FEC.";
    reference
      "ITU-T G.709.2 v1.1 (09/2020):OTU4 long-reach
                   interface, Annex A
       ITU-T G.709.3 v2.1 (11/2022): Flexible OTN long-reach
                   interfaces, Annex D
       ITU-T G.709.3 v2.1 (11/2022): Flexible OTN long-reach
                   interfaces, Clause 15";
  }

  identity line-coding {
    description
      "Base identity to define the bit rate/line coding of optical
       tributary signals.";
    reference
      "ITU-T G.698.2 v3.0 (11/2018): Amplified multichannel dense
                    wavelength division multiplexing applications
                    with single channel optical interfaces Optical
                    transport network, Clause 7.1.2";
  }

  identity nrz-2p5g {
    base line-coding;
    description
      "The non return to zero (NRZ) bit rate/line coding used by
       the optical tributary signal class NRZ 2.5G.";
    reference
      "ITU-T G.959.1 v8.0 (07/2018): Optical transport network
                      physical layer interfaces, Clause 3.2.6";
  }

  identity nrz-otu1 {
    base line-coding;
    description
      "The Non-Return to Zero (NRZ) bit rate/line coding used by
       the Optical channel Transport Unit order 1 (OTU1) optical
       tributary signals.";
    reference
      "ITU-T G.959.1 v8.0 (07/2018): Optical transport network
                   physical layer interfaces, Clause 7.2.1.2";
  }

  identity nrz-10g {
    description
      "The non return to zero (NRZ) bit rate/line coding used by
       the optical tributary signal class NRZ 10G.";
    reference
      "ITU-T G.959.1 v8.0 (07/2018): Optical transport network
                   physical layer interfaces, Clause 3.2.7";
  }

  identity nrz-otu2 {
    base line-coding;
    description
      "The non return to zero (NRZ) bit rate/line coding used by
       the Optical channel Transport Unit order 2 (OTU2) optical
       tributary signals.";
    reference
      "ITU-T G.959.1 v8.0 (07/2018): Optical transport network
                   physical layer interfaces, Clause 7.2.1.2";
  }

  identity otl4.4-sc {
    base line-coding;
    description
      "The bit rate/line coding used by optical tributary
       signals carrying a 100G Optical Transport Unit order 4
       (OTU4) with Staircase Forward Error Correction (SC FEC)
       from a group of four Optical Transport Lanes (OTL).";
    reference
      "ITU-T G.698.2 v3.0 (11/2018): Amplified multichannel dense
                   wavelength division multiplexing applications
                   with single channel optical interfaces Optical
                   transport network, Clause 3.2.1";
  }

  identity foic1.4-sc {
    base line-coding;
    description
      "The bit rate/line coding used by optical tributary signals
       carrying a FlexO Interface of order C1 with 4 lanes
       (FOIC1.1) with Staircase Forward Error Correction
       (SC FEC).";
    reference
      "ITU-T G.698.2 v3.0 (11/2018): Amplified multichannel dense
                   wavelength division multiplexing applications
                   with single channel optical interfaces Optical
                   transport network, Clause 3.2.1";
  }

  identity wavelength-assignment {
    description
      "Base identity for Wavelength Assignment (WA) method.";
    reference
      "RFC 7689: Signaling Extensions for Wavelength Switched
                 Optical Networks";
  }

  identity first-fit-wavelength-assignment {
    base wavelength-assignment;
    description
      "All the available wavelengths are numbered, and this WA
       method chooses the available wavelength with the lowest
       index.";
    reference
      "RFC 7689: Signaling Extensions for Wavelength Switched
                 Optical Networks";
  }

  identity random-wavelength-assignment {
    base wavelength-assignment;
    description
      "This WA method chooses an available wavelength randomly.";
    reference
      "RFC 7689: Signaling Extensions for Wavelength Switched
                 Optical Networks";
  }

  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).";
    reference
      "RFC 7689: Signaling Extensions for Wavelength Switched
                 Optical Networks";
  }

  identity lower-first-wavelength-assignment {
    base wavelength-assignment;
    description
      "Allocate wavelengths in ascending order, beginning from the
       lowest frequency and progressing toward the highest
       frequency within the permissible frequency range.";
  }

  identity upper-first-wavelength-assignment {
    base wavelength-assignment;
    description
      "Allocate wavelengths in descending order, beginning from the
       highest frequency and progressing toward the lowest
       frequency within the permissible frequency range.";
  }

  identity type-power-mode {
    description
      "power equalization mode used within the
       Optical Multiplex Section (OMS) and its elements.";
  }

  identity power-spectral-density {
    base type-power-mode;
    description
      "All elements must use power spectral density (W/Hz).";
  }

  identity carrier-power {
    base type-power-mode;
    description
      "All elements must use power (dBm).";
  }

  identity switching-wson-lsc {
    base te-types:switching-lsc;
    description
      "Wavelength Switched Optical Network Lambda-Switch Capable
       (WSON-LSC).";
    reference
      "RFC 7688: GMPLS OSPF Enhancement for Signal and Network
                 Element Compatibility for Wavelength Switched
                 Optical Networks, Section 3";
  }

  identity switching-flexi-grid-lsc {
    base te-types:switching-lsc;
    description
      "Flexi-grid Lambda-Switch Capable (Flexi-Grid-LSC).";
    reference
      "RFC 8363: GMPLS OSPF-TE Extensions in Support of Flexi-Grid
                 Dense Wavelength Division Multiplexing (DWDM)
                 Networks, Section 4.1";
  }

  /*
   * Typedefs
   */

  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 channel spacing (measured in GHz),

       where 193100.000 GHz (193.100000 THz) is the ITU-T 'anchor
       frequency' for transmission over the DWDM grid, and where
       'channel spacing' is defined by the dwdm-ch-spc-type.";
    reference
      "RFC6205: Generalized Labels for Lambda-Switch-Capable (LSC)
                Label Switching Routers
       ITU-T G.694.1 (10/2020): Spectral grids for WDM applications:
                DWDM frequency grid";
  }

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

       The nominal central wavelength is defined by:
         Wavelength = 1471 nm + N x channel spacing (measured in nm)

       where 1471 nm is the conventional 'anchor wavelength' for
       transmission over the CWDM grid, and where 'channel spacing'
       is defined by the cwdm-ch-spc-type.";
    reference
      "RFC 6205: Generalized Labels for Lambda-Switch-Capable (LSC)
                 Label Switching Routers
       ITU-T G.694.2 (12/2003): Spectral grids for WDM applications:
                 CWDM wavelength grid";
  }

  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 NCFG (measured in GHz),

       where 193100.000 GHz (193.100000 THz) is the ITU-T 'anchor
       frequency' for transmission over the DWDM grid, and where
       NCFG is defined by the flexi-ncfg-type.";
    reference
      "RFC 7699: Generalized Labels for the Flexi-Grid in Lambda
                 Switch Capable (LSC) Label Switching Routers
       ITU-T G.694.1 (10/2020): Spectral grids for WDM applications:
                 DWDM frequency grid";
  }

  typedef flexi-m {
    type uint16;
    description
      "The given value 'M' is used to determine the slot width.

       A slot width is defined by:
         slot width = M x SWG (measured in GHz),

       where SWG is defined by the flexi-slot-width-granularity.";
    reference
      "RFC 7699: Generalized Labels for the Flexi-Grid in Lambda
                 Switch Capable (LSC) Label Switching Routers
       ITU-T G.694.1 (10/2020): Spectral grids for WDM applications:
                 DWDM frequency grid";
  }

  typedef standard-mode {
    type string;
    description
      "Identifies an ITU-T G.698.2 standard application code.

       It MUST be a string with a format that follows the
       nomenclature defined in clause 5.3 of ITU-T G.698.2.";
    reference
      "ITU-T G.698.2 v3.0 (11/2018): Amplified multichannel dense
                   wavelength division multiplexing applications
                   with single channel optical interfaces Optical
                   transport network, Clause 5.3";
  }

  typedef organization-identifier {
    type string;
    description
      "vendor/organization identifier that uses a private mode
       out of already defined in G.698.2 ITU-T application-code";
    reference
      "RFC ZZZZ: A YANG Data Model for Optical Impairment-aware
                 Topology, Section 2.5.2";
  }

  typedef operational-mode {
    type string;
    description
      "Identifies an organization (e.g., vendor) specific mode.

       The format of the string has to be defined by the
       organization which is responsible for defining the
       corresponding optical interface specification.";
    reference
      "RFC ZZZZ: A YANG Data Model for Optical Impairment-aware
                 Topology, Section 2.5.2";
  }

  typedef frequency-thz {
    type decimal64 {
      fraction-digits 9;
    }
    units "THz";
    description
      "The DWDM frequency in THz, e.g., 193.112500000";
  }

  typedef frequency-ghz {
    type decimal64 {
      fraction-digits 6;
    }
    units "GHz";
    description
      "The DWDM frequency in GHz, e.g., 193112.500000.";
  }

  typedef unknown-value {
    type enumeration {
      enum unknown {
        description
          "The value is unknown.";
      }
    }
    description
      "This data type is used to report when a value of an attribute
       is 'unknown', to differentiate from the case where the
       attribute is not applicable.";
    reference
      "RFC XXXX: Common YANG Data Types for Layer 0 Optical
                 Networks, section 2.2.1";
  }

  typedef snr {
    type decimal-2;
    units "dB@0.1nm";
    description
      "(Optical) Signal to Noise Ratio measured over 0.1 nm
       resolution bandwidth.";
    reference
      "ITU-T G.977.1 (02/2021): Transverse compatible dense
                 wavelength division multiplexing applications for
                 repeatered optical fibre submarine cable systems";
  }

  typedef snr-or-unknown {
    type union {
      type snr;
      type unknown-value;
    }
    description
      "(Optical) Signal to Noise Ratio measured over 0.1 nm
       resolution bandwidth, when known, or an empty value when
       unknown.";
  }

  typedef decimal-2 {
    type decimal64 {
      fraction-digits 2;
    }
    description
      "A decimal64 value with two fractional digits.";
  }

  typedef decimal-2-or-unknown {
    type union {
      type decimal-2;
      type unknown-value;
    }
    description
      "A decimal64 value with two digits, when the value is known or
       an empty value when the value is not known.";
  }

  typedef power-gain {
    type decimal-2 {
      range "0..max";
    }
    units "dB";
    description
      "The gain in dB.";
  }

  typedef power-gain-or-unknown {
    type union {
      type power-gain;
      type unknown-value;
    }
    description
      "The gain in dB, when it is known or an empty
       value when the power gain/loss is not known.";
  }

  typedef power-loss {
    type decimal-2 {
      range "0..max";
    }
    units "dB";
    description
      "The power attenuation in dB.";
  }

  typedef power-loss-or-unknown {
    type union {
      type power-loss;
      type unknown-value;
    }
    description
      "The power attenuation in dB, when it is known or an empty
       value when the loss is not known.";
  }

  typedef power-ratio {
    type decimal-2;
    units "dB";
    description
      "The power difference in dB.";
  }

  typedef power-ratio-or-unknown {
    type union {
      type power-ratio;
      type unknown-value;
    }
    description
      "The power difference in dB, when it is known or an empty
       value when the difference is not known.";
  }

  typedef power-dbm {
    type decimal-2;
    units "dBm";
    description
      "The power in dBm.";
  }

  typedef power-dbm-or-unknown {
    type union {
      type power-dbm;
      type unknown-value;
    }
    description
      "The power in dBm, when it is known or an empty value when the
       power is not known.";
  }

  typedef decimal-5 {
    type decimal64 {
      fraction-digits 5;
    }
    description
      "A decimal64 value with five fractional digits.";
  }

  typedef decimal-5-or-unknown {
    type union {
      type decimal-5;
      type unknown-value;
    }
    description
      "A decimal64 value with five digits, when the value is known
       or an empty value when the value is not known.";
  }

  typedef psd {
    type decimal64 {
      fraction-digits 16;
    }
    units "W/Hz";
    description
      "The power spectral density (PSD).

       Typical value : 3.9 E-14, resolution 0.1nW/MHz.";
    reference
      "ITU-T G.9700 (07/2019): Fast access to subscriber terminals
                    (G.fast) - Power spectral density specification";
  }

  typedef psd-or-unknown {
    type union {
      type psd;
      type unknown-value;
    }
    description
      "The PSD, when it is known or an empty value when the PSD is
       not known.";
  }

  typedef decimal-18 {
    type decimal64 {
      fraction-digits 18;
    }
    description
      "A decimal64 value with fractional eighteen digits.";
  }

  typedef decimal-18-or-unknown {
    type union {
      type decimal-18;
      type unknown-value;
    }
    description
      "A decimal64 value with eighteen digits, when the value is
       known or an empty value when the value is not known.";
  }

  /*
   * Groupings
   */

  grouping l0-label-range-info {
    description
      "Common grouping used to define WSON, flexi-grid and WDM label
       ranges.

       When used to define a WSON label range, this grouping SHOULD
       be used together with the wson-label-start-end and
       wson-label-step groupings to provide WSON technology-specific
       label information to the models which use the
       label-restriction-info grouping defined in the module
       ietf-te-types.";
    leaf grid-type {
      type identityref {
        base l0-grid-type;
      }
      description
        "The type of WDM grid.";
      reference
        "RFC 6205: Generalized Labels for Lambda-Switch-Capable
                   (LSC), Label Switching Routers
         ITU-T G.694.2 (12/2003): Spectral grids for WDM
                   applications: CWDM wavelength grid";
    }
    leaf priority {
      type uint8;
      description
        "Priority in Interface Switching Capability Descriptor
         (ISCD).";
      reference
        "RFC 4203: OSPF Extensions in Support of Generalized
                   Multi-Protocol Label Switching (GMPLS)";
    }
  }

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

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

       This grouping SHOULD be used together with the
       l0-label-range-info and wson-label-step groupings to provide
       WSON technology-specific label information to the models which
       use the label-restriction-info grouping defined in the module
       ietf-te-types.";
    reference
      "RFC 6205: Generalized Labels for Lambda-Switch-Capable (LSC)
                 Label Switching Routers";
    choice grid-type {
      description
        "Label for DWDM or CWDM grid";
      case dwdm {
        leaf dwdm-n {
          when 'derived-from-or-self(../../../grid-type, '
             + '"l0-types:wson-grid-dwdm")' {
            description
              "Valid only when grid type is DWDM.";
          }
          type dwdm-n;
          description
            "The central frequency of DWDM.";
          reference
            "RFC 6205: Generalized Labels for Lambda-Switch-Capable
                       (LSC) Label Switching Routers";
        }
      }
      case cwdm {
        leaf cwdm-n {
          when 'derived-from-or-self(../../../grid-type, '
             + '"l0-types:wson-grid-cwdm")' {
            description
              "Valid only when grid type is CWDM.";
          }
          type cwdm-n;
          description
            "Channel wavelength computing input.";
          reference
            "RFC 6205: Generalized Labels for Lambda-Switch-Capable
                      (LSC) Label Switching Routers";
        }
      }
    }
  }

  grouping wson-label-step {
    description
      "Label step information for WSON.

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

       This grouping SHOULD be used together with the
       l0-label-range-info and wson-label-start-end groupings to
       provide WSON technology-specific label information to the
       models which use the label-restriction-info grouping defined
       in the module ietf-te-types.";
    reference
      "RFC 6205: Generalized Labels for Lambda-Switch-Capable (LSC)
                 Label Switching Routers
       ITU-T G.694.2 (12/2003): Spectral grids for WDM applications:
                CWDM wavelength grid";
    choice l0-grid-type {
      description
        "Grid type: DWDM, CWDM, etc.";
      case dwdm {
        leaf wson-dwdm-channel-spacing {
          when 'derived-from-or-self(../../grid-type, '
             + '"l0-types:wson-grid-dwdm")' {
            description
              "Valid only when grid type is 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
            "RFC 6205: Generalized Labels for Lambda-Switch-Capable
                       (LSC) Label Switching Routers";
        }
      }
      case cwdm {
        leaf wson-cwdm-channel-spacing {
          when 'derived-from-or-self(../../grid-type, '
             + '"l0-types:wson-grid-cwdm")' {
            description
              "Valid only when grid type is 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
            "RFC 6205: Generalized Labels for Lambda-Switch-Capable
                      (LSC) Label Switching Routers";
        }
      }
    }
  }

  grouping wson-label-hop {
    description
      "Generic label-hop information for WSON.";
    reference
      "RFC 6205: Generalized Labels for Lambda-Switch-Capable (LSC)
                 Label Switching Routers";
    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 dwdm-n;
              description
                "The given value 'N' is used to determine the
                 nominal central frequency.";
              reference
                "ITU-T G.694.1 (10/2020): Spectral grids for WDM
                               applications: DWDM frequency grid";
            }
          }
          case super {
            leaf-list subcarrier-dwdm-n {
              type dwdm-n;
              description
                "The given values 'N' are used to determine the
                 nominal central frequency for each subcarrier
                 channel.";
              reference
                "ITU-T G.694.1 (10/2020): Spectral grids for WDM
                               applications: DWDM frequency grid";
            }
          }
        }
      }
      case cwdm {
        leaf cwdm-n {
          type cwdm-n;
          description
            "The given value 'N' is used to determine the nominal
             central wavelength.";
          reference
            "RFC 6205: Generalized Labels for Lambda-Switch-Capable
                       (LSC) Label Switching Routers";
        }
      }
    }
  }

  grouping flexi-grid-label-range-info {
    description
      "Flexi-grid-specific label range related information.

       This grouping SHOULD be used together with the
       flexi-grid-label-start-end and flexi-grid-label-step groupings
       to provide flexi-grid technology-specific label information to
       the models which use the label-restriction-info grouping
       defined in the module ietf-te-types.";
    uses l0-label-range-info;
    container flexi-grid {
      description
        "flexi-grid definition";
      leaf slot-width-granularity {
        type identityref {
          base flexi-slot-width-granularity;
        }
        default "l0-types:flexi-swg-12p5ghz";
        description
          "Minimum space between slot widths.";
        reference
          "RFC 8363: GMPLS OSPF-TE Extensions in Support of
                     Grid Dense Wavelength Division Multiplexing
                     (DWDM) Networks";
      }
      leaf min-slot-width-factor {
        type uint16 {
          range "1..max";
        }
        description
          "A multiplier of the slot width granularity, indicating
           the minimum slot width supported by an optical port.

           Minimum slot width is calculated by:
             Minimum slot width (GHz) =
               min-slot-width-factor * slot-width-granularity.";
        reference
          "RFC 8363: 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";
        }
        must '. >= ../min-slot-width-factor' {
          error-message
            "Maximum slot width must be greater than or equal to
             minimum slot width.";
        }
        description
          "A multiplier of the slot width granularity, indicating
           the maximum slot width supported by an optical port.

           Maximum slot width is calculated by:
             Maximum slot width (GHz) =
               max-slot-width-factor * slot-width-granularity

           If specified, maximum slot width must be greater than or
           equal to minimum slot width.  If not specified, maximum
           slot width is equal to minimum slot width.";
        reference
          "RFC 8363: GMPLS OSPF-TE Extensions in Support of Flexi-
                     Grid Dense Wavelength Division Multiplexing
                     (DWDM) Networks";
      }
    }
  }

  grouping flexi-grid-label-start-end {
    description
      "Common grouping used to define the value 'N' which is used to
       determine the nominal central frequency (e.g., as the
       flexi-grid label-start or label-end used to specify flexi-grid
       label range).

       When used to define a flexi-grid label range, this grouping
       SHOULD be used together with the flexi-grid-label-range-info
       and flexi-grid-label-step groupings to provide flexi-grid
       technology-specific label information to the models which use
       the label-restriction-info grouping defined in the module
       ietf-te-types.";
    reference
      "RFC 7699: Generalized Labels for the Flexi-Grid in Lambda
                 Switch Capable (LSC) Label Switching Routers";
    leaf flexi-n {
      type flexi-n;
      description
        "The given value 'N' is used to determine the nominal
         central frequency.

         As described in Section 3.1 of RFC 8363, the range of
         available nominal central frequencies are advertised for
         m=1, which means that for an available central frequency n,
         the frequency slot from central frequency n-1 to central
         frequency n+1 is available.";
    }
  }

  grouping flexi-grid-label-step {
    description
      "Label step information for flexi-grid label ranges.

       This grouping SHOULD be used together with the
       flexi-grid-label-range-info and flexi-grid-label-start-end
       groupings to provide flexi-grid technology-specific label
       information to the models which use the label-restriction-info
       grouping defined in the module ietf-te-types.";
    leaf flexi-grid-channel-spacing {
      type identityref {
        base flexi-ch-spc-type;
      }
      default "l0-types:flexi-ch-spc-6p25ghz";
      status obsolete;
      description
        "Label-step is the nominal central frequency granularity
         (GHz), e.g., 6.25 GHz.";
      reference
        "RFC 7699: Generalized Labels for the Flexi-Grid in Lambda
                   Switch Capable (LSC) Label Switching Routers";
    }
    leaf flexi-ncfg {
      type identityref {
        base flexi-ncfg-type;
      }
      default "l0-types:flexi-ncfg-6p25ghz";
      description
        "Label-step is the nominal central frequency granularity
         (GHz), e.g., 6.25 GHz.";
      reference
        "RFC 7699: Generalized Labels for the Flexi-Grid in Lambda
                   Switch Capable (LSC) Label Switching Routers";
    }
    leaf flexi-n-step {
      type uint8;
      description
        "This attribute defines the multiplier for the supported
         values of 'N'.

         For example, given a grid with a nominal central frequency
         granularity of 6.25 GHz, the granularity of the supported
         values of the nominal central frequency could be 12.5 GHz.
         In this case, the values of flexi-n should be even and this
         constraint is reported by setting the flexi-n-step to 2.

         This attribute is also known as central frequency
         granularity.";
      reference
        "RFC 8363: GMPLS OSPF-TE Extensions in Support of Flexi-Grid
                   Dense Wavelength Division Multiplexing (DWDM)
                   Networks";
    }
  }

  grouping flexi-grid-frequency-slot {
    description
      "Flexi-grid frequency slot grouping.";
    reference
      "RFC 7699: Generalized Labels for the Flexi-Grid in Lambda
                 Switch Capable (LSC) Label Switching Routers";
    uses flexi-grid-label-start-end;
    leaf flexi-m {
      type flexi-m;
      description
        "The given value 'M' is used to determine the slot width.";
    }
  }

  grouping flexi-grid-label-hop {
    description
      "Generic label-hop information for flexi-grid.";
    reference
      "RFC 7699: Generalized Labels for the Flexi-Grid in Lambda
                 Switch Capable (LSC) Label Switching Routers";
    choice single-or-super-channel {
      description
        "single or super channel";
      case single {
        uses flexi-grid-frequency-slot;
      }
      case super {
        status obsolete;
        list subcarrier-flexi-n {
          key "flexi-n";
          status obsolete;
          description
            "List of subcarrier channels for flexi-grid super
             channel.";
          uses flexi-grid-frequency-slot {
            status obsolete;
          }
        }
      }
      case multi {
        container frequency-slots {
          description
            "The top level container for the list of frequency
             slots used for flexi-grid super channel.";
          list frequency-slot {
            key "flexi-n";
            min-elements 2;
            description
              "List of frequency slots used for flexi-grid super
               channel.";
            uses flexi-grid-frequency-slot;
          }
        }
      }
    }
  }

  grouping wdm-label-range-info {
    description
      "Label range information for WDM.

       This grouping SHOULD be used together with the
       wdm-label-start-end and wdm-label-step groupings to provide
       WDM technology-specific label information to the models which
       use the label-restriction-info grouping defined in the module
       ietf-te-types.";
    container wdm-label-range {
      description
        "Label range information for WDM.";
      uses l0-label-range-info;
      container flexi-grid {
        when 'derived-from-or-self(../grid-type, '
           + '"l0-types:flexi-grid-dwdm")' {
          description
            "Applicable only when the grid type is flexi-grid-dwdm.";
        }
        description
          "flexi-grid definition.";
        leaf slot-width-granularity {
          type identityref {
            base flexi-slot-width-granularity;
          }
          default "l0-types:flexi-swg-12p5ghz";
          description
            "Minimum space between slot widths.";
          reference
            "RFC 8363: GMPLS OSPF-TE Extensions in Support of Flexi-
                      Grid Dense Wavelength Division Multiplexing
                      (DWDM) Networks";
        }
        leaf min-slot-width-factor {
          type uint16 {
            range "1..max";
          }
          description
            "A multiplier of the slot width granularity, indicating
             the minimum slot width supported by an optical port.

             Minimum slot width is calculated by:
                Minimum slot width (GHz) =
                  min-slot-width-factor * slot-width-granularity.";
          reference
            "RFC 8363: 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";
          }
          must '. >= ../min-slot-width-factor' {
            error-message
              "Maximum slot width must be greater than or equal to
               minimum slot width.";
          }
          description
            "A multiplier of the slot width granularity, indicating
             the maximum slot width supported by an optical port.

             Maximum slot width is calculated by:
                Maximum slot width (GHz) =
                  max-slot-width-factor * slot-width-granularity

             If specified, maximum slot width must be greater than or
             equal to minimum slot width.  If not specified, maximum
             slot width is equal to minimum slot width.";
          reference
            "RFC 8363: GMPLS OSPF-TE Extensions in Support of Flexi-
                      Grid Dense Wavelength Division Multiplexing
                      (DWDM) Networks";
        }
      }
    }
  }

  grouping wdm-label-start-end {
    description
      "The WDM label-start or label-end used to specify DWDM and
       CWDM label ranges.

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

       This grouping SHOULD be used together with the
       wdm-label-range-info and wdm-label-step groupings to provide
       WDM technology-specific label information to the models which
       use the label-restriction-info grouping defined in the module
       ietf-te-types.";
    reference
      "RFC 6205: Generalized Labels for Lambda-Switch-Capable (LSC)
                 Label Switching Routers
       RFC 7699: Generalized Labels for the Flexi-Grid in Lambda
                 Switch Capable (LSC) Label Switching Routers";
    container wdm-label {
      description
        "Label start or label end for WDM.

         The format of the label depends on the type of WDM grid
         specified in the 'grid-type' leaf defined in the
         wdm-label-range-info grouping.";
      leaf dwdm-n {
        when 'derived-from-or-self(../../../../wdm-label-range'
           + '/grid-type, "l0-types:wson-grid-dwdm")' {
          description
            "Valid only when grid type is a fixed DWDM grid.";
        }
        type dwdm-n;
        description
          "The given value 'N' is used to determine the
           nominal central frequency on a DWDM fixed grid.";
        reference
          "RFC 6205: Generalized Labels for Lambda-Switch-Capable
                    (LSC) Label Switching Routers";
      }
      leaf cwdm-n {
        when 'derived-from-or-self(../../../../wdm-label-range'
           + '/grid-type, "l0-types:wson-grid-cwdm")' {
          description
            "Valid only when grid type is a CWDM grid.";
        }
        type cwdm-n;
        description
          "The given value 'N' is used to determine the nominal
           central wavelength on a CWDM fixed grid.";
        reference
          "RFC 6205: Generalized Labels for Lambda-Switch-Capable
                    (LSC) Label Switching Routers";
      }
      uses flexi-grid-label-start-end {
        when 'derived-from-or-self(../../../wdm-label-range'
           + '/grid-type, "l0-types:flexi-grid-dwdm")' {
          description
            "Valid only when grid type is a flexible DWDM grid.";
        }
      }
    }
  }

  grouping wdm-label-step {
    description
      "The WDM label-step used to specify DWDM and CWDM label
       ranges.

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

       This grouping SHOULD be used together with the
       wdm-label-range-info and wdm-label-start-end groupings to
       provide WDM technology-specific label information to the
       models which use the label-restriction-info grouping defined
       in the module ietf-te-types.";
    reference
      "RFC 6205: Generalized Labels for Lambda-Switch-Capable (LSC)
                 Label Switching Routers
       RFC 7699: Generalized Labels for the Flexi-Grid in Lambda
                 Switch Capable (LSC) Label Switching Routers
       RFC 8363: GMPLS OSPF-TE Extensions in Support of Flexi-Grid
                 Dense Wavelength Division Multiplexing (DWDM)
                 Networks";
    container wdm-label-step {
      description
        "Label step for WDM.

         The format of the label depends on the type of WDM grid
         specified in the 'grid-type' leaf defined in the
         wdm-label-range-info grouping.";
      leaf wson-dwdm-channel-spacing {
        when 'derived-from-or-self(../../../wdm-label-range'
           + '/grid-type, "l0-types:wson-grid-dwdm")' {
          description
            "Valid only when grid type is a fixed DWDM grid.";
        }
        type identityref {
          base dwdm-ch-spc-type;
        }
        description
          "The channel spacing (GHz) of a fixed DWDM grid, e.g.,
           100 GHz, 50 GHz, 25 GHz, or 12.5 GHz.";
        reference
          "RFC 6205: Generalized Labels for Lambda-Switch-Capable
                    (LSC) Label Switching Routers";
      }
      leaf wson-cwdm-channel-spacing {
        when 'derived-from-or-self(../../../wdm-label-range'
           + '/grid-type, "l0-types:wson-grid-cwdm")' {
          description
            "Valid only when grid type is a CWDM grid.";
        }
        type identityref {
          base cwdm-ch-spc-type;
        }
        description
          "The channel spacing (nm) of a fixed CWDM grid, e.g., 20nm
           (which is the only standardized value).";
        reference
          "RFC 6205: Generalized Labels for Lambda-Switch-Capable
                    (LSC) Label Switching Routers";
      }
      container flexi-grid-cfg {
        when 'derived-from-or-self(../../../wdm-label-range'
           + '/grid-type, "l0-types:flexi-grid-dwdm")' {
          description
            "Valid only when grid type is a flexible DWDM grid.";
        }
        description
          "The Central Frequency Granularity (CFG) of a flexible DWDM
           grid (flexi-grid), defined as a multiplier of the Nominal
           central frequency granularity (NCFG).";
        uses flexi-grid-label-step;
      }
    }
  }

  grouping wdm-label-hop {
    description
      "Generic label-hop information for DWDM and CWDM labels.";
    container wdm-label {
      description
        "Label hop for WDM.";
      choice grid-type {
        description
          "Label for DWDM or CWDM grid.";
        reference
          "RFC 6205: Generalized Labels for Lambda-Switch-Capable
                     (LSC) Label Switching Routers";
        case fixed-dwdm {
          choice fixed-single-or-multi-channel {
            description
              "Single channel or multichannel.";
            case single {
              leaf dwdm-n {
                type dwdm-n;
                description
                  "The given value 'N' is used to determine the
                   nominal central frequency.";
              }
            }
            case multi {
              leaf-list subcarrier-dwdm-n {
                type dwdm-n;
                min-elements 2;
                description
                  "The given values 'N' are used to determine the
                   nominal central frequency for each subcarrier
                   channel.";
                reference
                  "ITU-T G.694.1 (10/2020): Spectral grids for WDM
                              applications: DWDM frequency grid";
              }
            }
          }
        }
        case cwdm {
          leaf cwdm-n {
            type cwdm-n;
            description
              "The given value 'N' is used to determine the nominal
               central wavelength.";
            reference
              "RFC 6205: Generalized Labels for Lambda-Switch-Capable
                        (LSC) Label Switching Routers";
          }
        }
        case flexi-grid {
          uses flexi-grid-label-hop;
        }
      }
    }
  }

  grouping transceiver-capabilities {
    description
      "This grouping is intended to be used for reporting the
       capabilities of a transceiver.

       When this grouping is used, the explicit-mode container shall
       be augmented with a leafref to an explicit mode template with
       the proper XPath which depends on where this grouping is
       actually used.";
    reference
      "RFC ZZZZ: A YANG Data Model for Optical Impairment-aware
                 Topology.";
    container supported-modes {
      presence
        "When present, it indicates that the modes supported by a
         transceiver are reported.";
      config false;
      description
        "The top level container for the list supported
         transceiver's modes.";
      list supported-mode {
        key "mode-id";
        min-elements 1;
        description
          "The list of supported transceiver's modes.";
        leaf mode-id {
          type string {
            length "1..255";
          }
          description
            "An identifier for the supported transceiver's mode.";
        }
        choice mode {
          mandatory true;
          description
            "Indicates whether the transceiver's mode is a standard
             mode, an organizational mode or an explicit mode.";
          case g.698.2 {
            container g.698.2 {
              description
                "The set of attributes for a standard mode defined
                 in ITU-T G.698.2.";
              reference
                "ITU-T G.698.2 v3.0 (11/2018): Amplified multichannel
                        dense wavelength division multiplexing
                        applications with single channel optical
                        interfaces Optical transport network";
              uses standard-mode {
                refine "standard-mode" {
                  mandatory true;
                }
              }
              uses common-standard-organizational-mode;
              uses common-all-modes;
            }
          }
          case organizational-mode {
            container organizational-mode {
              description
                "The set of attributes for an organizational mode.";
              uses organizational-mode {
                refine "operational-mode" {
                  mandatory true;
                }
                refine "organization-identifier" {
                  mandatory true;
                }
              }
              uses common-standard-organizational-mode;
              uses common-all-modes;
            }
          }
          case explicit-mode {
            container explicit-mode {
              description
                "The set of attributes for an explicit mode.";
              uses common-all-modes;
              container compatible-modes {
                description
                  "Container for all the standard and organizational
                   modes supported by the transceiver's explicit
                   mode.";
                leaf-list supported-application-code {
                  type leafref {
                    path "../../../../supported-mode/mode-id";
                  }
                  must '../../../../'
                     + 'supported-mode[mode-id=current()]/'
                     + 'g.698.2' {
                    description
                      "The pointer is only for application codes
                       supported by transceiver.";
                  }
                  description
                    "List of pointers to the application codes
                     supported by the transceiver's explicit mode.";
                }
                leaf-list supported-organizational-mode {
                  type leafref {
                    path "../../../../supported-mode/mode-id";
                  }
                  must '../../../../'
                     + 'supported-mode[mode-id=current()]/'
                     + 'organizational-mode' {
                    description
                      "The pointer is only for organizational modes
                       supported by transceiver.";
                  }
                  description
                    "List of pointers to the organizational modes
                      supported by the transceiver's explicit mode.";
                }
              }
            }
          }
        }
      }
    }
  }

  grouping standard-mode {
    description
      "Identifies an ITU-T G.698.2 standard application code.";
    reference
      "ITU-T G.698.2 v3.0 (11/2018): Amplified multichannel dense
                 wavelength division multiplexing applications
                 with single channel optical interfaces Optical
                 transport network, Clause 5.3";
    leaf standard-mode {
      type standard-mode;
      description
        "Identifies an ITU-T G.698.2 standard application code.

         It MUST be a string with a format that follows the
         nomenclature defined in clause 5.3 of ITU-T G.698.2.";
    }
  }

  grouping organizational-mode {
    description
      "Transponder operational mode supported by organizations or
       vendor";
    reference
      "RFC ZZZZ: A YANG Data Model for Optical Impairment-aware
                  Topology, Section 2.6.2";
    leaf operational-mode {
      type operational-mode;
      description
        "configured organization- or vendor-specific
         application identifiers (AI) supported by the transponder";
    }
    leaf organization-identifier {
      type organization-identifier;
      description
        "The identifier of the organization that defines the
         organizational-mode.";
    }
  }

  grouping penalty-value {
    description
      "A common definition of the Optical Signal-to-Noise Ratio
       (OSNR) penalty value used for describing multiple penalty
       types (e.g., CD, PMD, or PDL).";
    leaf penalty-value {
      type union {
        type decimal-2 {
          range "0..max";
        }
        type unknown-value;
      }
      units "dB";
      mandatory true;
      description
        "The OSNR penalty associated with the related optical
         impairment at the receiver, when the value is known or an
         empty value when the value is not known.";
    }
  }

  grouping explicit-mode {
    description
      "The attributes describing capabilities of an explicit
       transceiver's mode.

       This grouping also contains the list of attributes related to
       optical impairment limits for explicit mode (min OSNR,
       max PMD, max CD, max PDL, Q-factor limit, etc.).

       In case of standard and operational mode the attributes are
       implicit.";
    leaf line-coding-bitrate {
      type identityref {
        base line-coding;
      }
      config false;
      description
        "Bit rate/line coding of the optical tributary signal.";
      reference
        "ITU-T G.698.2 v3.0 (11/2018): Amplified multichannel dense
                     wavelength division multiplexing applications
                     with single channel optical interfaces Optical
                     transport network, Clause 7.1.2";
    }
    leaf bitrate {
      type uint16;
      units "Gbit/sec";
      config false;
      description
        "The gross bitrate (e.g., 100 or 200) of the optical
         tributary signal.";
    }
    leaf max-diff-group-delay {
      type decimal-2;
      units "ps";
      config false;
      description
        "The maximum Differential Group Delay (DGD)  the receiver can
         tolerate.";
    }
    leaf max-chromatic-dispersion {
      type decimal-2 {
        range "0..max";
      }
      units "ps/nm";
      config false;
      description
        "Maximum acceptable accumulated chromatic dispersion (CD) on
         the receiver at Rx-power reference point
         (rx-ref-channel-power) and in absence of other
         impairments.";
      reference
        "RFC ZZZZ: A YANG Data Model for Optical
                   Impairment-aware Topology, Section 2.6.4";
    }
    list cd-penalty {
      key "cd-value";
      config false;
      description
        "Optional penalty associated with a given accumulated
         chromatic dispersion (CD) value measured in
         absence of other impairments.

         This list of pair CD and OSNR penalty can be used to
         sample the function OSNR penalty = f(CD).";
      reference
        "RFC ZZZZ: A YANG Data Model for Optical
                   Impairment-aware Topology, Section 2.6.4";
      leaf cd-value {
        type decimal-2;
        units "ps/nm";
        description
          "The Chromatic Dispersion (CD).";
      }
      uses penalty-value;
    }
    leaf max-polarization-mode-dispersion {
      type decimal-2 {
        range "0..max";
      }
      units "ps";
      config false;
      description
        "Maximum acceptable accumulated polarization mode
         dispersion (PMD) on the receiver at Rx-power reference point
         (rx-ref-channel-power) and in absence of other impairments";
      reference
        "ITU-T G.666 (02/2011): Characteristics of polarization
                   mode dispersion compensators and of receivers that
                   compensate for polarization mode dispersion
         RFC ZZZZ: A YANG Data Model for Optical Impairment-aware
                   Topology, Section 2.4.6";
    }
    list pmd-penalty {
      key "pmd-value";
      config false;
      description
        "Optional penalty associated with a given accumulated
         polarization mode dispersion (PMD) value measured in
         absence of other impairments.

         This list of pair PMD and OSNR penalty can be used to
         sample the function OSNR penalty = f(PMD).";
      reference
        "RFC ZZZZ: A YANG Data Model for Optical Impairment-aware
                   Topology, Section 2.4.6";
      leaf pmd-value {
        type decimal-2 {
          range "0..max";
        }
        units "ps";
        description
          "The Polarization Mode Dispersion (PMD).";
      }
      uses penalty-value;
    }
    leaf max-polarization-dependent-loss {
      type power-loss-or-unknown;
      config false;
      mandatory true;
      description
        "Maximum acceptable accumulated polarization dependent
         loss (PDL) on the receiver at Rx-power reference point
         (rx-ref-channel-power) and in absence of other
         impairments.";
      reference
        "RFC ZZZZ: A YANG Data Model for Optical Impairment-aware
                   Topology, Section 2.4.6";
    }
    list pdl-penalty {
      key "pdl-value";
      config false;
      description
        "Optional penalty associated with a given accumulated
         polarization dependent loss (PDL) value, measured in
         absence of other impairments.

         This list of pair PDL and OSNR penalty can be used to
         sample the function OSNR penalty = f(PDL).";
      reference
        "RFC ZZZZ: A YANG Data Model for Optical Impairment-aware
                   Topology, Section 2.4.6";
      leaf pdl-value {
        type power-loss;
        description
          "Maximum acceptable accumulated polarization dependent
           loss (PDL).";
      }
      uses penalty-value;
    }
    leaf available-modulation-type {
      type identityref {
        base modulation;
      }
      config false;
      description
        "Modulation type the specific transceiver in the list
         can support.";
    }
    leaf min-osnr {
      type snr;
      units "dBm";
      config false;
      description
        "Minimum OSNR measured over 0.1 nm resolution bandwidth:
         if received OSNR at Rx-power reference point
         (rx-ref-channel-power) is lower than min-osnr, an increased
         level of bit-errors post-FEC needs to be expected.";
    }
    leaf rx-ref-channel-power {
      type power-dbm;
      config false;
      description
        "The channel power used as reference for defining penalties
         and min-osnr.";
    }
    list rx-channel-power-penalty {
      key "rx-channel-power-value";
      config false;
      description
        "Optional penalty associated with a received power
         lower than rx-ref-channel-power.

         This list of pair power and OSNR penalty can be used to
         sample the function OSNR penalty = f(rx-channel-power).";
      leaf rx-channel-power-value {
        type power-dbm;
        units "dBm";
        description
          "The Received Power.";
      }
      uses penalty-value;
    }
    leaf min-q-factor {
      type decimal-2;
      units "dB";
      config false;
      description
        "The value of the Q factor at the FEC threshold
         (fec-threshold).";
      reference
        "ITU-T O.201 (07/2003): Q-factor test equipment to estimate
                   the transmission performance of optical channels";
    }
    leaf available-baud-rate {
      type decimal64 {
        fraction-digits 1;
      }
      units "Bd";
      config false;
      description
        "Baud-rate the specific transceiver in
         the list can support.
         Baud-rate is the unit for symbol rate or modulation rate
         in symbols per second or pulses per second.
         It is the number of distinct symbol changes (signal events)
         made to the transmission medium per second in a digitally
         modulated signal or a line code";
    }
    leaf roll-off {
      type decimal64 {
        fraction-digits 4;
        range "0..1";
      }
      config false;
      description
        "the roll-off factor (beta with values from 0 to 1)
         identifies how the real signal shape exceed
         the baud rate. If=0 it is exactly matching
         the baud rate.If=1 the signal exceeds the
         50% of the baud rate at each side.";
    }
    leaf min-carrier-spacing {
      type frequency-ghz;
      config false;
      description
        "This attribute specifies the minimum nominal difference
         between the carrier frequencies of two homogeneous OTSis
         (which have the same optical characteristics but the central
         frequencies) such that if they are placed next to each other
         the interference due to spectrum overlap between them can be
         considered negligible.

         In case of heterogeneous OTSi it is up to path computation
         engine to determine the minimum distance between the carrier
         frequency of the two adjacent OTSi.";
    }
    leaf available-fec-type {
      type identityref {
        base fec-type;
      }
      config false;
      description
        "Available FEC.";
    }
    leaf fec-code-rate {
      type decimal64 {
        fraction-digits 8;
        range "0..max";
      }
      config false;
      description
        "FEC-code-rate";
    }
    leaf fec-threshold {
      type decimal64 {
        fraction-digits 8;
        range "0..max";
      }
      config false;
      description
        "Threshold on the BER, for which FEC
         is able to correct errors";
    }
    leaf in-band-osnr {
      type snr;
      config false;
      description
        "The OSNR defined within the bandwidth of the transmit
         spectral excursion (i.e.,  between the nominal central
         frequency of the channel and the -3.0dB points of the
         transmitter spectrum furthest from the nominal central
         frequency) measured at reference point Ss.

         The in-band OSNR is referenced to an optical bandwidth of
         0.1nm @ 193.7 THz or 12.5 GHz.";
      reference
        "OIF-400ZR-01.0: Implementation Agreement 400ZR";
    }
    leaf out-of-band-osnr {
      type snr;
      config false;
      description
        "The ratio of the peak transmitter power to the integrated
         power outside the transmitter spectral excursion.

         The spectral resolution of the measurement shall be better
         than the maximum spectral width of the peak.

         The out-of-band OSNR is referenced to an optical bandwidth
         of 0.1nm @ 193.7 THz or 12.5 GHz";
      reference
        "OIF-400ZR-01.0: Implementation Agreement 400ZR";
    }
    leaf tx-polarization-power-difference {
      type power-ratio;
      config false;
      description
        "The transmitter polarization dependent power difference
         defined as the power difference between X and Y
         polarizations.";
      reference
        "OIF-400ZR-01.0: Implementation Agreement 400ZR";
    }
    leaf polarization-skew {
      type decimal-2;
      units "ps";
      config false;
      description
        "The X-Y skew, included as a fixed value in the receiver
         polarization mode dispersion (PMD) tolerance limits.";
      reference
        "OIF-400ZR-01.0: Implementation Agreement 400ZR";
    }
  }

  grouping common-standard-organizational-mode {
    description
      "The attributes describing the capabilities for a standard or
       an organizational transceiver's mode.";
    leaf-list line-coding-bitrate {
      type identityref {
        base line-coding;
      }
      config false;
      description
        "The list of the bit rate/line coding of the optical
         tributary signal supported by the transceiver.

         Reporting this list is optional when the standard or
         organization mode supports only one bit rate/line coding.";
      reference
        "ITU-T G.698.2 v3.0 (11/2018): Amplified multichannel dense
                     wavelength division multiplexing applications
                     with single channel optical interfaces Optical
                     transport network, Clause 7.1.2";
    }
  }

  grouping transceiver-tuning-range {
    description
      "Transceiver tuning range (f-min, f-max, f-granularity)";
    leaf min-central-frequency {
      type frequency-thz;
      description
        "This parameter indicates the minimum frequency for the
         transceiver tuning range.";
    }
    leaf max-central-frequency {
      type frequency-thz;
      description
        "This parameter indicates the maximum frequency for the
         transceiver tuning range.";
    }
    leaf transceiver-tunability-granularity {
      type frequency-ghz;
      description
        "This parameter indicates the transceiver frequency
         fine-tuning granularity e.g 3.125GHz or 0.001GHz.";
    }
  }

  grouping common-all-modes {
    description
      "The attributes describing the capabilities for any type of
       transceiver's mode.";
    container transceiver-tuning-range {
      config false;
      description
        "Transceiver tuning range (f-min, f-max, f-granularity)";
      uses transceiver-tuning-range;
    }
    leaf tx-channel-power-min {
      type power-dbm;
      config false;
      description
        "The minimum output power of this interface";
    }
    leaf tx-channel-power-max {
      type power-dbm;
      config false;
      description
        "The maximum output power of this interface";
    }
    leaf rx-channel-power-min {
      type power-dbm;
      config false;
      description
        "The minimum input power of this interface";
    }
    leaf rx-channel-power-max {
      type power-dbm;
      config false;
      description
        "The maximum input power of this interface";
    }
    leaf rx-total-power-max {
      type power-dbm;
      config false;
      description
        "Maximum rx optical power for all the channels.

         It is applicable only to multichannel modes.";
    }
  }

  grouping common-transceiver-param {
    description
      "The common parameters of an optical transceiver,
       that supplement the configured mode.";
    uses common-transceiver-configured-param;
    uses common-transceiver-readonly-param;
  }

  grouping common-transceiver-configured-param {
    description
      "The configured parameters of an optical transceiver,
       that supplement the configured mode.";
    leaf line-coding-bitrate {
      type identityref {
        base line-coding;
      }
      description
        "Bit rate/line coding of the optical tributary signal.

         Support of this attribute is optional when the configured
         mode supports only one bit rate/line coding.";
      reference
        "ITU-T G.698.2 v3.0 (11/2018): Amplified multichannel dense
                     wavelength division multiplexing applications
                     with single channel optical interfaces Optical
                     transport network, Clause 7.1.2";
    }
    leaf tx-channel-power {
      type power-dbm-or-unknown;
      description
        "The current channel transmit power.

         The 'unknown' value MUST NOT be used when this attribute is
         configured.";
    }
  }

  grouping common-transceiver-readonly-param {
    description
      "The common read-only parameters of an optical transceiver,
       that supplement the configured mode.";
    leaf rx-channel-power {
      type power-dbm-or-unknown;
      config false;
      description
        "The current channel received power.";
    }
    leaf rx-total-power {
      type power-dbm-or-unknown;
      config false;
      description
        "The current total received power.";
    }
  }

  grouping tunnel-attributes {
    description
      "Parameters for Layer0 (WSON or Flexi-Grid) Tunnels.";
    leaf wavelength-assignment {
      type identityref {
        base wavelength-assignment;
      }
      description
        "Wavelength Allocation Method.";
    }
  }

  grouping frequency-range {
    description
      "This grouping defines the lower and upper bounds of a
       frequency range (e.g., a band).

       This grouping SHOULD NOT be used to define a frequency slot,
       which SHOULD be defined using the n and m values instead.";
    leaf lower-frequency {
      type frequency-thz;
      mandatory true;
      description
        "The lower frequency boundary of the
         frequency range.";
    }
    leaf upper-frequency {
      type frequency-thz;
      must '. > ../lower-frequency' {
        error-message
          "The upper frequency must be greater than the lower
           frequency.";
      }
      mandatory true;
      description
        "The upper frequency boundary of the
         frequency range.";
    }
  }

  grouping frequency-range-with-identifier {
    description
      "This grouping extends the frequency-range with an identifier,
       which used as a key when it is needed to define different
       properties (e.g., optical impairments) for different
       frequency ranges.";
    leaf frequency-range-id {
      type uint16;
      description
        "The identifier of the frequency range.";
    }
    container frequency-range {
      description
        "The frequency range for which these optical
         impairments apply.";
      uses frequency-range;
    }
  }

  grouping path-constraints {
    description
      "Common attribute for Layer 0 path constraints to be used by
       Layer 0 computation.";
    leaf gsnr-extra-margin {
      type snr {
        range "0..max";
      }
      default "0";
      description
        "An additional margin to be added to the OSNR-min of the
         transceiver when checking the estimated received Generalized
         SNR (GSNR).";
    }
  }

  grouping path-properties {
    description
      "Common attribute for reporting the Layer 0 computed path
       properties.";
    leaf estimated-gsnr {
      type snr;
      config false;
      description
        "The estimate received GSNR for the computed path.";
    }
    leaf estimated-eol-gsnr {
      type snr;
      config false;
      description
        "The estimate received GSNR for the computed path
         degraded at the end of life.";
    }
    leaf estimated-lowest-gsnr {
      type snr;
      config false;
      description
        "The estimate lowest received GSNR for the computed path
         among all possible wavelength channels along the same
         path.";
    }
  }
}
]]></sourcecode></figure>

</section>
<section anchor="security-considerations"><name>Security Considerations</name>

<t>This section is modeled after the template described in <xref section="3.7" sectionFormat="of" target="I-D.ietf-netmod-rfc8407bis"/>.</t>

<t>The "ietf-layer0-types" YANG module defines a data model that is
designed to be accessed via YANG-based management protocols, such as
NETCONF <xref target="RFC6241"/> and RESTCONF <xref target="RFC8040"/>. These YANG-based management
protocols (1) have to use a secure transport layer
(e.g., SSH <xref target="RFC4252"/>, TLS <xref target="RFC8446"/>, and
QUIC <xref target="RFC9000"/>) and (2) have
to use mutual authentication.</t>

<t>The Network Configuration Access Control Model (NACM) <xref target="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.</t>

<t>The YANG module defines a set of identities, types, and
groupings. These nodes are intended to be reused by other YANG
modules. The module by itself does not expose any data nodes that
are writable, data nodes that contain read-only state, or RPCs.
As such, there are no additional security issues related to
the YANG module that need to be considered.</t>

<t>Modules that use the groupings that are defined in this document
should identify the corresponding security considerations.</t>

</section>
<section anchor="iana-considerations"><name>IANA Considerations</name>

<t>IANA is requested to update the following registration in the "ns" registry
within the "IETF XML Registry" group <xref target="RFC3688"/> to reference this document:</t>

<figure><artwork><![CDATA[
      URI: urn:ietf:params:xml:ns:yang:ietf-layer0-types
      Registrant Contact:  The IESG.
      XML: N/A; the requested URI is an XML namespace.
]]></artwork></figure>

<t>IANA is requested to register the following YANG module in the "YANG Module Names" registry <xref target="RFC6020"/>
within the "YANG Parameters" registry group.</t>

<figure><artwork><![CDATA[
      Name: ietf-layer0-types
      Maintained by IANA? N
      Namespace: urn:ietf:params:xml:ns:yang:ietf-layer0-types
      Prefix: l0-types
      Reference: RFC XXXX
]]></artwork></figure>

</section>


  </middle>

  <back>


<references title='References' anchor="sec-combined-references">

    <references title='Normative References' anchor="sec-normative-references">

<reference anchor="ITU-T_G.666" target="https://www.itu.int/rec/T-REC-G.666">
  <front>
    <title>Characteristics of polarization mode dispersion compensators and of receivers that compensate for polarization mode dispersion"</title>
    <author >
      <organization>International Telecommunication Union</organization>
    </author>
    <date year="2011" month="February"/>
  </front>
  <seriesInfo name="ITU-T Recommendation G.666" value=""/>
</reference>
<reference anchor="ITU-T_G.694.1" target="https://www.itu.int/rec/T-REC-G.694.1">
  <front>
    <title>Spectral grids for WDM applications: DWDM frequency grid</title>
    <author >
      <organization>International Telecommunication Union</organization>
    </author>
    <date year="2020" month="October"/>
  </front>
  <seriesInfo name="ITU-T Recommendation G.694.1" value=""/>
</reference>
<reference anchor="ITU-T_G.694.2" target="https://www.itu.int/rec/T-REC-G.694.2">
  <front>
    <title>Spectral grids for WDM applications: CWDM wavelength grid</title>
    <author >
      <organization>International Telecommunication Union</organization>
    </author>
    <date year="2003" month="December"/>
  </front>
  <seriesInfo name="ITU-T Recommendation G.694.2" value=""/>
</reference>
<reference anchor="ITU-T_G.698.2" target="https://www.itu.int/rec/T-REC-G.698.2">
  <front>
    <title>Amplified multichannel dense wavelength division multiplexing applications with single channel optical interfaces</title>
    <author >
      <organization>International Telecommunication Union</organization>
    </author>
    <date year="2018" month="November"/>
  </front>
  <seriesInfo name="ITU-T Recommendation G.698.2" value=""/>
</reference>
<reference anchor="ITU-T_G.709" target="https://www.itu.int/rec/T-REC-G.709">
  <front>
    <title>Interfaces for the optical transport network</title>
    <author >
      <organization>International Telecommunication Union</organization>
    </author>
    <date year="2020" month="June"/>
  </front>
  <seriesInfo name="ITU-T Recommendation G.709" value=""/>
</reference>
<reference anchor="ITU-T_G.709.2" target="https://www.itu.int/rec/T-REC-G.709.2">
  <front>
    <title>OTU4 long-reach interface</title>
    <author >
      <organization>International Telecommunication Union</organization>
    </author>
    <date year="2020" month="September"/>
  </front>
  <seriesInfo name="ITU-T Recommendation G.709.2, Corrigendum 1" value=""/>
</reference>
<reference anchor="ITU-T_G.709.3" target="https://www.itu.int/rec/T-REC-G.709.3">
  <front>
    <title>Flexible OTN B100G long-reach interfaces</title>
    <author >
      <organization>International Telecommunication Union</organization>
    </author>
    <date year="2022" month="November"/>
  </front>
  <seriesInfo name="ITU-T Recommendation G.709.3, Amendment 1" value=""/>
</reference>
<reference anchor="ITU-T_G.959.1" target="https://www.itu.int/rec/T-REC-G.959.1">
  <front>
    <title>Optical transport network physical layer interfaces</title>
    <author >
      <organization>International Telecommunication Union</organization>
    </author>
    <date year="2018" month="July"/>
  </front>
  <seriesInfo name="ITU-T Recommendation G.959.1" value=""/>
</reference>
<reference anchor="ITU-T_G.975" target="https://www.itu.int/rec/T-REC-G.975">
  <front>
    <title>Forward error correction for submarine systems</title>
    <author >
      <organization>International Telecommunication Union</organization>
    </author>
    <date year="2000" month="October"/>
  </front>
  <seriesInfo name="ITU-T Recommendation G.975" value=""/>
</reference>
<reference anchor="ITU-T_G.975.1" target="https://www.itu.int/rec/T-REC-G.975.1">
  <front>
    <title>Forward error correction for high bit-rate DWDM submarine systems</title>
    <author >
      <organization>International Telecommunication Union</organization>
    </author>
    <date year="2013" month="July"/>
  </front>
  <seriesInfo name="ITU-T Recommendation G.975.1, Corrigendum 2" value=""/>
</reference>
<reference anchor="ITU-T_G.977.1" target="https://www.itu.int/rec/T-REC-G.977.1">
  <front>
    <title>Transverse compatible dense wavelength division multiplexing applications for repeatered optical fibre submarine cable systems</title>
    <author >
      <organization>International Telecommunication Union</organization>
    </author>
    <date year="2021" month="February"/>
  </front>
  <seriesInfo name="ITU-T Recommendation G.977.1" value=""/>
</reference>
<reference anchor="ITU-T_G.9700" target="https://www.itu.int/rec/T-REC-G.9700">
  <front>
    <title>Fast access to subscriber terminals (G.fast) - Power spectral density specification</title>
    <author >
      <organization>International Telecommunication Union</organization>
    </author>
    <date year="2019" month="July"/>
  </front>
  <seriesInfo name="ITU-T Recommendation G.9700" value=""/>
</reference>
<reference anchor="OIF_400ZR" target="https://www.oiforum.com/wp-content/uploads/OIF-400ZR-01.0_reduced2.pdf">
  <front>
    <title>Implementation Agreement 400ZR</title>
    <author >
      <organization>Optical Internetworking Forum</organization>
    </author>
    <date year="2020" month="March"/>
  </front>
  <seriesInfo name="OIF-400ZR-01.0 Implementation Agreement" value=""/>
</reference>


<reference anchor="RFC8342">
  <front>
    <title>Network Management Datastore Architecture (NMDA)</title>
    <author fullname="M. Bjorklund" initials="M." surname="Bjorklund"/>
    <author fullname="J. Schoenwaelder" initials="J." surname="Schoenwaelder"/>
    <author fullname="P. Shafer" initials="P." surname="Shafer"/>
    <author fullname="K. Watsen" initials="K." surname="Watsen"/>
    <author fullname="R. Wilton" initials="R." surname="Wilton"/>
    <date month="March" year="2018"/>
    <abstract>
      <t>Datastores are a fundamental concept binding the data models written in the YANG data modeling language to network management protocols such as the Network Configuration Protocol (NETCONF) and RESTCONF. This document defines an architectural framework for datastores based on the experience gained with the initial simpler model, addressing requirements that were not well supported in the initial model. This document updates RFC 7950.</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="8342"/>
  <seriesInfo name="DOI" value="10.17487/RFC8342"/>
</reference>

<reference anchor="I-D.ietf-teas-rfc8776-update">
   <front>
      <title>Common YANG Data Types for Traffic Engineering</title>
      <author fullname="Italo Busi" initials="I." surname="Busi">
         <organization>Huawei</organization>
      </author>
      <author fullname="Aihua Guo" initials="A." surname="Guo">
         <organization>Futurewei Technologies</organization>
      </author>
      <author fullname="Xufeng Liu" initials="X." surname="Liu">
         <organization>Alef Edge</organization>
      </author>
      <author fullname="Tarek Saad" initials="T." surname="Saad">
         <organization>Cisco Systems Inc.</organization>
      </author>
      <author fullname="Igor Bryskin" initials="I." surname="Bryskin">
         <organization>Individual</organization>
      </author>
      <date day="20" month="October" year="2025"/>
      <abstract>
	 <t>   This document defines a collection of common data types, identities,
   and groupings in YANG data modeling language.  These derived common
   data types, identities and groupings are intended to be imported by
   other modules, e.g., those which model the Traffic Engineering (TE)
   configuration and state capabilities.

   This document obsoletes RFC 8776.

	 </t>
      </abstract>
   </front>
   <seriesInfo name="Internet-Draft" value="draft-ietf-teas-rfc8776-update-19"/>
   
</reference>

<reference anchor="I-D.ietf-ccamp-optical-impairment-topology-yang">
   <front>
      <title>A YANG Data Model for Optical Impairment-aware Topology</title>
      <author fullname="Dieter Beller" initials="D." surname="Beller">
         <organization>Nokia</organization>
      </author>
      <author fullname="Esther Le Rouzic" initials="E." surname="Le Rouzic">
         <organization>Orange</organization>
      </author>
      <author fullname="Sergio Belotti" initials="S." surname="Belotti">
         <organization>Nokia</organization>
      </author>
      <author fullname="Gabriele Galimberti" initials="G." surname="Galimberti">
         <organization>Nokia</organization>
      </author>
      <author fullname="Italo Busi" initials="I." surname="Busi">
         <organization>Huawei Technologies</organization>
      </author>
      <date day="10" month="October" year="2025"/>
      <abstract>
	 <t>   In order to provision an optical connection through optical networks,
   a combination of path continuity, resource availability, and
   impairment constraints must be met to determine viable and optimal
   paths through the network.  The determination of appropriate paths is
   known as Impairment-Aware Routing and Wavelength Assignment (IA-RWA)
   for a Wavelength Switched Optical Network (WSON), while it is known
   as Impairment-Aware Routing and Spectrum Assignment (IA-RSA) for a
   Spectrum Switched Optical Network (SSON).

   This document provides a YANG data model for the impairment-aware TE
   topology in optical networks.

	 </t>
      </abstract>
   </front>
   <seriesInfo name="Internet-Draft" value="draft-ietf-ccamp-optical-impairment-topology-yang-20"/>
   
</reference>
<reference anchor="RFC7950">
  <front>
    <title>The YANG 1.1 Data Modeling Language</title>
    <author fullname="M. Bjorklund" initials="M." role="editor" surname="Bjorklund"/>
    <date month="August" year="2016"/>
    <abstract>
      <t>YANG is a data modeling language used to model configuration data, state data, Remote Procedure Calls, and notifications for network management protocols. This document describes the syntax and semantics of version 1.1 of the YANG language. YANG version 1.1 is a maintenance release of the YANG language, addressing ambiguities and defects in the original specification. There are a small number of backward incompatibilities from YANG version 1. This document also specifies the YANG mappings to the Network Configuration Protocol (NETCONF).</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="7950"/>
  <seriesInfo name="DOI" value="10.17487/RFC7950"/>
</reference>
<reference anchor="RFC2119">
  <front>
    <title>Key words for use in RFCs to Indicate Requirement Levels</title>
    <author fullname="S. Bradner" initials="S." surname="Bradner"/>
    <date month="March" year="1997"/>
    <abstract>
      <t>In many standards track documents several words are used to signify the requirements in the specification. These words are often capitalized. This document defines these words as they should be interpreted in IETF documents. This document specifies an Internet Best Current Practices for the Internet Community, and requests discussion and suggestions for improvements.</t>
    </abstract>
  </front>
  <seriesInfo name="BCP" value="14"/>
  <seriesInfo name="RFC" value="2119"/>
  <seriesInfo name="DOI" value="10.17487/RFC2119"/>
</reference>
<reference anchor="RFC8174">
  <front>
    <title>Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words</title>
    <author fullname="B. Leiba" initials="B." surname="Leiba"/>
    <date month="May" year="2017"/>
    <abstract>
      <t>RFC 2119 specifies common key words that may be used in protocol specifications. This document aims to reduce the ambiguity by clarifying that only UPPERCASE usage of the key words have the defined special meanings.</t>
    </abstract>
  </front>
  <seriesInfo name="BCP" value="14"/>
  <seriesInfo name="RFC" value="8174"/>
  <seriesInfo name="DOI" value="10.17487/RFC8174"/>
</reference>
<reference anchor="RFC6205">
  <front>
    <title>Generalized Labels for Lambda-Switch-Capable (LSC) Label Switching Routers</title>
    <author fullname="T. Otani" initials="T." role="editor" surname="Otani"/>
    <author fullname="D. Li" initials="D." role="editor" surname="Li"/>
    <date month="March" year="2011"/>
    <abstract>
      <t>Technology in the optical domain is constantly evolving, and, as a consequence, new equipment providing lambda switching capability has been developed and is currently being deployed.</t>
      <t>Generalized MPLS (GMPLS) is a family of protocols that can be used to operate networks built from a range of technologies including wavelength (or lambda) switching. For this purpose, GMPLS defined a wavelength label as only having significance between two neighbors. Global wavelength semantics are not considered.</t>
      <t>In order to facilitate interoperability in a network composed of next generation lambda-switch-capable equipment, this document defines a standard lambda label format that is compliant with the Dense Wavelength Division Multiplexing (DWDM) and Coarse Wavelength Division Multiplexing (CWDM) grids defined by the International Telecommunication Union Telecommunication Standardization Sector. The label format defined in this document can be used in GMPLS signaling and routing protocols. [STANDARDS-TRACK]</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="6205"/>
  <seriesInfo name="DOI" value="10.17487/RFC6205"/>
</reference>
<reference anchor="RFC7699">
  <front>
    <title>Generalized Labels for the Flexi-Grid in Lambda Switch Capable (LSC) Label Switching Routers</title>
    <author fullname="A. Farrel" initials="A." surname="Farrel"/>
    <author fullname="D. King" initials="D." surname="King"/>
    <author fullname="Y. Li" initials="Y." surname="Li"/>
    <author fullname="F. Zhang" initials="F." surname="Zhang"/>
    <date month="November" year="2015"/>
    <abstract>
      <t>GMPLS supports the description of optical switching by identifying entries in fixed lists of switchable wavelengths (called grids) through the encoding of lambda labels. Work within the ITU-T Study Group 15 has defined a finer-granularity grid, and the facility to flexibly select different widths of spectrum from the grid. This document defines a new GMPLS lambda label format to support this flexi-grid.</t>
      <t>This document updates RFCs 3471 and 6205 by introducing a new label format.</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="7699"/>
  <seriesInfo name="DOI" value="10.17487/RFC7699"/>
</reference>
<reference anchor="RFC7689">
  <front>
    <title>Signaling Extensions for Wavelength Switched Optical Networks</title>
    <author fullname="G. Bernstein" initials="G." role="editor" surname="Bernstein"/>
    <author fullname="S. Xu" initials="S." surname="Xu"/>
    <author fullname="Y. Lee" initials="Y." role="editor" surname="Lee"/>
    <author fullname="G. Martinelli" initials="G." surname="Martinelli"/>
    <author fullname="H. Harai" initials="H." surname="Harai"/>
    <date month="November" year="2015"/>
    <abstract>
      <t>This document provides extensions to Generalized Multiprotocol Label Switching (GMPLS) signaling for control of Wavelength Switched Optical Networks (WSONs). Such extensions are applicable in WSONs under a number of conditions including: (a) when optional processing, such as regeneration, must be configured to occur at specific nodes along a path, (b) where equipment must be configured to accept an optical signal with specific attributes, or (c) where equipment must be configured to output an optical signal with specific attributes. This document provides mechanisms to support distributed wavelength assignment with a choice of distributed wavelength assignment algorithms.</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="7689"/>
  <seriesInfo name="DOI" value="10.17487/RFC7689"/>
</reference>
<reference anchor="RFC7688">
  <front>
    <title>GMPLS OSPF Enhancement for Signal and Network Element Compatibility for Wavelength Switched Optical Networks</title>
    <author fullname="Y. Lee" initials="Y." role="editor" surname="Lee"/>
    <author fullname="G. Bernstein" initials="G." role="editor" surname="Bernstein"/>
    <date month="November" year="2015"/>
    <abstract>
      <t>This document provides Generalized Multiprotocol Label Switching (GMPLS) Open Shortest Path First (OSPF) routing enhancements to support signal compatibility constraints associated with Wavelength Switched Optical Network (WSON) elements. These routing enhancements are applicable in common optical or hybrid electro-optical networks where not all the optical signals in the network are compatible with all network elements participating in the network.</t>
      <t>This compatibility constraint model is applicable to common optical or hybrid electro-optical systems such as optical-electronic-optical (OEO) switches, regenerators, and wavelength converters, since such systems can be limited to processing only certain types of WSON signals.</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="7688"/>
  <seriesInfo name="DOI" value="10.17487/RFC7688"/>
</reference>
<reference anchor="RFC8363">
  <front>
    <title>GMPLS OSPF-TE Extensions in Support of Flexi-Grid Dense Wavelength Division Multiplexing (DWDM) Networks</title>
    <author fullname="X. Zhang" initials="X." surname="Zhang"/>
    <author fullname="H. Zheng" initials="H." surname="Zheng"/>
    <author fullname="R. Casellas" initials="R." surname="Casellas"/>
    <author fullname="O. Gonzalez de Dios" initials="O." surname="Gonzalez de Dios"/>
    <author fullname="D. Ceccarelli" initials="D." surname="Ceccarelli"/>
    <date month="May" year="2018"/>
    <abstract>
      <t>The International Telecommunication Union Telecommunication standardization sector (ITU-T) has extended its Recommendations G.694.1 and G.872 to include a new Dense Wavelength Division Multiplexing (DWDM) grid by defining channel spacings, a set of nominal central frequencies, and the concept of the "frequency slot". Corresponding techniques for data-plane connections are known as "flexi-grid".</t>
      <t>Based on the characteristics of flexi-grid defined in G.694.1 and in RFCs 7698 and 7699, this document describes the Open Shortest Path First - Traffic Engineering (OSPF-TE) extensions in support of GMPLS control of networks that include devices that use the new flexible optical grid.</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="8363"/>
  <seriesInfo name="DOI" value="10.17487/RFC8363"/>
</reference>
<reference anchor="RFC3471">
  <front>
    <title>Generalized Multi-Protocol Label Switching (GMPLS) Signaling Functional Description</title>
    <author fullname="L. Berger" initials="L." role="editor" surname="Berger"/>
    <date month="January" year="2003"/>
    <abstract>
      <t>This document describes extensions to Multi-Protocol Label Switching (MPLS) signaling required to support Generalized MPLS. Generalized MPLS extends the MPLS control plane to encompass time-division (e.g., Synchronous Optical Network and Synchronous Digital Hierarchy, SONET/SDH), wavelength (optical lambdas) and spatial switching (e.g., incoming port or fiber to outgoing port or fiber). This document presents a functional description of the extensions. Protocol specific formats and mechanisms, and technology specific details are specified in separate documents. [STANDARDS-TRACK]</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="3471"/>
  <seriesInfo name="DOI" value="10.17487/RFC3471"/>
</reference>
<reference anchor="RFC8795">
  <front>
    <title>YANG Data Model for Traffic Engineering (TE) Topologies</title>
    <author fullname="X. Liu" initials="X." surname="Liu"/>
    <author fullname="I. Bryskin" initials="I." surname="Bryskin"/>
    <author fullname="V. Beeram" initials="V." surname="Beeram"/>
    <author fullname="T. Saad" initials="T." surname="Saad"/>
    <author fullname="H. Shah" initials="H." surname="Shah"/>
    <author fullname="O. Gonzalez de Dios" initials="O." surname="Gonzalez de Dios"/>
    <date month="August" year="2020"/>
    <abstract>
      <t>This document defines a YANG data model for representing, retrieving, and manipulating Traffic Engineering (TE) Topologies. The model serves as a base model that other technology-specific TE topology models can augment.</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="8795"/>
  <seriesInfo name="DOI" value="10.17487/RFC8795"/>
</reference>
<reference anchor="RFC4203">
  <front>
    <title>OSPF Extensions in Support of Generalized Multi-Protocol Label Switching (GMPLS)</title>
    <author fullname="K. Kompella" initials="K." role="editor" surname="Kompella"/>
    <author fullname="Y. Rekhter" initials="Y." role="editor" surname="Rekhter"/>
    <date month="October" year="2005"/>
    <abstract>
      <t>This document specifies encoding of extensions to the OSPF routing protocol in support of Generalized Multi-Protocol Label Switching (GMPLS). [STANDARDS-TRACK]</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="4203"/>
  <seriesInfo name="DOI" value="10.17487/RFC4203"/>
</reference>
<reference anchor="RFC8341">
  <front>
    <title>Network Configuration Access Control Model</title>
    <author fullname="A. Bierman" initials="A." surname="Bierman"/>
    <author fullname="M. Bjorklund" initials="M." surname="Bjorklund"/>
    <date month="March" year="2018"/>
    <abstract>
      <t>The standardization of network configuration interfaces for use with the Network Configuration Protocol (NETCONF) or the RESTCONF protocol requires a structured and secure operating environment that promotes human usability and multi-vendor interoperability. There is a need for standard mechanisms to restrict NETCONF or RESTCONF protocol access for particular users to a preconfigured subset of all available NETCONF or RESTCONF protocol operations and content. This document defines such an access control model.</t>
      <t>This document obsoletes RFC 6536.</t>
    </abstract>
  </front>
  <seriesInfo name="STD" value="91"/>
  <seriesInfo name="RFC" value="8341"/>
  <seriesInfo name="DOI" value="10.17487/RFC8341"/>
</reference>



    </references>

    <references title='Informative References' anchor="sec-informative-references">

<reference anchor="ITU-T_G.807" >
  <front>
    <title>Generic functional architecture of the optical media network</title>
    <author >
      <organization>International Telecommunication Union</organization>
    </author>
    <date year="2021" month="January"/>
  </front>
  <seriesInfo name="ITU-T Supplement G.807, Amendment 1" value=""/>
</reference>
<reference anchor="ITU-T_G.872" >
  <front>
    <title>Architecture of optical transport networks</title>
    <author >
      <organization>International Telecommunication Union</organization>
    </author>
    <date year="2021" month="January"/>
  </front>
  <seriesInfo name="ITU-T Supplement G.872, Amendment 1" value=""/>
</reference>
<reference anchor="ITU-T_G.Sup39" >
  <front>
    <title>Optical system design and engineering considerations</title>
    <author >
      <organization>International Telecommunication Union</organization>
    </author>
    <date year="2016" month="February"/>
  </front>
  <seriesInfo name="ITU-T Supplement G.Sup39" value=""/>
</reference>


<reference anchor="RFC6163">
  <front>
    <title>Framework for GMPLS and Path Computation Element (PCE) Control of Wavelength Switched Optical Networks (WSONs)</title>
    <author fullname="Y. Lee" initials="Y." role="editor" surname="Lee"/>
    <author fullname="G. Bernstein" initials="G." role="editor" surname="Bernstein"/>
    <author fullname="W. Imajuku" initials="W." surname="Imajuku"/>
    <date month="April" year="2011"/>
    <abstract>
      <t>This document provides a framework for applying Generalized Multi-Protocol Label Switching (GMPLS) and the Path Computation Element (PCE) architecture to the control of Wavelength Switched Optical Networks (WSONs). In particular, it examines Routing and Wavelength Assignment (RWA) of optical paths.</t>
      <t>This document focuses on topological elements and path selection constraints that are common across different WSON environments; as such, it does not address optical impairments in any depth. This document is not an Internet Standards Track specification; it is published for informational purposes.</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="6163"/>
  <seriesInfo name="DOI" value="10.17487/RFC6163"/>
</reference>
<reference anchor="RFC7698">
  <front>
    <title>Framework and Requirements for GMPLS-Based Control of Flexi-Grid Dense Wavelength Division Multiplexing (DWDM) Networks</title>
    <author fullname="O. Gonzalez de Dios" initials="O." role="editor" surname="Gonzalez de Dios"/>
    <author fullname="R. Casellas" initials="R." role="editor" surname="Casellas"/>
    <author fullname="F. Zhang" initials="F." surname="Zhang"/>
    <author fullname="X. Fu" initials="X." surname="Fu"/>
    <author fullname="D. Ceccarelli" initials="D." surname="Ceccarelli"/>
    <author fullname="I. Hussain" initials="I." surname="Hussain"/>
    <date month="November" year="2015"/>
    <abstract>
      <t>To allow efficient allocation of optical spectral bandwidth for systems that have high bit-rates, the International Telecommunication Union Telecommunication Standardization Sector (ITU-T) has extended its Recommendations G.694.1 and G.872 to include a new Dense Wavelength Division Multiplexing (DWDM) grid by defining a set of nominal central frequencies, channel spacings, and the concept of the "frequency slot". In such an environment, a data-plane connection is switched based on allocated, variable-sized frequency ranges within the optical spectrum, creating what is known as a flexible grid (flexi-grid).</t>
      <t>Given the specific characteristics of flexi-grid optical networks and their associated technology, this document defines a framework and the associated control-plane requirements for the application of the existing GMPLS architecture and control-plane protocols to the control of flexi-grid DWDM networks. The actual extensions to the GMPLS protocols will be defined in companion documents.</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="7698"/>
  <seriesInfo name="DOI" value="10.17487/RFC7698"/>
</reference>
<reference anchor="RFC9093">
  <front>
    <title>A YANG Data Model for Layer 0 Types</title>
    <author fullname="H. Zheng" initials="H." surname="Zheng"/>
    <author fullname="Y. Lee" initials="Y." surname="Lee"/>
    <author fullname="A. Guo" initials="A." surname="Guo"/>
    <author fullname="V. Lopez" initials="V." surname="Lopez"/>
    <author fullname="D. King" initials="D." surname="King"/>
    <date month="August" year="2021"/>
    <abstract>
      <t>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.</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="9093"/>
  <seriesInfo name="DOI" value="10.17487/RFC9093"/>
</reference>
<reference anchor="RFC7446">
  <front>
    <title>Routing and Wavelength Assignment Information Model for Wavelength Switched Optical Networks</title>
    <author fullname="Y. Lee" initials="Y." role="editor" surname="Lee"/>
    <author fullname="G. Bernstein" initials="G." role="editor" surname="Bernstein"/>
    <author fullname="D. Li" initials="D." surname="Li"/>
    <author fullname="W. Imajuku" initials="W." surname="Imajuku"/>
    <date month="February" year="2015"/>
    <abstract>
      <t>This document provides a model of information needed by the Routing and Wavelength Assignment (RWA) process in Wavelength Switched Optical Networks (WSONs). The purpose of the information described in this model is to facilitate constrained optical path computation in WSONs. This model takes into account compatibility constraints between WSON signal attributes and network elements but does not include constraints due to optical impairments. Aspects of this information that may be of use to other technologies utilizing a GMPLS control plane are discussed.</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="7446"/>
  <seriesInfo name="DOI" value="10.17487/RFC7446"/>
</reference>
<reference anchor="RFC7581">
  <front>
    <title>Routing and Wavelength Assignment Information Encoding for Wavelength Switched Optical Networks</title>
    <author fullname="G. Bernstein" initials="G." role="editor" surname="Bernstein"/>
    <author fullname="Y. Lee" initials="Y." role="editor" surname="Lee"/>
    <author fullname="D. Li" initials="D." surname="Li"/>
    <author fullname="W. Imajuku" initials="W." surname="Imajuku"/>
    <author fullname="J. Han" initials="J." surname="Han"/>
    <date month="June" year="2015"/>
    <abstract>
      <t>A Wavelength Switched Optical Network (WSON) requires certain key information fields be made available to facilitate path computation and the establishment of Label Switched Paths (LSPs). The information model described in "Routing and Wavelength Assignment Information Model for Wavelength Switched Optical Networks" (RFC 7446) shows what information is required at specific points in the WSON. Part of the WSON information model contains aspects that may be of general applicability to other technologies, while other parts are specific to WSONs.</t>
      <t>This document provides efficient, protocol-agnostic encodings for the WSON-specific information fields. It is intended that protocol- specific documents will reference this memo to describe how information is carried for specific uses. Such encodings can be used to extend GMPLS signaling and routing protocols. In addition, these encodings could be used by other mechanisms to convey this same information to a Path Computation Element (PCE).</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="7581"/>
  <seriesInfo name="DOI" value="10.17487/RFC7581"/>
</reference>

<reference anchor="I-D.ietf-ccamp-dwdm-if-param-yang">
   <front>
      <title>A YANG data model to manage configurable DWDM optical interfaces</title>
      <author fullname="Gabriele Galimberti" initials="G." surname="Galimberti">
         <organization>Nokia</organization>
      </author>
      <author fullname="Dharini Hiremagalur" initials="D." surname="Hiremagalur">
         <organization>Juniper</organization>
      </author>
      <author fullname="Gert Grammel" initials="G." surname="Grammel">
         <organization>Juniper</organization>
      </author>
      <author fullname="Roberto Manzotti" initials="R." surname="Manzotti">
         <organization>Cisco</organization>
      </author>
      <author fullname="Dirk Breuer" initials="D." surname="Breuer">
         <organization>DEUTSCHE TELEKOM AG</organization>
      </author>
      <date day="20" month="October" year="2025"/>
      <abstract>
	 <t>   This memo defines a YANG model related to the Optical Transceiver
   parameters characterising coherent 100G and above interfaces.  100G
   and above Transceivers support coherent modulation, multiple
   modulation formats, multiple FEC codes including some not yet
   specified (or in phase of specification by) ITU-T G.698.2 or any
   other ITU-T recommendation.  Use cases are described in RFC7698.

   The YANG model defined in this memo can be used for Optical
   Parameters monitoring and/or configuration of DWDM interfaces.  The
   use of this model does not guarantee interworking of DWDM
   transceivers.  Optical path feasibility and interoperability has to
   be determined by tools and algorithms outside the scope of this
   document.  The purpose of this model is to program interface
   parameters to consistently configure the mode of operation of
   transceivers.

	 </t>
      </abstract>
   </front>
   <seriesInfo name="Internet-Draft" value="draft-ietf-ccamp-dwdm-if-param-yang-14"/>
   
</reference>

<reference anchor="I-D.ietf-netmod-rfc8407bis">
   <front>
      <title>Guidelines for Authors and Reviewers of Documents Containing YANG Data Models</title>
      <author fullname="Andy Bierman" initials="A." surname="Bierman">
         <organization>YumaWorks</organization>
      </author>
      <author fullname="Mohamed Boucadair" initials="M." surname="Boucadair">
         <organization>Orange</organization>
      </author>
      <author fullname="Qin Wu" initials="Q." surname="Wu">
         <organization>Huawei</organization>
      </author>
      <date day="5" month="June" year="2025"/>
      <abstract>
	 <t>   This document provides guidelines for authors and reviewers of
   specifications containing YANG data models, including IANA-maintained
   modules.  Recommendations and procedures are defined, which are
   intended to increase interoperability and usability of Network
   Configuration Protocol (NETCONF) and RESTCONF Protocol
   implementations that utilize YANG modules.  This document obsoletes
   RFC 8407.

   Also, this document updates RFC 8126 by providing additional
   guidelines for writing the IANA considerations for RFCs that specify
   IANA-maintained modules.

	 </t>
      </abstract>
   </front>
   <seriesInfo name="Internet-Draft" value="draft-ietf-netmod-rfc8407bis-28"/>
   
</reference>
<reference anchor="RFC6241">
  <front>
    <title>Network Configuration Protocol (NETCONF)</title>
    <author fullname="R. Enns" initials="R." role="editor" surname="Enns"/>
    <author fullname="M. Bjorklund" initials="M." role="editor" surname="Bjorklund"/>
    <author fullname="J. Schoenwaelder" initials="J." role="editor" surname="Schoenwaelder"/>
    <author fullname="A. Bierman" initials="A." role="editor" surname="Bierman"/>
    <date month="June" year="2011"/>
    <abstract>
      <t>The Network Configuration Protocol (NETCONF) defined in this document provides mechanisms to install, manipulate, and delete the configuration of network devices. It uses an Extensible Markup Language (XML)-based data encoding for the configuration data as well as the protocol messages. The NETCONF protocol operations are realized as remote procedure calls (RPCs). This document obsoletes RFC 4741. [STANDARDS-TRACK]</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="6241"/>
  <seriesInfo name="DOI" value="10.17487/RFC6241"/>
</reference>
<reference anchor="RFC8040">
  <front>
    <title>RESTCONF Protocol</title>
    <author fullname="A. Bierman" initials="A." surname="Bierman"/>
    <author fullname="M. Bjorklund" initials="M." surname="Bjorklund"/>
    <author fullname="K. Watsen" initials="K." surname="Watsen"/>
    <date month="January" year="2017"/>
    <abstract>
      <t>This document describes an HTTP-based protocol that provides a programmatic interface for accessing data defined in YANG, using the datastore concepts defined in the Network Configuration Protocol (NETCONF).</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="8040"/>
  <seriesInfo name="DOI" value="10.17487/RFC8040"/>
</reference>
<reference anchor="RFC4252">
  <front>
    <title>The Secure Shell (SSH) Authentication Protocol</title>
    <author fullname="T. Ylonen" initials="T." surname="Ylonen"/>
    <author fullname="C. Lonvick" initials="C." role="editor" surname="Lonvick"/>
    <date month="January" year="2006"/>
    <abstract>
      <t>The Secure Shell Protocol (SSH) is a protocol for secure remote login and other secure network services over an insecure network. This document describes the SSH authentication protocol framework and public key, password, and host-based client authentication methods. Additional authentication methods are described in separate documents. The SSH authentication protocol runs on top of the SSH transport layer protocol and provides a single authenticated tunnel for the SSH connection protocol. [STANDARDS-TRACK]</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="4252"/>
  <seriesInfo name="DOI" value="10.17487/RFC4252"/>
</reference>
<reference anchor="RFC8446">
  <front>
    <title>The Transport Layer Security (TLS) Protocol Version 1.3</title>
    <author fullname="E. Rescorla" initials="E." surname="Rescorla"/>
    <date month="August" year="2018"/>
    <abstract>
      <t>This document specifies version 1.3 of the Transport Layer Security (TLS) protocol. TLS allows client/server applications to communicate over the Internet in a way that is designed to prevent eavesdropping, tampering, and message forgery.</t>
      <t>This document updates RFCs 5705 and 6066, and obsoletes RFCs 5077, 5246, and 6961. This document also specifies new requirements for TLS 1.2 implementations.</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="8446"/>
  <seriesInfo name="DOI" value="10.17487/RFC8446"/>
</reference>
<reference anchor="RFC9000">
  <front>
    <title>QUIC: A UDP-Based Multiplexed and Secure Transport</title>
    <author fullname="J. Iyengar" initials="J." role="editor" surname="Iyengar"/>
    <author fullname="M. Thomson" initials="M." role="editor" surname="Thomson"/>
    <date month="May" year="2021"/>
    <abstract>
      <t>This document defines the core of the QUIC transport protocol. QUIC provides applications with flow-controlled streams for structured communication, low-latency connection establishment, and network path migration. QUIC includes security measures that ensure confidentiality, integrity, and availability in a range of deployment circumstances. Accompanying documents describe the integration of TLS for key negotiation, loss detection, and an exemplary congestion control algorithm.</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="9000"/>
  <seriesInfo name="DOI" value="10.17487/RFC9000"/>
</reference>
<reference anchor="RFC3688">
  <front>
    <title>The IETF XML Registry</title>
    <author fullname="M. Mealling" initials="M." surname="Mealling"/>
    <date month="January" year="2004"/>
    <abstract>
      <t>This document describes an IANA maintained registry for IETF standards which use Extensible Markup Language (XML) related items such as Namespaces, Document Type Declarations (DTDs), Schemas, and Resource Description Framework (RDF) Schemas.</t>
    </abstract>
  </front>
  <seriesInfo name="BCP" value="81"/>
  <seriesInfo name="RFC" value="3688"/>
  <seriesInfo name="DOI" value="10.17487/RFC3688"/>
</reference>
<reference anchor="RFC6020">
  <front>
    <title>YANG - A Data Modeling Language for the Network Configuration Protocol (NETCONF)</title>
    <author fullname="M. Bjorklund" initials="M." role="editor" surname="Bjorklund"/>
    <date month="October" year="2010"/>
    <abstract>
      <t>YANG is a data modeling language used to model configuration and state data manipulated by the Network Configuration Protocol (NETCONF), NETCONF remote procedure calls, and NETCONF notifications. [STANDARDS-TRACK]</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="6020"/>
  <seriesInfo name="DOI" value="10.17487/RFC6020"/>
</reference>
<reference anchor="RFC8340">
  <front>
    <title>YANG Tree Diagrams</title>
    <author fullname="M. Bjorklund" initials="M." surname="Bjorklund"/>
    <author fullname="L. Berger" initials="L." role="editor" surname="Berger"/>
    <date month="March" year="2018"/>
    <abstract>
      <t>This document captures the current syntax used in YANG module tree diagrams. The purpose of this document is to provide a single location for this definition. This syntax may be updated from time to time based on the evolution of the YANG language.</t>
    </abstract>
  </front>
  <seriesInfo name="BCP" value="215"/>
  <seriesInfo name="RFC" value="8340"/>
  <seriesInfo name="DOI" value="10.17487/RFC8340"/>
</reference>



    </references>

</references>


<?line 3017?>

<section anchor="yang-tree"><name>The Complete Schema Trees</name>

<t>This appendix presents the complete tree of the Layer 0 Types data model. See <xref target="RFC8340"/> for an explanation of the symbols used. The data type of every leaf node is shown near the right end of the corresponding line.</t>

<figure anchor="fig-yang-tree"><artwork type="ascii-art"><![CDATA[
module: ietf-layer0-types

  grouping l0-label-range-info:
    +-- grid-type?   identityref
    +-- priority?    uint8
  grouping wson-label-start-end:
    +-- (grid-type)?
       +--:(dwdm)
       |  +-- dwdm-n?   dwdm-n
       +--:(cwdm)
          +-- cwdm-n?   cwdm-n
  grouping wson-label-step:
    +-- (l0-grid-type)?
       +--:(dwdm)
       |  +-- wson-dwdm-channel-spacing?   identityref
       +--:(cwdm)
          +-- wson-cwdm-channel-spacing?   identityref
  grouping wson-label-hop:
    +-- (grid-type)?
       +--:(dwdm)
       |  +-- (single-or-super-channel)?
       |     +--:(single)
       |     |  +-- dwdm-n?              dwdm-n
       |     +--:(super)
       |        +-- subcarrier-dwdm-n*   dwdm-n
       +--:(cwdm)
          +-- cwdm-n?                    cwdm-n
  grouping flexi-grid-label-range-info:
    +-- grid-type?    identityref
    +-- priority?     uint8
    +-- flexi-grid
       +-- slot-width-granularity?   identityref
       +-- min-slot-width-factor?    uint16
       +-- max-slot-width-factor?    uint16
  grouping flexi-grid-label-start-end:
    +-- flexi-n?   flexi-n
  grouping flexi-grid-label-step:
    o-- flexi-grid-channel-spacing?   identityref
    +-- flexi-ncfg?                   identityref
    +-- flexi-n-step?                 uint8
  grouping flexi-grid-frequency-slot:
    +-- flexi-n?   flexi-n
    +-- flexi-m?   flexi-m
  grouping flexi-grid-label-hop:
    +-- (single-or-super-channel)?
       +--:(single)
       |  +-- flexi-n?              flexi-n
       |  +-- flexi-m?              flexi-m
       o--:(super)
       |  o-- subcarrier-flexi-n* [flexi-n]
       |     +-- flexi-n?   flexi-n
       |     +-- flexi-m?   flexi-m
       +--:(multi)
          +-- frequency-slots
             +-- frequency-slot* [flexi-n]
                +-- flexi-n?   flexi-n
                +-- flexi-m?   flexi-m
  grouping wdm-label-range-info:
    +-- wdm-label-range
       +-- grid-type?    identityref
       +-- priority?     uint8
       +-- flexi-grid
          +-- slot-width-granularity?   identityref
          +-- min-slot-width-factor?    uint16
          +-- max-slot-width-factor?    uint16
  grouping wdm-label-start-end:
    +-- wdm-label
       +-- dwdm-n?    dwdm-n
       +-- cwdm-n?    cwdm-n
       +-- flexi-n?   flexi-n
  grouping wdm-label-step:
    +-- wdm-label-step
       +-- wson-dwdm-channel-spacing?   identityref
       +-- wson-cwdm-channel-spacing?   identityref
       +-- flexi-grid-cfg
          o-- flexi-grid-channel-spacing?   identityref
          +-- flexi-ncfg?                   identityref
          +-- flexi-n-step?                 uint8
  grouping wdm-label-hop:
    +-- wdm-label
       +-- (grid-type)?
          +--:(fixed-dwdm)
          |  +-- (fixed-single-or-multi-channel)?
          |     +--:(single)
          |     |  +-- dwdm-n?               dwdm-n
          |     +--:(multi)
          |        +-- subcarrier-dwdm-n*    dwdm-n
          +--:(cwdm)
          |  +-- cwdm-n?                     cwdm-n
          +--:(flexi-grid)
             +-- (single-or-super-channel)?
                +--:(single)
                |  +-- flexi-n?              flexi-n
                |  +-- flexi-m?              flexi-m
                o--:(super)
                |  o-- subcarrier-flexi-n* [flexi-n]
                |     +-- flexi-n?   flexi-n
                |     +-- flexi-m?   flexi-m
                +--:(multi)
                   +-- frequency-slots
                      +-- frequency-slot* [flexi-n]
                         +-- flexi-n?   flexi-n
                         +-- flexi-m?   flexi-m
  grouping transceiver-capabilities:
    +--ro supported-modes!
       +--ro supported-mode* [mode-id]
          +--ro mode-id?                     string
          +--ro (mode)
             +--:(g.698.2)
             |  +--ro g.698.2
             |     +--ro standard-mode               standard-mode
             |     +--ro line-coding-bitrate*        identityref
             |     +--ro transceiver-tuning-range
             |     |  +--ro min-central-frequency?
             |     |  |       frequency-thz
             |     |  +--ro max-central-frequency?
             |     |  |       frequency-thz
             |     |  +--ro transceiver-tunability-granularity?
             |     |          frequency-ghz
             |     +--ro tx-channel-power-min?       power-dbm
             |     +--ro tx-channel-power-max?       power-dbm
             |     +--ro rx-channel-power-min?       power-dbm
             |     +--ro rx-channel-power-max?       power-dbm
             |     +--ro rx-total-power-max?         power-dbm
             +--:(organizational-mode)
             |  +--ro organizational-mode
             |     +--ro operational-mode            operational-mode
             |     +--ro organization-identifier
             |     |       organization-identifier
             |     +--ro line-coding-bitrate*        identityref
             |     +--ro transceiver-tuning-range
             |     |  +--ro min-central-frequency?
             |     |  |       frequency-thz
             |     |  +--ro max-central-frequency?
             |     |  |       frequency-thz
             |     |  +--ro transceiver-tunability-granularity?
             |     |          frequency-ghz
             |     +--ro tx-channel-power-min?       power-dbm
             |     +--ro tx-channel-power-max?       power-dbm
             |     +--ro rx-channel-power-min?       power-dbm
             |     +--ro rx-channel-power-max?       power-dbm
             |     +--ro rx-total-power-max?         power-dbm
             +--:(explicit-mode)
                +--ro explicit-mode
                   +--ro transceiver-tuning-range
                   |  +--ro min-central-frequency?
                   |  |       frequency-thz
                   |  +--ro max-central-frequency?
                   |  |       frequency-thz
                   |  +--ro transceiver-tunability-granularity?
                   |          frequency-ghz
                   +--ro tx-channel-power-min?       power-dbm
                   +--ro tx-channel-power-max?       power-dbm
                   +--ro rx-channel-power-min?       power-dbm
                   +--ro rx-channel-power-max?       power-dbm
                   +--ro rx-total-power-max?         power-dbm
                   +--ro compatible-modes
                      +--ro supported-application-code*
                      |       -> ../../../../supported-mode/mode-id
                      +--ro supported-organizational-mode*
                              -> ../../../../supported-mode/mode-id
  grouping standard-mode:
    +-- standard-mode?   standard-mode
  grouping organizational-mode:
    +-- operational-mode?          operational-mode
    +-- organization-identifier?   organization-identifier
  grouping penalty-value:
    +-- penalty-value    union
  grouping explicit-mode:
    +--ro line-coding-bitrate?                identityref
    +--ro bitrate?                            uint16
    +--ro max-diff-group-delay?               decimal-2
    +--ro max-chromatic-dispersion?           decimal-2
    +--ro cd-penalty* [cd-value]
    |  +--ro cd-value?        decimal-2
    |  +--ro penalty-value    union
    +--ro max-polarization-mode-dispersion?   decimal-2
    +--ro pmd-penalty* [pmd-value]
    |  +--ro pmd-value?       decimal-2
    |  +--ro penalty-value    union
    +--ro max-polarization-dependent-loss     power-loss-or-unknown
    +--ro pdl-penalty* [pdl-value]
    |  +--ro pdl-value?       power-loss
    |  +--ro penalty-value    union
    +--ro available-modulation-type?          identityref
    +--ro min-osnr?                           snr
    +--ro rx-ref-channel-power?               power-dbm
    +--ro rx-channel-power-penalty* [rx-channel-power-value]
    |  +--ro rx-channel-power-value?   power-dbm
    |  +--ro penalty-value             union
    +--ro min-q-factor?                       decimal-2
    +--ro available-baud-rate?                decimal64
    +--ro roll-off?                           decimal64
    +--ro min-carrier-spacing?                frequency-ghz
    +--ro available-fec-type?                 identityref
    +--ro fec-code-rate?                      decimal64
    +--ro fec-threshold?                      decimal64
    +--ro in-band-osnr?                       snr
    +--ro out-of-band-osnr?                   snr
    +--ro tx-polarization-power-difference?   power-ratio
    +--ro polarization-skew?                  decimal-2
  grouping common-standard-organizational-mode:
    +--ro line-coding-bitrate*   identityref
  grouping transceiver-tuning-range:
    +-- min-central-frequency?                frequency-thz
    +-- max-central-frequency?                frequency-thz
    +-- transceiver-tunability-granularity?   frequency-ghz
  grouping common-all-modes:
    +--ro transceiver-tuning-range
    |  +--ro min-central-frequency?                frequency-thz
    |  +--ro max-central-frequency?                frequency-thz
    |  +--ro transceiver-tunability-granularity?   frequency-ghz
    +--ro tx-channel-power-min?       power-dbm
    +--ro tx-channel-power-max?       power-dbm
    +--ro rx-channel-power-min?       power-dbm
    +--ro rx-channel-power-max?       power-dbm
    +--ro rx-total-power-max?         power-dbm
  grouping common-transceiver-param:
    +-- line-coding-bitrate?   identityref
    +-- tx-channel-power?      power-dbm-or-unknown
    +--ro rx-channel-power?      power-dbm-or-unknown
    +--ro rx-total-power?        power-dbm-or-unknown
  grouping common-transceiver-configured-param:
    +-- line-coding-bitrate?   identityref
    +-- tx-channel-power?      power-dbm-or-unknown
  grouping common-transceiver-readonly-param:
    +--ro rx-channel-power?   power-dbm-or-unknown
    +--ro rx-total-power?     power-dbm-or-unknown
  grouping tunnel-attributes:
    +-- wavelength-assignment?   identityref
  grouping frequency-range:
    +-- lower-frequency    frequency-thz
    +-- upper-frequency    frequency-thz
  grouping frequency-range-with-identifier:
    +-- frequency-range-id?   uint16
    +-- frequency-range
       +-- lower-frequency    frequency-thz
       +-- upper-frequency    frequency-thz
  grouping path-constraints:
    +-- gsnr-extra-margin?   snr
  grouping path-properties:
    +--ro estimated-gsnr?          snr
    +--ro estimated-eol-gsnr?      snr
    +--ro estimated-lowest-gsnr?   snr
]]></artwork></figure>

</section>
<section anchor="changes-bis"><name>Changes from RFC 9093</name>

<t>This version adds new identities, data types, and groupings to the 'ietf-layer0-types' YANG module. It also fixes few bugs in <xref target="RFC9093"/>.</t>

<t>The following new YANG identities have been added to the 'ietf-layer0-types' module:</t>

<t><list style="symbols">
  <t>cwdm-ch-spc-type;</t>
  <t>flexi-ncfg-type;</t>
  <t>flexi-ncfg-6p25gh;</t>
  <t>modulation;</t>
  <t>dpsk;</t>
  <t>qpsk;</t>
  <t>dp-qpsk;</t>
  <t>qam8;</t>
  <t>dp-qam8;</t>
  <t>qam16;</t>
  <t>dp-qam16;</t>
  <t>qam32;</t>
  <t>dp-qam32;</t>
  <t>qam64;</t>
  <t>dp-qam64;</t>
  <t>fec-type;</t>
  <t>g-fec;</t>
  <t>super-fec;</t>
  <t>no-fec;</t>
  <t>sc-fec;</t>
  <t>o-fec;</t>
  <t>c-fec;</t>
  <t>line-coding;</t>
  <t>nrz-2p5g;</t>
  <t>nrz-otu1;</t>
  <t>nrz-10g;</t>
  <t>nrz-otu2;</t>
  <t>otl4.4-sc;</t>
  <t>foic1.4-sc;</t>
  <t>wavelength-assignment;</t>
  <t>first-fit-wavelength-assignment;</t>
  <t>random-wavelength-assignment;</t>
  <t>least-loaded-wavelength-assignment;</t>
  <t>lower-first-wavelength-assignment;</t>
  <t>upper-first-wavelength-assignment;</t>
  <t>type-power-mode;</t>
  <t>power-spectral-density;</t>
  <t>carrier-power;</t>
  <t>switching-wson-lsc;</t>
  <t>switching-flexi-grid-lsc.</t>
</list></t>

<t>The following new YANG data types have been added to the 'ietf-layer0-types' module:</t>

<t><list style="symbols">
  <t>standard-mode</t>
  <t>organization-identifier</t>
  <t>operational-mode</t>
  <t>frequency-thz</t>
  <t>frequency-ghz</t>
  <t>unknown-value</t>
  <t>snr</t>
  <t>snr-or-unknown</t>
  <t>decimal-2</t>
  <t>decimal-2-or-unknown</t>
  <t>power-gain</t>
  <t>power-gain-or-unknown</t>
  <t>power-loss</t>
  <t>power-loss-or-unknown</t>
  <t>power-ratio</t>
  <t>power-ratio-or-unknown</t>
  <t>power-dbm</t>
  <t>power-dbm-or-unknown</t>
  <t>decimal-5</t>
  <t>decimal-5-or-unknown</t>
  <t>psd</t>
  <t>psd-or-unknown</t>
</list></t>

<t>The following new YANG groupings have been added to the 'ietf-layer0-types' module:</t>

<t><list style="symbols">
  <t>wdm-label-start-end</t>
  <t>wdm-label-step</t>
  <t>wdm-label-hop</t>
  <t>wdm-label-range-info</t>
  <t>transceiver-capabilities</t>
  <t>standard-mode</t>
  <t>organizational-mode</t>
  <t>penalty-value</t>
  <t>explicit-mode</t>
  <t>common-standard-organizational-mode</t>
  <t>transceiver-tuning-range</t>
  <t>common-all-mode</t>
  <t>common-transceiver-param</t>
  <t>common-transceiver-configured-param</t>
  <t>common-transceiver-readonly-param</t>
  <t>tunnel-attributes</t>
  <t>frequency-range</t>
  <t>frequency-range-with-identifier</t>
  <t>path-constraints</t>
  <t>path-properties</t>
</list></t>

<t>The following YANG identities have been obsolted (bug fixing) in the 'ietf-layer0-types' module:</t>

<t><list style="symbols">
  <t>flexi-ch-spc-type;</t>
  <t>flexi-ch-spc-6p25ghz.</t>
</list></t>

<t>The case super within the flexi-grid-label-hop has been obsolted (bug fixing).</t>

<t>The flexi-grid-channel-spacing data node in flexi-grid-label-step grouping has been obsoleted (bug fixing).</t>

<t>The default value of the min-slot-width-factor data node within flexi-grid-label-range-info grouping has been removed (bug fixing).</t>

</section>
<section numbered="false" anchor="acknowledgments"><name>Acknowledgments</name>

<t>The authors and the working group give their sincere thanks to Robert
Wilton for the YANG doctor review and to Adrian Farrel and Tom Petch for their comments
during the model and document development.</t>

<t>This document was prepared using kramdown.</t>

</section>

    <section anchor="contributors" numbered="false" toc="include" removeInRFC="false">
        <name>Contributors</name>
    <contact initials="H." surname="Zheng" fullname="Haomian Zheng">
      <organization>Huawei</organization>
      <address>
        <email>zhenghaomian@huawei.com</email>
      </address>
    </contact>
    <contact initials="D." surname="King" fullname="Daniel King">
      <organization>University of Lancaster</organization>
      <address>
        <email>d.king@lancaster.ac.uk</email>
      </address>
    </contact>
    <contact initials="G." surname="Galimberti" fullname="Gabriele Galimberti">
      <organization>Nokia</organization>
      <address>
        <email>gabriele.galimberti@nokia.com</email>
      </address>
    </contact>
    <contact initials="E." surname="Griseri" fullname="Enrico Griseri">
      <organization>Nokia</organization>
      <address>
        <email>Enrico.Griseri@nokia.com</email>
      </address>
    </contact>
    <contact initials="D." surname="Dhody" fullname="Dhruv Dhody">
      <organization>Huawei</organization>
      <address>
        <email>dhruv.ietf@gmail.com</email>
      </address>
    </contact>
    <contact initials="B. Y." surname="Yoon" fullname="Bin Yeong Yoon">
      <organization>ETRI</organization>
      <address>
        <email>byyun@etri.re.kr</email>
      </address>
    </contact>
    <contact initials="R." surname="Vilalta" fullname="Ricard Vilalta">
      <organization>CTTC</organization>
      <address>
        <email>ricard.vilalta@cttc.es</email>
      </address>
    </contact>
    <contact initials="Y." surname="Lee" fullname="Young Lee">
      <organization>Samsung</organization>
      <address>
        <email>younglee.tx@gmail.com</email>
      </address>
    </contact>
    <contact initials="V." surname="Lopez" fullname="Victor Lopez">
      <organization>Nokia</organization>
      <address>
        <email>victor.lopez@nokia.com</email>
      </address>
    </contact>
    <contact initials="R." surname="Manzotti" fullname="Roberto Manzotti">
      <organization>Cisco</organization>
      <address>
        <email>rmanzott@cisco.com</email>
      </address>
    </contact>
    <contact initials="G." surname="Grammel" fullname="Gert Grammel">
      <organization>Juniper</organization>
      <address>
        <email>ggrammel@juniper.net</email>
      </address>
    </contact>
    </section>

  </back>

<!-- ##markdown-source:
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

-->

</rfc>

