<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE rfc [
  <!ENTITY nbsp    "&#160;">
  <!ENTITY zwsp   "&#8203;">
  <!ENTITY nbhy   "&#8209;">
  <!ENTITY wj     "&#8288;">
]>
<?xml-stylesheet type="text/xsl" href="rfc2629.xslt" ?>
<!-- generated by https://github.com/cabo/kramdown-rfc version 1.7.5 (Ruby 3.2.2) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-ietf-ccamp-flexigrid-yang-17" category="std" consensus="true" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.19.1 -->
  <front>
    <title abbrev="Flexi-Grid YANG">A YANG Data Model for Flexi-Grid Optical Networks</title>
    <seriesInfo name="Internet-Draft" value="draft-ietf-ccamp-flexigrid-yang-17"/>
    <author initials="J. E." surname="Lopez de Vergara" fullname="Jorge E. Lopez de Vergara Mendez">
      <organization>Naudit HPCN</organization>
      <address>
        <email>jorge.lopez_vergara@uam.es</email>
      </address>
    </author>
    <author initials="D." surname="Perdices Burrero" fullname="Daniel Perdices Burrero">
      <organization>Universidad Autonoma de Madrid</organization>
      <address>
        <email>daniel.perdices@uam.es</email>
      </address>
    </author>
    <author initials="D." surname="King" fullname="Daniel King">
      <organization>Old Dog Consulting</organization>
      <address>
        <email>daniel@olddog.co.uk</email>
      </address>
    </author>
    <author initials="Y." surname="Lee" fullname="Young Lee">
      <organization>Samsung</organization>
      <address>
        <email>younglee.tx@gmail.com</email>
      </address>
    </author>
    <author initials="H." surname="Zheng" fullname="Haomian Zheng">
      <organization>Huawei Technologies</organization>
      <address>
        <email>zhenghaomian@huawei.com</email>
      </address>
    </author>
    <date year="2024" month="September" day="12"/>
    <area>Routing</area>
    <workgroup>CCAMP Working Group</workgroup>
    <keyword>next generation</keyword>
    <keyword>unicorn</keyword>
    <keyword>sparkling distributed ledger</keyword>
    <abstract>
      <?line 102?>

<t>This document defines a YANG module for managing flexi-grid optical
networks.  The model defined in this document specifies a flexi-grid
traffic engineering database that is used to describe the topology of
a flexi-grid network.  It is based on and augments existing YANG
models that describe network and traffic engineering topologies.</t>
    </abstract>
    <note removeInRFC="true">
      <name>About This Document</name>
      <t>
        The latest revision of this draft can be found at <eref target="https://ietf-ccamp-wg.github.io/draft-ietf-ccamp-flexigrid-yang/draft-ietf-ccamp-flexigrid-yang.html"/>.
        Status information for this document may be found at <eref target="https://datatracker.ietf.org/doc/draft-ietf-ccamp-flexigrid-yang/"/>.
      </t>
      <t>
        Discussion of this document takes place on the
        Common Control and Measurement Plane Working Group mailing list (<eref target="mailto:ccamp@ietf.org"/>),
        which is archived at <eref target="https://mailarchive.ietf.org/arch/browse/ccamp/"/>.
        Subscribe at <eref target="https://www.ietf.org/mailman/listinfo/ccamp/"/>.
      </t>
      <t>Source for this draft and an issue tracker can be found at
        <eref target="https://github.com/ietf-ccamp-wg/draft-ietf-ccamp-flexigrid-yang"/>.</t>
    </note>
  </front>
  <middle>
    <?line 110?>

<section anchor="introduction">
      <name>Introduction</name>
      <t>The flexible grid (flexi-grid) optical network technology defined by
the International Telecommunication Union Telecommunication
Standardization Sector (ITU-T) and documented in Recommendation ITU-
T_G.694.1 <xref target="ITU-T_G.694.1"/> and ITU-T_G.872 <xref target="ITU-T_G.872"/> provides an
enhanced Dense Wavelength Division Multiplexing (DWDM) grid by
defining a set of nominal central frequencies, slot widths, and the
concept of the "frequency slot".  This technology increases both
transport network scalability and flexibility, allowing the
optimization of bandwidth usage.</t>
      <t><xref target="RFC7698"/> provides a framework for GMPLS-Based control of flexi-grid
DWDM networks while <xref target="RFC7699"/> defines generalized labels for the use
of GMPLS in flexi-grid networks.</t>
      <t><xref target="RFC8363"/> provides extensions to the OSPF-TE protocol so as to
support GMPLS control of flexi-grid networks.</t>
      <t>This document presents a YANG data model <xref target="RFC7950"/> for flexi-grid
objects in the dynamic optical network, including nodes, transponders
and links, as well as how such links interconnect nodes.  This model
is independent of control plane protocols.</t>
      <t>This document identifies the flexi-grid components, parameters, and
their values.  It characterizes the features and the performances of
the flexi-grid elements.  For this, it augments <xref target="RFC8795"/>, and
imports the generic Layer 0 types and use of "media-channel" defined
in <xref target="I-D.ietf-ccamp-rfc9093-bis"/>.</t>
      <t>An application example in <xref target="example"/> is also provided to better
understand the utility of this YANG model.</t>
      <t>A partner document defines a second YANG module that described flexi-
grid tunnels, i.e., the paths from source to destination through a
number of intermediate nodes <xref target="I-D.ietf-ccamp-flexigrid-tunnel-yang"/>.</t>
      <t>Impairment-aware traffic engineering topology is described in
<xref target="I-D.ietf-ccamp-optical-impairment-topology-yang"/>.</t>
      <t>The YANG data model defined in this document conforms to the Network
Management Datastore Architecture (NMDA) <xref target="RFC8342"/>.</t>
    </section>
    <section anchor="terminology">
      <name>Terminology</name>
      <t>Refer to <xref target="RFC7698"/> and <xref target="RFC7699"/> for the key terms used in this
document.</t>
      <t>The following terms are defined in <xref target="RFC7950"/> and are not redefined
here:</t>
      <ul spacing="normal">
        <li>
          <t>client</t>
        </li>
        <li>
          <t>server</t>
        </li>
        <li>
          <t>augment</t>
        </li>
        <li>
          <t>data model</t>
        </li>
        <li>
          <t>data node</t>
        </li>
      </ul>
      <t>The following terms are defined in <xref target="RFC6241"/> and are not redefined
here:</t>
      <ul spacing="normal">
        <li>
          <t>configuration data</t>
        </li>
        <li>
          <t>state data</t>
        </li>
      </ul>
      <t>The terminology for describing YANG data models is found in
<xref target="RFC7950"/>.</t>
    </section>
    <section anchor="tree-diagram">
      <name>Tree Diagram</name>
      <t>A simplified graphical representation of the data model is used in
this document.  The meaning of the symbols in these diagrams is
defined in <xref target="RFC8340"/>.</t>
      <section anchor="prefixes-in-data-node-names">
        <name>Prefixes 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 modules, as shown in <xref target="tab-prefixes"/>.  It uses
prefixes from <xref target="I-D.ietf-ccamp-rfc9093-bis"/>, <xref target="RFC8345"/>, and <xref target="RFC8795"/>.</t>
        <table anchor="tab-prefixes">
          <name>Prefixes and corresponding YANG modules</name>
          <thead>
            <tr>
              <th align="left">Prefix</th>
              <th align="left">YANG module</th>
              <th align="left">Reference</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left">l0-types</td>
              <td align="left">ietf-layer0-types</td>
              <td align="left">[RFCYYYY]</td>
            </tr>
            <tr>
              <td align="left">flexgt</td>
              <td align="left">ietf-flexi-grid-topology</td>
              <td align="left">RFC XXXX</td>
            </tr>
            <tr>
              <td align="left">nw</td>
              <td align="left">ietf-network</td>
              <td align="left">
                <xref target="RFC8345"/></td>
            </tr>
            <tr>
              <td align="left">nt</td>
              <td align="left">ietf-network-topology</td>
              <td align="left">
                <xref target="RFC8345"/></td>
            </tr>
            <tr>
              <td align="left">tet</td>
              <td align="left">ietf-te-topology</td>
              <td align="left">
                <xref target="RFC8795"/></td>
            </tr>
          </tbody>
        </table>
        <t>RFC Editor Note:
Please replace XXXX with the RFC number assigned to this document.
Please replace YYYY with the RFC numbers assigned to <xref target="I-D.ietf-ccamp-rfc9093-bis"/>.
Please remove this note.</t>
      </section>
    </section>
    <section anchor="example">
      <name>Example of Use</name>
      <t>In order to explain how this model is used, we provide the following
example.  An optical network usually has multiple transponders,
switches (nodes) and links.  <xref target="fig-topo"/> shows a simple topology.</t>
      <figure anchor="fig-topo">
        <name>Topology Example</name>
        <artwork type="ascii-art"><![CDATA[
      +----------+                                        +----------+
      |  Flexi-  |                                        | Flexi-   |
      |   grid   |                                        |  grid    |
      |  node A  |                                        | node E   |
      |          |        +------+        +------+        |          |
      |          | Link 1 |Flexi-| Link 2 |Flexi-| Link 3 |          |
      |          |<------>| grid |<------>| grid |<------>|          |
      |......... |        |node B|        |node C|        | .........|
      | Trans- : |        +------+        +------+        | : Trans- |
      | ponder : |                                        | : ponder |
      |    A   : |              +----------+              | :    E   |
      |........: |     Link 4   |Flexi-grid|   Link 5     | :........|
      |          |<------------>|   node   |<------------>|          |
      |          |              |    D     |              |          |
      |          |              +----------+              |          |
      +----------+                                        +----------+
]]></artwork>
      </figure>
      <t>In order to configure a flexi-grid network to interconnect transponders A and E, first of all we have to populate the flexi-grid topology YANG model with all elements in the network:</t>
      <ul spacing="normal">
        <li>
          <t>We define the transponders within nodes A and E as tunnel
termination points (TTPs) and provide their internal local link
connectivity towards the node interfaces.  We also provide the
identifiers, addresses and interfaces of nodes A and B.</t>
        </li>
        <li>
          <t>We do the same for the nodes B, C and D, providing their
identifiers, addresses and interfaces, as well as the internal
connectivity matrix between interfaces.</t>
        </li>
        <li>
          <t>Then, we also define the links 1 to 5 that interconnect nodes,
indicating which flexi-grid labels are available.</t>
        </li>
        <li>
          <t>Other information, such as the slot frequency and granularity are
also provided.</t>
        </li>
      </ul>
    </section>
    <section anchor="yang-data-model-for-flexi-grid-topology">
      <name>YANG Data Model for Flexi-Grid Topology</name>
      <section anchor="flexi-grid-topology-data-model-overview">
        <name>Flexi-Grid Topology Data Model Overview</name>
        <t>This document describes the data model for flexi-grid topology.  As a
classic traffic engineering (TE) technology, flexi-grid provides WDM
switching in transport network.  Therefore the YANG module presented
in this document augments from a more generic TE network topology
data model, i.e., the ietf-te-topology, as specified in <xref target="RFC8795"/>,
following the guidelines provided in section 6 of <xref target="RFC8795"/>.</t>
        <t>Common types, identities, and groupings defined in <xref target="I-D.ietf-ccamp-rfc9093-bis"/> are
reused in this document.</t>
        <t>The figure below shows the augmentation relationship between YANG
models.</t>
        <figure anchor="fig-model-hierachy">
          <name>Relationship between Flexi-Grid and TE topology models</name>
          <artwork type="ascii-art"><![CDATA[
                        +-------------------------+
           TE generic   |    ietf-te-topology     |
                        +-------------------------+
                                     ^
                                     |
                                     | Augments
                                     |
                        +------------+-------------+
           Flexi-Grid   | ietf-flexi-grid-topology |
                        +--------------------------+
]]></artwork>
        </figure>
        <t>The entities and TE attributes, such as node, termination points and
links, are still applicable for describing a flexi-grid topology and
the model presented in this document only specifies the technology-
specific attributes/information.</t>
        <t>The flexi-grid specific attributes and label format is defined in
<xref target="RFC7699"/>, including the grid type, nominal central frequency granularity, slot width
granularity, n and m parameters.  A collection of common data types
have also been specified in <xref target="I-D.ietf-ccamp-rfc9093-bis"/>, and used in this document for
augmentation of the generic TE topology model.</t>
        <t>The YANG module ietf-flexi-grid-topology defined in this document
conforms to the Network Management Datastore Architecture (NMDA)
defined in <xref target="RFC8342"/>.</t>
      </section>
      <section anchor="augmentations-for-flexi-grid-topology-and-node">
        <name>Augmentations for Flexi-Grid Topology and Node</name>
        <t>There are a few characteristics augmenting to the generic TE
topology.</t>
        <t>Following the guidelines in <xref target="RFC8795"/>, a flexi-grid-topology network-
type is specified as the indicator of flexi-grid in the topology as
shown in <xref target="fig-network-type"/>.</t>
        <figure anchor="fig-network-type">
          <name>Flexi-Grid Topology Augmentation</name>
          <artwork type="ascii-art"><![CDATA[
       augment /nw:networks/nw:network/nw:network-types/tet:te-topology:
         +--rw flexi-grid-topology!
]]></artwork>
        </figure>
        <t>A flexi-grid-node presence container is specified, augmenting the
generic TE node attributes, to indicate that the TE node is a Flexi-
Grid node as shown in <xref target="fig-node-type"/>.</t>
        <figure anchor="fig-node-type">
          <name>Flex-Grid Node Augmentation</name>
          <artwork type="ascii-art"><![CDATA[
          augment /nw:networks/nw:network/nw:node/tet:te
                  /tet:te-node-attributes:
            +--rw flexi-grid-node!
]]></artwork>
        </figure>
        <t>It is assumed that all the flexi-grid nodes are reconfigurable.</t>
      </section>
      <section anchor="bandwidth-augmentation">
        <name>Bandwidth Augmentation</name>
        <t>No bandwidth augmentations are needed for this YANG module.</t>
        <t>As described in Section 4.2 of <xref target="RFC7699"/>, there is some overlap
between bandwidth and label in Layer 0.</t>
        <t>The flexi-grid label resource information described in <xref target="flexi-label"/>,
is sufficient to also describe the spectrum resources within a flexi-
grid network.  Therefore, the model does not define any augmentation
for the te-bandwidth containers defined in <xref target="RFC8795"/>.</t>
      </section>
      <section anchor="flexi-label">
        <name>Label Augmentation</name>
        <t>The model augments all the occurrences of the label-restriction list
in <xref target="RFC8795"/> with flexi-grid technology specific attributes using the
flexi-grid-label-range-info grouping defined in <xref target="I-D.ietf-ccamp-rfc9093-bis"/>.</t>
        <t>Moreover, following the guidelines in <xref target="RFC8795"/>, the model augments
