<?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.27 (Ruby 3.3.6) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-ietf-ccamp-eth-client-te-topo-yang-08" category="std" consensus="true" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.28.1 -->
  <front>
    <title abbrev="ETH Topology Transport YANG Model">A YANG Data Model for Ethernet TE Topology</title>
    <seriesInfo name="Internet-Draft" value="draft-ietf-ccamp-eth-client-te-topo-yang-08"/>
    <author initials="C." surname="Yu" fullname="Chaode Yu">
      <organization>Huawei Technologies</organization>
      <address>
        <email>yuchaode@huawei.com</email>
      </address>
    </author>
    <author initials="H." surname="Zheng" fullname="Haomian Zheng">
      <organization>Huawei Technologies</organization>
      <address>
        <postal>
          <street>H1, Huawei Xiliu Beipo Village, Songshan Lake</street>
          <city>Dongguan</city>
          <region>Guangdong</region>
          <code>523808</code>
          <country>China</country>
        </postal>
        <email>zhenghaomian@huawei.com</email>
      </address>
    </author>
    <author initials="A." surname="Guo" fullname="Aihua Guo">
      <organization>Futurewei</organization>
      <address>
        <email>aihuaguo@futurewei.com</email>
      </address>
    </author>
    <author initials="I." surname="Busi" fullname="Italo Busi">
      <organization>Huawei Technologies</organization>
      <address>
        <email>italo.busi@huawei.com</email>
      </address>
    </author>
    <author initials="Y." surname="Xu" fullname="Yunbin Xu">
      <organization>CAICT</organization>
      <address>
        <email>xuyunbin@caict.ac.cn</email>
      </address>
    </author>
    <author initials="Y." surname="Zhao" fullname="Yang Zhao">
      <organization>China Mobile</organization>
      <address>
        <email>zhaoyangyjy@chinamobile.com</email>
      </address>
    </author>
    <author initials="X." surname="Liu" fullname="Xufeng Liu">
      <organization>Alef Edge</organization>
      <address>
        <email>xufeng.liu.ietf@gmail.com</email>
      </address>
    </author>
    <date year="2025" month="April" day="14"/>
    <area>Routing</area>
    <workgroup>Common Control and Measurement Plane</workgroup>
    <keyword>next generation</keyword>
    <keyword>unicorn</keyword>
    <keyword>sparkling distributed ledger</keyword>
    <abstract>
      <?line 92?>

<t>This document describes a YANG data model for Ethernet networks when used either as a client-layer network of an underlay transport network (e.g., an Optical Transport Network (OTN)) or as a transport network itself.</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-eth-client-te-topo-yang/draft-ietf-ccamp-eth-client-te-topo-yang.html"/>.
        Status information for this document may be found at <eref target="https://datatracker.ietf.org/doc/draft-ietf-ccamp-eth-client-te-topo-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-eth-client-te-topo-yang"/>.</t>
    </note>
  </front>
  <middle>
    <?line 96?>

<section anchor="introduction">
      <name>Introduction</name>
      <t>A transport network is a server-layer network designed to provide
   connectivity services for a client-layer network to carry the client
   traffic transparently across the server-layer network resources.</t>
      <t>A transport network typically utilizes several different transport technologies such as the Optical Transport Networks (OTN) or packet transport such as provided by the MPLS-Transport Profile (MPLS-TP).</t>
      <t>An Ethernet network can be either a client-layer network of an underlay transport network or a transport network itself.</t>
      <t>This document describes a YANG data model for Ethernet networks when used as a client-layer network of an underlay transport network (e.g., an Optical Transport Network (OTN)) or as a transport network technology.</t>
      <t>The YANG model defined in this document augments from the TE topology YANG model defined in <xref target="RFC8795"/>, and imports from the generic Ethernet types defined in <xref target="I-D.ietf-ccamp-client-signal-yang"/>.</t>
      <t>The YANG data model in this document conforms to the Network Management Datastore Architecture defined in <xref target="RFC8342"/>.</t>
      <section anchor="terminology-and-notations">
        <name>Terminology and Notations</name>
        <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
<xref target="eth-topology-tree"/> of this document.  The meaning of the symbols in these
diagrams is defined in <xref target="RFC8340"/>.</t>
      </section>
      <section anchor="prefix-in-data-node-names">
        <name>Prefix in Data Node Names</name>
        <t>In this document, the 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"/>.</t>
        <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"/>.</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">yang</td>
              <td align="left">ietf-yang-types</td>
              <td align="left">
                <xref target="RFC6991"/></td>
            </tr>
            <tr>
              <td align="left">etht-types</td>
              <td align="left">ietf-eth-tran-types</td>
              <td align="left">[RFCYYYY]</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>
            <tr>
              <td align="left">etht</td>
              <td align="left">ietf-eth-te-topology</td>
              <td align="left">RFCXXXX</td>
            </tr>
          </tbody>
        </table>
        <t>RFC Editor Note: Please replace YYYY and XXXX with the number
assigned to the RFC once this draft becomes an RFC.</t>
      </section>
    </section>
    <section anchor="eth-topo-overview">
      <name>Ethernet Topology Model Overview</name>
      <t>This document aims to describe the data model for Ethernet topology.</t>
      <t>As a classic Traffic-engineering (TE) technology, Ethernet can provide packet
switching in transport network <xref target="ITU_G.8021"/>.</t>
      <t>Therefore, the YANG
module presented in this document augments from a more generic
Traffic Engineered (TE) network topology data model, i.e., the ietf-
te-topology, as specified in <xref target="RFC8795"/>.  In section 6 of <xref target="RFC8795"/>,
the guideline for augmenting TE topology model was provided, and in
this draft, we augment the TE topology model to describe the topology
in Ethernet network.  Common types, identities and groupings defined in
<xref target="I-D.ietf-ccamp-client-signal-yang"/> is reused in this document.  <xref target="RFC8345"/>
describes a network topology model and provides the fundamental model
for <xref target="RFC8795"/>.  However, this work is not directly augmenting
<xref target="RFC8345"/>.  <xref target="fig-eth-topo"/> shows the augmentation relationship.</t>
      <figure anchor="fig-eth-topo">
        <name>Relationship between Ethernet and TE topology models</name>
        <artwork type="ascii-art"><![CDATA[
                      +-------------------------+
         TE generic   |    ietf-te-topology     |
                      +------------+------------+
                                   ^
                                   |
                                   | Augments
                                   |
                      +------------+------------+
         Ethernet     |  ietf-eth-te-topology   |
                      +-------------------------+
]]></artwork>
      </figure>
      <t>The entities and TE attributes, such as node, termination points and
   links, are still applicable for describing an Ethernet topology and the
   model presented in this document only specifies technology-specific
   attributes/information.</t>
      <section anchor="attributes-augmentation">
        <name>Attributes Augmentation</name>
        <t>Given the guidance for augmentation in <xref target="RFC8795"/>, the following
  technology-specific augmentations need to be provided:</t>
        <ul spacing="normal">
          <li>
            <t>A network-type to indicate that the TE topology is an Ethernet
Topology, as follow:</t>
          </li>
        </ul>
        <artwork><![CDATA[
       augment /nw:networks/nw:network/nw:network-types/tet:te-topology:
         +--rw eth-tran-topology!
]]></artwork>
        <ul spacing="normal">
          <li>
            <t>TE Bandwidth Augmentations as described in <xref target="eth-bandwidth"/>.</t>
          </li>
          <li>
            <t>TE Label Augmentations as described in <xref target="eth-label"/>.</t>
          </li>
        </ul>
      </section>
      <section anchor="eth-bandwidth">
        <name>TE Bandwidth Augmentations</name>
        <t>Following the guidelines in <xref target="RFC8795"/>, the model augments
all the occurrences of the te-bandwidth container with the Ethernet technology
specific attributes using the eth-bandwidth grouping defined in <xref target="I-D.ietf-ccamp-client-signal-yang"/>.</t>
      </section>
      <section anchor="eth-label">
        <name>TE Label Augmentations</name>
        <t>The model augments all the occurrences of the label-restriction list
with Ethernet technology specific attributes using the eth-label-restriction grouping defined in <xref target="I-D.ietf-ccamp-client-signal-yang"/>.</t>
        <t>Moreover, following the guidelines in <xref target="RFC8795"/>, the model augments
