<?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-16" 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="August" day="07"/>

    
    <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>
<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-08-06.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-08-06 {
    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
       - snr
       - snr-or-null
       - decimal-2
       - decimal-2-or-null
       - power-gain
       - power-gain-or-null
       - power-loss
       - power-loss-or-null
       - power-ratio
       - power-ratio-or-null
       - power-dbm
       - power-dbm-or-null
       - decimal-5
       - decimal-5-or-null
       - psd
       - psd-or-null.

       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 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-null {
    type union {
      type snr;
      type empty;
    }
    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 digits.";
  }

  typedef decimal-2-or-null {
    type union {
      type decimal-2;
      type empty;
    }
    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-null {
    type union {
      type power-gain;
      type empty;
    }
    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-null {
    type union {
      type power-loss;
      type empty;
    }
    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-null {
    type union {
      type power-ratio;
      type empty;
    }
    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-null {
    type union {
      type power-dbm;
      type empty;
    }
    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 digits.";
  }

  typedef decimal-5-or-null {
    type union {
      type decimal-5;
      type empty;
    }
    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-null {
    type union {
      type psd;
      type empty;
    }
    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 eighteen digits.";
  }

  typedef decimal-18-or-null {
    type union {
      type decimal-18;
      type empty;
    }
    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 {
            uses standard-mode;
            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;
              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()]/'
                     + 'standard-mode' {
                    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 empty;
      }
      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
      "Attributes capabilities related to 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-null;
      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
      "Common attributes used by standard and organizational
       transceiver's modes.";
    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
      "Common attributes used by all transceiver's modes.";
    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-null;
      description
        "The current channel transmit power, when the value is
         known or an empty value when the value is not known.

         The empty 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-null;
      config false;
      description
        "The current channel received power, when the value is
         known or an empty value when the value is not known.";
    }
    leaf rx-total-power {
      type power-dbm-or-null;
      config false;
      description
        "The current total received power, when the value is known
         or an empty value when the value is not known.";
    }
  }

  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="21" month="February" 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-17"/>
   
</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 2971?>

<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 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-null
    +--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-null
    +--ro rx-channel-power?      power-dbm-or-null
    +--ro rx-total-power?        power-dbm-or-null
  grouping common-transceiver-configured-param:
    +-- line-coding-bitrate?   identityref
    +-- tx-channel-power?      power-dbm-or-null
  grouping common-transceiver-readonly-param:
    +--ro rx-channel-power?   power-dbm-or-null
    +--ro rx-total-power?     power-dbm-or-null
  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>snr</t>
  <t>snr-or-null</t>
  <t>decimal-2</t>
  <t>decimal-2-or-null</t>
  <t>power-gain</t>
  <t>power-gain-or-null</t>
  <t>power-loss</t>
  <t>power-loss-or-null</t>
  <t>power-ratio</t>
  <t>power-ratio-or-null</t>
  <t>power-dbm</t>
  <t>power-dbm-or-null</t>
  <t>decimal-5</t>
  <t>decimal-5-or-null</t>
  <t>psd</t>
  <t>psd-or-null</t>
</list></t>

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

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

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

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

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

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

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

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

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

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

</section>

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

  </back>

<!-- ##markdown-source:
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
7g4QtMgiOE0qnck7OFgjyuT0/wEtwLa5xMEBAA==

-->

</rfc>