all the occurrences of the te-label container with the flexi-grid
technology specific attributes using the flexi-grid-label-start-end,
flexi-grid-label-hop and flexi-grid-label-step groupings defined in
<xref target="I-D.ietf-ccamp-rfc9093-bis"/>.</t>
      </section>
    </section>
    <section anchor="yang-model-tree-structure-for-flexi-grid-topology">
      <name>YANG Model (Tree Structure) for Flexi-Grid Topology</name>
      <figure anchor="fig-flexig-topo-tree">
        <artwork type="ascii-art" name="ietf-flexi-grid-topology.tree"><![CDATA[
module: ietf-flexi-grid-topology

  augment /nw:networks/nw:network/nw:network-types/tet:te-topology:
    +--rw flexi-grid-topology!
  augment /nw:networks/nw:network/nw:node/tet:te
            /tet:te-node-attributes:
    +--rw flexi-grid-node!
  augment /nw:networks/nw:network/nw:node/tet:te
            /tet:te-node-attributes/tet:connectivity-matrices
            /tet:label-restrictions/tet:label-restriction:
    +--rw flexi-grid-label-range!
       +--rw grid-type?    identityref
       +--rw priority?     uint8
       +--rw flexi-grid
          +--rw slot-width-granularity?   identityref
          +--rw min-slot-width-factor?    uint16
          +--rw max-slot-width-factor?    uint16
  augment /nw:networks/nw:network/nw:node/tet:te
            /tet:te-node-attributes/tet:connectivity-matrices
            /tet:connectivity-matrix/tet:from/tet:label-restrictions
            /tet:label-restriction:
    +--rw flexi-grid-label-range!
       +--rw grid-type?    identityref
       +--rw priority?     uint8
       +--rw flexi-grid
          +--rw slot-width-granularity?   identityref
          +--rw min-slot-width-factor?    uint16
          +--rw max-slot-width-factor?    uint16
  augment /nw:networks/nw:network/nw:node/tet:te
            /tet:te-node-attributes/tet:connectivity-matrices
            /tet:connectivity-matrix/tet:to/tet:label-restrictions
            /tet:label-restriction:
    +--rw flexi-grid-label-range!
       +--rw grid-type?    identityref
       +--rw priority?     uint8
       +--rw flexi-grid
          +--rw slot-width-granularity?   identityref
          +--rw min-slot-width-factor?    uint16
          +--rw max-slot-width-factor?    uint16
  augment /nw:networks/nw:network/nw:node/tet:te
            /tet:information-source-entry/tet:connectivity-matrices
            /tet:label-restrictions/tet:label-restriction:
    +--ro flexi-grid-label-range!
       +--ro grid-type?    identityref
       +--ro priority?     uint8
       +--ro flexi-grid
          +--ro slot-width-granularity?   identityref
          +--ro min-slot-width-factor?    uint16
          +--ro max-slot-width-factor?    uint16
  augment /nw:networks/nw:network/nw:node/tet:te
            /tet:information-source-entry/tet:connectivity-matrices
            /tet:connectivity-matrix/tet:from/tet:label-restrictions
            /tet:label-restriction:
    +--ro flexi-grid-label-range!
       +--ro grid-type?    identityref
       +--ro priority?     uint8
       +--ro flexi-grid
          +--ro slot-width-granularity?   identityref
          +--ro min-slot-width-factor?    uint16
          +--ro max-slot-width-factor?    uint16
  augment /nw:networks/nw:network/nw:node/tet:te
            /tet:information-source-entry/tet:connectivity-matrices
            /tet:connectivity-matrix/tet:to/tet:label-restrictions
            /tet:label-restriction:
    +--ro flexi-grid-label-range!
       +--ro grid-type?    identityref
       +--ro priority?     uint8
       +--ro flexi-grid
          +--ro slot-width-granularity?   identityref
          +--ro min-slot-width-factor?    uint16
          +--ro max-slot-width-factor?    uint16
  augment /nw:networks/nw:network/nw:node/tet:te
            /tet:tunnel-termination-point
            /tet:local-link-connectivities/tet:label-restrictions
            /tet:label-restriction:
    +--rw flexi-grid-label-range!
       +--rw grid-type?    identityref
       +--rw priority?     uint8
       +--rw flexi-grid
          +--rw slot-width-granularity?   identityref
          +--rw min-slot-width-factor?    uint16
          +--rw max-slot-width-factor?    uint16
  augment /nw:networks/nw:network/nw:node/tet:te
            /tet:tunnel-termination-point
            /tet:local-link-connectivities
            /tet:local-link-connectivity/tet:label-restrictions
            /tet:label-restriction:
    +--rw flexi-grid-label-range!
       +--rw grid-type?    identityref
       +--rw priority?     uint8
       +--rw flexi-grid
          +--rw slot-width-granularity?   identityref
          +--rw min-slot-width-factor?    uint16
          +--rw max-slot-width-factor?    uint16
  augment /nw:networks/nw:network/nt:link/tet:te
            /tet:te-link-attributes/tet:label-restrictions
            /tet:label-restriction:
    +--rw flexi-grid-label-range!
       +--rw grid-type?    identityref
       +--rw priority?     uint8
       +--rw flexi-grid
          +--rw slot-width-granularity?   identityref
          +--rw min-slot-width-factor?    uint16
          +--rw max-slot-width-factor?    uint16
  augment /nw:networks/nw:network/nt:link/tet:te
            /tet:information-source-entry/tet:label-restrictions
            /tet:label-restriction:
    +--ro flexi-grid-label-range!
       +--ro grid-type?    identityref
       +--ro priority?     uint8
       +--ro flexi-grid
          +--ro slot-width-granularity?   identityref
          +--ro min-slot-width-factor?    uint16
          +--ro max-slot-width-factor?    uint16
  augment /nw:networks/tet:te/tet:templates/tet:link-template
            /tet:te-link-attributes/tet:label-restrictions
            /tet:label-restriction:
    +--rw flexi-grid-label-range!
       +--rw grid-type?    identityref
       +--rw priority?     uint8
       +--rw flexi-grid
          +--rw slot-width-granularity?   identityref
          +--rw min-slot-width-factor?    uint16
          +--rw max-slot-width-factor?    uint16
  augment /nw:networks/nw:network/nw:node/tet:te
            /tet:te-node-attributes/tet:connectivity-matrices
            /tet:label-restrictions/tet:label-restriction
            /tet:label-start/tet:te-label/tet:technology:
    +--:(flexi-grid)
       +--rw flexi-n?   l0-types:flexi-n
  augment /nw:networks/nw:network/nw:node/tet:te
            /tet:te-node-attributes/tet:connectivity-matrices
            /tet:label-restrictions/tet:label-restriction
            /tet:label-end/tet:te-label/tet:technology:
    +--:(flexi-grid)
       +--rw flexi-n?   l0-types:flexi-n
  augment /nw:networks/nw:network/nw:node/tet:te
            /tet:te-node-attributes/tet:connectivity-matrices
            /tet:label-restrictions/tet:label-restriction
            /tet:label-step/tet:technology:
    +--:(flexi-grid)
       x--rw flexi-grid-channel-spacing?   identityref
       +--rw flexi-ncfg?                   identityref
       +--rw flexi-n-step?                 uint8
  augment /nw:networks/nw:network/nw:node/tet:te
            /tet:te-node-attributes/tet:connectivity-matrices
            /tet:underlay/tet:primary-path/tet:path-element/tet:type
            /tet:label/tet:label-hop/tet:te-label/tet:technology:
    +--:(flexi-grid)
       +--rw (single-or-super-channel)?
          +--:(single)
          |  +--rw flexi-n?              l0-types:flexi-n
          |  +--rw flexi-m?              l0-types:flexi-m
          x--:(super)
          |  +--rw subcarrier-flexi-n* [flexi-n]
          |     +--rw flexi-n    l0-types:flexi-n
          |     +--rw flexi-m?   l0-types:flexi-m
          +--:(multi)
             +--rw frequency-slots
                +--rw frequency-slot* [flexi-n]
                   +--rw flexi-n    l0-types:flexi-n
                   +--rw flexi-m?   l0-types:flexi-m
  augment /nw:networks/nw:network/nw:node/tet:te
            /tet:te-node-attributes/tet:connectivity-matrices
            /tet:underlay/tet:backup-path/tet:path-element/tet:type
            /tet:label/tet:label-hop/tet:te-label/tet:technology:
    +--:(flexi-grid)
       +--rw (single-or-super-channel)?
          +--:(single)
          |  +--rw flexi-n?              l0-types:flexi-n
          |  +--rw flexi-m?              l0-types:flexi-m
          x--:(super)
          |  +--rw subcarrier-flexi-n* [flexi-n]
          |     +--rw flexi-n    l0-types:flexi-n
          |     +--rw flexi-m?   l0-types:flexi-m
          +--:(multi)
             +--rw frequency-slots
                +--rw frequency-slot* [flexi-n]
                   +--rw flexi-n    l0-types:flexi-n
                   +--rw flexi-m?   l0-types:flexi-m
  augment /nw:networks/nw:network/nw:node/tet:te
            /tet:te-node-attributes/tet:connectivity-matrices
            /tet:optimizations/tet:algorithm/tet:metric
            /tet:optimization-metric
            /tet:explicit-route-exclude-objects
            /tet:route-object-exclude-object/tet:type/tet:label
            /tet:label-hop/tet:te-label/tet:technology:
    +--:(flexi-grid)
       +--rw (single-or-super-channel)?
          +--:(single)
          |  +--rw flexi-n?              l0-types:flexi-n
          |  +--rw flexi-m?              l0-types:flexi-m
          x--:(super)
          |  +--rw subcarrier-flexi-n* [flexi-n]
          |     +--rw flexi-n    l0-types:flexi-n
          |     +--rw flexi-m?   l0-types:flexi-m
          +--:(multi)
             +--rw frequency-slots
                +--rw frequency-slot* [flexi-n]
                   +--rw flexi-n    l0-types:flexi-n
                   +--rw flexi-m?   l0-types:flexi-m
  augment /nw:networks/nw:network/nw:node/tet:te
            /tet:te-node-attributes/tet:connectivity-matrices
            /tet:optimizations/tet:algorithm/tet:metric
            /tet:optimization-metric
            /tet:explicit-route-include-objects
            /tet:route-object-include-object/tet:type/tet:label
            /tet:label-hop/tet:te-label/tet:technology:
    +--:(flexi-grid)
       +--rw (single-or-super-channel)?
          +--:(single)
          |  +--rw flexi-n?              l0-types:flexi-n
          |  +--rw flexi-m?              l0-types:flexi-m
          x--:(super)
          |  +--rw subcarrier-flexi-n* [flexi-n]
          |     +--rw flexi-n    l0-types:flexi-n
          |     +--rw flexi-m?   l0-types:flexi-m
          +--:(multi)
             +--rw frequency-slots
                +--rw frequency-slot* [flexi-n]
                   +--rw flexi-n    l0-types:flexi-n
                   +--rw flexi-m?   l0-types:flexi-m
  augment /nw:networks/nw:network/nw:node/tet:te
            /tet:te-node-attributes/tet:connectivity-matrices
            /tet:path-properties/tet:path-route-objects
            /tet:path-route-object/tet:type/tet:label/tet:label-hop
            /tet:te-label/tet:technology:
    +--:(flexi-grid)
       +--ro (single-or-super-channel)?
          +--:(single)
          |  +--ro flexi-n?              l0-types:flexi-n
          |  +--ro flexi-m?              l0-types:flexi-m
          x--:(super)
          |  +--ro subcarrier-flexi-n* [flexi-n]
          |     +--ro flexi-n    l0-types:flexi-n
          |     +--ro flexi-m?   l0-types:flexi-m
          +--:(multi)
             +--ro frequency-slots
                +--ro frequency-slot* [flexi-n]
                   +--ro flexi-n    l0-types:flexi-n
                   +--ro flexi-m?   l0-types:flexi-m
  augment /nw:networks/nw:network/nw:node/tet:te
            /tet:te-node-attributes/tet:connectivity-matrices
            /tet:connectivity-matrix/tet:from/tet:label-restrictions
            /tet:label-restriction/tet:label-start/tet:te-label
            /tet:technology:
    +--:(flexi-grid)
       +--rw flexi-n?   l0-types:flexi-n
  augment /nw:networks/nw:network/nw:node/tet:te
            /tet:te-node-attributes/tet:connectivity-matrices
            /tet:connectivity-matrix/tet:from/tet:label-restrictions
            /tet:label-restriction/tet:label-end/tet:te-label
            /tet:technology:
    +--:(flexi-grid)
       +--rw flexi-n?   l0-types:flexi-n
  augment /nw:networks/nw:network/nw:node/tet:te
            /tet:te-node-attributes/tet:connectivity-matrices
            /tet:connectivity-matrix/tet:from/tet:label-restrictions
            /tet:label-restriction/tet:label-step/tet:technology:
    +--:(flexi-grid)
       x--rw flexi-grid-channel-spacing?   identityref
       +--rw flexi-ncfg?                   identityref
       +--rw flexi-n-step?                 uint8
  augment /nw:networks/nw:network/nw:node/tet:te
            /tet:te-node-attributes/tet:connectivity-matrices
            /tet:connectivity-matrix/tet:to/tet:label-restrictions
            /tet:label-restriction/tet:label-start/tet:te-label
            /tet:technology:
    +--:(flexi-grid)
       +--rw flexi-n?   l0-types:flexi-n
  augment /nw:networks/nw:network/nw:node/tet:te
            /tet:te-node-attributes/tet:connectivity-matrices
            /tet:connectivity-matrix/tet:to/tet:label-restrictions
            /tet:label-restriction/tet:label-end/tet:te-label
            /tet:technology:
    +--:(flexi-grid)
       +--rw flexi-n?   l0-types:flexi-n
  augment /nw:networks/nw:network/nw:node/tet:te
            /tet:te-node-attributes/tet:connectivity-matrices
            /tet:connectivity-matrix/tet:to/tet:label-restrictions
            /tet:label-restriction/tet:label-step/tet:technology:
    +--:(flexi-grid)
       x--rw flexi-grid-channel-spacing?   identityref
       +--rw flexi-ncfg?                   identityref
       +--rw flexi-n-step?                 uint8
  augment /nw:networks/nw:network/nw:node/tet:te
            /tet:te-node-attributes/tet:connectivity-matrices
            /tet:connectivity-matrix/tet:underlay/tet:primary-path
            /tet:path-element/tet:type/tet:label/tet:label-hop
            /tet:te-label/tet:technology:
    +--:(flexi-grid)
       +--rw (single-or-super-channel)?
          +--:(single)
          |  +--rw flexi-n?              l0-types:flexi-n
          |  +--rw flexi-m?              l0-types:flexi-m
          x--:(super)
          |  +--rw subcarrier-flexi-n* [flexi-n]
          |     +--rw flexi-n    l0-types:flexi-n
          |     +--rw flexi-m?   l0-types:flexi-m
          +--:(multi)
             +--rw frequency-slots
                +--rw frequency-slot* [flexi-n]
                   +--rw flexi-n    l0-types:flexi-n
                   +--rw flexi-m?   l0-types:flexi-m
  augment /nw:networks/nw:network/nw:node/tet:te
            /tet:te-node-attributes/tet:connectivity-matrices
            /tet:connectivity-matrix/tet:underlay/tet:backup-path
            /tet:path-element/tet:type/tet:label/tet:label-hop
            /tet:te-label/tet:technology:
    +--:(flexi-grid)
       +--rw (single-or-super-channel)?
          +--:(single)
          |  +--rw flexi-n?              l0-types:flexi-n
          |  +--rw flexi-m?              l0-types:flexi-m
          x--:(super)
          |  +--rw subcarrier-flexi-n* [flexi-n]
          |     +--rw flexi-n    l0-types:flexi-n
          |     +--rw flexi-m?   l0-types:flexi-m
          +--:(multi)
             +--rw frequency-slots
                +--rw frequency-slot* [flexi-n]
                   +--rw flexi-n    l0-types:flexi-n
                   +--rw flexi-m?   l0-types:flexi-m
  augment /nw:networks/nw:network/nw:node/tet:te
            /tet:te-node-attributes/tet:connectivity-matrices
            /tet:connectivity-matrix/tet:optimizations/tet:algorithm
            /tet:metric/tet:optimization-metric
            /tet:explicit-route-exclude-objects
            /tet:route-object-exclude-object/tet:type/tet:label
            /tet:label-hop/tet:te-label/tet:technology:
    +--:(flexi-grid)
       +--rw (single-or-super-channel)?
          +--:(single)
          |  +--rw flexi-n?              l0-types:flexi-n
          |  +--rw flexi-m?              l0-types:flexi-m
          x--:(super)
          |  +--rw subcarrier-flexi-n* [flexi-n]
          |     +--rw flexi-n    l0-types:flexi-n
          |     +--rw flexi-m?   l0-types:flexi-m
          +--:(multi)
             +--rw frequency-slots
                +--rw frequency-slot* [flexi-n]
                   +--rw flexi-n    l0-types:flexi-n
                   +--rw flexi-m?   l0-types:flexi-m
  augment /nw:networks/nw:network/nw:node/tet:te
            /tet:te-node-attributes/tet:connectivity-matrices
            /tet:connectivity-matrix/tet:optimizations/tet:algorithm
            /tet:metric/tet:optimization-metric
            /tet:explicit-route-include-objects
            /tet:route-object-include-object/tet:type/tet:label
            /tet:label-hop/tet:te-label/tet:technology:
    +--:(flexi-grid)
       +--rw (single-or-super-channel)?
          +--:(single)
          |  +--rw flexi-n?              l0-types:flexi-n
          |  +--rw flexi-m?              l0-types:flexi-m
          x--:(super)
          |  +--rw subcarrier-flexi-n* [flexi-n]
          |     +--rw flexi-n    l0-types:flexi-n
          |     +--rw flexi-m?   l0-types:flexi-m
          +--:(multi)
             +--rw frequency-slots
                +--rw frequency-slot* [flexi-n]
                   +--rw flexi-n    l0-types:flexi-n
                   +--rw flexi-m?   l0-types:flexi-m
  augment /nw:networks/nw:network/nw:node/tet:te
            /tet:te-node-attributes/tet:connectivity-matrices
            /tet:connectivity-matrix/tet:path-properties
            /tet:path-route-objects/tet:path-route-object/tet:type
            /tet:label/tet:label-hop/tet:te-label/tet:technology:
    +--:(flexi-grid)
       +--ro (single-or-super-channel)?
          +--:(single)
          |  +--ro flexi-n?              l0-types:flexi-n
          |  +--ro flexi-m?              l0-types:flexi-m
          x--:(super)
          |  +--ro subcarrier-flexi-n* [flexi-n]
          |     +--ro flexi-n    l0-types:flexi-n
          |     +--ro flexi-m?   l0-types:flexi-m
          +--:(multi)
             +--ro frequency-slots
                +--ro frequency-slot* [flexi-n]
                   +--ro flexi-n    l0-types:flexi-n
                   +--ro flexi-m?   l0-types:flexi-m
  augment /nw:networks/nw:network/nw:node/tet:te
            /tet:information-source-entry/tet:connectivity-matrices
            /tet:label-restrictions/tet:label-restriction
            /tet:label-start/tet:te-label/tet:technology:
    +--:(flexi-grid)
       +--ro flexi-n?   l0-types:flexi-n
  augment /nw:networks/nw:network/nw:node/tet:te
            /tet:information-source-entry/tet:connectivity-matrices
            /tet:label-restrictions/tet:label-restriction
            /tet:label-end/tet:te-label/tet:technology:
    +--:(flexi-grid)
       +--ro flexi-n?   l0-types:flexi-n
  augment /nw:networks/nw:network/nw:node/tet:te
            /tet:information-source-entry/tet:connectivity-matrices
            /tet:label-restrictions/tet:label-restriction
            /tet:label-step/tet:technology:
    +--:(flexi-grid)
       x--ro flexi-grid-channel-spacing?   identityref
       +--ro flexi-ncfg?                   identityref
       +--ro flexi-n-step?                 uint8
  augment /nw:networks/nw:network/nw:node/tet:te
            /tet:information-source-entry/tet:connectivity-matrices
            /tet:underlay/tet:primary-path/tet:path-element/tet:type
            /tet:label/tet:label-hop/tet:te-label/tet:technology:
    +--:(flexi-grid)
       +--ro (single-or-super-channel)?
          +--:(single)
          |  +--ro flexi-n?              l0-types:flexi-n
          |  +--ro flexi-m?              l0-types:flexi-m
          x--:(super)
          |  +--ro subcarrier-flexi-n* [flexi-n]
          |     +--ro flexi-n    l0-types:flexi-n
          |     +--ro flexi-m?   l0-types:flexi-m
          +--:(multi)
             +--ro frequency-slots
                +--ro frequency-slot* [flexi-n]
                   +--ro flexi-n    l0-types:flexi-n
                   +--ro flexi-m?   l0-types:flexi-m
  augment /nw:networks/nw:network/nw:node/tet:te
            /tet:information-source-entry/tet:connectivity-matrices
            /tet:underlay/tet:backup-path/tet:path-element/tet:type
            /tet:label/tet:label-hop/tet:te-label/tet:technology:
    +--:(flexi-grid)
       +--ro (single-or-super-channel)?
          +--:(single)
          |  +--ro flexi-n?              l0-types:flexi-n
          |  +--ro flexi-m?              l0-types:flexi-m
          x--:(super)
          |  +--ro subcarrier-flexi-n* [flexi-n]
          |     +--ro flexi-n    l0-types:flexi-n
          |     +--ro flexi-m?   l0-types:flexi-m
          +--:(multi)
             +--ro frequency-slots
                +--ro frequency-slot* [flexi-n]
                   +--ro flexi-n    l0-types:flexi-n
                   +--ro flexi-m?   l0-types:flexi-m
  augment /nw:networks/nw:network/nw:node/tet:te
            /tet:information-source-entry/tet:connectivity-matrices
            /tet:optimizations/tet:algorithm/tet:metric
            /tet:optimization-metric
            /tet:explicit-route-exclude-objects
            /tet:route-object-exclude-object/tet:type/tet:label
            /tet:label-hop/tet:te-label/tet:technology:
    +--:(flexi-grid)
       +--ro (single-or-super-channel)?
          +--:(single)
          |  +--ro flexi-n?              l0-types:flexi-n
          |  +--ro flexi-m?              l0-types:flexi-m
          x--:(super)
          |  +--ro subcarrier-flexi-n* [flexi-n]
          |     +--ro flexi-n    l0-types:flexi-n
          |     +--ro flexi-m?   l0-types:flexi-m
          +--:(multi)
             +--ro frequency-slots
                +--ro frequency-slot* [flexi-n]
                   +--ro flexi-n    l0-types:flexi-n
                   +--ro flexi-m?   l0-types:flexi-m
  augment /nw:networks/nw:network/nw:node/tet:te
            /tet:information-source-entry/tet:connectivity-matrices
            /tet:optimizations/tet:algorithm/tet:metric
            /tet:optimization-metric
            /tet:explicit-route-include-objects
            /tet:route-object-include-object/tet:type/tet:label
            /tet:label-hop/tet:te-label/tet:technology:
    +--:(flexi-grid)
       +--ro (single-or-super-channel)?
          +--:(single)
          |  +--ro flexi-n?              l0-types:flexi-n
          |  +--ro flexi-m?              l0-types:flexi-m
          x--:(super)
          |  +--ro subcarrier-flexi-n* [flexi-n]
          |     +--ro flexi-n    l0-types:flexi-n
          |     +--ro flexi-m?   l0-types:flexi-m
          +--:(multi)
             +--ro frequency-slots
                +--ro frequency-slot* [flexi-n]
                   +--ro flexi-n    l0-types:flexi-n
                   +--ro flexi-m?   l0-types:flexi-m
  augment /nw:networks/nw:network/nw:node/tet:te
            /tet:information-source-entry/tet:connectivity-matrices
            /tet:path-properties/tet:path-route-objects
            /tet:path-route-object/tet:type/tet:label/tet:label-hop
            /tet:te-label/tet:technology:
    +--:(flexi-grid)
       +--ro (single-or-super-channel)?
          +--:(single)
          |  +--ro flexi-n?              l0-types:flexi-n
          |  +--ro flexi-m?              l0-types:flexi-m
          x--:(super)
          |  +--ro subcarrier-flexi-n* [flexi-n]
          |     +--ro flexi-n    l0-types:flexi-n
          |     +--ro flexi-m?   l0-types:flexi-m
          +--:(multi)
             +--ro frequency-slots
                +--ro frequency-slot* [flexi-n]
                   +--ro flexi-n    l0-types:flexi-n
                   +--ro flexi-m?   l0-types:flexi-m
  augment /nw:networks/nw:network/nw:node/tet:te
            /tet:information-source-entry/tet:connectivity-matrices
            /tet:connectivity-matrix/tet:from/tet:label-restrictions
            /tet:label-restriction/tet:label-start/tet:te-label
            /tet:technology:
    +--:(flexi-grid)
       +--ro flexi-n?   l0-types:flexi-n
  augment /nw:networks/nw:network/nw:node/tet:te
            /tet:information-source-entry/tet:connectivity-matrices
            /tet:connectivity-matrix/tet:from/tet:label-restrictions
            /tet:label-restriction/tet:label-end/tet:te-label
            /tet:technology:
    +--:(flexi-grid)
       +--ro flexi-n?   l0-types:flexi-n
  augment /nw:networks/nw:network/nw:node/tet:te
            /tet:information-source-entry/tet:connectivity-matrices
            /tet:connectivity-matrix/tet:from/tet:label-restrictions
            /tet:label-restriction/tet:label-step/tet:technology:
    +--:(flexi-grid)
       x--ro flexi-grid-channel-spacing?   identityref
       +--ro flexi-ncfg?                   identityref
       +--ro flexi-n-step?                 uint8
  augment /nw:networks/nw:network/nw:node/tet:te
            /tet:information-source-entry/tet:connectivity-matrices
            /tet:connectivity-matrix/tet:to/tet:label-restrictions
            /tet:label-restriction/tet:label-start/tet:te-label
            /tet:technology:
    +--:(flexi-grid)
       +--ro flexi-n?   l0-types:flexi-n
  augment /nw:networks/nw:network/nw:node/tet:te
            /tet:information-source-entry/tet:connectivity-matrices
            /tet:connectivity-matrix/tet:to/tet:label-restrictions
            /tet:label-restriction/tet:label-end/tet:te-label
            /tet:technology:
    +--:(flexi-grid)
       +--ro flexi-n?   l0-types:flexi-n
  augment /nw:networks/nw:network/nw:node/tet:te
            /tet:information-source-entry/tet:connectivity-matrices
            /tet:connectivity-matrix/tet:to/tet:label-restrictions
            /tet:label-restriction/tet:label-step/tet:technology:
    +--:(flexi-grid)
       x--ro flexi-grid-channel-spacing?   identityref
       +--ro flexi-ncfg?                   identityref
       +--ro flexi-n-step?                 uint8
  augment /nw:networks/nw:network/nw:node/tet:te
            /tet:information-source-entry/tet:connectivity-matrices
            /tet:connectivity-matrix/tet:underlay/tet:primary-path
            /tet:path-element/tet:type/tet:label/tet:label-hop
            /tet:te-label/tet:technology:
    +--:(flexi-grid)
       +--ro (single-or-super-channel)?
          +--:(single)
          |  +--ro flexi-n?              l0-types:flexi-n
          |  +--ro flexi-m?              l0-types:flexi-m
          x--:(super)
          |  +--ro subcarrier-flexi-n* [flexi-n]
          |     +--ro flexi-n    l0-types:flexi-n
          |     +--ro flexi-m?   l0-types:flexi-m
          +--:(multi)
             +--ro frequency-slots
                +--ro frequency-slot* [flexi-n]
                   +--ro flexi-n    l0-types:flexi-n
                   +--ro flexi-m?   l0-types:flexi-m
  augment /nw:networks/nw:network/nw:node/tet:te
            /tet:information-source-entry/tet:connectivity-matrices
            /tet:connectivity-matrix/tet:underlay/tet:backup-path
            /tet:path-element/tet:type/tet:label/tet:label-hop
            /tet:te-label/tet:technology:
    +--:(flexi-grid)
       +--ro (single-or-super-channel)?
          +--:(single)
          |  +--ro flexi-n?              l0-types:flexi-n
          |  +--ro flexi-m?              l0-types:flexi-m
          x--:(super)
          |  +--ro subcarrier-flexi-n* [flexi-n]
          |     +--ro flexi-n    l0-types:flexi-n
          |     +--ro flexi-m?   l0-types:flexi-m
          +--:(multi)
             +--ro frequency-slots
                +--ro frequency-slot* [flexi-n]
                   +--ro flexi-n    l0-types:flexi-n
                   +--ro flexi-m?   l0-types:flexi-m
  augment /nw:networks/nw:network/nw:node/tet:te
            /tet:information-source-entry/tet:connectivity-matrices
            /tet:connectivity-matrix/tet:optimizations/tet:algorithm
            /tet:metric/tet:optimization-metric
            /tet:explicit-route-exclude-objects
            /tet:route-object-exclude-object/tet:type/tet:label
            /tet:label-hop/tet:te-label/tet:technology:
    +--:(flexi-grid)
       +--ro (single-or-super-channel)?
          +--:(single)
          |  +--ro flexi-n?              l0-types:flexi-n
          |  +--ro flexi-m?              l0-types:flexi-m
          x--:(super)
          |  +--ro subcarrier-flexi-n* [flexi-n]
          |     +--ro flexi-n    l0-types:flexi-n
          |     +--ro flexi-m?   l0-types:flexi-m
          +--:(multi)
             +--ro frequency-slots
                +--ro frequency-slot* [flexi-n]
                   +--ro flexi-n    l0-types:flexi-n
                   +--ro flexi-m?   l0-types:flexi-m
  augment /nw:networks/nw:network/nw:node/tet:te
            /tet:information-source-entry/tet:connectivity-matrices
            /tet:connectivity-matrix/tet:optimizations/tet:algorithm
            /tet:metric/tet:optimization-metric
            /tet:explicit-route-include-objects
            /tet:route-object-include-object/tet:type/tet:label
            /tet:label-hop/tet:te-label/tet:technology:
    +--:(flexi-grid)
       +--ro (single-or-super-channel)?
          +--:(single)
          |  +--ro flexi-n?              l0-types:flexi-n
          |  +--ro flexi-m?              l0-types:flexi-m
          x--:(super)
          |  +--ro subcarrier-flexi-n* [flexi-n]
          |     +--ro flexi-n    l0-types:flexi-n
          |     +--ro flexi-m?   l0-types:flexi-m
          +--:(multi)
             +--ro frequency-slots
                +--ro frequency-slot* [flexi-n]
                   +--ro flexi-n    l0-types:flexi-n
                   +--ro flexi-m?   l0-types:flexi-m
  augment /nw:networks/nw:network/nw:node/tet:te
            /tet:information-source-entry/tet:connectivity-matrices
            /tet:connectivity-matrix/tet:path-properties
            /tet:path-route-objects/tet:path-route-object/tet:type
            /tet:label/tet:label-hop/tet:te-label/tet:technology:
    +--:(flexi-grid)
       +--ro (single-or-super-channel)?
          +--:(single)
          |  +--ro flexi-n?              l0-types:flexi-n
          |  +--ro flexi-m?              l0-types:flexi-m
          x--:(super)
          |  +--ro subcarrier-flexi-n* [flexi-n]
          |     +--ro flexi-n    l0-types:flexi-n
          |     +--ro flexi-m?   l0-types:flexi-m
          +--:(multi)
             +--ro frequency-slots
                +--ro frequency-slot* [flexi-n]
                   +--ro flexi-n    l0-types:flexi-n
                   +--ro flexi-m?   l0-types:flexi-m
  augment /nw:networks/nw:network/nw:node/tet:te
            /tet:tunnel-termination-point
            /tet:local-link-connectivities/tet:label-restrictions
            /tet:label-restriction/tet:label-start/tet:te-label
            /tet:technology:
    +--:(flexi-grid)
       +--rw flexi-n?   l0-types:flexi-n
  augment /nw:networks/nw:network/nw:node/tet:te
            /tet:tunnel-termination-point
            /tet:local-link-connectivities/tet:label-restrictions
            /tet:label-restriction/tet:label-end/tet:te-label
            /tet:technology:
    +--:(flexi-grid)
       +--rw flexi-n?   l0-types:flexi-n
  augment /nw:networks/nw:network/nw:node/tet:te
            /tet:tunnel-termination-point
            /tet:local-link-connectivities/tet:label-restrictions
            /tet:label-restriction/tet:label-step/tet:technology:
    +--:(flexi-grid)
       x--rw flexi-grid-channel-spacing?   identityref
       +--rw flexi-ncfg?                   identityref
       +--rw flexi-n-step?                 uint8
  augment /nw:networks/nw:network/nw:node/tet:te
            /tet:tunnel-termination-point
            /tet:local-link-connectivities/tet:underlay
            /tet:primary-path/tet:path-element/tet:type/tet:label
            /tet:label-hop/tet:te-label/tet:technology:
    +--:(flexi-grid)
       +--rw (single-or-super-channel)?
          +--:(single)
          |  +--rw flexi-n?              l0-types:flexi-n
          |  +--rw flexi-m?              l0-types:flexi-m
          x--:(super)
          |  +--rw subcarrier-flexi-n* [flexi-n]
          |     +--rw flexi-n    l0-types:flexi-n
          |     +--rw flexi-m?   l0-types:flexi-m
          +--:(multi)
             +--rw frequency-slots
                +--rw frequency-slot* [flexi-n]
                   +--rw flexi-n    l0-types:flexi-n
                   +--rw flexi-m?   l0-types:flexi-m
  augment /nw:networks/nw:network/nw:node/tet:te
            /tet:tunnel-termination-point
            /tet:local-link-connectivities/tet:underlay
            /tet:backup-path/tet:path-element/tet:type/tet:label
            /tet:label-hop/tet:te-label/tet:technology:
    +--:(flexi-grid)
       +--rw (single-or-super-channel)?
          +--:(single)
          |  +--rw flexi-n?              l0-types:flexi-n
          |  +--rw flexi-m?              l0-types:flexi-m
          x--:(super)
          |  +--rw subcarrier-flexi-n* [flexi-n]
          |     +--rw flexi-n    l0-types:flexi-n
          |     +--rw flexi-m?   l0-types:flexi-m
          +--:(multi)
             +--rw frequency-slots
                +--rw frequency-slot* [flexi-n]
                   +--rw flexi-n    l0-types:flexi-n
                   +--rw flexi-m?   l0-types:flexi-m
  augment /nw:networks/nw:network/nw:node/tet:te
            /tet:tunnel-termination-point
            /tet:local-link-connectivities/tet:optimizations
            /tet:algorithm/tet:metric/tet:optimization-metric
            /tet:explicit-route-exclude-objects
            /tet:route-object-exclude-object/tet:type/tet:label
            /tet:label-hop/tet:te-label/tet:technology:
    +--:(flexi-grid)
       +--rw (single-or-super-channel)?
          +--:(single)
          |  +--rw flexi-n?              l0-types:flexi-n
          |  +--rw flexi-m?              l0-types:flexi-m
          x--:(super)
          |  +--rw subcarrier-flexi-n* [flexi-n]
          |     +--rw flexi-n    l0-types:flexi-n
          |     +--rw flexi-m?   l0-types:flexi-m
          +--:(multi)
             +--rw frequency-slots
                +--rw frequency-slot* [flexi-n]
                   +--rw flexi-n    l0-types:flexi-n
                   +--rw flexi-m?   l0-types:flexi-m
  augment /nw:networks/nw:network/nw:node/tet:te
            /tet:tunnel-termination-point
            /tet:local-link-connectivities/tet:optimizations
            /tet:algorithm/tet:metric/tet:optimization-metric
            /tet:explicit-route-include-objects
            /tet:route-object-include-object/tet:type/tet:label
            /tet:label-hop/tet:te-label/tet:technology:
    +--:(flexi-grid)
       +--rw (single-or-super-channel)?
          +--:(single)
          |  +--rw flexi-n?              l0-types:flexi-n
          |  +--rw flexi-m?              l0-types:flexi-m
          x--:(super)
          |  +--rw subcarrier-flexi-n* [flexi-n]
          |     +--rw flexi-n    l0-types:flexi-n
          |     +--rw flexi-m?   l0-types:flexi-m
          +--:(multi)
             +--rw frequency-slots
                +--rw frequency-slot* [flexi-n]
                   +--rw flexi-n    l0-types:flexi-n
                   +--rw flexi-m?   l0-types:flexi-m
  augment /nw:networks/nw:network/nw:node/tet:te
            /tet:tunnel-termination-point
            /tet:local-link-connectivities/tet:path-properties
            /tet:path-route-objects/tet:path-route-object/tet:type
            /tet:label/tet:label-hop/tet:te-label/tet:technology:
    +--:(flexi-grid)
       +--ro (single-or-super-channel)?
          +--:(single)
          |  +--ro flexi-n?              l0-types:flexi-n
          |  +--ro flexi-m?              l0-types:flexi-m
          x--:(super)
          |  +--ro subcarrier-flexi-n* [flexi-n]
          |     +--ro flexi-n    l0-types:flexi-n
          |     +--ro flexi-m?   l0-types:flexi-m
          +--:(multi)
             +--ro frequency-slots
                +--ro frequency-slot* [flexi-n]
                   +--ro flexi-n    l0-types:flexi-n
                   +--ro flexi-m?   l0-types:flexi-m
  augment /nw:networks/nw:network/nw:node/tet:te
            /tet:tunnel-termination-point
            /tet:local-link-connectivities
            /tet:local-link-connectivity/tet:label-restrictions
            /tet:label-restriction/tet:label-start/tet:te-label
            /tet:technology:
    +--:(flexi-grid)
       +--rw flexi-n?   l0-types:flexi-n
  augment /nw:networks/nw:network/nw:node/tet:te
            /tet:tunnel-termination-point
            /tet:local-link-connectivities
            /tet:local-link-connectivity/tet:label-restrictions
            /tet:label-restriction/tet:label-end/tet:te-label
            /tet:technology:
    +--:(flexi-grid)
       +--rw flexi-n?   l0-types:flexi-n
  augment /nw:networks/nw:network/nw:node/tet:te
            /tet:tunnel-termination-point
            /tet:local-link-connectivities
            /tet:local-link-connectivity/tet:label-restrictions
            /tet:label-restriction/tet:label-step/tet:technology:
    +--:(flexi-grid)
       x--rw flexi-grid-channel-spacing?   identityref
       +--rw flexi-ncfg?                   identityref
       +--rw flexi-n-step?                 uint8
  augment /nw:networks/nw:network/nw:node/tet:te
            /tet:tunnel-termination-point
            /tet:local-link-connectivities
            /tet:local-link-connectivity/tet:underlay
            /tet:primary-path/tet:path-element/tet:type/tet:label
            /tet:label-hop/tet:te-label/tet:technology:
    +--:(flexi-grid)
       +--rw (single-or-super-channel)?
          +--:(single)
          |  +--rw flexi-n?              l0-types:flexi-n
          |  +--rw flexi-m?              l0-types:flexi-m
          x--:(super)
          |  +--rw subcarrier-flexi-n* [flexi-n]
          |     +--rw flexi-n    l0-types:flexi-n
          |     +--rw flexi-m?   l0-types:flexi-m
          +--:(multi)
             +--rw frequency-slots
                +--rw frequency-slot* [flexi-n]
                   +--rw flexi-n    l0-types:flexi-n
                   +--rw flexi-m?   l0-types:flexi-m
  augment /nw:networks/nw:network/nw:node/tet:te
            /tet:tunnel-termination-point
            /tet:local-link-connectivities
            /tet:local-link-connectivity/tet:underlay/tet:backup-path
            /tet:path-element/tet:type/tet:label/tet:label-hop
            /tet:te-label/tet:technology:
    +--:(flexi-grid)
       +--rw (single-or-super-channel)?
          +--:(single)
          |  +--rw flexi-n?              l0-types:flexi-n
          |  +--rw flexi-m?              l0-types:flexi-m
          x--:(super)
          |  +--rw subcarrier-flexi-n* [flexi-n]
          |     +--rw flexi-n    l0-types:flexi-n
          |     +--rw flexi-m?   l0-types:flexi-m
          +--:(multi)
             +--rw frequency-slots
                +--rw frequency-slot* [flexi-n]
                   +--rw flexi-n    l0-types:flexi-n
                   +--rw flexi-m?   l0-types:flexi-m
  augment /nw:networks/nw:network/nw:node/tet:te
            /tet:tunnel-termination-point
            /tet:local-link-connectivities
            /tet:local-link-connectivity/tet:optimizations
            /tet:algorithm/tet:metric/tet:optimization-metric
            /tet:explicit-route-exclude-objects
            /tet:route-object-exclude-object/tet:type/tet:label
            /tet:label-hop/tet:te-label/tet:technology:
    +--:(flexi-grid)
       +--rw (single-or-super-channel)?
          +--:(single)
          |  +--rw flexi-n?              l0-types:flexi-n
          |  +--rw flexi-m?              l0-types:flexi-m
          x--:(super)
          |  +--rw subcarrier-flexi-n* [flexi-n]
          |     +--rw flexi-n    l0-types:flexi-n
          |     +--rw flexi-m?   l0-types:flexi-m
          +--:(multi)
             +--rw frequency-slots
                +--rw frequency-slot* [flexi-n]
                   +--rw flexi-n    l0-types:flexi-n
                   +--rw flexi-m?   l0-types:flexi-m
  augment /nw:networks/nw:network/nw:node/tet:te
            /tet:tunnel-termination-point
            /tet:local-link-connectivities
            /tet:local-link-connectivity/tet:optimizations
            /tet:algorithm/tet:metric/tet:optimization-metric
            /tet:explicit-route-include-objects
            /tet:route-object-include-object/tet:type/tet:label
            /tet:label-hop/tet:te-label/tet:technology:
    +--:(flexi-grid)
       +--rw (single-or-super-channel)?
          +--:(single)
          |  +--rw flexi-n?              l0-types:flexi-n
          |  +--rw flexi-m?              l0-types:flexi-m
          x--:(super)
          |  +--rw subcarrier-flexi-n* [flexi-n]
          |     +--rw flexi-n    l0-types:flexi-n
          |     +--rw flexi-m?   l0-types:flexi-m
          +--:(multi)
             +--rw frequency-slots
                +--rw frequency-slot* [flexi-n]
                   +--rw flexi-n    l0-types:flexi-n
                   +--rw flexi-m?   l0-types:flexi-m
  augment /nw:networks/nw:network/nw:node/tet:te
            /tet:tunnel-termination-point
            /tet:local-link-connectivities
            /tet:local-link-connectivity/tet:path-properties
            /tet:path-route-objects/tet:path-route-object/tet:type
            /tet:label/tet:label-hop/tet:te-label/tet:technology:
    +--:(flexi-grid)
       +--ro (single-or-super-channel)?
          +--:(single)
          |  +--ro flexi-n?              l0-types:flexi-n
          |  +--ro flexi-m?              l0-types:flexi-m
          x--:(super)
          |  +--ro subcarrier-flexi-n* [flexi-n]
          |     +--ro flexi-n    l0-types:flexi-n
          |     +--ro flexi-m?   l0-types:flexi-m
          +--:(multi)
             +--ro frequency-slots
                +--ro frequency-slot* [flexi-n]
                   +--ro flexi-n    l0-types:flexi-n
                   +--ro flexi-m?   l0-types:flexi-m
  augment /nw:networks/nw:network/nt:link/tet:te
            /tet:te-link-attributes/tet:underlay/tet:primary-path
            /tet:path-element/tet:type/tet:label/tet:label-hop
            /tet:te-label/tet:technology:
    +--:(flexi-grid)
       +--rw (single-or-super-channel)?
          +--:(single)
          |  +--rw flexi-n?              l0-types:flexi-n
          |  +--rw flexi-m?              l0-types:flexi-m
          x--:(super)
          |  +--rw subcarrier-flexi-n* [flexi-n]
          |     +--rw flexi-n    l0-types:flexi-n
          |     +--rw flexi-m?   l0-types:flexi-m
          +--:(multi)
             +--rw frequency-slots
                +--rw frequency-slot* [flexi-n]
                   +--rw flexi-n    l0-types:flexi-n
                   +--rw flexi-m?   l0-types:flexi-m
  augment /nw:networks/nw:network/nt:link/tet:te
            /tet:te-link-attributes/tet:underlay/tet:backup-path
            /tet:path-element/tet:type/tet:label/tet:label-hop
            /tet:te-label/tet:technology:
    +--:(flexi-grid)
       +--rw (single-or-super-channel)?
          +--:(single)
          |  +--rw flexi-n?              l0-types:flexi-n
          |  +--rw flexi-m?              l0-types:flexi-m
          x--:(super)
          |  +--rw subcarrier-flexi-n* [flexi-n]
          |     +--rw flexi-n    l0-types:flexi-n
          |     +--rw flexi-m?   l0-types:flexi-m
          +--:(multi)
             +--rw frequency-slots
                +--rw frequency-slot* [flexi-n]
                   +--rw flexi-n    l0-types:flexi-n
                   +--rw flexi-m?   l0-types:flexi-m
  augment /nw:networks/nw:network/nt:link/tet:te
            /tet:te-link-attributes/tet:label-restrictions
            /tet:label-restriction/tet:label-start/tet:te-label
            /tet:technology:
    +--:(flexi-grid)
       +--rw flexi-n?   l0-types:flexi-n
  augment /nw:networks/nw:network/nt:link/tet:te
            /tet:te-link-attributes/tet:label-restrictions
            /tet:label-restriction/tet:label-end/tet:te-label
            /tet:technology:
    +--:(flexi-grid)
       +--rw flexi-n?   l0-types:flexi-n
  augment /nw:networks/nw:network/nt:link/tet:te
            /tet:te-link-attributes/tet:label-restrictions
            /tet:label-restriction/tet:label-step/tet:technology:
    +--:(flexi-grid)
       x--rw flexi-grid-channel-spacing?   identityref
       +--rw flexi-ncfg?                   identityref
       +--rw flexi-n-step?                 uint8
  augment /nw:networks/nw:network/nt:link/tet:te
            /tet:information-source-entry/tet:label-restrictions
            /tet:label-restriction/tet:label-start/tet:te-label
            /tet:technology:
    +--:(flexi-grid)
       +--ro flexi-n?   l0-types:flexi-n
  augment /nw:networks/nw:network/nt:link/tet:te
            /tet:information-source-entry/tet:label-restrictions
            /tet:label-restriction/tet:label-end/tet:te-label
            /tet:technology:
    +--:(flexi-grid)
       +--ro flexi-n?   l0-types:flexi-n
  augment /nw:networks/nw:network/nt:link/tet:te
            /tet:information-source-entry/tet:label-restrictions
            /tet:label-restriction/tet:label-step/tet:technology:
    +--:(flexi-grid)
       x--ro flexi-grid-channel-spacing?   identityref
       +--ro flexi-ncfg?                   identityref
       +--ro flexi-n-step?                 uint8
  augment /nw:networks/tet:te/tet:templates/tet:link-template
            /tet:te-link-attributes/tet:underlay/tet:primary-path
            /tet:path-element/tet:type/tet:label/tet:label-hop
            /tet:te-label/tet:technology:
    +--:(flexi-grid)
       +--rw (single-or-super-channel)?
          +--:(single)
          |  +--rw flexi-n?              l0-types:flexi-n
          |  +--rw flexi-m?              l0-types:flexi-m
          x--:(super)
          |  +--rw subcarrier-flexi-n* [flexi-n]
          |     +--rw flexi-n    l0-types:flexi-n
          |     +--rw flexi-m?   l0-types:flexi-m
          +--:(multi)
             +--rw frequency-slots
                +--rw frequency-slot* [flexi-n]
                   +--rw flexi-n    l0-types:flexi-n
                   +--rw flexi-m?   l0-types:flexi-m
  augment /nw:networks/tet:te/tet:templates/tet:link-template
            /tet:te-link-attributes/tet:underlay/tet:backup-path
            /tet:path-element/tet:type/tet:label/tet:label-hop
            /tet:te-label/tet:technology:
    +--:(flexi-grid)
       +--rw (single-or-super-channel)?
          +--:(single)
          |  +--rw flexi-n?              l0-types:flexi-n
          |  +--rw flexi-m?              l0-types:flexi-m
          x--:(super)
          |  +--rw subcarrier-flexi-n* [flexi-n]
          |     +--rw flexi-n    l0-types:flexi-n
          |     +--rw flexi-m?   l0-types:flexi-m
          +--:(multi)
             +--rw frequency-slots
                +--rw frequency-slot* [flexi-n]
                   +--rw flexi-n    l0-types:flexi-n
                   +--rw flexi-m?   l0-types:flexi-m
  augment /nw:networks/tet:te/tet:templates/tet:link-template
            /tet:te-link-attributes/tet:label-restrictions
            /tet:label-restriction/tet:label-start/tet:te-label
            /tet:technology:
    +--:(flexi-grid)
       +--rw flexi-n?   l0-types:flexi-n
  augment /nw:networks/tet:te/tet:templates/tet:link-template
            /tet:te-link-attributes/tet:label-restrictions
            /tet:label-restriction/tet:label-end/tet:te-label
            /tet:technology:
    +--:(flexi-grid)
       +--rw flexi-n?   l0-types:flexi-n
  augment /nw:networks/tet:te/tet:templates/tet:link-template
            /tet:te-link-attributes/tet:label-restrictions
            /tet:label-restriction/tet:label-step/tet:technology:
    +--:(flexi-grid)
       x--rw flexi-grid-channel-spacing?   identityref
       +--rw flexi-ncfg?                   identityref
       +--rw flexi-n-step?                 uint8
]]></artwork>
      </figure>
    </section>
    <section anchor="the-yang-code-for-flexi-grid-topology">
      <name>The YANG Code for Flexi-grid topology</name>
      <figure anchor="fig-flexig-topo-yang">
        <sourcecode type="yang" markers="true" name="ietf-flexi-grid-topology@2023-12-15.yang"><![CDATA[
module ietf-flexi-grid-topology {
  yang-version 1.1;
  namespace "urn:ietf:params:xml:ns:yang:ietf-flexi-grid-topology";
  prefix "flexgt";

  import ietf-network {
    prefix "nw";
    reference
      "RFC 8345: A YANG Data Model for Network Topologies";
  }

  import ietf-network-topology {
    prefix "nt";
    reference
      "RFC 8345: A YANG Data Model for Network Topologies";
  }

  import ietf-te-topology {
    prefix "tet";
    reference
      "RFC 8795: YANG Data Model for Traffic Engineering
       (TE) Topologies";
  }

  import ietf-layer0-types {
    prefix "l0-types";
    reference
      "RFC YYYY: A YANG Data Model for Layer 0 Types";
  }
  /* Note: The RFC Editor will replace YYYY with the number assigned
     to the RFC once draft-ietf-ccamp-rfc9093-bis becomes an RFC.*/

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

     WG List: <mailto:ccamp@ietf.org>

     Editor: Jorge E. Lopez de Vergara
             <mailto:jorge.lopez_vergara@uam.es>

     Editor: Daniel Perdices
             <mailto:daniel.perdices@uam.es>

     Editor: Haomian Zheng
             <mailto:zhenghaomian@huawei.com>

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

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

  description
    "This YANG module defines a topology model for flexi-grid 
     optical networks. The model augments the technology-agnostic 
     TE topology model with flexi-grid technology specific 
     definitions, based on RFC 7698 and RFC 7699.

     The model fully conforms to the Network Management Datastore 
     Architecture (NMDA).

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

     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.";
    reference
      "RFC 7698: Framework and Requirements for GMPLS-Based Control 
        of Flexi-Grid Dense Wavelength Division Multiplexing 
        (DWDM) Networks;
      RFC 7699: Generalized Labels for the Flexi-Grid in Lambda 
        Switch Capable (LSC) Label Switching Routers.";

  revision 2023-12-15 {
    description
      "Initial Version";
    reference
      "RFC XXXX: A YANG Data Model for Flexi-Grid Optical Networks";
    // RFC Ed.: replace XXXX with actual RFC number, update date
    // information and remove this note
  }

  /*
   * Groupings
   */

  grouping label-range-info {
    description
      "Flexi-grid-specific label range related information with a 
      presence container indicating whether the label range is a 
      flexi-grid label range.";
    container flexi-grid-label-range {
      presence
        "Indicates the label range is a flexi-grid label range.
        
        This container MUST NOT be present if there are other 
        presence containers or attributes indicating another type 
        of label range.";
      description
        "Flexi-grid-specific label range related information.";
      uses l0-types:flexi-grid-label-range-info;
    }
  }

  /*
   * Data nodes
   */

  augment "/nw:networks/nw:network/nw:network-types"
        + "/tet:te-topology" {
    description
      "Augment network types to define flexi-grid topology type.";
    container flexi-grid-topology {
      presence
        "Its presence identifies the flexi-grid topology type.";
      description
        "Introduce new network type for flexi-grid topology.";
    }
  }

  augment "/nw:networks/nw:network/nw:node/tet:te"
        + "/tet:te-node-attributes" {
    when "/nw:networks/nw:network/nw:network-types"
       + "/tet:te-topology/flexgt:flexi-grid-topology" {
      description
      "Augmentation parameters apply only for networks with
       flexi-grid topology type.";
    }
    description "Augment TE node attributes.";
    container flexi-grid-node {
      presence "The TE node is a flexi-grid node.";
      description
        "Introduce new TE node type for flexi-grid node.";
    }
  }

  /*
   * Augment TE label range information
   */

  augment "/nw:networks/nw:network/nw:node/tet:te/"
        + "tet:te-node-attributes/tet:connectivity-matrices/"
        + "tet:label-restrictions/tet:label-restriction" {
    when "../../../../../../nw:network-types/tet:te-topology/"
       + "flexgt:flexi-grid-topology" {
      description
        "Augmentation parameters apply only for networks with
         flexi-grid topology type.";
    }
    description
      "Augment TE label range information for the TE node
       connectivity matrices.";
    uses label-range-info;
  }

  augment "/nw:networks/nw:network/nw:node/tet:te/"
        + "tet:te-node-attributes/tet:connectivity-matrices/"
        + "tet:connectivity-matrix/tet:from/"
        + "tet:label-restrictions/tet:label-restriction" {
    when "../../../../../../../../nw:network-types/tet:te-topology/"
       + "flexgt:flexi-grid-topology" {
      description
        "Augmentation parameters apply only for networks with
         flexi-grid topology type.";
    }
    description
      "Augment TE label range information for the source Link
       Termination Point (LTP) of the connectivity matrix entry.";
    uses label-range-info;
  }

  augment "/nw:networks/nw:network/nw:node/tet:te/"
        + "tet:te-node-attributes/tet:connectivity-matrices/"
        + "tet:connectivity-matrix/tet:to/"
        + "tet:label-restrictions/tet:label-restriction" {
    when "../../../../../../../../nw:network-types/tet:te-topology/"
       + "flexgt:flexi-grid-topology" {
      description
        "Augmentation parameters apply only for networks with
         flexi-grid topology type.";
    }
    description
      "Augment TE label range information for the destination LTP
       of the connectivity matrix entry.";
    uses label-range-info;
  }
  augment "/nw:networks/nw:network/nw:node/tet:te/"
        + "tet:information-source-entry/"
        + "tet:connectivity-matrices/tet:label-restrictions/"
        + "tet:label-restriction" {
    when "../../../../../../nw:network-types/tet:te-topology/"
       + "flexgt:flexi-grid-topology" {
      description
        "Augmentation parameters apply only for networks with
         flexi-grid topology type.";
    }
    description
      "Augment TE label range information for the TE node
       connectivity matrices information source.";
    uses label-range-info;
  }

  augment "/nw:networks/nw:network/nw:node/tet:te/"
        + "tet:information-source-entry/tet:connectivity-matrices/"
        + "tet:connectivity-matrix/"
        + "tet:from/tet:label-restrictions/tet:label-restriction" {
    when "../../../../../../../../nw:network-types/tet:te-topology/"
       + "flexgt:flexi-grid-topology" {
      description
        "Augmentation parameters apply only for networks with
         flexi-grid topology type.";
    }
    description
      "Augment TE label range information for the source LTP
       of the connectivity matrix entry information source.";
    uses label-range-info;
  }

  augment "/nw:networks/nw:network/nw:node/tet:te/"
        + "tet:information-source-entry/tet:connectivity-matrices/"
        + "tet:connectivity-matrix/"
        + "tet:to/tet:label-restrictions/tet:label-restriction" {
    when "../../../../../../../../nw:network-types/tet:te-topology/"
       + "flexgt:flexi-grid-topology" {
      description
        "Augmentation parameters apply only for networks with
         flexi-grid topology type.";
    }
    description
      "Augment TE label range information for the destination LTP
       of the connectivity matrix entry information source.";
    uses label-range-info;
  }

  augment "/nw:networks/nw:network/nw:node/tet:te/"
        + "tet:tunnel-termination-point/"
        + "tet:local-link-connectivities/"
        + "tet:label-restrictions/tet:label-restriction" {
    when "../../../../../../nw:network-types/tet:te-topology/"
       + "flexgt:flexi-grid-topology" {
      description
        "Augmentation parameters apply only for networks with
         flexi-grid topology type.";
    }
    description
      "Augment TE label range information for the Tunnel
      Termination Point (TTP) Local Link Connectivities.";
    uses label-range-info;
  }

  augment "/nw:networks/nw:network/nw:node/tet:te/"
        + "tet:tunnel-termination-point/"
        + "tet:local-link-connectivities/"
        + "tet:local-link-connectivity/"
        + "tet:label-restrictions/tet:label-restriction" {
    when "../../../../../../../nw:network-types/tet:te-topology/"
       + "flexgt:flexi-grid-topology" {
      description
        "Augmentation parameters apply only for networks with
         flexi-grid topology type.";
    }
    description
      "Augment TE label range information for the TTP
       Local Link Connectivity entry.";
    uses label-range-info;
  }

  augment "/nw:networks/nw:network/nt:link/tet:te/"
        + "tet:te-link-attributes/"
        + "tet:label-restrictions/tet:label-restriction" {
    when "../../../../../nw:network-types/tet:te-topology/"
       + "flexgt:flexi-grid-topology" {
      description
        "Augmentation parameters apply only for networks with
         flexi-grid topology type.";
    }
    description
      "Augment TE label range information for the TE link.";
    uses label-range-info;
  }

  augment "/nw:networks/nw:network/nt:link/tet:te/"
        + "tet:information-source-entry/"
        + "tet:label-restrictions/tet:label-restriction" {
    when "../../../../../nw:network-types/tet:te-topology/"
       + "flexgt:flexi-grid-topology" {
      description
        "Augmentation parameters apply only for networks with
         flexi-grid topology type.";
    }
    description
      "Augment TE label range information for the TE link
       information source.";
    uses label-range-info;
  }

  augment "/nw:networks/tet:te/tet:templates/"
        + "tet:link-template/tet:te-link-attributes/"
        + "tet:label-restrictions/tet:label-restriction" {
    description
      "Augment TE label range information for the TE link template.";
    uses label-range-info;
  }

  /*
   * Augment TE label
   */

  augment "/nw:networks/nw:network/nw:node/tet:te/"
        + "tet:te-node-attributes/tet:connectivity-matrices/"
        + "tet:label-restrictions/tet:label-restriction/"
        + "tet:label-start/"
        + "tet:te-label/tet:technology" {
    when "../../../../../../../../nw:network-types/tet:te-topology/"
       + "flexgt:flexi-grid-topology" {
      description
        "Augmentation parameters apply only for networks with
         flexi-grid topology type.";
    }
    description
      "Augment TE label range start for the TE node
       connectivity matrices.";
    case flexi-grid {
      uses l0-types:flexi-grid-label-start-end;
    }
  }

  augment "/nw:networks/nw:network/nw:node/tet:te/"
        + "tet:te-node-attributes/tet:connectivity-matrices/"
        + "tet:label-restrictions/"
        + "tet:label-restriction/tet:label-end/"
        + "tet:te-label/tet:technology" {
    when "../../../../../../../../nw:network-types/tet:te-topology/"
       + "flexgt:flexi-grid-topology" {
      description
        "Augmentation parameters apply only for networks with
         flexi-grid topology type.";
    }
    description
      "Augment TE label range end for the TE node
       connectivity matrices.";
    case flexi-grid {
      uses l0-types:flexi-grid-label-start-end;
    }
  }

  augment "/nw:networks/nw:network/nw:node/tet:te/"
        + "tet:te-node-attributes/tet:connectivity-matrices/"
        + "tet:label-restrictions/"
        + "tet:label-restriction/tet:label-step/"
        + "tet:technology" {
    when "../../../../../../../nw:network-types/tet:te-topology/"
       + "flexgt:flexi-grid-topology" {
      description
        "Augmentation parameters apply only for networks with
         flexi-grid topology type.";
    }
    description
      "Augment TE label range step for the TE node
       connectivity matrices.";
    case flexi-grid {
      uses l0-types:flexi-grid-label-step;
    }
  }

  augment "/nw:networks/nw:network/nw:node/tet:te/"
        + "tet:te-node-attributes/tet:connectivity-matrices/"
        + "tet:underlay/tet:primary-path/tet:path-element/"
        + "tet:type/tet:label/tet:label-hop/"
        + "tet:te-label/tet:technology" {
    when "../../../../../../../../../"
       + "nw:network-types/tet:te-topology/"
       + "flexgt:flexi-grid-topology" {
      description
        "Augmentation parameters apply only for networks with
         flexi-grid topology type.";
    }
    description
      "Augment TE label hop for the underlay primary path of the
       TE node connectivity matrices.";
    case flexi-grid {
      uses l0-types:flexi-grid-label-hop;
    }
  }

  augment "/nw:networks/nw:network/nw:node/tet:te/"
        + "tet:te-node-attributes/tet:connectivity-matrices/"
        + "tet:underlay/tet:backup-path/tet:path-element/"
        + "tet:type/tet:label/tet:label-hop/"
        + "tet:te-label/tet:technology" {
    when "../../../../../../../../../"
       + "nw:network-types/tet:te-topology/"
       + "flexgt:flexi-grid-topology" {
      description
        "Augmentation parameters apply only for networks with
         flexi-grid topology type.";
    }
    description
      "Augment TE label hop for the underlay backup path of the
       TE node connectivity matrices.";
    case flexi-grid {
      uses l0-types:flexi-grid-label-hop;
    }
  }

  augment "/nw:networks/nw:network/nw:node/tet:te/"
        + "tet:te-node-attributes/tet:connectivity-matrices/"
        + "tet:optimizations/tet:algorithm/tet:metric/"
        + "tet:optimization-metric/"
        + "tet:explicit-route-exclude-objects/"
        + "tet:route-object-exclude-object/"
        + "tet:type/tet:label/tet:label-hop/"
        + "tet:te-label/tet:technology" {
    when "../../../../../../../../../../"
       + "nw:network-types/tet:te-topology/"
       + "flexgt:flexi-grid-topology" {
      description
        "Augmentation parameters apply only for networks with
         flexi-grid topology type.";
    }
    description
      "Augment TE label hop for the explicit route objects excluded
       by the path computation of the TE node connectivity
       matrices.";
    case flexi-grid {
      uses l0-types:flexi-grid-label-hop;
    }
  }

  augment "/nw:networks/nw:network/nw:node/tet:te/"
        + "tet:te-node-attributes/tet:connectivity-matrices/"
        + "tet:optimizations/tet:algorithm/tet:metric/"
        + "tet:optimization-metric/"
        + "tet:explicit-route-include-objects/"
        + "tet:route-object-include-object/"
        + "tet:type/tet:label/tet:label-hop/"
        + "tet:te-label/tet:technology" {
    when "../../../../../../../../../../"
       + "nw:network-types/tet:te-topology/"
       + "flexgt:flexi-grid-topology" {
      description
        "Augmentation parameters apply only for networks with
         flexi-grid topology type.";
    }
    description
      "Augment TE label hop for the explicit route objects included
       by the path computation of the TE node connectivity
       matrices.";
    case flexi-grid {
      uses l0-types:flexi-grid-label-hop;
    }
  }

  augment "/nw:networks/nw:network/nw:node/tet:te/"
        + "tet:te-node-attributes/tet:connectivity-matrices/"
        + "tet:path-properties/tet:path-route-objects/"
        + "tet:path-route-object/tet:type/tet:label/tet:label-hop/"
        + "tet:te-label/tet:technology" {
    when "../../../../../../../../../"
       + "nw:network-types/tet:te-topology/"
       + "flexgt:flexi-grid-topology" {
      description
        "Augmentation parameters apply only for networks with
         flexi-grid topology type.";
    }
    description
      "Augment TE label hop for the computed path route objects
       of the TE node connectivity matrices.";
    case flexi-grid {
      uses l0-types:flexi-grid-label-hop;
    }
  }

  augment "/nw:networks/nw:network/nw:node/tet:te/"
        + "tet:te-node-attributes/tet:connectivity-matrices/"
        + "tet:connectivity-matrix/tet:from/"
        + "tet:label-restrictions/tet:label-restriction/"
        + "tet:label-start/"
        + "tet:te-label/tet:technology" {
    when "../../../../../../../../../../"
       + "nw:network-types/tet:te-topology/"
       + "flexgt:flexi-grid-topology" {
      description
        "Augmentation parameters apply only for networks with
         flexi-grid topology type.";
    }
    description
      "Augment TE label range start for the source LTP
       of the connectivity matrix entry.";
    case flexi-grid {
      uses l0-types:flexi-grid-label-start-end;
    }
  }

  augment "/nw:networks/nw:network/nw:node/tet:te/"
        + "tet:te-node-attributes/tet:connectivity-matrices/"
        + "tet:connectivity-matrix/tet:from/"
        + "tet:label-restrictions/tet:label-restriction/"
        + "tet:label-end/"
        + "tet:te-label/tet:technology" {
    when "../../../../../../../../../../"
       + "nw:network-types/tet:te-topology/"
       + "flexgt:flexi-grid-topology" {
      description
        "Augmentation parameters apply only for networks with
         flexi-grid topology type.";
    }
    description
      "Augment TE label range end for the source LTP
       of the connectivity matrix entry.";
    case flexi-grid {
      uses l0-types:flexi-grid-label-start-end;
    }
  }

  augment "/nw:networks/nw:network/nw:node/tet:te/"
        + "tet:te-node-attributes/tet:connectivity-matrices/"
        + "tet:connectivity-matrix/tet:from/"
        + "tet:label-restrictions/tet:label-restriction/"
        + "tet:label-step/"
        + "tet:technology" {
    when "../../../../../../../../../"
       + "nw:network-types/tet:te-topology/"
       + "flexgt:flexi-grid-topology" {
      description
        "Augmentation parameters apply only for networks with
         flexi-grid topology type.";
    }
    description
      "Augment TE label range step for the source LTP
       of the connectivity matrix entry.";
    case flexi-grid {
      uses l0-types:flexi-grid-label-step;
    }
  }

  augment "/nw:networks/nw:network/nw:node/tet:te/"
        + "tet:te-node-attributes/tet:connectivity-matrices/"
        + "tet:connectivity-matrix/tet:to/"
        + "tet:label-restrictions/tet:label-restriction/"
        + "tet:label-start/"
        + "tet:te-label/tet:technology" {
    when "../../../../../../../../../../"
       + "nw:network-types/tet:te-topology/"
       + "flexgt:flexi-grid-topology" {
      description
        "Augmentation parameters apply only for networks with
         flexi-grid topology type.";
    }
    description
      "Augment TE label range start for the destination LTP
       of the connectivity matrix entry.";
    case flexi-grid {
      uses l0-types:flexi-grid-label-start-end;
    }
  }

  augment "/nw:networks/nw:network/nw:node/tet:te/"
        + "tet:te-node-attributes/tet:connectivity-matrices/"
        + "tet:connectivity-matrix/tet:to/"
        + "tet:label-restrictions/tet:label-restriction/"
        + "tet:label-end/"
        + "tet:te-label/tet:technology" {
    when "../../../../../../../../../../"
       + "nw:network-types/tet:te-topology/"
       + "flexgt:flexi-grid-topology" {
      description
        "Augmentation parameters apply only for networks with
         flexi-grid topology type.";
    }
    description
      "Augment TE label range end for the destination LTP
       of the connectivity matrix entry.";
    case flexi-grid {
      uses l0-types:flexi-grid-label-start-end;
    }
  }

  augment "/nw:networks/nw:network/nw:node/tet:te/"
        + "tet:te-node-attributes/tet:connectivity-matrices/"
        + "tet:connectivity-matrix/tet:to/"
        + "tet:label-restrictions/tet:label-restriction/"
        + "tet:label-step/"
        + "tet:technology" {
    when "../../../../../../../../../"
       + "nw:network-types/tet:te-topology/"
       + "flexgt:flexi-grid-topology" {
      description
        "Augmentation parameters apply only for networks with
         flexi-grid topology type.";
    }
    description
      "Augment TE label range step for the destination LTP
       of the connectivity matrix entry.";
    case flexi-grid {
      uses l0-types:flexi-grid-label-step;
    }
  }

  augment "/nw:networks/nw:network/nw:node/tet:te/"
        + "tet:te-node-attributes/tet:connectivity-matrices/"
        + "tet:connectivity-matrix/"
        + "tet:underlay/tet:primary-path/tet:path-element/"
        + "tet:type/tet:label/tet:label-hop/"
        + "tet:te-label/tet:technology" {
    when "../../../../../../../../../../"
       + "nw:network-types/tet:te-topology/"
       + "flexgt:flexi-grid-topology" {
      description
        "Augmentation parameters apply only for networks with
         flexi-grid topology type.";
    }
    description
      "Augment TE label hop for the underlay primary path
       of the connectivity matrix entry.";
    case flexi-grid {
      uses l0-types:flexi-grid-label-hop;
    }
  }

  augment "/nw:networks/nw:network/nw:node/tet:te/"
        + "tet:te-node-attributes/tet:connectivity-matrices/"
        + "tet:connectivity-matrix/"
        + "tet:underlay/tet:backup-path/tet:path-element/"
        + "tet:type/tet:label/tet:label-hop/"
        + "tet:te-label/tet:technology" {
    when "../../../../../../../../../../"
       + "nw:network-types/tet:te-topology/"
       + "flexgt:flexi-grid-topology" {
      description
        "Augmentation parameters apply only for networks with
         flexi-grid topology type.";
    }
    description
      "Augment TE label hop for the underlay backup path
       of the connectivity matrix entry.";
    case flexi-grid {
      uses l0-types:flexi-grid-label-hop;
    }
  }

  augment "/nw:networks/nw:network/nw:node/tet:te/"
        + "tet:te-node-attributes/tet:connectivity-matrices/"
        + "tet:connectivity-matrix/tet:optimizations/"
        + "tet:algorithm/tet:metric/tet:optimization-metric/"
        + "tet:explicit-route-exclude-objects/"
        + "tet:route-object-exclude-object/tet:type/"
        + "tet:label/tet:label-hop/tet:te-label/tet:technology" {
    when "../../../../../../../../../../../"
       + "nw:network-types/tet:te-topology/"
       + "flexgt:flexi-grid-topology" {
      description
        "Augmentation parameters apply only for networks with
         flexi-grid topology type.";
    }
    description
      "Augment TE label hop for the explicit route objects excluded
       by the path computation of the connectivity matrix entry.";
    case flexi-grid {
      uses l0-types:flexi-grid-label-hop;
    }
  }

  augment "/nw:networks/nw:network/nw:node/tet:te/"
        + "tet:te-node-attributes/tet:connectivity-matrices/"
        + "tet:connectivity-matrix/tet:optimizations/"
        + "tet:algorithm/tet:metric/tet:optimization-metric/"
        + "tet:explicit-route-include-objects/"
        + "tet:route-object-include-object/tet:type/"
        + "tet:label/tet:label-hop/tet:te-label/tet:technology" {
    when "../../../../../../../../../../../"
       + "nw:network-types/tet:te-topology/"
       + "flexgt:flexi-grid-topology" {
      description
        "Augmentation parameters apply only for networks with
         flexi-grid topology type.";
    }
    description
      "Augment TE label hop for the explicit route objects included
       by the path computation of the connectivity matrix entry.";
    case flexi-grid {
      uses l0-types:flexi-grid-label-hop;
    }
  }

  augment "/nw:networks/nw:network/nw:node/tet:te/"
        + "tet:te-node-attributes/tet:connectivity-matrices/"
        + "tet:connectivity-matrix/"
        + "tet:path-properties/tet:path-route-objects/"
        + "tet:path-route-object/tet:type/"
        + "tet:label/tet:label-hop/tet:te-label/tet:technology" {
    when "../../../../../../../../../../"
       + "nw:network-types/tet:te-topology/"
       + "flexgt:flexi-grid-topology" {
      description
        "Augmentation parameters apply only for networks with
         flexi-grid topology type.";
    }
    description
      "Augment TE label hop for the computed path route objects
       of the connectivity matrix entry.";
    case flexi-grid {
      uses l0-types:flexi-grid-label-hop;
    }
  }

  augment "/nw:networks/nw:network/nw:node/tet:te/"
        + "tet:information-source-entry/"
        + "tet:connectivity-matrices/tet:label-restrictions/"
        + "tet:label-restriction/"
        + "tet:label-start/tet:te-label/tet:technology" {
    when "../../../../../../../../"
       + "nw:network-types/tet:te-topology/"
       + "flexgt:flexi-grid-topology" {
      description
        "Augmentation parameters apply only for networks with
         flexi-grid topology type.";
    }
    description
      "Augment TE label range start for the TE node connectivity
       matrices information source.";
    case flexi-grid {
      uses l0-types:flexi-grid-label-start-end;
    }
  }

  augment "/nw:networks/nw:network/nw:node/tet:te/"
        + "tet:information-source-entry/"
        + "tet:connectivity-matrices/tet:label-restrictions/"
        + "tet:label-restriction/"
        + "tet:label-end/tet:te-label/tet:technology" {
    when "../../../../../../../../"
       + "nw:network-types/tet:te-topology/"
       + "flexgt:flexi-grid-topology" {
      description
        "Augmentation parameters apply only for networks with
         flexi-grid topology type.";
    }
    description
      "Augment TE label range end for the TE node connectivity
       matrices information source.";
    case flexi-grid {
      uses l0-types:flexi-grid-label-start-end;
    }
  }

  augment "/nw:networks/nw:network/nw:node/tet:te/"
        + "tet:information-source-entry/"
        + "tet:connectivity-matrices/tet:label-restrictions/"
        + "tet:label-restriction/"
        + "tet:label-step/tet:technology" {
    when "../../../../../../../"
       + "nw:network-types/tet:te-topology/"
       + "flexgt:flexi-grid-topology" {
      description
        "Augmentation parameters apply only for networks with
         flexi-grid topology type.";
    }
    description
      "Augment TE label range step for the TE node connectivity
       matrices information source.";
    case flexi-grid {
      uses l0-types:flexi-grid-label-step;
    }
  }

  augment "/nw:networks/nw:network/nw:node/tet:te/"
        + "tet:information-source-entry/tet:connectivity-matrices/"
        + "tet:underlay/tet:primary-path/tet:path-element/tet:type/"
        + "tet:label/tet:label-hop/tet:te-label/tet:technology" {
    when "../../../../../../../../../"
       + "nw:network-types/tet:te-topology/"
       + "flexgt:flexi-grid-topology" {
      description
        "Augmentation parameters apply only for networks with
         flexi-grid topology type.";
    }
    description
      "Augment TE label hop for the underlay primary path
       of the TE node connectivity matrices of the information
       source entry.";
    case flexi-grid {
      uses l0-types:flexi-grid-label-hop;
    }
  }

  augment "/nw:networks/nw:network/nw:node/tet:te/"
        + "tet:information-source-entry/tet:connectivity-matrices/"
        + "tet:underlay/tet:backup-path/tet:path-element/tet:type/"
        + "tet:label/tet:label-hop/tet:te-label/tet:technology" {
    when "../../../../../../../../../"
       + "nw:network-types/tet:te-topology/"
       + "flexgt:flexi-grid-topology" {
      description
        "Augmentation parameters apply only for networks with
         flexi-grid topology type.";
    }
    description
      "Augment TE label hop for the underlay backup path
       of the TE node connectivity matrices of the information
       source entry.";
    case flexi-grid {
      uses l0-types:flexi-grid-label-hop;
    }
  }

  augment "/nw:networks/nw:network/nw:node/tet:te/"
        + "tet:information-source-entry/tet:connectivity-matrices/"
        + "tet:optimizations/tet:algorithm/tet:metric/"
        + "tet:optimization-metric/"
        + "tet:explicit-route-exclude-objects/"
        + "tet:route-object-exclude-object/tet:type/"
        + "tet:label/tet:label-hop/tet:te-label/tet:technology" {
    when "../../../../../../../../../../"
       + "nw:network-types/tet:te-topology/"
       + "flexgt:flexi-grid-topology" {
      description
        "Augmentation parameters apply only for networks with
         flexi-grid topology type.";
    }
    description
      "Augment TE label hop for the explicit route objects excluded
       by the path computation of the TE node connectivity matrices
       information source.";
    case flexi-grid {
      uses l0-types:flexi-grid-label-hop;
    }
  }

  augment "/nw:networks/nw:network/nw:node/tet:te/"
        + "tet:information-source-entry/tet:connectivity-matrices/"
        + "tet:optimizations/tet:algorithm/tet:metric/"
        + "tet:optimization-metric/"
        + "tet:explicit-route-include-objects/"
        + "tet:route-object-include-object/tet:type/"
        + "tet:label/tet:label-hop/tet:te-label/tet:technology" {
    when "../../../../../../../../../../"
       + "nw:network-types/tet:te-topology/"
       + "flexgt:flexi-grid-topology" {
      description
        "Augmentation parameters apply only for networks with
         flexi-grid topology type.";
    }
    description
      "Augment TE label hop for the explicit route objects included
       by the path computation of the TE node connectivity matrices
       information source.";
    case flexi-grid {
      uses l0-types:flexi-grid-label-hop;
    }
  }

  augment "/nw:networks/nw:network/nw:node/tet:te/"
        + "tet:information-source-entry/tet:connectivity-matrices/"
        + "tet:path-properties/tet:path-route-objects/"
        + "tet:path-route-object/tet:type/"
        + "tet:label/tet:label-hop/tet:te-label/tet:technology" {
    when "../../../../../../../../../"
       + "nw:network-types/tet:te-topology/"
       + "flexgt:flexi-grid-topology" {
      description
        "Augmentation parameters apply only for networks with
         flexi-grid topology type.";
    }
    description
      "Augment TE label hop for the computed path route objects
       of the TE node connectivity matrices information source.";
    case flexi-grid {
      uses l0-types:flexi-grid-label-hop;
    }
  }

  augment "/nw:networks/nw:network/nw:node/tet:te/"
        + "tet:information-source-entry/tet:connectivity-matrices/"
        + "tet:connectivity-matrix/"
        + "tet:from/tet:label-restrictions/"
        + "tet:label-restriction/"
        + "tet:label-start/tet:te-label/tet:technology" {
    when "../../../../../../../../../../"
       + "nw:network-types/tet:te-topology/"
       + "flexgt:flexi-grid-topology" {
      description
        "Augmentation parameters apply only for networks with
         flexi-grid topology type.";
    }
    description
      "Augment TE label range start for the source LTP
       of the connectivity matrix entry information source.";
    case flexi-grid {
      uses l0-types:flexi-grid-label-start-end;
    }
  }
  augment "/nw:networks/nw:network/nw:node/tet:te/"
        + "tet:information-source-entry/tet:connectivity-matrices/"
        + "tet:connectivity-matrix/"
        + "tet:from/tet:label-restrictions/"
        + "tet:label-restriction/"
        + "tet:label-end/tet:te-label/tet:technology" {
    when "../../../../../../../../../../"
       + "nw:network-types/tet:te-topology/"
       + "flexgt:flexi-grid-topology" {
      description
        "Augmentation parameters apply only for networks with
         flexi-grid topology type.";
    }
    description
      "Augment TE label range end for the source LTP
       of the connectivity matrix entry information source.";
    case flexi-grid {
      uses l0-types:flexi-grid-label-start-end;
    }
  }

  augment "/nw:networks/nw:network/nw:node/tet:te/"
        + "tet:information-source-entry/tet:connectivity-matrices/"
        + "tet:connectivity-matrix/"
        + "tet:from/tet:label-restrictions/"
        + "tet:label-restriction/"
        + "tet:label-step/tet:technology" {
    when "../../../../../../../../../"
       + "nw:network-types/tet:te-topology/"
       + "flexgt:flexi-grid-topology" {
      description
        "Augmentation parameters apply only for networks with
         flexi-grid topology type.";
    }
    description
      "Augment TE label range step for the source LTP
       of the connectivity matrix entry information source.";
    case flexi-grid {
      uses l0-types:flexi-grid-label-step;
    }
  }

  augment "/nw:networks/nw:network/nw:node/tet:te/"
        + "tet:information-source-entry/tet:connectivity-matrices/"
        + "tet:connectivity-matrix/"
        + "tet:to/tet:label-restrictions/tet:label-restriction/"
        + "tet:label-start/tet:te-label/tet:technology" {
    when "../../../../../../../../../../"
       + "nw:network-types/tet:te-topology/"
       + "flexgt:flexi-grid-topology" {
      description
        "Augmentation parameters apply only for networks with
         flexi-grid topology type.";
    }
    description
      "Augment TE label range start for the destination LTP
       of the connectivity matrix entry information source.";
    case flexi-grid {
      uses l0-types:flexi-grid-label-start-end;
    }
  }

  augment "/nw:networks/nw:network/nw:node/tet:te/"
        + "tet:information-source-entry/tet:connectivity-matrices/"
        + "tet:connectivity-matrix/"
        + "tet:to/tet:label-restrictions/tet:label-restriction/"
        + "tet:label-end/tet:te-label/tet:technology" {
    when "../../../../../../../../../../"
       + "nw:network-types/tet:te-topology/"
       + "flexgt:flexi-grid-topology" {
      description
        "Augmentation parameters apply only for networks with
         flexi-grid topology type.";
    }
    description
      "Augment TE label range end for the destination LTP
       of the connectivity matrix entry information source.";
    case flexi-grid {
      uses l0-types:flexi-grid-label-start-end;
    }
  }

  augment "/nw:networks/nw:network/nw:node/tet:te/"
        + "tet:information-source-entry/tet:connectivity-matrices/"
        + "tet:connectivity-matrix/"
        + "tet:to/tet:label-restrictions/tet:label-restriction/"
        + "tet:label-step/tet:technology" {
    when "../../../../../../../../../"
       + "nw:network-types/tet:te-topology/"
       + "flexgt:flexi-grid-topology" {
      description
        "Augmentation parameters apply only for networks with
         flexi-grid topology type.";
    }
    description
      "Augment TE label range step for the destination LTP
       of the connectivity matrix entry information source.";
    case flexi-grid {
      uses l0-types:flexi-grid-label-step;
    }
  }

  augment "/nw:networks/nw:network/nw:node/tet:te/"
        + "tet:information-source-entry/tet:connectivity-matrices/"
        + "tet:connectivity-matrix/"
        + "tet:underlay/tet:primary-path/tet:path-element/tet:type/"
        + "tet:label/tet:label-hop/tet:te-label/tet:technology" {
    when "../../../../../../../../../../"
       + "nw:network-types/tet:te-topology/"
       + "flexgt:flexi-grid-topology" {
      description
        "Augmentation parameters apply only for networks with
         flexi-grid topology type.";
    }
    description
      "Augment TE label hop for the underlay primary path
       of the connectivity matrix entry information source.";
    case flexi-grid {
      uses l0-types:flexi-grid-label-hop;
    }
  }

  augment "/nw:networks/nw:network/nw:node/tet:te/"
        + "tet:information-source-entry/tet:connectivity-matrices/"
        + "tet:connectivity-matrix/"
        + "tet:underlay/tet:backup-path/tet:path-element/tet:type/"
        + "tet:label/tet:label-hop/tet:te-label/tet:technology" {
    when "../../../../../../../../../../"
       + "nw:network-types/tet:te-topology/"
       + "flexgt:flexi-grid-topology" {
      description
        "Augmentation parameters apply only for networks with
         flexi-grid topology type.";
    }
    description
      "Augment TE label hop for the underlay backup path
       of the connectivity matrix entry information source.";
    case flexi-grid {
      uses l0-types:flexi-grid-label-hop;
    }
  }

  augment "/nw:networks/nw:network/nw:node/tet:te/"
        + "tet:information-source-entry/tet:connectivity-matrices/"
        + "tet:connectivity-matrix/"
        + "tet:optimizations/tet:algorithm/tet:metric/"
        + "tet:optimization-metric/"
        + "tet:explicit-route-exclude-objects/"
        + "tet:route-object-exclude-object/tet:type/"
        + "tet:label/tet:label-hop/tet:te-label/tet:technology" {
    when "../../../../../../../../../../../"
       + "nw:network-types/tet:te-topology/"
       + "flexgt:flexi-grid-topology" {
      description
        "Augmentation parameters apply only for networks with
         flexi-grid topology type.";
    }
    description
      "Augment TE label hop for the explicit route objects excluded
       by the path computation of the connectivity matrix entry
       information source.";
    case flexi-grid {
      uses l0-types:flexi-grid-label-hop;
    }
  }

  augment "/nw:networks/nw:network/nw:node/tet:te/"
        + "tet:information-source-entry/tet:connectivity-matrices/"
        + "tet:connectivity-matrix/"
        + "tet:optimizations/tet:algorithm/tet:metric/"
        + "tet:optimization-metric/"
        + "tet:explicit-route-include-objects/"
        + "tet:route-object-include-object/tet:type/"
        + "tet:label/tet:label-hop/tet:te-label/tet:technology" {
    when "../../../../../../../../../../../"
       + "nw:network-types/tet:te-topology/"
       + "flexgt:flexi-grid-topology" {
      description
        "Augmentation parameters apply only for networks with
         flexi-grid topology type.";
    }
    description
      "Augment TE label hop for the explicit route objects included
       by the path computation of the connectivity matrix entry
       information source.";
    case flexi-grid {
      uses l0-types:flexi-grid-label-hop;
    }
  }

  augment "/nw:networks/nw:network/nw:node/tet:te/"
        + "tet:information-source-entry/tet:connectivity-matrices/"
        + "tet:connectivity-matrix/"
        + "tet:path-properties/tet:path-route-objects/"
        + "tet:path-route-object/tet:type/"
        + "tet:label/tet:label-hop/tet:te-label/tet:technology" {
    when "../../../../../../../../../../"
       + "nw:network-types/tet:te-topology/"
       + "flexgt:flexi-grid-topology" {
      description
        "Augmentation parameters apply only for networks with
         flexi-grid topology type.";
    }
    description
      "Augment TE label hop for the computed path route objects
       of the connectivity matrix entry information source.";
    case flexi-grid {
      uses l0-types:flexi-grid-label-hop;
    }
  }

  augment "/nw:networks/nw:network/nw:node/tet:te/"
      + "tet:tunnel-termination-point/"
      + "tet:local-link-connectivities/"
      + "tet:label-restrictions/tet:label-restriction/"
      + "tet:label-start/"
      + "tet:te-label/tet:technology" {
    when "../../../../../../../../"
       + "nw:network-types/tet:te-topology/"
       + "flexgt:flexi-grid-topology" {
      description
        "Augmentation parameters apply only for networks with
         flexi-grid topology type.";
    }
    description
      "Augment TE label range start for the TTP
       Local Link Connectivities.";
    case flexi-grid {
      uses l0-types:flexi-grid-label-start-end;
    }
  }

  augment "/nw:networks/nw:network/nw:node/tet:te/"
        + "tet:tunnel-termination-point/"
        + "tet:local-link-connectivities/"
        + "tet:label-restrictions/tet:label-restriction/"
        + "tet:label-end/"
        + "tet:te-label/tet:technology"{
    when "../../../../../../../../"
       + "nw:network-types/tet:te-topology/"
       + "flexgt:flexi-grid-topology" {
      description
        "Augmentation parameters apply only for networks with
         flexi-grid topology type.";
    }
    description
      "Augment TE label range end for the TTP
       Local Link Connectivities.";
    case flexi-grid {
      uses l0-types:flexi-grid-label-start-end;
    }
  }

  augment "/nw:networks/nw:network/nw:node/tet:te/"
        + "tet:tunnel-termination-point/"
        + "tet:local-link-connectivities/"
        + "tet:label-restrictions/tet:label-restriction/"
        + "tet:label-step/"
        + "tet:technology"{
    when "../../../../../../../"
       + "nw:network-types/tet:te-topology/"
       + "flexgt:flexi-grid-topology" {
      description
        "Augmentation parameters apply only for networks with
         flexi-grid topology type.";
    }
    description
      "Augment TE label range step for the TTP
       Local Link Connectivities.";
    case flexi-grid {
      uses l0-types:flexi-grid-label-step;
    }
  }

  augment "/nw:networks/nw:network/nw:node/tet:te/"
        + "tet:tunnel-termination-point/"
        + "tet:local-link-connectivities/"
        + "tet:underlay/tet:primary-path/tet:path-element/tet:type/"
        + "tet:label/tet:label-hop/tet:te-label/tet:technology" {
    when "../../../../../../../../../"
       + "nw:network-types/tet:te-topology/"
       + "flexgt:flexi-grid-topology" {
      description
        "Augmentation parameters apply only for networks with
         flexi-grid topology type.";
    }
    description
      "Augment TE label hop for the underlay primary path
       of the TTP Local Link Connectivities.";
    case flexi-grid {
      uses l0-types:flexi-grid-label-hop;
    }
  }

  augment "/nw:networks/nw:network/nw:node/tet:te/"
        + "tet:tunnel-termination-point/"
        + "tet:local-link-connectivities/"
        + "tet:underlay/tet:backup-path/tet:path-element/tet:type/"
        + "tet:label/tet:label-hop/tet:te-label/tet:technology" {
    when "../../../../../../../../../"
       + "nw:network-types/tet:te-topology/"
       + "flexgt:flexi-grid-topology" {
      description
        "Augmentation parameters apply only for networks with
         flexi-grid topology type.";
    }
    description
      "Augment TE label hop for the underlay backup path
       of the TTP Local Link Connectivities.";
    case flexi-grid {
      uses l0-types:flexi-grid-label-hop;
    }
  }

  augment "/nw:networks/nw:network/nw:node/tet:te/"
        + "tet:tunnel-termination-point/"
        + "tet:local-link-connectivities/"
        + "tet:optimizations/tet:algorithm/tet:metric/"
        + "tet:optimization-metric/"
        + "tet:explicit-route-exclude-objects/"
        + "tet:route-object-exclude-object/tet:type/"
        + "tet:label/tet:label-hop/tet:te-label/tet:technology" {
    when "../../../../../../../../../../"
       + "nw:network-types/tet:te-topology/"
       + "flexgt:flexi-grid-topology" {
      description
        "Augmentation parameters apply only for networks with
         flexi-grid topology type.";
    }
    description
      "Augment TE label hop for the explicit route objects excluded
       by the path computation of the TTP Local Link
       Connectivities.";
    case flexi-grid {
      uses l0-types:flexi-grid-label-hop;
    }
  }

  augment "/nw:networks/nw:network/nw:node/tet:te/"
        + "tet:tunnel-termination-point/"
        + "tet:local-link-connectivities/"
        + "tet:optimizations/tet:algorithm/tet:metric/"
        + "tet:optimization-metric/"
        + "tet:explicit-route-include-objects/"
        + "tet:route-object-include-object/tet:type/"
        + "tet:label/tet:label-hop/tet:te-label/tet:technology" {
    when "../../../../../../../../../../"
       + "nw:network-types/tet:te-topology/"
       + "flexgt:flexi-grid-topology" {
      description
        "Augmentation parameters apply only for networks with
         flexi-grid topology type.";
    }
    description
      "Augment TE label hop for the explicit route objects included
       by the path computation of the TTP Local Link
       Connectivities.";
    case flexi-grid {
      uses l0-types:flexi-grid-label-hop;
    }
  }

  augment "/nw:networks/nw:network/nw:node/tet:te/"
        + "tet:tunnel-termination-point/"
        + "tet:local-link-connectivities/"
        + "tet:path-properties/tet:path-route-objects/"
        + "tet:path-route-object/tet:type/"
        + "tet:label/tet:label-hop/tet:te-label/tet:technology" {
    when "../../../../../../../../../"
       + "nw:network-types/tet:te-topology/"
       + "flexgt:flexi-grid-topology" {
      description
        "Augmentation parameters apply only for networks with
         flexi-grid topology type.";
    }
    description
      "Augment TE label hop for the computed path route objects
       of the TTP Local Link Connectivities.";
    case flexi-grid {
      uses l0-types:flexi-grid-label-hop;
    }
  }

  augment "/nw:networks/nw:network/nw:node/tet:te/"
        + "tet:tunnel-termination-point/"
        + "tet:local-link-connectivities/"
        + "tet:local-link-connectivity/"
        + "tet:label-restrictions/tet:label-restriction/"
        + "tet:label-start/tet:te-label/tet:technology" {
    when "../../../../../../../../../"
       + "nw:network-types/tet:te-topology/"
       + "flexgt:flexi-grid-topology" {
      description
        "Augmentation parameters apply only for networks with
         flexi-grid topology type.";
    }
    description
      "Augment TE label range start for the TTP
       Local Link Connectivity entry.";
    case flexi-grid {
      uses l0-types:flexi-grid-label-start-end;
    }
  }

  augment "/nw:networks/nw:network/nw:node/tet:te/"
        + "tet:tunnel-termination-point/"
        + "tet:local-link-connectivities/"
        + "tet:local-link-connectivity/"
        + "tet:label-restrictions/tet:label-restriction/"
        + "tet:label-end/tet:te-label/tet:technology" {
    when "../../../../../../../../../"
       + "nw:network-types/tet:te-topology/"
       + "flexgt:flexi-grid-topology" {
      description
        "Augmentation parameters apply only for networks with
         flexi-grid topology type.";
    }
    description
      "Augment TE label range end for the TTP
       Local Link Connectivity entry.";
    case flexi-grid {
      uses l0-types:flexi-grid-label-start-end;
    }
  }

  augment "/nw:networks/nw:network/nw:node/tet:te/"
        + "tet:tunnel-termination-point/"
        + "tet:local-link-connectivities/"
        + "tet:local-link-connectivity/"
        + "tet:label-restrictions/tet:label-restriction/"
        + "tet:label-step/tet:technology" {
    when "../../../../../../../../"
       + "nw:network-types/tet:te-topology/"
       + "flexgt:flexi-grid-topology" {
      description
        "Augmentation parameters apply only for networks with
         flexi-grid topology type.";
    }
    description
      "Augment TE label range step for the TTP
       Local Link Connectivity entry.";
    case flexi-grid {
      uses l0-types:flexi-grid-label-step;
    }
  }

  augment "/nw:networks/nw:network/nw:node/tet:te/"
        + "tet:tunnel-termination-point/"
        + "tet:local-link-connectivities/"
        + "tet:local-link-connectivity/"
        + "tet:underlay/tet:primary-path/tet:path-element/tet:type/"
        + "tet:label/tet:label-hop/tet:te-label/tet:technology" {
    when "../../../../../../../../../../"
       + "nw:network-types/tet:te-topology/"
       + "flexgt:flexi-grid-topology" {
      description
        "Augmentation parameters apply only for networks with
         flexi-grid topology type.";
    }
    description
      "Augment TE label hop for the underlay primary path
       of the TTP Local Link Connectivity entry.";
    case flexi-grid {
      uses l0-types:flexi-grid-label-hop;
    }
  }

  augment "/nw:networks/nw:network/nw:node/tet:te/"
        + "tet:tunnel-termination-point/"
        + "tet:local-link-connectivities/"
        + "tet:local-link-connectivity/"
        + "tet:underlay/tet:backup-path/tet:path-element/tet:type/"
        + "tet:label/tet:label-hop/tet:te-label/tet:technology" {
    when "../../../../../../../../../../"
       + "nw:network-types/tet:te-topology/"
       + "flexgt:flexi-grid-topology" {
      description
        "Augmentation parameters apply only for networks with
         flexi-grid topology type.";
    }
    description
      "Augment TE label hop for the underlay backup path
       of the TTP Local Link Connectivity entry.";
    case flexi-grid {
      uses l0-types:flexi-grid-label-hop;
    }
  }

  augment "/nw:networks/nw:network/nw:node/tet:te/"
        + "tet:tunnel-termination-point/"
        + "tet:local-link-connectivities/"
        + "tet:local-link-connectivity/"
        + "tet:optimizations/tet:algorithm/tet:metric/"
        + "tet:optimization-metric/"
        + "tet:explicit-route-exclude-objects/"
        + "tet:route-object-exclude-object/tet:type/"
        + "tet:label/tet:label-hop/tet:te-label/tet:technology" {
    when "../../../../../../../../../../../"
       + "nw:network-types/tet:te-topology/"
       + "flexgt:flexi-grid-topology" {
      description
        "Augmentation parameters apply only for networks with
         flexi-grid topology type.";
    }
    description
      "Augment TE label hop for the explicit route objects excluded
       by the path computation of the TTP Local Link
       Connectivity entry.";
    case flexi-grid {
      uses l0-types:flexi-grid-label-hop;
    }
  }

  augment "/nw:networks/nw:network/nw:node/tet:te/"
        + "tet:tunnel-termination-point/"
        + "tet:local-link-connectivities/"
        + "tet:local-link-connectivity/"
        + "tet:optimizations/tet:algorithm/tet:metric/"
        + "tet:optimization-metric/"
        + "tet:explicit-route-include-objects/"
        + "tet:route-object-include-object/tet:type/"
        + "tet:label/tet:label-hop/tet:te-label/tet:technology" {
    when "../../../../../../../../../../../"
       + "nw:network-types/tet:te-topology/"
       + "flexgt:flexi-grid-topology" {
      description
        "Augmentation parameters apply only for networks with
         flexi-grid topology type.";
    }
    description
      "Augment TE label hop for the explicit route objects included
       by the path computation of the TTP Local Link
       Connectivity entry.";
    case flexi-grid {
      uses l0-types:flexi-grid-label-hop;
    }
  }

  augment "/nw:networks/nw:network/nw:node/tet:te/"
        + "tet:tunnel-termination-point/"
        + "tet:local-link-connectivities/"
        + "tet:local-link-connectivity/"
        + "tet:path-properties/tet:path-route-objects/"
        + "tet:path-route-object/tet:type/"
        + "tet:label/tet:label-hop/tet:te-label/tet:technology" {
    when "../../../../../../../../../../"
       + "nw:network-types/tet:te-topology/"
       + "flexgt:flexi-grid-topology" {
      description
        "Augmentation parameters apply only for networks with
         flexi-grid topology type.";
    }
    description
      "Augment TE label hop for the computed path route objects
       of the TTP Local Link Connectivity entry.";
    case flexi-grid {
      uses l0-types:flexi-grid-label-hop;
    }
  }
  augment "/nw:networks/nw:network/nt:link/tet:te/"
        + "tet:te-link-attributes/"
        + "tet:underlay/tet:primary-path/tet:path-element/tet:type/"
        + "tet:label/tet:label-hop/tet:te-label/tet:technology" {
    when "../../../../../../../../"
       + "nw:network-types/tet:te-topology/"
       + "flexgt:flexi-grid-topology" {
      description
        "Augmentation parameters apply only for networks with
         flexi-grid topology type.";
    }
    description
      "Augment TE label hop for the underlay primary path
       of the TE link.";
    case flexi-grid {
      uses l0-types:flexi-grid-label-hop;
    }
  }

  augment "/nw:networks/nw:network/nt:link/tet:te/"
        + "tet:te-link-attributes/"
        + "tet:underlay/tet:backup-path/tet:path-element/tet:type/"
        + "tet:label/tet:label-hop/tet:te-label/tet:technology" {
    when "../../../../../../../../"
       + "nw:network-types/tet:te-topology/"
       + "flexgt:flexi-grid-topology" {
      description
        "Augmentation parameters apply only for networks with
         flexi-grid topology type.";
    }
    description
      "Augment TE label hop for the underlay backup path
       of the TE link.";
    case flexi-grid {
      uses l0-types:flexi-grid-label-hop;
    }
  }

  augment "/nw:networks/nw:network/nt:link/tet:te/"
        + "tet:te-link-attributes/"
        + "tet:label-restrictions/tet:label-restriction/"
        + "tet:label-start/tet:te-label/tet:technology" {
    when "../../../../../../../nw:network-types/tet:te-topology/"
       + "flexgt:flexi-grid-topology" {
      description
        "Augmentation parameters apply only for networks with
         flexi-grid topology type.";
    }
    description
      "Augment TE label range start for the TE link.";
    case flexi-grid {
      uses l0-types:flexi-grid-label-start-end;
    }
  }

  augment "/nw:networks/nw:network/nt:link/tet:te/"
        + "tet:te-link-attributes/"
        + "tet:label-restrictions/tet:label-restriction/"
        + "tet:label-end/tet:te-label/tet:technology" {
    when "../../../../../../../nw:network-types/tet:te-topology/"
       + "flexgt:flexi-grid-topology" {
      description
        "Augmentation parameters apply only for networks with
         flexi-grid topology type.";
    }
    description
      "Augment TE label range end for the TE link.";
    case flexi-grid {
      uses l0-types:flexi-grid-label-start-end;
    }
  }

  augment "/nw:networks/nw:network/nt:link/tet:te/"
        + "tet:te-link-attributes/"
        + "tet:label-restrictions/tet:label-restriction/"
        + "tet:label-step/tet:technology" {
    when "../../../../../../nw:network-types/tet:te-topology/"
       + "flexgt:flexi-grid-topology" {
      description
        "Augmentation parameters apply only for networks with
         flexi-grid topology type.";
    }
    description
      "Augment TE label range step for the TE link.";
    case flexi-grid {
      uses l0-types:flexi-grid-label-step;
    }
  }

  augment "/nw:networks/nw:network/nt:link/tet:te/"
        + "tet:information-source-entry/"
        + "tet:label-restrictions/tet:label-restriction/"
        + "tet:label-start/tet:te-label/tet:technology" {
    when "../../../../../../../nw:network-types/tet:te-topology/"
       + "flexgt:flexi-grid-topology" {
      description
        "Augmentation parameters apply only for networks with
         flexi-grid topology type.";
    }
    description
      "Augment TE label range start for the TE link
       information source.";
    case flexi-grid {
      uses l0-types:flexi-grid-label-start-end;
    }
  }

  augment "/nw:networks/nw:network/nt:link/tet:te/"
        + "tet:information-source-entry/"
        + "tet:label-restrictions/tet:label-restriction/"
        + "tet:label-end/tet:te-label/tet:technology" {
    when "../../../../../../../nw:network-types/tet:te-topology/"
       + "flexgt:flexi-grid-topology" {
      description
        "Augmentation parameters apply only for networks with
         flexi-grid topology type.";
    }
    description
      "Augment TE label range end for the TE link
       information source.";
    case flexi-grid {
      uses l0-types:flexi-grid-label-start-end;
    }
  }

  augment "/nw:networks/nw:network/nt:link/tet:te/"
        + "tet:information-source-entry/"
        + "tet:label-restrictions/tet:label-restriction/"
        + "tet:label-step/tet:technology" {
    when "../../../../../../nw:network-types/tet:te-topology/"
       + "flexgt:flexi-grid-topology" {
      description
        "Augmentation parameters apply only for networks with
         flexi-grid topology type.";
    }
    description
      "Augment TE label range step for the TE link
       information source.";
    case flexi-grid {
      uses l0-types:flexi-grid-label-step;
    }
  }

  augment "/nw:networks/tet:te/tet:templates/"
        + "tet:link-template/tet:te-link-attributes/"
        + "tet:underlay/tet:primary-path/tet:path-element/tet:type/"
        + "tet:label/tet:label-hop/tet:te-label/tet:technology" {
    description
      "Augment TE label hop for the underlay primary path
       of the TE link template.";
    case flexi-grid {
      uses l0-types:flexi-grid-label-hop;
    }
  }

  augment "/nw:networks/tet:te/tet:templates/"
        + "tet:link-template/tet:te-link-attributes/"
        + "tet:underlay/tet:backup-path/tet:path-element/tet:type/"
        + "tet:label/tet:label-hop/tet:te-label/tet:technology" {
    description
      "Augment TE label hop for the underlay backup path
       of the TE link template.";
    case flexi-grid {
      uses l0-types:flexi-grid-label-hop;
    }
  }

  augment "/nw:networks/tet:te/tet:templates/"
        + "tet:link-template/tet:te-link-attributes/"
        + "tet:label-restrictions/tet:label-restriction/"
        + "tet:label-start/tet:te-label/tet:technology" {
    description
      "Augment TE label range start for the TE link template.";
    case flexi-grid {
      uses l0-types:flexi-grid-label-start-end;
    }
  }

  augment "/nw:networks/tet:te/tet:templates/"
        + "tet:link-template/tet:te-link-attributes/"
        + "tet:label-restrictions/tet:label-restriction/"
        + "tet:label-end/tet:te-label/tet:technology" {
    description
      "Augment TE label range end for the TE link template.";
    case flexi-grid {
      uses l0-types:flexi-grid-label-start-end;
    }
  }

  augment "/nw:networks/tet:te/tet:templates/"
        + "tet:link-template/tet:te-link-attributes/"
        + "tet:label-restrictions/tet:label-restriction/"
        + "tet:label-step/tet:technology" {
    description
      "Augment TE label range step for the TE link template.";
    case flexi-grid {
      uses l0-types:flexi-grid-label-step;
    }
  }
}
]]></sourcecode>
      </figure>
    </section>
    <section anchor="security-considerations">
      <name>Security Considerations</name>
      <t>The YANG module specified in this document defines a schema for data
