<?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-18" 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="October" day="10"/>

    
    <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-10-02.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-10-10 {
    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="29" month="August" 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-18"/>
   
</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="7" month="July" 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-19"/>
   
</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="7" month="July" 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-13"/>
   
</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:
H4sIAAAAAAAAA+19a3fbRpLod/6KXuXcIyoj0KRelpXNJLJkO9q1ZI+lbGZm
75w9EAmSWJMABwAtyxnf33J/y/1lt6r63WiAAEU/JhuemVgE0d3V1dVV1dX1
CIKgM0xHcTI5YctiHBx3OkVczKITdpbO52nC/nJ69YKdh0XIbu4XUc7GacZe
hvdRxvrs1aKIh+GMXUXFXZq9zTud8PY2i96dsJd9qz017YzSYRLOoetRFo6L
II5gvOEwnC+CbDx80n+yH9zGeTALiygvOultns4i+POE4U+dfHk7j/M8TpMC
OjthF89unndw1EmWLhcA7tnp5Wv2CzyAubAX+LAzhK4maXZ/wvJi1IkX2Qkr
smVe7PX7T/p7nU5ehMnov8JZmkCH9wDhIj5h/1mkw12Wp1mRReMc/rqf8z+G
MKEoKfK/wTSXxTTNTjqMBfB/xvi0rqNsEqfsaTRLiyKmH9IM8HqVvo1D+pql
iNloFBdpRg+ieRjPADxq2bvlLX9MsEEPxnMGuCgAVvZ0mRud/7QM76K4tvcY
m/VuodmPU3rb0/U5rAasKcA+i7I2oI+oIYIODSshf5YXU+j+ZcTepMsP8ZB+
ihNY3Gc95ymN+yoLk0lkjhNRDz0YhF79MaU3PEOdxjBJ9mKZ6t6eL4tlFsHE
2U00nCbpLJ3EsNpG7yE2mizTHhLljxN8SF3D3kiKLL5dFuXl/ilM53GYsL9O
o2TiXRDR+Qd8YcrfrlmBMImjGfv32Ozs5yR+F2V5XNyzdAz7LhmGeRHZC9BD
iv9xJn/rhcPe8q3T+YvwNoPeI/hjFs9vo8xPn6LLiXi7N1FvV69sksXDFDZc
DERc1yl/sSderOzvfJot38F/09F9HU5H+Jq7WnZPT2PgPlEK3OAvaZrozp7d
vLkwu7q9v18mP0awzL0s6r3NnG7eAIvLRuw/4lk4K0LdzdnNzZnZTUbv9d7x
934cFsWwR0RmdvaXdAnwvIwi3c91OM+XYs1FV/f41iyKesX7ytn9RzwskBWn
i+hDDdbf0Wu9Gb5WifM3Ka5xyi7D5IPNus7ifJhas5zzd34c4i+evl5AT0AN
IfDKme7n35ZJvLDpdjLhL/343/y3XhIVnU6SwggFED3utoubn4Ob/3rROzo6
OqGmQjT9kb4wdjYNs3AINB/nIIhy3CKLdBZm8QfoAmTPPB1FwKDyBW4h+A7Q
LqIkDwEjOQPWjw2yaBjRHmPFNCz0KxFJurrutggKLQrUZC8SACmhNiAcb2Aj
oeiAWQ55P7CpBT2OYBxgT9Fttgyze7bXHwzoOe6QKI+TcXrCkcDeRFz8jHgX
hBOOkjCbRMUJmxbFIj959Oju7q4XF8tenBSPYG6PboI3z84C+b7C6JOD3sDC
6db1IhoWGQA8yeIRl/O/nF+ycLGYCcCBW5/jo3EW/X0ZJcN7enVjaHgFlAp0
CFjY6zfGAs6jHR5ECxMTe2tg4gwf3YXvYFrJpJhuFhXnQJRzjov+fhtc7LXG
xZ6Fi2MHF3Knnc5h7uM4GrH5cgZ7bRomCQirEWyVyMTCKH4X53IujL+8mEXv
UScz8cfuYngb5gNsjsneUq5OirYx4mwcDoWg3gBWr9J3EquD4+ZYPW6N1WML
q4/7TyycXqiJEWmBWiNnDtppmOQLUD1ZwlXqTU0d+G/UamMB0K0mzd83puwQ
0qubnw8YKNqTIIvC4VSv7qZmeB0tCrm6rabZ29uFs0qWxRN4vpyzduyEOnBm
vm/N/DmS/y2Q+aubK/Z00O+/8OLhU1D53l4bPOzvwjaHZ3jIWQML+wYWnhw+
ccTLqyoKZ4vpfU4/zehUuXmE/Ntydt9qyxP0reYvW6j5Pz60aSDN7lCJjLIM
dvwQqA0kDA6GDABPtqBkwAbN70GBn29s4lqg9htvCIC83czpfWPezrrXznwa
T6bsNi6CDPUt0i0+GTIkFTQWpzQXmzW0kwPUgYWcx67OdYO7AZXPiBRPGBoZ
RaVUrZGniM4sWkQw1wyktBQo4/g2iwykDkMcQKD2Uyiwe40VWEJHS4Q+dhDa
79v4fA4nYBYOgXmAOp/ivPMhnN5hD8CE5jHMJmfdF70xvLbDAvY6vYOfcqnu
Id7xpI0PQNnhk90YkiQBPmmOILFtm+OHGry6eP5fB/3+X9/YWgdocBGydt79
6SSL6CujV6smqfg2ny1n2Uh8sK+Xc2N2l2EG0swregGegAYJ+oNevxKQyqmm
8RgHw7Pmo7tFgBYZeP3RcjFLw1H+yO7+v4D6l8NotNdbjMadDkLgOVAe9x/b
hPMiSgDiIRsvk6FYUZxQXABpLGEHwUHR1NPm0SgOpQTbHIWEyapddL1cCOwx
moUrstUEHztnmlNnNpUa5+a4QuvpPN6rmg68t28r0VuSMDkvg72bx5OEDvXA
M4HVwVhApkAseTyKMs4lP8mJ/ajJ3GgCnU4QBCy8zQu0WnQ6N9M4Z6N0uKSX
RtEYwM5ZCEDPZkJKwkoNuR19hCZ4NH3nuwxmlAAeYMDdDs6YTOAw3Ry0J6JT
MrpTC7RZzBATszCZLMNJ1GM304jLG+yWerQ72QVQMtgwIzjop3Pq73YZz4og
ToyOV4ISAqGhMpeMoCdgxrfwdY6UBl9v7xGw5SwSVheCUvEaeb0AizeOJ0u+
eLS0OTCNqDMMF+FtPOOjApMHxhPm7BctL6/hdDmcwjjuBQXr/nL96irfwc46
Y5SjAZ7b4byNEtfo4VxK3EtT4nZRRdlRO6XnLqG6s2Bvnp/RtQXOFMTyLBxi
e7U0fPIsRnsTMEJY9xE/ESNTuYMWYnRCTpwMZ8sRUsZoFAsSrVkHZi1DjxPd
PB6NZlGn8w2SegajE3l1kHTtKcTi5yaEKOkEe1lJKj0cKVKkxTuwQMVukGj4
VlZEg52axCr1HlRkUOtRFA7K1HjMLxGeGSyge/Nsh41BMQLOlyOh3EWzGf6b
pElw80z/1I16k96uOo9gP/KM4lAiaQxAReZdmGSokjgAk9gDQZeLzQ162bJA
fsTliYF3gR05NSRutPhjD3IAPnmhm0BXtNXtpRN04tkJ2FHlZvj11x+AXo8G
R/sfP8IXy0YIT3CR7Kd7Hz/u0mN3C+EwbXeRGP7x0ZPjjx+xgxIEPQ+dwl7I
aa8gWjh6Y64JA9U4+4zoDLvQ+5OPiTsUumeozYDoz+iOahTBhpwhY4k48cnd
iD0QA6JbQKkSWPs5gY7vgdGCkjKKAHXCvJMv53OUFpwkfv0VDV6TKMfrTppd
FRcxobQ5SYzLDf/NGW77LCrue+yi6Cyy9F1MrMLmIx5YNeOJBZ+BoTgPzxAD
iEncr3q3L7C7dJmDGivIeRd2OyzFLE/t9ejUr0evU4nvMm4Y3xmORCtTP25R
UPXUeFfagHYZJiD46C28yM6LFLiMpRDJ7UkL+C+AiOP9gz0a/ptv2DO684xx
56RwTO3eEFvKonn6josyZPb8pZ1O54/8LQGF/umEE3Au+GmcC/Ym+1lkMVJL
yhbLW3msK5GGWDRYC6CDaJrOgJ2yd+FsKQUpML2R6pheEoJljIef+AN8Fa/D
ywhgEc+JG5mjckgTnAanXGgHDYBrCjrCcxUIm6VYYBwYGTcOHo0A6NezKMw5
N7unBmMQJOkdEq6AirbQCcgm9mf4sCD4I70X5oL1I96SJZmxuI0UALoIzrHB
X+CzsgGsIrxO94NBAcCgh8Hx48dHwXKBGhwwGujpr/Bp1RN3VhCcPgBtJowz
nElQpAu8VL4PcPNj5wIDYrYWGyEVUmKSOzuUNuo2DUcGsX5Au29b7ltaTXzH
WDGjS46nXbbMpcLB8Y+HINa9j8IsAElaTINReL+jl2qOuvoMVmscv9fbtYCj
WW5wNfwOnOhuGoPKNQU+D3QWJWyCh6dQ6HULfJOEA72Qp3PUCUgRgb10Q8dw
whW9A3uFq+adzkUiRD3ojO+LkoTc5ZOB9myLWwr7W4C3Md3c0WbrLKZpkYLO
LiyJ4tqGf5GSXCjInsNdp/JIxLqvbq52UGWw+IRh8kV5qB/AQQYedGy5CYc1
lKUgNxaLNOe7FCHBs0aR8aMMCWu8/yeYlYiB0XcF0nGbAT3g67N7Pv2M9wU9
85kOWPflYIdYRwlf8/Ces2vgD0sEAik8JTZcvnooDF8JqRwNAfooC26BZoD7
Z+EoTuUXZOlAH6ChIMUTMnP5W1QMezvmHKQeRNwEOvVoRMT63+AMcXpCSTg4
OFIaCT04PEYVRU/jbXRPk875/ISYwK40IWFzSUySGLEHEJxoLcKN44ibnA3D
BJBGmm66TAxJ8fjJYV8I8YhGB9yBKNy6/Pn6ZmuX/8uuXtHfb5796eeLN8/O
8e/rn05fvlR/dMQb1z+9+vnluf5Ltzx7dXn57OqcN4anzHrU2bo8/csWn9rW
q9c3F6+uTl9ulaUk0Q8/i+GRF0Q6btsw74i5c5Q9PXv9//7v4EDMcG8weEKK
IQnGweMDYgFRwkdLEyBE/hVwet8Bpg9MBntBgQFHNfQ+AukO9JlP07uEwSqB
BvCvP8zQHhkc/fDHDnGG10DMwHugHTmbXeFd+1U4h8MpIv0icbkBehvQDqFV
StKROE5wMjA0hfT2v1Fbl6eLBY0D89QcktzA0EjNf0NRkA5jYmiS22JrMl7D
FklGikLUgVYqNp1/yInwzz8sncv7+Qcn8igZRtC6iDi/Fz8JAWY8K7X+3/8J
y4JC8W/QfNYvNzfFiGdwEHcogzu/nrBvivA2EAjKuaXl+63X8jti14MDPret
j3i4lGcV7ip4yWd9xg12ebXBw8TRmK4J6LhnnXx2y5Pp8Q6l8p1rloYHm9IB
BYWBcXQHmrtQh2a+fbdKQ2w56nLuqDMEeRYtczqOcppQnYJ+A+uBg1NnJ50T
dsqQI1ov3qtbYAKTzjOuqMGdd7TXP1S871/4iekJcZ7h3WgeDKdBvhg2G+gs
DTO/vaNjn9TO6KQm7ucD5Oy0Z+pBBIhGbSGixVkxTqc8Dl/eZDietBjGoImr
lC4F2Bm8hzcAz5VnywsQh0v0/YHW3auz5y92GPCAypmrtZDq/1To18QeSeUm
ILAnxW9IHbdUCXnkBlo+6u0dvvjpg5pkPkuL4C4egeo20bC1nvE1dMN+wW7s
KV7/AjPE6e3Wzu+kfnrQS7PZDfZ6cnbRKhJByxLXHOTFDHv+7Ix15dXiM7pa
PFNXi3welkUsU4YnGBEFTyB8ntsManTIz7dCfNzCYRzV30ck0XjHtokd/Ufx
/I8nDLyCsuHRF30BP4Qgd9wIZMYGzyNpyZtHxTQd5VXrfEzKrA0h8UDS0yvB
AqWCd8atBvGYRFrBdFPJxqvUaDKR49lJqcHBXZ4mwSwf8lH9BN7A7AuCZH47
CgP+OztD8zFwazJ/BS+vz3a004HWwZmyMt9XYeqYdrwGV2+zVUCTT0jwAjdk
BWz6jbUhPN5Hgx5AeFHglgNMAI7gVM+pg2/gjOQm6LZxAl9AVQMtBOQZX7F8
Gi9AVSzu8JCHYFfASgD6wNotA7V/8HggrYe0fGIN6IE9ad0aVQ6kXljpe3cF
DIEoJsxOue06yTkzj/jRcbtMV9vUeLtqBbddgS62BQcqVPZv8w1lBzd6xa5c
VNRbJ7h6oqMuNqieaIMeqCdw8MrErVeA2rJBs+o9rlXB/uazHOPBHW/NwkT6
xYqz4bsoGaXZjmZL5C9LJI9nS+5maxItP3MssI8yW7gW7GqvB5IQ2ek6Zpg8
yWqnlEWg7eZ0MIJpCLaxw66JT0N3QZLGaMbBeQLjDPMlOVfgPPq9AUvmSJrp
jAxhwBWTEQnoah5HHgwI2CIfNQVMeCkop9Rz4aXQfX19vlM3VL+PI30DhPQm
wmMKEsQyeZvgIYwbATudazTPmPdId9M0l7JzHKMRIiQHkjE/NMFoW0GaBaKf
rV13S4QwBCJDman03LZFo4AG35ZkA2tk9KisBHFudZuwKIFjg7iBmYbvSMii
9pEmhvEOT4WsG/ci6FiOty2NIdb4BmDy5MDxjiYQPM8S9PxVfEEgLkbaH3Gb
hJJyeFbkxisUjHfEVgHisOCi3+pAMYiad4FJG7dcZCaNxwY8sBtCNNmN0JP9
3jvOLl4RkO2Bm4L5MVWfeW1cIBq+46Pg5l5IFwizY+PaDa3+ePfgYmfzg9qY
IDtXwrgwtQYDPb7AsbrY4JZO+Tm/E1NESGb/Hc5ZX6g7x80xVnWPCevFBUx4
i4cZ0PyKAFgj7vcbIfEY/cYohIndVR+ltJyccAeVjmRxwrghz9DclqzGe8T/
jkxD1fHjJ3RoojOzBJZsMrmWxIp3G50RDKpD7VKDNwXXdGfDf6TZCGPcPCW2
QDc7PWYhZJouPhMqYKTS9MU9opx/p37+vIe286Vjv/FOQG4hmt0r5JMWZsIt
LR4mTozxO87VNzdzVB/ECcluXyZnBfHPL55QoPCmB3v9fX7SswklNi2qUcmw
cntP7gnwIqHCUKQkSjuLMAPuDGps3hiP1j6KFitxyOeKr+YVCOqs1r2aAmcq
i/6tbiBpJZXzE7ai8o6gcrbGhu/YG95dSU3ynlWq3vgmIWoZLQWntB/zqy6a
Jkqpd4ArItdEWFqGwtIiY4jiqDE1nKBib9mptZa4D9oY6ojqFLC7BiAk5Ubv
MNxRGhLn3w+kQgLqn7zsxF9QZqtO3c7uGTeHGw/QfsOFv+flYIA49PzwhwEB
JQfyUZ3BT9vQm0RTa3rzcdUaGtskWy3NvQV7rcCNSdR0DeI/RDcUdOtzjgbM
rTQDzuc+FXtDE66Hr3lBHKbzW0Um2vkDd14Vk9JCjXowaTSPUFQU4rDv06Uc
2777826HnL8XpMs7jlkMDqJJCDJPBXySgsduU/KSgENO4PSOBsO3LWSWwpvY
mWthjDl7pAWWsKUXP/DDV4KZBvt2JYLK2lFzFOnx/ZjSv38lCKtlECtRha0t
TDXYaVEFEeEvXxQphjEpMD2BveixrNJeMxQ5N5BPBPpURKPOFgq+fGtHuDPx
PrirgA4A4JZ8FbRD9iyUgr9ww4FHceb6QPQeFfi4IGub8sHLQF7ibTmoT+Fy
gqYsgEP4A8+iEPSBsTz6ivbctlZE8wV6EBlOQRma9NifX4dohiLFBRZ7ATwx
lzcHaHAoQRgOC+7/g6DSNdaz9yEGatAVOwhzF4EW6nVX3E2Ca4W4ymo6zJ5O
p3Y6/J6eXBnVgUPeEZvetCTvfmhtF5T+I05DurSMxwGdU8SrPZEkJsxGroFU
zVka9ZUbARGQ3ypHscHUrWlBLVtffRTMHXQSND4ZdluOOrEZyQXL6jpHvxxu
mfVd+bTGHUBu0fDqXTeLc/LmUnadnF8waBeoWTyPtUOtjALXMODdf8LtZfiO
sYst+tnM9NwbTr4zGBlQtYMejxlbzlk6HMKkuesbEPSrm+tY2q0kcOSoJVYH
d4EgaJsV6MMx7J9huMx5dADfTgDzcMlRpo1p6lAQ3IbLEYVQikNPOpsF6Xis
DCbAuWC7ZlkM21berevVcFhqscTrQ86AG9kszPXgjbloluxHuaULUOI5oA1B
m4fv6W/RSJ16dk0nfTya6POQeNW4AEf3B/IWCYB9ESq9gkAfUxVdCicTgyzp
JVzH2cyc1XbOdzQMBYw0nBX33IC5mvTF68YFuQzgVD8Js7sMYjmbApOGjTtk
5zptSfcMDf2vzVQkl0gz5iuvL+suA46Ojrg3utXJOQkGNJO+TPO8+/r85Q5Z
R9Ge85IUB1wm/tcb0rZ+/cYUz51O+UBe46nCqZO7ZJICJ+84cs9ROdc2fRQV
BkzqlhdlHF4+vt5huI5sAouV8BdBoVDHdi4ycG8K2a1cXJi0HnRfXV7vsEsK
6jsTySjIRMy6l2cvhOenNc32QkfcQeR4QaFx0OVArkaF65DG54lzv4uF5iDx
lXLXO9w5EhnovY2JkEIYCQ76ATlqQmtgO9Ad5rkJyUeAhLW8PwGUVb7CwR6l
EWd1Yo9Dk3u2/4YPghIqzXZ6gsz4fQ2BDm/YIVw2XaCTKm4V+Af75gEB6K8e
On1j3rSoY14VPkb+vIZC4KqZCKk9Fu7+U9ecE1dKeRE5Iy6ii3iyTJe50Zwf
XoYqf9EHznlQDFYZqLjDNI1Lt4zcuut2CSufDqVwDT0ALxNttoJXuLukQ3CC
Vu2jhMecJTVLsa64hMqHjW6tLrTYpnw5XP/Hd3arMbcnWUU1tpFJ8854vzKD
jJRuXdcljiL+sBn262LYiLRXdk3U7JeFvOa3975jYMdjFUgj90feC+kGpHPz
CP0Q1TcgCWBVMfomAJr+D3xEMOqMHCzY92xw8Jiul//AEvZteXrqKhrGTOY7
vAtQ2rl2v51sl0jTgCvMyZtkAoB0F2keo1/FLpx2JiH/C+Ds7zird9549Qat
Vu/cu3qu+2Dt6hl6wxdevTEu3JP9Qb/f6/f77MVPH5qsH7z22RZQpKLZzBqS
HqzYUaslwgOeXKNdcicbSSZi9GioeeSguCuIBkSB8B/0gr6zK3O71cJid4+O
mUb/wvvS37/lj7RbQWM8ntEMVeAulCbR5dbr6GQvFH4udni8VpiLe+fcprbr
X4Dc5kBd6HRZpqgakryCRuSIui4dCmAb0SF3sZpXdnQs5GSi+ppklMUETxro
bMFgvdCLMmWDSrnkbLBdPj0cGZFTsiCUYpc4pg2jFr02E46c/PisLzFEBJ3w
XxmTAcd9xyQu5fgrAJL+KFqn5dr1Ci1QxdlpAS5T04GeJuMJ86hgoLiSj5Kr
E1eM67BmbrKRx0yh8Ec5BikRzvFA386dbZerrTiuCiq617jSRzAzbs1zh67P
WV11u0s+QFzJ35HxtjX2XKeLMlv0duizXDs9iXMGLZKkIrJ5qliE8lhICM8w
CxjypntJp36Mm9QRxTxky7zhtEwCPtVGUm1cqZOp6VZ0Wnd16uld6wwUGybT
oFFSxZ0TFfEQcKd65fVj2RbueWQYLQxiOdLYkhGUgJseRQ96RR3joi5qimWy
BDsb0UKHtrQZkkq401mCTDsLmfStNpp8FbSJYbQotHeFyWKB43/L/J7/UpQ6
sEoDC4/Ck867GtT8O+wSLUJGt+NwSMepUNonYrQxjmvkMVrkRhR9KnarGle/
btokGy8ABy98v2nwhK3poeDZG1YF8fpZZLU5soJL6ogo40JzV33Fm03jN3FD
E3L6DG7jYh4uBIuv9uIwQvN3uZ+jippSpIRYM+w03JpHksc257dj6N6L3HU5
elUPrRl6VUfr8nMT+7BCGt3tsI13MhtDNsCxPp5LjddAcamP9bDLKpGrNKEV
JolvKdUHyT09CIkoEkvkUyqV+dyvWrq7Wh/MvpP9lyWQr+eGJxOuZR7t7h2S
iu4Yx02WqC6iFGcTUhn4lMfD3jiUYOwmqceXOgjTjuX89Rud10QEcppRm5kM
Yc0dp007rMg2B9uOSGayk13Xdr3rO6F6zEalmzbzUSlQn5K3lh85AFByTysz
zpPHh84rmOrRffS4/Ahd8sWRUGXpI/TjuYshhjsymrUUufsrHOloDd4Jm/+g
N/iuw9Ouc2m/tcySE2x4QrdJ+cn7+ewkyU+w1UnZxRkbi4hnGTb8HQZb86Bm
J/T4VzpQitfl0+/ooVp7cebcwpBiDEiurSEisjWZqZoIoo8IgnmDSb1uYbkP
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
R0cJu8cv7nKTRTNKmWmIo4eeH0twWrcuvp9Nc6bsxbh7Ma6Tmp4mVS8VNzCr
TpOyvde26T9Nkve/5+wspGqaFCF0lZmzqZWsxnvcP11dHuOH9lhtaRGafp3C
2LBEhkmahBCq76xV4VIFDoOkK9ydL2E28+WcFMoICKq4w6tQHRWVm7vUt0db
h6z79yYddJsFrPs7ECVKrewpJr5olfzVr51F4nFp1voIn7iB6RPnLoYXvafS
xRcjU2S8hLeYyS7mPCKhYM9QFO3mi6Rb5hyfPMoCIzmEPzA+1FwDP5flxjEm
vZsNl5zfWPFwFS3ofMu+d1Hvx+e3Fbth46Qk4uK+KEWF7z8RRVHakO0e++P3
DA7DXkzbR11K5B7MozwPJ44UvQzfuytK3d/i4YJcyjFsinwbKPOLwbbVQjsd
9L7ANijPosU2KDdetQ3KLaq2gZcIqraBBdbFWLokYSI1zwwr1snsQy6Zb5Vo
BHRHKY9idmFjpa7D39IebqDYNbgYX+GHox2DUGlWdhjxltZuaiLwjdOBCNIL
c7+a1/xyXreRvRi66M4qhyB3RK9bkOxilbZap07LPhqoq349Vamf697BI9Cm
DvuZ7uC/QEy46bhkZ5gQckw8rHWeedhJsWxtMbjlaS6GvOXo1ZVFB8hIJOfZ
1fd2lrqpUytWbS9ZrCYcvYuyIs65XVT3MP9+IC2p8yhMchkwntmZG8u7NjHu
Aojg1S/EWSmkz9MqGCDKnDQcZj645A8DRK4aWlJUI8a25gWqf+vnGz+qOlee
1ZxZ9rCCEVRzALU5m7kMVnAAF4w2B1Zjy/GbjIp7k1XOgxUVZU0PQv+Z0S5S
q8SktxRtnfnZuqyolmKmNqTI2rpDkyVPV7rRbYhPrsUpP7qLh6lfWi6WU/11
9VKZxWS3fl+RVStiMrrGHqDEwnQkNd/JHIXGQUbORx1C9CSEZRukEsg/U4Y9
xyPW+3AOWuuukJMhv3cUqUgql0j3YRqYYAS5MFzuOT+uhK+eLIbpcjZC5i1L
sfZ0HxcJV/fQ7ryr1VzqVaoP+VR2ENFURaJoQ+DDgQDGhBXh2SD0aS6PikIk
grDXEljznolSZ7HwyyxPhbc+KMrNMLmSrDeWlvHBiRmZe56pFfc6sQPpGg3M
0656oryZvk59lay91epBScLOfUrtvJ1S2zAXVXN17IFX1rq/r3SRGt4xe7Gf
+++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
ygEA

-->

</rfc>