all the occurrences of the te-label container with the Ethernet technology
specific attributes using the eth-label and
eth-label-step groupings defined in <xref target="I-D.ietf-ccamp-client-signal-yang"/>.</t>
      </section>
    </section>
    <section anchor="eth-topology-tree">
      <name>YANG Tree for Ethernet Topology</name>
      <figure anchor="fig-eth-topology-tree">
        <name>Ethernet topology YANG tree</name>
        <artwork type="ascii-art" name="ietf-eth-te-topology.tree"><![CDATA[
module: ietf-eth-te-topology

  augment /nw:networks/nw:network/nw:network-types/tet:te-topology:
    +--rw eth-tran-topology!
  augment /nw:networks/nw:network/nw:node/tet:te
            /tet:te-node-attributes:
    +--rw eth-node!
  augment /nw:networks/nw:network/nt:link:
    +--rw eth-svc!
  augment /nw:networks/nw:network/nw:node/nt:termination-point:
    +--rw eth-svc!
    |  +--rw supported-classification
    |  |  +--rw port-classification?   boolean
    |  |  +--rw vlan-classification
    |  |     +--rw vlan-tag-classification?   boolean
    |  |     +--rw outer-tag
    |  |     |  +--rw supported-tag-types*
    |  |     |  |       etht-types:eth-tag-classify
    |  |     |  +--rw vlan-bundling?         boolean
    |  |     |  +--rw vlan-range?
    |  |     |          etht-types:vid-range-type
    |  |     +--rw second-tag
    |  |        +--rw second-tag-classification?   boolean
    |  |        +--rw supported-tag-types*
    |  |        |       etht-types:eth-tag-classify
    |  |        +--rw vlan-bundling?               boolean
    |  |        +--rw vlan-range?
    |  |                etht-types:vid-range-type
    |  +--rw supported-vlan-operations
    |     +--rw asymmetrical-operations?       boolean
    |     +--rw transparent-vlan-operations?   boolean
    |     +--rw vlan-pop
    |     |  +--rw vlan-pop-operations?   boolean
    |     |  +--rw max-pop-tags?          uint8
    |     +--rw vlan-push
    |        +--rw vlan-push-operation?   boolean
    |        +--rw outer-tag
    |        |  +--rw supported-tag-types*   etht-types:eth-tag-type
    |        |  +--rw vlan-range?
    |        |          etht-types:vid-range-type
    |        +--rw second-tag
    |           +--rw push-second-tag?       boolean
    |           +--rw supported-tag-types*   etht-types:eth-tag-type
    |           +--rw vlan-range?
    |                   etht-types:vid-range-type
    +--rw eth-link-tp
       +--rw ltp-mac-address?
       |       yang:mac-address
       +--rw port-vlan-id?
       |       etht-types:vlanid
       +--rw maximum-frame-size?                       uint16
       +--rw (direction)?
          +--:(symmetrical)
          |  +--rw ingress-egress-bandwidth-profile
          |     +--rw bandwidth-profile-type?
          |     |       etht-types:bandwidth-profile-type
          |     +--rw CIR?                      uint64
          |     +--rw CBS?                      uint64
          |     +--rw EIR?                      uint64
          |     +--rw EBS?                      uint64
          |     +--rw color-aware?              boolean
          |     +--rw coupling-flag?            boolean
          +--:(asymmetrical)
             +--rw ingress-bandwidth-profile
             |  +--rw bandwidth-profile-type?
             |  |       etht-types:bandwidth-profile-type
             |  +--rw CIR?                      uint64
             |  +--rw CBS?                      uint64
             |  +--rw EIR?                      uint64
             |  +--rw EBS?                      uint64
             |  +--rw color-aware?              boolean
             |  +--rw coupling-flag?            boolean
             +--rw egress-bandwidth-profile
                +--rw bandwidth-profile-type?
                |       etht-types:bandwidth-profile-type
                +--rw CIR?                      uint64
                +--rw CBS?                      uint64
                +--rw EIR?                      uint64
                +--rw EBS?                      uint64
                +--rw color-aware?              boolean
                +--rw coupling-flag?            boolean
  augment /nw:networks/nw:network/nw:node/nt:termination-point/tet:te
            /tet:interface-switching-capability/tet:max-lsp-bandwidth
            /tet:te-bandwidth/tet:technology:
    +--:(eth)
       +--rw eth-bandwidth?   uint64
  augment /nw:networks/nw:network/nw:node/tet:te
            /tet:te-node-attributes/tet:connectivity-matrices
            /tet:path-constraints/tet:te-bandwidth/tet:technology:
    +--:(eth)
       +--rw eth-bandwidth?   uint64
  augment /nw:networks/nw:network/nw:node/tet:te
            /tet:te-node-attributes/tet:connectivity-matrices
            /tet:connectivity-matrix/tet:path-constraints
            /tet:te-bandwidth/tet:technology:
    +--:(eth)
       +--rw eth-bandwidth?   uint64
  augment /nw:networks/nw:network/nw:node/tet:te
            /tet:information-source-entry/tet:connectivity-matrices
            /tet:path-constraints/tet:te-bandwidth/tet:technology:
    +--:(eth)
       +--ro eth-bandwidth?   uint64
  augment /nw:networks/nw:network/nw:node/tet:te
            /tet:information-source-entry/tet:connectivity-matrices
            /tet:connectivity-matrix/tet:path-constraints
            /tet:te-bandwidth/tet:technology:
    +--:(eth)
       +--ro eth-bandwidth?   uint64
  augment /nw:networks/nw:network/nw:node/tet:te
            /tet:tunnel-termination-point/tet:client-layer-adaptation
            /tet:switching-capability/tet:te-bandwidth
            /tet:technology:
    +--:(eth)
       +--rw eth-bandwidth?   uint64
  augment /nw:networks/nw:network/nw:node/tet:te
            /tet:tunnel-termination-point
            /tet:local-link-connectivities/tet:path-constraints
            /tet:te-bandwidth/tet:technology:
    +--:(eth)
       +--rw eth-bandwidth?   uint64
  augment /nw:networks/nw:network/nw:node/tet:te
            /tet:tunnel-termination-point
            /tet:local-link-connectivities
            /tet:local-link-connectivity/tet:path-constraints
            /tet:te-bandwidth/tet:technology:
    +--:(eth)
       +--rw eth-bandwidth?   uint64
  augment /nw:networks/nw:network/nt:link/tet:te
            /tet:te-link-attributes
            /tet:interface-switching-capability/tet:max-lsp-bandwidth
            /tet:te-bandwidth/tet:technology:
    +--:(eth)
       +--rw eth-bandwidth?   uint64
  augment /nw:networks/nw:network/nt:link/tet:te
            /tet:te-link-attributes/tet:max-link-bandwidth
            /tet:te-bandwidth:
    +--rw eth-bandwidth?   uint64
  augment /nw:networks/nw:network/nt:link/tet:te
            /tet:te-link-attributes/tet:max-resv-link-bandwidth
            /tet:te-bandwidth:
    +--rw eth-bandwidth?   uint64
  augment /nw:networks/nw:network/nt:link/tet:te
            /tet:te-link-attributes/tet:unreserved-bandwidth
            /tet:te-bandwidth:
    +--rw eth-bandwidth?   uint64
  augment /nw:networks/nw:network/nt:link/tet:te
            /tet:information-source-entry
            /tet:interface-switching-capability/tet:max-lsp-bandwidth
            /tet:te-bandwidth/tet:technology:
    +--:(eth)
       +--ro eth-bandwidth?   uint64
  augment /nw:networks/nw:network/nt:link/tet:te
            /tet:information-source-entry/tet:max-link-bandwidth
            /tet:te-bandwidth:
    +--ro eth-bandwidth?   uint64
  augment /nw:networks/nw:network/nt:link/tet:te
            /tet:information-source-entry/tet:max-resv-link-bandwidth
            /tet:te-bandwidth:
    +--ro eth-bandwidth?   uint64
  augment /nw:networks/nw:network/nt:link/tet:te
            /tet:information-source-entry/tet:unreserved-bandwidth
            /tet:te-bandwidth:
    +--ro eth-bandwidth?   uint64
  augment /nw:networks/tet:te/tet:templates/tet:link-template
            /tet:te-link-attributes
            /tet:interface-switching-capability/tet:max-lsp-bandwidth
            /tet:te-bandwidth/tet:technology:
    +--:(eth)
       +--rw eth-bandwidth?   uint64
  augment /nw:networks/tet:te/tet:templates/tet:link-template
            /tet:te-link-attributes/tet:max-link-bandwidth
            /tet:te-bandwidth:
    +--rw eth-bandwidth?   uint64
  augment /nw:networks/tet:te/tet:templates/tet:link-template
            /tet:te-link-attributes/tet:max-resv-link-bandwidth
            /tet:te-bandwidth:
    +--rw eth-bandwidth?   uint64
  augment /nw:networks/tet:te/tet:templates/tet:link-template
            /tet:te-link-attributes/tet:unreserved-bandwidth
            /tet:te-bandwidth:
    +--rw eth-bandwidth?   uint64
  augment /nw:networks/nw:network/nw:node/tet:te
            /tet:te-node-attributes/tet:connectivity-matrices
            /tet:label-restrictions/tet:label-restriction:
    +--rw ethernet-label-range!
       +--rw tag-type?   etht-types:eth-tag-type
       +--rw priority?   uint8
  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 ethernet-label-range!
       +--rw tag-type?   etht-types:eth-tag-type
       +--rw priority?   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:
    +--rw ethernet-label-range!
       +--rw tag-type?   etht-types:eth-tag-type
       +--rw priority?   uint8
  augment /nw:networks/nw:network/nw:node/tet:te
            /tet:information-source-entry/tet:connectivity-matrices
            /tet:label-restrictions/tet:label-restriction:
    +--ro ethernet-label-range!
       +--ro tag-type?   etht-types:eth-tag-type
       +--ro priority?   uint8
  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 ethernet-label-range!
       +--ro tag-type?   etht-types:eth-tag-type
       +--ro priority?   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:
    +--ro ethernet-label-range!
       +--ro tag-type?   etht-types:eth-tag-type
       +--ro priority?   uint8
  augment /nw:networks/nw:network/nw:node/tet:te
            /tet:tunnel-termination-point
            /tet:local-link-connectivities/tet:label-restrictions
            /tet:label-restriction:
    +--rw ethernet-label-range!
       +--rw tag-type?   etht-types:eth-tag-type
       +--rw priority?   uint8
  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 ethernet-label-range!
       +--rw tag-type?   etht-types:eth-tag-type
       +--rw priority?   uint8
  augment /nw:networks/nw:network/nt:link/tet:te
            /tet:te-link-attributes/tet:label-restrictions
            /tet:label-restriction:
    +--rw ethernet-label-range!
       +--rw tag-type?   etht-types:eth-tag-type
       +--rw priority?   uint8
  augment /nw:networks/nw:network/nt:link/tet:te
            /tet:information-source-entry/tet:label-restrictions
            /tet:label-restriction:
    +--ro ethernet-label-range!
       +--ro tag-type?   etht-types:eth-tag-type
       +--ro priority?   uint8
  augment /nw:networks/tet:te/tet:templates/tet:link-template
            /tet:te-link-attributes/tet:label-restrictions
            /tet:label-restriction:
    +--rw ethernet-label-range!
       +--rw tag-type?   etht-types:eth-tag-type
       +--rw priority?   uint8
  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:
    +--:(eth)
       +--rw vlanid?   etht-types:vlanid
  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:
    +--:(eth)
       +--rw vlanid?   etht-types:vlanid
  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:
    +--:(eth)
       +--rw eth-step?   uint16
  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:
    +--:(eth)
       +--rw vlanid?   etht-types:vlanid
  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:
    +--:(eth)
       +--rw vlanid?   etht-types:vlanid
  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:
    +--:(eth)
       +--rw vlanid?   etht-types:vlanid
  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:
    +--:(eth)
       +--rw vlanid?   etht-types:vlanid
  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:
    +--:(eth)
       +--ro vlanid?   etht-types:vlanid
  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:
    +--:(eth)
       +--rw vlanid?   etht-types:vlanid
  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:
    +--:(eth)
       +--rw vlanid?   etht-types:vlanid
  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:
    +--:(eth)
       +--rw eth-step?   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/tet:label-start/tet:te-label
            /tet:technology:
    +--:(eth)
       +--rw vlanid?   etht-types:vlanid
  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:
    +--:(eth)
       +--rw vlanid?   etht-types:vlanid
  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:
    +--:(eth)
       +--rw eth-step?   uint16
  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:
    +--:(eth)
       +--rw vlanid?   etht-types:vlanid
  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:
    +--:(eth)
       +--rw vlanid?   etht-types:vlanid
  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:
    +--:(eth)
       +--rw vlanid?   etht-types:vlanid
  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:
    +--:(eth)
       +--rw vlanid?   etht-types:vlanid
  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:
    +--:(eth)
       +--ro vlanid?   etht-types:vlanid
  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:
    +--:(eth)
       +--ro vlanid?   etht-types:vlanid
  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:
    +--:(eth)
       +--ro vlanid?   etht-types:vlanid
  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:
    +--:(eth)
       +--ro eth-step?   uint16
  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:
    +--:(eth)
       +--ro vlanid?   etht-types:vlanid
  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:
    +--:(eth)
       +--ro vlanid?   etht-types:vlanid
  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:
    +--:(eth)
       +--ro vlanid?   etht-types:vlanid
  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:
    +--:(eth)
       +--ro vlanid?   etht-types:vlanid
  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:
    +--:(eth)
       +--ro vlanid?   etht-types:vlanid
  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:
    +--:(eth)
       +--ro vlanid?   etht-types:vlanid
  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:
    +--:(eth)
       +--ro vlanid?   etht-types:vlanid
  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:
    +--:(eth)
       +--ro eth-step?   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/tet:label-start/tet:te-label
            /tet:technology:
    +--:(eth)
       +--ro vlanid?   etht-types:vlanid
  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:
    +--:(eth)
       +--ro vlanid?   etht-types:vlanid
  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:
    +--:(eth)
       +--ro eth-step?   uint16
  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:
    +--:(eth)
       +--ro vlanid?   etht-types:vlanid
  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:
    +--:(eth)
       +--ro vlanid?   etht-types:vlanid
  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:
    +--:(eth)
       +--ro vlanid?   etht-types:vlanid
  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:
    +--:(eth)
       +--ro vlanid?   etht-types:vlanid
  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:
    +--:(eth)
       +--ro vlanid?   etht-types:vlanid
  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:
    +--:(eth)
       +--rw vlanid?   etht-types:vlanid
  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:
    +--:(eth)
       +--rw vlanid?   etht-types:vlanid
  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:
    +--:(eth)
       +--rw eth-step?   uint16
  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:
    +--:(eth)
       +--rw vlanid?   etht-types:vlanid
  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:
    +--:(eth)
       +--rw vlanid?   etht-types:vlanid
  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:
    +--:(eth)
       +--rw vlanid?   etht-types:vlanid
  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:
    +--:(eth)
       +--rw vlanid?   etht-types:vlanid
  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:
    +--:(eth)
       +--ro vlanid?   etht-types:vlanid
  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:
    +--:(eth)
       +--rw vlanid?   etht-types:vlanid
  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:
    +--:(eth)
       +--rw vlanid?   etht-types:vlanid
  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:
    +--:(eth)
       +--rw eth-step?   uint16
  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:
    +--:(eth)
       +--rw vlanid?   etht-types:vlanid
  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:
    +--:(eth)
       +--rw vlanid?   etht-types:vlanid
  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:
    +--:(eth)
       +--rw vlanid?   etht-types:vlanid
  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:
    +--:(eth)
       +--rw vlanid?   etht-types:vlanid
  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:
    +--:(eth)
       +--ro vlanid?   etht-types:vlanid
  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:
    +--:(eth)
       +--rw vlanid?   etht-types:vlanid
  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:
    +--:(eth)
       +--rw vlanid?   etht-types:vlanid
  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:
    +--:(eth)
       +--rw vlanid?   etht-types:vlanid
  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:
    +--:(eth)
       +--rw vlanid?   etht-types:vlanid
  augment /nw:networks/nw:network/nt:link/tet:te
            /tet:te-link-attributes/tet:label-restrictions
            /tet:label-restriction/tet:label-step/tet:technology:
    +--:(eth)
       +--rw eth-step?   uint16
  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:
    +--:(eth)
       +--ro vlanid?   etht-types:vlanid
  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:
    +--:(eth)
       +--ro vlanid?   etht-types:vlanid
  augment /nw:networks/nw:network/nt:link/tet:te
            /tet:information-source-entry/tet:label-restrictions
            /tet:label-restriction/tet:label-step/tet:technology:
    +--:(eth)
       +--ro eth-step?   uint16
  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:
    +--:(eth)
       +--rw vlanid?   etht-types:vlanid
  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:
    +--:(eth)
       +--rw vlanid?   etht-types:vlanid
  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:
    +--:(eth)
       +--rw vlanid?   etht-types:vlanid
  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:
    +--:(eth)
       +--rw vlanid?   etht-types:vlanid
  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:
    +--:(eth)
       +--rw eth-step?   uint16
]]></artwork>
      </figure>
    </section>
    <section anchor="eth-topology-yang">
      <name>Ethernet Topology YANG Code</name>
      <figure anchor="fig-te-yang">
        <name>Ethernet topology YANG module</name>
        <sourcecode type="yang" markers="true" name="ietf-eth-te-topology@2023-09-08.yang"><![CDATA[
module ietf-eth-te-topology {
  yang-version 1.1;
  namespace "urn:ietf:params:xml:ns:yang:ietf-eth-te-topology";
  prefix "etht";

  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-yang-types {
    prefix "yang";
    reference
     "RFC 6991: Common YANG Data Types";
  }

  import ietf-eth-tran-types {
    prefix "etht-types";
    reference
     "RFC YYYY: A YANG Data Model for Transport Network Client 
     Signals";
  }
  // RFC Ed.: replace YYYY with actual RFC number, update date
  // information and remove this note

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

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

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

     Editor: Aihua Guo
       <mailto:aihuaguo.ietf@gmail.com>

     Editor: Yunbin Xu
       <mailto:xuyunbin@caict.ac.cn>

     Editor: Yang Zhao
       <mailto:zhaoyangyjy@chinamobile.com>

     Editor: Xufeng Liu
       <mailto:xufeng.liu.ietf@gmail.com>";

  description
    "This module defines a YANG data model for describing
     layer-2 Ethernet transport topologies. 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.";

  revision 2023-09-28 {
    description
      "Initial Revision";
    reference
      "RFC XXXX: A YANG Data Model for Ethernet TE Topology";
    // RFC Ed.: replace XXXX with actual RFC number, update date
    // information and remove this note
  }

  /*
   * Groupings
   */

  grouping label-range-info {
    description
      "Ethernet technology-specific label range related 
      information with a presence container indicating that the 
      label range is an Ethernet technology-specific label range.

      This grouping SHOULD be used together with the
      eth-label and eth-label-step groupings to provide Ethernet 
      technology-specific label information to the models which
      use the label-restriction-info grouping defined in the module
      ietf-te-types.";

    container ethernet-label-range {
      presence
        "Indicates the label range is an Ethernet label range.

        This container must not be present if there are other
        presence containers or attributes indicating another type
        of label range.";
      description
        "Ethernet-specific label range related information.";

      uses etht-types:eth-label-restriction; 
    }
  }

  grouping eth-tran-topology-type {
    description
      "Identifies the Ethernet Transport topology type";

    container eth-tran-topology {
      presence "indicates a topology type of
                Ethernet Transport Network.";
      description "Eth transport topology type";
    }
  }

  grouping ltp-bandwidth-profiles {
    description
      "A grouping which represents the bandwidth profile(s)
      for the ETH LTP.";

    choice direction {
      description
        "Whether the bandwidth profiles are symmetrical or
         asymmetrical";
      case symmetrical {
        description
          "The same bandwidth profile is used to describe the ingress
           and the egress bandwidth profile.";

        container ingress-egress-bandwidth-profile {
          description
            "The bandwith profile used in the ingress and egress
             direction.";
          uses etht-types:etht-bandwidth-profiles;
        }
      }
      case asymmetrical {
        description
          "Different ingress and egress bandwidth profiles
           can be specified.";
        container ingress-bandwidth-profile {
          description
            "The bandwidth profile used in the ingress direction.";
          uses etht-types:etht-bandwidth-profiles;
        }
        container egress-bandwidth-profile {
          description
            "The bandwidth profile used in the egress direction.";
          uses etht-types:etht-bandwidth-profiles;
        }
      }
    }
  }

  grouping eth-ltp-attributes {
    description
      "Ethernet transport Link Termination Point (LTP) attributes";

    leaf ltp-mac-address {
      type yang:mac-address;
      description
        "The MAC address of the Ethernet LTP.";
    }
    leaf port-vlan-id {
      type etht-types:vlanid;
      description
        "The Port VLAN ID of the Ethernet LTP.";
      reference
        "IEEE 802.1Q: Virtual Bridged Local Area Networks";
    }
    leaf maximum-frame-size {
      type uint16 {
        range "64 .. 65535";
      }
      description
        "Maximum frame size";
      reference
        "IEEE 802.1Q: Virtual Bridged Local Area Networks";
    }
      uses ltp-bandwidth-profiles;
  }

  grouping svc-vlan-classification {
    description
      "Grouping defining the capabilities for VLAN classification.";

    leaf-list supported-tag-types {
      type etht-types:eth-tag-classify;
      description
        "List of VLAN tag types that can be used for the VLAN
         classification. In case VLAN classification is not
         supported, the list is empty.";
    }
    leaf vlan-bundling {
      type boolean;
      description
        "In case VLAN classification is supported, indicates whether
        VLAN bundling classification is also supported.";
      reference
        "MEF 10.3: Ethernet Services Attributes Phase 3";
    }
    leaf vlan-range {
      type etht-types:vid-range-type;
      description
        "In case VLAN classification is supported, indicates the
        of available VLAN ID values.";
    }
  }

  grouping svc-vlan-push {
    description
      "Grouping defining the capabilities for VLAN push or swap
       operations.";

    leaf-list supported-tag-types {
      type etht-types:eth-tag-type;
      description
        "List of VLAN tag types that can be used to push or swap a
         VLAN tag. In case VLAN push/swap is not supported, the list
         is empty.";
      reference
        "IEEE 802.1Q: Virtual Bridged Local Area Networks";
    }
    leaf vlan-range {
      type etht-types:vid-range-type;
      description
        "In case VLAN push/swap operation is supported, the range
        of available VLAN ID values.";
    }
  }

  grouping eth-svc-attributes {
    description
      "Ethernet Link Termination Point (LTP) service attributes.";

    container supported-classification {
      description
        "Service classification capability supported by the 
        Ethernet Link Termination Point (LTP).";

      leaf port-classification {
        type boolean;
        description
          "Indicates that the ETH LTP support port-based service
          classification.";
      }
      container vlan-classification {
        description
          "Service classification capabilities based on the VLAN
           tag(s) supported by the ETH LTP.";

        leaf vlan-tag-classification {
          type boolean;
          description
            "Indicates that the ETH LTP supports VLAN service
            classification.";
        }
        container outer-tag {
          description
            "Service classification capabilities based on the outer
             VLAN tag, supported by the ETH LTP.";
          uses svc-vlan-classification;
        }
        container second-tag {
          description
            "Service classification capabilities based on the second
             VLAN tag, supported by the ETH LTP.";
          leaf second-tag-classification {
            type boolean;
            must ". = 'false' or " 
               + "../../vlan-tag-classification = 'true'" {
              description
                "VLAN service classification based on the second 
                VLAN tag can be supported only when VLAN service 
                classification";
            }
            description
              "Indicates that the ETH LTP support  VLAN service
               classification based on the second VLAN tag.";
          }
          uses svc-vlan-classification;
        }
      }
    }

    container supported-vlan-operations {
      description
        "Reports the VLAN operations supported by the ETH LTP.";

      leaf asymmetrical-operations {
        type boolean;
        description
          "Indicates whether the ETH LTP supports also asymmetrical
           VLAN operations.It is assumed that symmetrical VLAN
           operations are alwyas supported.";
      }
      leaf transparent-vlan-operations {
        type boolean;
        description
          "Indicates that the ETH LTP supports transparent
          operations.";
      }
      container vlan-pop {
        description
          "Indicates VLAN pop or swap operations capabilities.";

        leaf vlan-pop-operations {
          type boolean;
          description
            "Indicates that the ETH LTP supports VLAN pop or
             swap operations.";
        }
        leaf max-pop-tags {
          type uint8 {
            range "1..2";
          }
          description
            "Indicates the maximum number of tags that can be
             popped/swapped.";
        }
      }
      container vlan-push {
        description
          "Indicates VLAN push or swap operations capabilities.";

        leaf vlan-push-operation {
          type boolean;
          description
            "Indicates that the ETH LTP supports VLAN push or
             swap operations.";
        }
        container outer-tag {
          description
            "Indicates the supported VLAN operation capabilities
             on the outer VLAN tag.";
          uses svc-vlan-push;
        }
        container second-tag {
          description
            "Indicates the supported VLAN operation capabilities
             on the second VLAN tag.";
          leaf push-second-tag {
            type boolean;
            description
              "Indicates that the ETH LTP supports VLAN push or swap
               operations for the second VLAN tag.";
          }
          uses svc-vlan-push;
        }
      }
    }
  }

  /*
   * Data nodes
   */

  augment "/nw:networks/nw:network/nw:network-types/"
        + "tet:te-topology" {
    description
      "Augment network types to include ETH transport newtork";

    uses eth-tran-topology-type;
  }

  augment "/nw:networks/nw:network/nw:node/tet:te"
        + "/tet:te-node-attributes" {
    when "../../../nw:network-types/tet:te-topology/"
       + "etht:eth-tran-topology" {
      description "Augment only for Ethernet transport network.";
    }
    description "Augment TE node attributes.";
    container eth-node {
      presence "The TE node is an Ethernet node.";
      description
        "Presence container used only to indicate that the TE node 
        is an Ethernet node.";
    }
  }

  augment "/nw:networks/nw:network/nt:link" {
    when "../nw:network-types/tet:te-topology/"
       + "etht:eth-tran-topology" {
      description "Augment only for Ethernet transport network.";
    }
    description "Augment link configuration";

    container eth-svc {
      presence
        "When present, indicates that the Link supports Ethernet 
        client signals.";
      description
        "Presence container used only to indicate that the link 
        supports Ethernet client signals.";
    }
  }

  augment "/nw:networks/nw:network/nw:node/nt:termination-point" {
    when "../../nw:network-types/tet:te-topology/"
       + "etht:eth-tran-topology" {
      description "Augment only for Ethernet transport network.";
    }
    description
      "Augment ETH LTP attributes";

    container eth-svc {
      presence
        "When present, indicates that the Link Termination Point 
        (LTP) supports Ethernet client signals.";
      description
        "ETH LTP Service attributes.";

      uses eth-svc-attributes;
    }
    container eth-link-tp {
      description
        "Attributes of the Ethernet Link Termination Point (LTP).";
      uses eth-ltp-attributes;
    }
  }

  /*
   * Augment TE bandwidth
   */

  augment "/nw:networks/nw:network/nw:node/nt:termination-point/"
        + "tet:te/"
        + "tet:interface-switching-capability/tet:max-lsp-bandwidth/"
        + "tet:te-bandwidth/tet:technology" {
    when "../../../../../../nw:network-types/tet:te-topology/"
       + "etht:eth-tran-topology" {
      description
        "Augmentation parameters apply only for networks with
        Ethernet topology type.";
    }
    description
      "Augment maximum LSP TE bandwidth for the link termination
       point (LTP).";
    case eth {
      uses etht-types:eth-bandwidth;
    }
  }

  augment "/nw:networks/nw:network/nw:node/tet:te/"
        + "tet:te-node-attributes/tet:connectivity-matrices/"
        + "tet:path-constraints/tet:te-bandwidth/tet:technology" {
    when "../../../../../../nw:network-types/tet:te-topology/"
       + "etht:eth-tran-topology" {
      description
        "Augmentation parameters apply only for networks with
        Ethernet topology type.";
    }
    description
      "Augment TE bandwidth path constraints of the TE node
       connectivity matrices.";
    case eth {
      uses etht-types:eth-bandwidth;
    }
  }

  augment "/nw:networks/nw:network/nw:node/tet:te/"
        + "tet:te-node-attributes/tet:connectivity-matrices/"
        + "tet:connectivity-matrix/"
        + "tet:path-constraints/tet:te-bandwidth/tet:technology" {
    when "../../../../../../../nw:network-types/tet:te-topology/"
       + "etht:eth-tran-topology" {
      description
        "Augmentation parameters apply only for networks with
        Ethernet topology type.";
    }
    description
      "Augment TE bandwidth path constraints of the
       connectivity matrix entry.";
    case eth {
      uses etht-types:eth-bandwidth;
    }
  }

  augment "/nw:networks/nw:network/nw:node/tet:te/"
        + "tet:information-source-entry/tet:connectivity-matrices/"
        + "tet:path-constraints/tet:te-bandwidth/tet:technology" {
    when "../../../../../../nw:network-types/tet:te-topology/"
       + "etht:eth-tran-topology" {
      description
        "Augmentation parameters apply only for networks with
        Ethernet topology type.";
    }
    description
      "Augment TE bandwidth path constraints of the TE node
       connectivity matrices information source.";
    case eth {
      uses etht-types:eth-bandwidth;
    }
  }

  augment "/nw:networks/nw:network/nw:node/tet:te/"
        + "tet:information-source-entry/tet:connectivity-matrices/"
        + "tet:connectivity-matrix/"
        + "tet:path-constraints/tet:te-bandwidth/tet:technology" {
    when "../../../../../../../nw:network-types/tet:te-topology/"
       + "etht:eth-tran-topology" {
      description
        "Augmentation parameters apply only for networks with
        Ethernet topology type.";
    }
    description
      "Augment TE bandwidth path constraints of the
       connectivity matrix entry information source";
    case eth {
      uses etht-types:eth-bandwidth;
    }
  }

  augment "/nw:networks/nw:network/nw:node/tet:te/"
        + "tet:tunnel-termination-point/"
        + "tet:client-layer-adaptation/tet:switching-capability/"
        + "tet:te-bandwidth/tet:technology" {
    when "../../../../../../nw:network-types/tet:te-topology/"
       + "etht:eth-tran-topology" {
      description
        "Augmentation parameters apply only for networks with
        Ethernet topology type.";
    }
    description
      "Augment client TE bandwidth of the tunnel termination point
       (TTP)";
    case eth {
      uses etht-types:eth-bandwidth;
    }
  }

  augment "/nw:networks/nw:network/nw:node/tet:te/"
        + "tet:tunnel-termination-point/"
        + "tet:local-link-connectivities/tet:path-constraints/"
        + "tet:te-bandwidth/tet:technology" {
    when "../../../../../../nw:network-types/tet:te-topology/"
       + "etht:eth-tran-topology" {
      description
        "Augmentation parameters apply only for networks with
        Ethernet topology type.";
    }
    description
      "Augment TE bandwidth path constraints for the TTP
       Local Link Connectivities.";
    case eth {
      uses etht-types:eth-bandwidth;
    }
  }

  augment "/nw:networks/nw:network/nw:node/tet:te/"
        + "tet:tunnel-termination-point/"
        + "tet:local-link-connectivities/"
        + "tet:local-link-connectivity/tet:path-constraints/"
        + "tet:te-bandwidth/tet:technology" {
    when "../../../../../../../nw:network-types/tet:te-topology/"
       + "etht:eth-tran-topology" {
      description
        "Augmentation parameters apply only for networks with
        Ethernet topology type.";
    }
    description
      "Augment TE bandwidth path constraints for the TTP
       Local Link Connectivity entry.";
    case eth {
      uses etht-types:eth-bandwidth;
    }
  }

  augment "/nw:networks/nw:network/nt:link/tet:te/"
        + "tet:te-link-attributes/"
        + "tet:interface-switching-capability/tet:max-lsp-bandwidth/"
        + "tet:te-bandwidth/tet:technology" {
    when "../../../../../../nw:network-types/tet:te-topology/"
       + "etht:eth-tran-topology" {
      description
        "Augmentation parameters apply only for networks with
        Ethernet topology type.";
    }
    description
      "Augment maximum LSP TE bandwidth for the TE link.";
    case eth {
      uses etht-types:eth-bandwidth;
    }
  }

  augment "/nw:networks/nw:network/nt:link/tet:te/"
        + "tet:te-link-attributes/"
        + "tet:max-link-bandwidth/"
        + "tet:te-bandwidth" {
    when "../../../../../nw:network-types/tet:te-topology/"
       + "etht:eth-tran-topology" {
      description
        "Augmentation parameters apply only for networks with
        Ethernet topology type.";
    }
    description
      "Augment maximum TE bandwidth for the TE link";
    uses etht-types:eth-bandwidth;
  }

  augment "/nw:networks/nw:network/nt:link/tet:te/"
        + "tet:te-link-attributes/"
        + "tet:max-resv-link-bandwidth/"
        + "tet:te-bandwidth" {
    when "../../../../../nw:network-types/tet:te-topology/"
       + "etht:eth-tran-topology" {
      description
        "Augmentation parameters apply only for networks with
        Ethernet topology type.";
    }
    description
      "Augment maximum reservable TE bandwidth for the TE link";
    uses etht-types:eth-bandwidth;
  }

  augment "/nw:networks/nw:network/nt:link/tet:te/"
        + "tet:te-link-attributes/"
        + "tet:unreserved-bandwidth/"
        + "tet:te-bandwidth" {
    when "../../../../../nw:network-types/tet:te-topology/"
       + "etht:eth-tran-topology" {
      description
        "Augmentation parameters apply only for networks with
        Ethernet topology type.";
    }
    description
      "Augment unreserved TE bandwidth for the TE Link";
    uses etht-types:eth-bandwidth;
  }

  augment "/nw:networks/nw:network/nt:link/tet:te/"
        + "tet:information-source-entry/"
        + "tet:interface-switching-capability/"
        + "tet:max-lsp-bandwidth/"
        + "tet:te-bandwidth/tet:technology" {
    when "../../../../../../nw:network-types/tet:te-topology/"
       + "etht:eth-tran-topology" {
      description
        "Augmentation parameters apply only for networks with
        Ethernet topology type.";
    }
    description
      "Augment maximum LSP TE bandwidth for the TE link
       information source";
    case eth {
      uses etht-types:eth-bandwidth;
    }
  }

  augment "/nw:networks/nw:network/nt:link/tet:te/"
        + "tet:information-source-entry/"
        + "tet:max-link-bandwidth/"
        + "tet:te-bandwidth" {
    when "../../../../../nw:network-types/tet:te-topology/"
       + "etht:eth-tran-topology" {
      description
        "Augmentation parameters apply only for networks with
        Ethernet topology type.";
    }
    description
      "Augment maximum TE bandwidth for the TE link
       information source";
    uses etht-types:eth-bandwidth;
  }

  augment "/nw:networks/nw:network/nt:link/tet:te/"
        + "tet:information-source-entry/"
        + "tet:max-resv-link-bandwidth/"
        + "tet:te-bandwidth" {
    when "../../../../../nw:network-types/tet:te-topology/"
       + "etht:eth-tran-topology" {
      description
        "Augmentation parameters apply only for networks with
        Ethernet topology type.";
    }
    description
      "Augment maximum reservable TE bandwidth for the TE link
       information-source";
    uses etht-types:eth-bandwidth;
  }

  augment "/nw:networks/nw:network/nt:link/tet:te/"
        + "tet:information-source-entry/"
        + "tet:unreserved-bandwidth/"
        + "tet:te-bandwidth" {
    when "../../../../../nw:network-types/tet:te-topology/"
       + "etht:eth-tran-topology" {
      description
        "Augmentation parameters apply only for networks with
        Ethernet topology type.";
    }
    description
      "Augment unreserved TE bandwidth of the TE link
       information source";
    uses etht-types:eth-bandwidth;
  }

  augment "/nw:networks/tet:te/tet:templates/"
        + "tet:link-template/tet:te-link-attributes/"
        + "tet:interface-switching-capability/"
        + "tet:max-lsp-bandwidth/"
        + "tet:te-bandwidth/tet:technology" {
    description
      "Augment maximum LSP TE bandwidth of the TE link
       template";
    case eth {
      uses etht-types:eth-bandwidth;
    }
  }

  augment "/nw:networks/tet:te/tet:templates/"
        + "tet:link-template/tet:te-link-attributes/"
        + "tet:max-link-bandwidth/"
        + "tet:te-bandwidth" {
    description
      "Augment maximum TE bandwidth the TE link template";
    uses etht-types:eth-bandwidth;
  }

  augment "/nw:networks/tet:te/tet:templates/"
        + "tet:link-template/tet:te-link-attributes/"
        + "tet:max-resv-link-bandwidth/"
        + "tet:te-bandwidth" {
    description
      "Augment maximum reservable TE bandwidth for the TE link
       template.";
    uses etht-types:eth-bandwidth;
  }

  augment "/nw:networks/tet:te/tet:templates/"
        + "tet:link-template/tet:te-link-attributes/"
        + "tet:unreserved-bandwidth/"
        + "tet:te-bandwidth" {
    description
      "Augment unreserved TE bandwidth the TE link template";
    uses etht-types:eth-bandwidth;
  }

  /*
   * 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/"
       + "etht:eth-tran-topology" {
      description
        "Augmentation parameters apply only for networks with
        Ethernet 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/"
       + "etht:eth-tran-topology" {
      description
        "Augmentation parameters apply only for networks with
        Ethernet topology type.";
    }
    description
      "Augment TE label range information for the source 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/"
       + "etht:eth-tran-topology" {
      description
        "Augmentation parameters apply only for networks with
        Ethernet 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/"
       + "etht:eth-tran-topology" {
      description
        "Augmentation parameters apply only for networks with
        Ethernet 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/"
       + "etht:eth-tran-topology" {
      description
        "Augmentation parameters apply only for networks with
        Ethernet 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/"
       + "etht:eth-tran-topology" {
      description
        "Augmentation parameters apply only for networks with
        Ethernet 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/"
       + "etht:eth-tran-topology" {
      description
        "Augmentation parameters apply only for networks with
        Ethernet topology type.";
    }
    description
      "Augment TE label range information for the 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/"
       + "etht:eth-tran-topology" {
      description
        "Augmentation parameters apply only for networks with
        Ethernet 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/"
       + "etht:eth-tran-topology" {
      description
        "Augmentation parameters apply only for networks with
        Ethernet 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/"
       + "etht:eth-tran-topology" {
      description
        "Augmentation parameters apply only for networks with
        Ethernet 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/"
       + "etht:eth-tran-topology" {
      description
        "Augmentation parameters apply only for networks with
         Ethernet topology type.";
    }
    description
      "Augment TE label range start for the TE node
       connectivity matrices";
    case eth {
      uses etht-types:eth-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-end/"
        + "tet:te-label/tet:technology" {
    when "../../../../../../../../nw:network-types/tet:te-topology/"
       + "etht:eth-tran-topology" {
      description
        "Augmentation parameters apply only for networks with
         Ethernet topology type.";
    }
    description
      "Augment TE label range end for the TE node
       connectivity matrices";
    case eth {
      uses etht-types:eth-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-step/"
        + "tet:technology" {
    when "../../../../../../../nw:network-types/tet:te-topology/"
       + "etht:eth-tran-topology" {
      description
        "Augmentation parameters apply only for networks with
         Ethernet topology type.";
    }
    description
      "Augment TE label range step for the TE node
       connectivity matrices";
    case eth {
      uses etht-types:eth-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/"
       + "etht:eth-tran-topology" {
      description
        "Augmentation parameters apply only for networks with
         Ethernet topology type.";
    }
    description
      "Augment TE label hop for the underlay primary path of the
       TE node connectivity matrices";
    case eth {
      uses etht-types:eth-label;
    }
  }

  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/"
       + "etht:eth-tran-topology" {
      description
        "Augmentation parameters apply only for networks with
         Ethernet topology type.";
    }
    description
      "Augment TE label hop for the underlay backup path of the
       TE node connectivity matrices";
    case eth {
      uses etht-types:eth-label;
    }
  }

  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/"
       + "etht:eth-tran-topology" {
      description
        "Augmentation parameters apply only for networks with
         Ethernet topology type.";
    }
    description
      "Augment TE label hop for the explicit route objects excluded
       by the path computation of the TE node connectivity
       matrices";
    case eth {
      uses etht-types:eth-label;
    }
  }

  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/"
       + "etht:eth-tran-topology" {
      description
        "Augmentation parameters apply only for networks with
         Ethernet topology type.";
    }
    description
      "Augment TE label hop for the explicit route objects included
       by the path computation of the TE node connectivity
       matrices";
    case eth {
      uses etht-types:eth-label;
    }
  }

  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/"
       + "etht:eth-tran-topology" {
      description
        "Augmentation parameters apply only for networks with
         Ethernet topology type.";
    }
    description
      "Augment TE label hop for the computed path route objects
       of the TE node connectivity matrices";
    case eth {
      uses etht-types:eth-label;
    }
  }

  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/"
       + "etht:eth-tran-topology" {
      description
        "Augmentation parameters apply only for networks with
         Ethernet topology type.";
    }
    description
      "Augment TE label range start for the source LTP
       of the connectivity matrix entry.";
    case eth {
      uses etht-types:eth-label;
    }
  }

  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/"
       + "etht:eth-tran-topology" {
      description
        "Augmentation parameters apply only for networks with
         Ethernet topology type.";
    }
    description
      "Augment TE label range end for the source LTP
       of the connectivity matrix entry.";
    case eth {
      uses etht-types:eth-label;
    }
  }

  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/"
       + "etht:eth-tran-topology" {
      description
        "Augmentation parameters apply only for networks with
         Ethernet topology type.";
    }
    description
      "Augment TE label range step for the source LTP
       of the connectivity matrix entry.";
    case eth {
      uses etht-types:eth-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/"
       + "etht:eth-tran-topology" {
      description
        "Augmentation parameters apply only for networks with
         Ethernet topology type.";
    }
    description
      "Augment TE label range start for the destination LTP
       of the connectivity matrix entry.";
    case eth {
      uses etht-types:eth-label;
    }
  }

  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/"
       + "etht:eth-tran-topology" {
      description
        "Augmentation parameters apply only for networks with
         Ethernet topology type.";
    }
    description
      "Augment TE label range end for the destination LTP
       of the connectivity matrix entry.";
    case eth {
      uses etht-types:eth-label;
    }
  }

  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/"
       + "etht:eth-tran-topology" {
      description
        "Augmentation parameters apply only for networks with
         Ethernet topology type.";
    }
    description
      "Augment TE label range step for the destination LTP
       of the connectivity matrix entry.";
    case eth {
      uses etht-types:eth-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/"
       + "etht:eth-tran-topology" {
      description
        "Augmentation parameters apply only for networks with
         Ethernet topology type.";
    }
    description
      "Augment TE label hop for the underlay primary path
       of the connectivity matrix entry.";
    case eth {
      uses etht-types:eth-label;
    }
  }

  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/"
       + "etht:eth-tran-topology" {
      description
        "Augmentation parameters apply only for networks with
         Ethernet topology type.";
    }
    description
      "Augment TE label hop for the underlay backup path
       of the connectivity matrix entry.";
    case eth {
      uses etht-types:eth-label;
    }
  }

  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/"
       + "etht:eth-tran-topology" {
      description
        "Augmentation parameters apply only for networks with
         Ethernet topology type.";
    }
    description
      "Augment TE label hop for the explicit route objects excluded
       by the path computation of the connectivity matrix entry.";
    case eth {
      uses etht-types:eth-label;
    }
  }

  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/"
       + "etht:eth-tran-topology" {
      description
        "Augmentation parameters apply only for networks with
         Ethernet topology type.";
    }
    description
      "Augment TE label hop for the explicit route objects included
       by the path computation of the connectivity matrix entry.";
    case eth {
      uses etht-types:eth-label;
    }
  }

  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/"
       + "etht:eth-tran-topology" {
      description
        "Augmentation parameters apply only for networks with
         Ethernet topology type.";
    }
    description
      "Augment TE label hop for the computed path route objects
       of the connectivity matrix entry.";
    case eth {
      uses etht-types:eth-label;
    }
  }

  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/"
       + "etht:eth-tran-topology" {
      description
        "Augmentation parameters apply only for networks with
         Ethernet topology type.";
    }
    description
      "Augment TE label range start for the TE node connectivity
       matrices information source.";
    case eth {
      uses etht-types:eth-label;
    }
  }

  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/"
       + "etht:eth-tran-topology" {
      description
        "Augmentation parameters apply only for networks with
         Ethernet topology type.";
    }
    description
      "Augment TE label range end for the TE node connectivity
       matrices information source.";
    case eth {
      uses etht-types:eth-label;
    }
  }

  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/"
       + "etht:eth-tran-topology" {
      description
        "Augmentation parameters apply only for networks with
         Ethernet topology type.";
    }
    description
      "Augment TE label range step for the TE node connectivity
       matrices information source.";
    case eth {
      uses etht-types:eth-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/"
       + "etht:eth-tran-topology" {
      description
        "Augmentation parameters apply only for networks with
         Ethernet topology type.";
    }
    description
      "Augment TE label hop for the underlay primary path
       of the TE node connectivity matrices of the information
       source entry.";
    case eth {
      uses etht-types:eth-label;
    }
  }

  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/"
       + "etht:eth-tran-topology" {
      description
        "Augmentation parameters apply only for networks with
         Ethernet topology type.";
    }
    description
      "Augment TE label hop for the underlay backup path
       of the TE node connectivity matrices of the information
       source entry.";
    case eth {
      uses etht-types:eth-label;
    }
  }

  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/"
       + "etht:eth-tran-topology" {
      description
        "Augmentation parameters apply only for networks with
         Ethernet 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 eth {
      uses etht-types:eth-label;
    }
  }

  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/"
       + "etht:eth-tran-topology" {
      description
        "Augmentation parameters apply only for networks with
         Ethernet 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 eth {
      uses etht-types:eth-label;
    }
  }

  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/"
       + "etht:eth-tran-topology" {
      description
        "Augmentation parameters apply only for networks with
         Ethernet topology type.";
    }
    description
      "Augment TE label hop for the computed path route objects
       of the TE node connectivity matrices information source.";
    case eth {
      uses etht-types:eth-label;
    }
  }

  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/"
       + "etht:eth-tran-topology" {
      description
        "Augmentation parameters apply only for networks with
         Ethernet topology type.";
    }
    description
      "Augment TE label range start for the source LTP
       of the connectivity matrix entry information source.";
    case eth {
      uses etht-types:eth-label;
    }
  }
  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/"
       + "etht:eth-tran-topology" {
      description
        "Augmentation parameters apply only for networks with
         Ethernet topology type.";
    }
    description
      "Augment TE label range end for the source LTP
       of the connectivity matrix entry information source.";
    case eth {
      uses etht-types:eth-label;
    }
  }

  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/"
       + "etht:eth-tran-topology" {
      description
        "Augmentation parameters apply only for networks with
         Ethernet topology type.";
    }
    description
      "Augment TE label range step for the source LTP
       of the connectivity matrix entry information source.";
    case eth {
      uses etht-types:eth-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/"
       + "etht:eth-tran-topology" {
      description
        "Augmentation parameters apply only for networks with
         Ethernet topology type.";
    }
    description
      "Augment TE label range start for the destination LTP
       of the connectivity matrix entry information source.";
    case eth {
      uses etht-types:eth-label;
    }
  }

  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/"
       + "etht:eth-tran-topology" {
      description
        "Augmentation parameters apply only for networks with
         Ethernet topology type.";
    }
    description
      "Augment TE label range end for the destination LTP
       of the connectivity matrix entry information source.";
    case eth {
      uses etht-types:eth-label;
    }
  }

  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/"
       + "etht:eth-tran-topology" {
      description
        "Augmentation parameters apply only for networks with
         Ethernet topology type.";
    }
    description
      "Augment TE label range step for the destination LTP
       of the connectivity matrix entry information source.";
    case eth {
      uses etht-types:eth-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/"
       + "etht:eth-tran-topology" {
      description
        "Augmentation parameters apply only for networks with
         Ethernet topology type.";
    }
    description
      "Augment TE label hop for the underlay primary path
       of the connectivity matrix entry information source.";
    case eth {
      uses etht-types:eth-label;
    }
  }

  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/"
       + "etht:eth-tran-topology" {
      description
        "Augmentation parameters apply only for networks with
         Ethernet topology type.";
    }
    description
      "Augment TE label hop for the underlay backup path
       of the connectivity matrix entry information source.";
    case eth {
      uses etht-types:eth-label;
    }
  }

  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/"
       + "etht:eth-tran-topology" {
      description
        "Augmentation parameters apply only for networks with
         Ethernet 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 eth {
      uses etht-types:eth-label;
    }
  }

  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/"
       + "etht:eth-tran-topology" {
      description
        "Augmentation parameters apply only for networks with
         Ethernet 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 eth {
      uses etht-types:eth-label;
    }
  }

  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/"
       + "etht:eth-tran-topology" {
      description
        "Augmentation parameters apply only for networks with
         Ethernet topology type.";
    }
    description
      "Augment TE label hop for the computed path route objects
       of the connectivity matrix entry information source.";
    case eth {
      uses etht-types:eth-label;
    }
  }

  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/"
       + "etht:eth-tran-topology" {
      description
        "Augmentation parameters apply only for networks with
         Ethernet topology type.";
    }
    description
      "Augment TE label range start for the TTP
       Local Link Connectivities.";
    case eth {
      uses etht-types:eth-label;
    }
  }

  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/"
       + "etht:eth-tran-topology" {
      description
        "Augmentation parameters apply only for networks with
         Ethernet topology type.";
    }
    description
      "Augment TE label range end for the TTP
       Local Link Connectivities.";
    case eth {
      uses etht-types:eth-label;
    }
  }

  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/"
       + "etht:eth-tran-topology" {
      description
        "Augmentation parameters apply only for networks with
         Ethernet topology type.";
    }
    description
      "Augment TE label range step for the TTP
       Local Link Connectivities.";
    case eth {
      uses etht-types:eth-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/"
       + "etht:eth-tran-topology" {
      description
        "Augmentation parameters apply only for networks with
         Ethernet topology type.";
    }
    description
      "Augment TE label hop for the underlay primary path
       of the TTP Local Link Connectivities.";
    case eth {
      uses etht-types:eth-label;
    }
  }

  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/"
       + "etht:eth-tran-topology" {
      description
        "Augmentation parameters apply only for networks with
         Ethernet topology type.";
    }
    description
      "Augment TE label hop for the underlay backup path
       of the TTP Local Link Connectivities.";
    case eth {
      uses etht-types:eth-label;
    }
  }

  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/"
       + "etht:eth-tran-topology" {
      description
        "Augmentation parameters apply only for networks with
         Ethernet topology type.";
    }
    description
      "Augment TE label hop for the explicit route objects excluded
       by the path computation of the TTP Local Link
       Connectivities.";
    case eth {
      uses etht-types:eth-label;
    }
  }

  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/"
       + "etht:eth-tran-topology" {
      description
        "Augmentation parameters apply only for networks with
         Ethernet topology type.";
    }
    description
      "Augment TE label hop for the explicit route objects included
       by the path computation of the TTP Local Link
       Connectivities.";
    case eth {
      uses etht-types:eth-label;
    }
  }

  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/"
       + "etht:eth-tran-topology" {
      description
        "Augmentation parameters apply only for networks with
         Ethernet topology type.";
    }
    description
      "Augment TE label hop for the computed path route objects
       of the TTP Local Link Connectivities.";
    case eth {
      uses etht-types:eth-label;
    }
  }

  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/"
       + "etht:eth-tran-topology" {
      description
        "Augmentation parameters apply only for networks with
         Ethernet topology type.";
    }
    description
      "Augment TE label range start for the TTP
       Local Link Connectivity entry.";
    case eth {
      uses etht-types:eth-label;
    }
  }

  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/"
       + "etht:eth-tran-topology" {
      description
        "Augmentation parameters apply only for networks with
         Ethernet topology type.";
    }
    description
      "Augment TE label range end for the TTP
       Local Link Connectivity entry.";
    case eth {
      uses etht-types:eth-label;
    }
  }

  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/"
       + "etht:eth-tran-topology" {
      description
        "Augmentation parameters apply only for networks with
         Ethernet topology type.";
    }
    description
      "Augment TE label range step for the TTP
       Local Link Connectivity entry.";
    case eth {
      uses etht-types:eth-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/"
       + "etht:eth-tran-topology" {
      description
        "Augmentation parameters apply only for networks with
         Ethernet topology type.";
    }
    description
      "Augment TE label hop for the underlay primary path
       of the TTP Local Link Connectivity entry.";
    case eth {
      uses etht-types:eth-label;
    }
  }

  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/"
       + "etht:eth-tran-topology" {
      description
        "Augmentation parameters apply only for networks with
         Ethernet topology type.";
    }
    description
      "Augment TE label hop for the underlay backup path
       of the TTP Local Link Connectivity entry.";
    case eth {
      uses etht-types:eth-label;
    }
  }

  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/"
       + "etht:eth-tran-topology" {
      description
        "Augmentation parameters apply only for networks with
         Ethernet 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 eth {
      uses etht-types:eth-label;
    }
  }

  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/"
       + "etht:eth-tran-topology" {
      description
        "Augmentation parameters apply only for networks with
         Ethernet 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 eth {
      uses etht-types:eth-label;
    }
  }

  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/"
       + "etht:eth-tran-topology" {
      description
        "Augmentation parameters apply only for networks with
         Ethernet topology type.";
    }
    description
      "Augment TE label hop for the computed path route objects
       of the TTP Local Link Connectivity entry.";
    case eth {
      uses etht-types:eth-label;
    }
  }
  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/"
       + "etht:eth-tran-topology" {
      description
        "Augmentation parameters apply only for networks with
         Ethernet topology type.";
    }
    description
      "Augment TE label hop for the underlay primary path
       of the TE link.";
    case eth {
      uses etht-types:eth-label;
    }
  }

  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/"
       + "etht:eth-tran-topology" {
      description
        "Augmentation parameters apply only for networks with
         Ethernet topology type.";
    }
    description
      "Augment TE label hop for the underlay backup path
       of the TE link.";
    case eth {
      uses etht-types:eth-label;
    }
  }

  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/"
       + "etht:eth-tran-topology" {
      description
        "Augmentation parameters apply only for networks with
         Ethernet topology type.";
    }
    description
      "Augment TE label range start for the TE link.";
    case eth {
      uses etht-types:eth-label;
    }
  }

  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/"
       + "etht:eth-tran-topology" {
      description
        "Augmentation parameters apply only for networks with
         Ethernet topology type.";
    }
    description
      "Augment TE label range end for the TE link.";
    case eth {
      uses etht-types:eth-label;
    }
  }

  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/"
       + "etht:eth-tran-topology" {
      description
        "Augmentation parameters apply only for networks with
         Ethernet topology type.";
    }
    description
      "Augment TE label range step for the TE link.";
    case eth {
      uses etht-types:eth-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/"
       + "etht:eth-tran-topology" {
      description
        "Augmentation parameters apply only for networks with
         Ethernet topology type.";
    }
    description
      "Augment TE label range start for the TE link
       information source.";
    case eth {
      uses etht-types:eth-label;
    }
  }

  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/"
       + "etht:eth-tran-topology" {
      description
        "Augmentation parameters apply only for networks with
         Ethernet topology type.";
    }
    description
      "Augment TE label range end for the TE link
       information source.";
    case eth {
      uses etht-types:eth-label;
    }
  }

  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/"
       + "etht:eth-tran-topology" {
      description
        "Augmentation parameters apply only for networks with
         Ethernet topology type.";
    }
    description
      "Augment TE label range step for the TE link
       information source.";
    case eth {
      uses etht-types:eth-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 eth {
      uses etht-types:eth-label;
    }
  }

  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 eth {
      uses etht-types:eth-label;
    }
  }

  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 eth {
      uses etht-types:eth-label;
    }
  }

  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 eth {
      uses etht-types:eth-label;
    }
  }

  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 eth {
      uses etht-types:eth-label-step;
    }
  }

}
]]></sourcecode>
      </figure>
    </section>
    <section anchor="manageability-considerations">
      <name>Manageability Considerations</name>
      <t>TBD.</t>
    </section>
    <section anchor="security-considerations">
      <name>Security Considerations</name>
      <t>The data following the model defined in this document is exchanged
   via, for example, the interface between an orchestrator and a
   transport network controller.  The security concerns mentioned in
   <xref target="RFC8795"/> for using ietf-te-topology.yang model also applies to this
   document.</t>
      <t>The YANG module defined in this document can be accessed via the
   RESTCONF protocol defined in <xref target="RFC8040"/>, or maybe via the NETCONF
   protocol <xref target="RFC6241"/>.</t>
      <t>There are a number of data nodes defined in the YANG module which 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., POST) to these
   data nodes without proper protection can have a negative effect on
   network operations.</t>
      <t>Editors note: to list specific subtrees and data nodes and their
   sensitivity/vulnerability.</t>
    </section>
    <section anchor="iana-considerations">
      <name>IANA Considerations</name>
      <t>It is proposed that IANA should assign new URIs from the "IETF XML
   Registry" <xref target="RFC3688"/> as follows:</t>
      <artwork><![CDATA[
      URI: urn:ietf:params:xml:ns:yang:ietf-eth-te-topology
      Registrant Contact:  The IESG.
      XML: N/A, the requested URI is an XML namespace.
]]></artwork>
      <t>This document registers following YANG modules in the YANG Module
   Names registry <xref target="RFC7950"/>.</t>
      <artwork><![CDATA[
      name:      ietf-eth-te-topology
      namespace: urn:ietf:params:xml:ns:yang:ietf-eth-te-topology
      prefix:    etht
      reference: RFC XXXX
]]></artwork>
      <t>RFC Editor: Please replace XXXX with the RFC number assigned to this document.</t>
    </section>
  </middle>
  <back>
    <references anchor="sec-combined-references">
      <name>References</name>
      <references anchor="sec-normative-references">
        <name>Normative References</name>
        <reference anchor="ITU_G.8021">
          <front>
            <title>Characteristics of Ethernet transport network equipment functional blocks</title>
            <author>
              <organization>ITU-T Recommendation G.8021</organization>
            </author>
            <date year="2023" month="April"/>
          </front>
          <seriesInfo name="ITU-T G.8021" value=""/>
        </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-client-signal-yang">
          <front>
            <title>A YANG Data Model for Transport Network Client Signals</title>
            <author fullname="Haomian Zheng" initials="H." surname="Zheng">
              <organization>Huawei Technologies</organization>
            </author>
            <author fullname="Aihua Guo" initials="A." surname="Guo">
              <organization>Futurewei</organization>
            </author>
            <author fullname="Italo Busi" initials="I." surname="Busi">
              <organization>Huawei Technologies</organization>
            </author>
            <author fullname="Anton Snitser" initials="A." surname="Snitser">
              <organization>Cisco</organization>
            </author>
            <author fullname="Chaode Yu" initials="C." surname="Yu">
              <organization>Huawei Technologies</organization>
            </author>
            <date day="4" month="February" year="2025"/>
            <abstract>
              <t>   A transport network is a server-layer network to provide connectivity
   services to its client.  The topology and tunnel information in the
   transport layer has already been defined by generic Traffic-
   engineered models and technology-specific models (e.g., OTN, WSON).
   However, how the client signals are accessing to the network has not
   been described.  These information is necessary to both client and
   provider.

   This draft describes how the client signals are carried over
   transport network and defines YANG data models which are required
   during configuration procedure.  More specifically, several client
   signal (of transport network) models including ETH, STM-n, FC and so
   on, are defined in this draft.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-ccamp-client-signal-yang-14"/>
        </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="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="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="RFC6991">
          <front>
            <title>Common YANG Data Types</title>
            <author fullname="J. Schoenwaelder" initials="J." role="editor" surname="Schoenwaelder"/>
            <date month="July" year="2013"/>
            <abstract>
              <t>This document introduces a collection of common data types to be used with the YANG data modeling language. This document obsoletes RFC 6021.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="6991"/>
          <seriesInfo name="DOI" value="10.17487/RFC6991"/>
        </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="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>
      </references>
      <references anchor="sec-informative-references">
        <name>Informative References</name>
        <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 3311?>

<section numbered="false" anchor="acknowledgments">
      <name>Acknowledgments</name>
      <t>We would like to thank Igor Bryskin and Daniel King for their
   comments and discussions.</t>
    </section>
    <section anchor="contributors" numbered="false" toc="include" removeInRFC="false">
      <name>Contributors</name>
      <contact initials="Z." surname="Liu" fullname="Zhe Liu">
        <organization>Huawei Technologies</organization>
        <address>
          <email>liuzhe123@huawei.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="Y." surname="Yao" fullname="Yingxi Yao">
        <organization>Shanghai Bell</organization>
        <address>
          <email>yingxi.yao@nokia-sbell.com</email>
        </address>
      </contact>
      <contact initials="G." surname="Fioccola" fullname="Giuseppe Fioccola">
        <organization>Huawei Technologies</organization>
        <address>
          <email>giuseppe.fioccola@huawei.com</email>
        </address>
      </contact>
      <contact initials="" surname="To-Be-Added" fullname="To-Be-Added">
        <organization/>
        <address>
          <email>To-Be-Added</email>
        </address>
      </contact>
    </section>
  </back>
  <!-- ##markdown-source:
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
l3KBE86IAtUwq+Myn0jB08nAkwE2mz/kBEuT5VKrDYmelOYSHVVoXM2E81KT
GVJLghb4MvCvihSXi6gjpa6QmFwvcZniSpKfQPHmyyw9XJ/hJc/NGV2Rw8ib
KURELKgsmBYHQX4ZAWcDcqoiFy3yu/FJbVcsO1QN3a9MgOjPzYSf2sgz3wBg
QE03l4+TsfC+lZmgOCTenmukqI+5sdhdXNiL8OkhS2nutWTurSEpKw91VcSB
Wiiw1AxriGlE7v6rVmlDbFVo8ys0Gfg+TEHLzS9cUHctSZJrFtHRXJTTXj5o
O8Ru+ZsVQiFpCY+/lpr+qY2ZrUj0JU4yZqY15CXTAyjv8TjErykqKhnOdwIM
jtivpRakzAqke9Va/l2lBJjR+Z5T1kJFg3m1S+ZXIFlCgeQaBc5QI7lWjcbP
tWosCimJ+oE++CKSZumgVEwnE4bJBGJh1i7hvMBx2s3YwCoOUWGCvIiBHxg3
/izeu5ZU2mNCv8sOYBZhqDqG6PCiZuhYjI075ZvZ4NVjk1o/TYFTD7NqQJnW
KxCpQETaYm5EmFyXHYvkG0gdZK3qYZCjuoKs5FpZjZ/Zsma5AFOOFQWd3ABu
FFgTalvUcaB8Er8md5OBsBDoGw3yvWWOkDxyp9TV5AuacCffF3DKJ/HEGoZ0
wqDu+IMVA0Pyg9B9/Dzf+4FaLgFIPkwHVjf7DwznfWjcSwEEMQhFsZj6Jy2X
rUBtx+b7pEOW2knhfi21rpC/umvNOIfHn2o0gYp4/qyu2+vPy3Q7Wm60o+VG
s6EaCy16CTGy0N10pqp+cYC5wxq6NJ9Ayv0kBmgNCEgRBLOsTwzQXG99Uldl
XGt9c5wFrJ/rNr89zG4LWD/XbbnRFrF+vt/81idpyJvLvmQh+5Kl7UuWsy9Z
zr5kOfuS5exLlrQvWcS+q8yKaqd0cI+FQ2pD/kl2iSybBnTAXR5NZRMsp1wR
ZDiqnBimd/WFZOKezsf6DwAwaSDKknLa8VdTuc1PVeVl88AWZH2MjkyUewcU
zyRDpQn1LK7n3kkhy82+Vwq/DeY21rItdSjOYnhQ+paM7m+4qDdt+nXqI4pB
FteqDnnmCTwo4GkQZesyOSq10c8UuEodtx0CaqQvt3R9nMrLKZBhfq5jxjY6
fQOyz9t0urlKUiups3KEFCbLEXeoCFhY9kwWvD6nMMUl5RtnFsr4i+3hOPZw
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
tuVj+xIxcGVYVRwhzL2dLoumst1iBwrXc5Sn/Lr26je07/Ysq96QpoPNffZL
veim8NbLBUqnGz/chdeHoT9ZH35aFKkHjtQbkT9kW0Dpa5avOfC1lZiK/BZR
a0YU9I6SgxGbB6v5Z3nVSKsBzPWgavNZA/lsxlnB28JN04cBZdZrw9IGJLod
ABukwxZqm5IBbw9v6znV1U70GkqMC5wO3Eqg1Bz/W2eh3oJqwTN/qwKrgRMd
jZi/NXz+aN6a7Tr/dKu1boPWTUZstqJY57r7ouZvRE3VuxK1Wqlbbe/Jy9u0
uF7XU30jtzI6V3ww+E5MBxp2SqnBhdY0Ftl5lSM1/kxH05C7vo2BSvwScQu4
5QEH+mvhNj/c5NeeK3i6O48MNR7QWLBegEmbbBbKYs9hoUv1I2ghn9BwauHz
U9kzacyVH0KtGBmkywBnQG/sVyJvhUgH/5lY2xVggiJTRCaWItpK6im3/CPg
yQvl7mI8zCF1QO1vcdACdaOBqoy0azj1QVMT/eFz1ZG6Iz8EtavdLvXe7Nn9
rLpG7HvgcptHVogvtLXYd/kqUcuXn2SuYEY1U7cLrW/bTVpPIYk1iTQT0VYk
2k7pxxL0C+T1U82TINYy5F89k3OmpGvrUwv7lH4975w+lW/d+tSm+pS2U+tT
aW9ZMgUhvpo7//4TE991/cw2+22JddMgV4hljsJvDunJwDOAfFcQvJ7jtDe5
Yry7aK5aQ17+hG6L4HkQ3PwC9K7j11ySbtG77vi78nr2rsM1t8J9E3gtLXgT
srmwXeWJibZouK2iYcWHMO5a7F0HiNu6YZ11QwvgG4jCbenQZOlwY5Ddmvph
i/fVdxTW126t73Ig3t7N9xbNlfvvuwzm8gZiqVvlbuKyG4grbcqnHlNdyhTc
pyGPaZ2moa341q/W6Fcrbcy3frVRfrXgdvxO+dVN7NTfpBfsugvMv1m/wTC/
tbfJzF5ZXxmiuwjOGc9vzTzwtOr363YDmLha3sKyyae8WlA2EC1ZsDgQdxeF
Vc+CrR+Ga1rubuIlSwusZ998kbmLOF10/XrmQdCkUeE1uvijj4lsehm6LJRn
rmW3SN7AtesWyLfxVMz2LWrvuiut7+Gy1NsSGltVgm+og23f6nbrYOt60mxn
HGybV7Z3Hf4NPYN2Z7G98juwb31tfHdx3szTaY1Du0V2I4vru47r1Z5aawP2
pizP7zqOV3yc7a4v2a/juwhtxbH5j7btdoBuCNBtobEZj7m1YG4kOrflxe08
8tbWGMUN1007O7CjEG/s8bfdDtCbfJagRfZKj8LtNrDbswWz/Kp1rXU/MJf0
b52wPX/QOuEtPV3XOiHb7jMKrYs08fTdJuE/WRi67vOkCbCu/Thp3VbVdUtM
Fcv/RR7bB6AWg23lc3kLfBL3Fh+Cvs3PKs9awi9zWgPKFpOzMJl7KK9F5Nre
Q9c+kTfnE3lrweB6Ps+2DiBu9Ir6LmJ04afxzs92Lnpu8lp5i9nrn7vbQci2
q+Dt0sLan7DL+VXSqXWvnV/fbt2rkefrdte9tnnletfBv8DTdTtYl1U3rXi9
0uaca99FQC+1oD3dlFd0bDdymzrAvru4XWjRu0Vtcyvk7X7h+hbGl8bpuj7F
cqtw3eh19B1FdXNL6W1M3vh19xbjqy29txBv1+nbg7LXO9kNLdW37tiu67fu
uLQ7Nr2037rj1u8DtM7SyFZAI54wjyOA/WHoekdgCrDG15K2aFK+60ic8z3z
aOEbiLlNQ22TpsYt0uZ5D/z2AG0T9iF3BUc1n7faHbCsvvW3W1ApfHJqd4Cy
xG7bbiGj+Bmo5aCx7NbZNQiZ/yNjbfbZiOyTDHYrjxNvDJja7LQYlCqyUwuk
Nnstmb2ahM4ieU3DRf0zCVxaXdBgxZPc35+3DLrNBaM1LqGQRBFrcuobM8nN
Lqysb6lhmw1yYyXgijXSLut4zspopdJhl/U7o2BYLamuoNTyOweuOv+Cn86P
Prk35CPQkjWFgUnEI5f90i1XCF8PTt+Rie/ELut2VCq3fYdZkF2+QeXxSzcK
Y9Ylxh0PipJfupxFQ0uWN1n98+rJoydPrUcvrUcvejhqF/i5R06oR0eMDriL
G0mHoHcOIVPt7iMSyPnrNz1s+JnZcVjXBl+iTCMKunNd/5KjSHAJGAfVOmzI
PeZAVQIXuSCOb8dS+Vye0Rij5uWu8AWne1L77DsFlbM9/bVPqLGG1GZkADhk
UPtRj/ihPUZM0AiaU/AEigSwlhOBD4FHQxZf+xSFwBMLe4pLkUgBd2xQtiDI
CggiGUQiP3785dPbwxd/e/nz1ZXkJhYoj9SooU2pQi0hdYUvi0AOQIh8KSaS
SiTtpUoy7FmvFxsEHDBCbZsJAQ1AL6gJpPHp6PP54cfTt1Bh+JFv+zntas4f
PXt0dbUHKiITOgU6ujs5PZJdkUzaW3V5/uTZ46urlMsQxsb/ES+eDFiIiVIa
F3fBRZ7tvESXY26PsS8SugQ104HL9u2QUfUb6IrJ38gD3mO9PTQCuAFBEO/p
3qAILSsMRGM3eqgsJ5jJxARTunyrl4QisCMY/BrxC4aCX8SuBwCFkZAQxyp4
wlJQMO+Ch76HuhZA/HdgFHoFCaLJA9YbAXNnHz+fP1TmhNElRxkDWNr7cUTU
zrtUKJPxSVpvTC+k/tiISpbYcAh3iYo/CRvZiErzRw4HNAsYIGJ9HNflIiIi
YDYfcpuIeBCFDIZGuBuc4J/AIQ+RRqIFPCqQKEF6tnTh44PTgyr3PZa+iKL4
iLdoTCPVVoCMLjiXEHzkAeOX5LdPx4Lgd3Kk8bvHR+dvyZeTDxKbbAQMhxh2
JaqePn/xAlyICh0VRL+jop+KmkCpT+LQ66Nn9eVsSvS/T9y+J/roW/2qGKb7
6qEoOAuIE1E76iv/Oj76/K6nGwFbfXK6f6DCSMj+J4aIAeLBwCgumAlaEIyX
IoDw0lPMKR8w3TGUg+E8L4tuBupFzhNO5DUkcoqEdWeYCiidQFR5JD3NUARy
0Fe/zhA55XNppQUheO53ORImK30VLoL/eEgX+CNf4EcrAv9UmOyTM5dh1gsZ
ZEKIxNhKuoAUHBvqUKGQghjy80ENRLYsS5bhiMQD+5vnX7rMkWlYQEJUBJjz
S3cI4ZR1ZRlCfoegIiHo8m9MEaWQko9H4OSvw6n4xj3pAG+oxyEQ/zvaRudv
5RC2P5EjKK/hwo6BQ+ly/wuViYUX4NMBAA==

-->

</rfc>