that is designed to be accessed via network management protocols such
as NETCONF <xref target="RFC6241"/> or RESTCONF <xref target="RFC8040"/>.  The lowest NETCONF layer
is the secure transport layer, and the mandatory-to-implement secure
transport is Secure Shell (SSH) <xref target="RFC6242"/>.  The lowest RESTCONF layer
is HTTPS, and the mandatory-to-implement secure transport is
Transport Layer Security (TLS) <xref target="RFC8446"/>.</t>
      <t>The NETCONF access control model <xref target="RFC8341"/> provides the means to
restrict access for particular NETCONF users to a preconfigured
subset of all available NETCONF protocol operations and content.  The
NETCONF Protocol SSH <xref target="RFC6242"/> describes a method for invoking and
running NETCONF within a SSH session as an SSH subsystem.  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>A number of configuration data nodes defined in this document are
writable/deletable (i.e., "config true").  These data nodes may be
considered sensitive or vulnerable in some network environments.</t>
      <t>There are a number of data nodes defined in this YANG module that are
writable/creatable/deletable (i.e., config true, which is the
default).  These data nodes may be considered sensitive or vulnerable
in some network environments.  Write operations (e.g., edit-config)
to these data nodes without proper protection can have a negative
effect on network operations.  These are the subtrees and data nodes
and their sensitivity/vulnerability:</t>
      <artwork type="ascii-art"><![CDATA[
      /nw:networks/nw:network/nw:network-types/tet:te-topology
      /nw:networks/nw:network/nt:link/tet:te/tet:te-link-attributes
      /nw:networks/nw:network/nw:node/nt:termination-point/tet:te
      /nw:networks/nw:network/nw:node/tet:te/tet:te-node-attributes
      /te-connectivity-matrices/te-connectivity-matrix/tet:path-
      constraints/tet:te-bandwidth/tet:technology
      /nw:networks/nw:network/nw:node/tet:te
      /tet:tunnel-termination-point/tet:local-link-connectivities
      /tet:label-restrictions/tet:label-restriction
]]></artwork>
    </section>
    <section anchor="iana-considerations">
      <name>IANA Considerations</name>
      <t>IANA is requested to assigned a new URI from the "IETF XML Registry"
<xref target="RFC3688"/> as follows:</t>
      <artwork type="ascii-art"><![CDATA[
         URI: urn:ietf:params:xml:ns:yang:ietf-flexi-grid-topology
         Registrant Contact: The IESG
         XML: N/A; the requested URI is an XML namespace.
]]></artwork>
      <t>IANA is requested to assign a new YANG module name in the "YANG
Module Names" registry <xref target="RFC6020"/> as follows:</t>
      <artwork type="ascii-art"><![CDATA[
         Name: ietf-flexi-grid-topology
         Namespace: urn:ietf:params:xml:ns:yang:ietf-flexi-grid-topology
         Prefix: flexgt
         Reference: RFC XXXX
]]></artwork>
    </section>
  </middle>
  <back>
    <references>
      <name>References</name>
      <references anchor="sec-normative-references">
        <name>Normative References</name>
        <reference anchor="ITU-T_G.694.1">
          <front>
            <title>Spectral grids for WDM applications: DWDM frequency grid</title>
            <author>
              <organization>ITU-T Recommendation G.694.1</organization>
            </author>
            <date year="2020" month="October"/>
          </front>
          <seriesInfo name="ITU-T G.694.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 G.872 Amendment 1" value=""/>
        </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="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="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="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="I-D.ietf-ccamp-rfc9093-bis">
          <front>
            <title>A YANG Data Model for Layer 0 Types</title>
            <author fullname="Sergio Belotti" initials="S." surname="Belotti">
              <organization>Nokia</organization>
            </author>
            <author fullname="Italo Busi" initials="I." surname="Busi">
              <organization>Huawei</organization>
            </author>
            <author fullname="Dieter Beller" initials="D." surname="Beller">
              <organization>Nokia</organization>
            </author>
            <author fullname="Haomian Zheng" initials="H." surname="Zheng">
              <organization>Huawei</organization>
            </author>
            <author fullname="Esther Le Rouzic" initials="E." surname="Le Rouzic">
              <organization>Orange</organization>
            </author>
            <author fullname="Aihua Guo" initials="A." surname="Guo">
              <organization>Futurewei Technologies</organization>
            </author>
            <author fullname="Daniel King" initials="D." surname="King">
              <organization>University of Lancaster</organization>
            </author>
            <date day="23" month="October" year="2023"/>
            <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.

   This document obsoletes RFC 9093.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-ccamp-rfc9093-bis-07"/>
        </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="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="RFC8345">
          <front>
            <title>A YANG Data Model for Network Topologies</title>
            <author fullname="A. Clemm" initials="A." surname="Clemm"/>
            <author fullname="J. Medved" initials="J." surname="Medved"/>
            <author fullname="R. Varga" initials="R." surname="Varga"/>
            <author fullname="N. Bahadur" initials="N." surname="Bahadur"/>
            <author fullname="H. Ananthakrishnan" initials="H." surname="Ananthakrishnan"/>
            <author fullname="X. Liu" initials="X." surname="Liu"/>
            <date month="March" year="2018"/>
            <abstract>
              <t>This document defines an abstract (generic, or base) YANG data model for network/service topologies and inventories. The data model serves as a base model that is augmented with technology-specific details in other, more specific topology and inventory data models.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8345"/>
          <seriesInfo name="DOI" value="10.17487/RFC8345"/>
        </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="RFC6242">
          <front>
            <title>Using the NETCONF Protocol over Secure Shell (SSH)</title>
            <author fullname="M. Wasserman" initials="M." surname="Wasserman"/>
            <date month="June" year="2011"/>
            <abstract>
              <t>This document describes a method for invoking and running the Network Configuration Protocol (NETCONF) within a Secure Shell (SSH) session as an SSH subsystem. This document obsoletes RFC 4742. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="6242"/>
          <seriesInfo name="DOI" value="10.17487/RFC6242"/>
        </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="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>
        <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>
      </references>
      <references anchor="sec-informative-references">
        <name>Informative References</name>
        <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="I-D.ietf-ccamp-flexigrid-tunnel-yang">
          <front>
            <title>A YANG Data Model for Flexi-Grid Tunnels</title>
            <author fullname="Universidad Autonoma de Madrid" initials="U. A." surname="de Madrid">
              <organization>Naudit HPCN</organization>
            </author>
            <author fullname="Daniel Perdices Burrero" initials="D. P." surname="Burrero">
              <organization>Universidad Autonoma de Madrid</organization>
            </author>
            <author fullname="Daniel King" initials="D." surname="King">
              <organization>Old Dog Consulting</organization>
            </author>
            <author fullname="Victor Lopez" initials="V." surname="Lopez">
              <organization>Nokia</organization>
            </author>
            <author fullname="Italo Busi" initials="I." surname="Busi">
              <organization>Huawei Technologies</organization>
            </author>
            <author fullname="Sergio Belotti" initials="S." surname="Belotti">
              <organization>Nokia</organization>
            </author>
            <author fullname="Gabriele Galimberti" initials="G." surname="Galimberti">
              <organization>Cisco</organization>
            </author>
            <date day="10" month="July" year="2023"/>
            <abstract>
              <t>   This document defines a YANG model for managing flexi-grid optical
   tunnels (media-channels), complementing the information provided by
   the flexi-grid topology model.

   The YANG data model defined in this document conforms to the Network
   Management Datastore Architecture (NMDA).

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-ccamp-flexigrid-tunnel-yang-03"/>
        </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">
         </author>
            <author fullname="Italo Busi" initials="I." surname="Busi">
              <organization>Huawei Technologies</organization>
            </author>
            <date day="23" month="October" year="2023"/>
            <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 WSON, while it is known as Impairment-Aware Routing and Spectrum
   Assignment (IA-RSA) for 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-14"/>
        </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 3121?>

<section numbered="false" anchor="acknowledgments">
      <name>Acknowledgments</name>
      <t>The work presented in this document has been partially funded by the
European Commission under the project H2020 METRO-HAUL (Metro High
bandwidth, 5G Application-aware optical network, with edge storage,
compUte and low Latency), Grant Agreement number: 761727.</t>
      <t>This work is also partially funded by the Spanish State Research
Agency under the project AgileMon (AEI PID2019-104451RB-C21) and by
the Spanish Ministry of Science, Innovation and Universities under
the program for the training of university lecturers (Grant number:
FPU19/05678).</t>
      <t>Thanks to Adrian Farrel for reviewing this document and assisting
with conversion to XML.</t>
    </section>
    <section anchor="contributors" numbered="false" toc="include" removeInRFC="false">
      <name>Contributors</name>
      <contact initials="O." surname="Gonzalez de Dios" fullname="Oscar Gonzalez de Dios">
        <organization>Telefonica</organization>
        <address>
          <email>oscar.gonzalezdedios@telefonica.com</email>
        </address>
      </contact>
      <contact initials="G." surname="Galimberti" fullname="Gabriele Galimberti">
        <organization/>
        <address>
          <email>ggalimbe56@gmail.com</email>
        </address>
      </contact>
      <contact initials="S." surname="Belotti" fullname="Sergio Belotti">
        <organization>Nokia</organization>
        <address>
          <email>sergio.belotti@nokia.com</email>
        </address>
      </contact>
      <contact initials="Z." surname="Ali" fullname="Zafar Ali">
        <organization>Cisco</organization>
        <address>
          <email>zali@cisco.com</email>
        </address>
      </contact>
      <contact initials="D. M." surname="Vallinoto" fullname="Daniel Michaud Vallinoto">
        <organization>Universidad Autonoma de Madrid</organization>
        <address>
          <email>daniel.michaud@estudiante.uam.es</email>
        </address>
      </contact>
      <contact initials="S." surname="Hill" fullname="Steven Hill">
        <organization>MTN Group Technology</organization>
        <address>
          <email>Steven.Hill@mtn.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="I." surname="Busi" fullname="Italo Busi">
        <organization>Huawei Technologies</organization>
        <address>
          <email>italo.busi@huawei.com</email>
        </address>
      </contact>
      <contact initials="A." surname="Guo" fullname="Aihua Guo">
        <organization>Futurewei</organization>
        <address>
          <email>aihuaguo.ietf@gmail.com</email>
        </address>
      </contact>
    </section>
  </back>
  <!-- ##markdown-source:
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
GBl4B1Jg6G3n/wNbDwF7ZN4BAA==

-->

</rfc>
