<?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-09" 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-09"/>
    <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>CCAMP Working Group</workgroup>
    <keyword>next generation</keyword>
    <keyword>unicorn</keyword>
    <keyword>sparkling distributed ledger</keyword>
    <abstract>
      <?line 93?>

<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 97?>

<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 3312?>

<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="Y." surname="Zheng" fullname="Yanlei Zheng">
        <organization>China Unicom</organization>
        <address>
          <email>zhengyanlei@chinaunicom.cn</email>
        </address>
      </contact>
    </section>
  </back>
  <!-- ##markdown-source:
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
kWyDF9cwLD9xX4qfekXlSafztNHtp5KKmdUcvd0ql5OQDWuCUhQLGI2YJwvx
qLjmWlkNLsEgn9k1s1fBgT0nmhEI0DVHwm0BQfE7BxLmrqKK5syDajFGFTRW
ZM8urhrSSTGFoJDLrZWWJcPEnKimL4iKBvYmVUQLJfkaMJczvYVts7o2Z4Kv
t05pKd6cjJDnNvABWutohDmxvTfpmVtzWBan9Ad72XDfy8OqXfvE74TdSD2Q
OfGrl0ZCop9DlmrMl/0DdpVAM+PtZleiZp84W7CdSpT88eGCHObAeekDY0Ye
WUPq8hf+q+ikpIZcR9+r86zdCut7daVUriVZuRYO19iqKewsX5c1nlO5OJbm
Li1FYPPiXrhsVN0Cx+0HQ6J03gGv3XCe4Lx67CUVpiiXdleelDuSGSujMWHQ
6+mtrh40qJhyU4yIzMuDmXyQxmaCUmNEiAkTTrL8imLr7f/iYq5WvlwWykJY
+WwPzk7kGWqhTk8v3fZSyoxAlY/64WdAgfb9AG1cej1AnZevNzrKQdWkoOp+
6PIxUl06zCjoBdApjdd0DknL8rl5HdXKB8W1W1tdRcnVs0ZRnUnyoa39l8pO
6w2rpiW2ihveJbCafGyF6WwfcsbM3ATpuixdvSbPrfapyxxxxRM83D5w8sVk
CXmcrvjC2iitzf/53eKDVQ35c+WJ1DKp0qKymXxuiSV4kA4mNOB+mQ8a/cpT
kVnv6vNbyOXUXmlmWx8+nxdsnBV9MuhZtjMDR1Vsya0RED6Ttu7IXTbCvNGx
CSizfHq12ls+vgptBRgOBMus3KKmDjUFpKDqiKU6E5d0qWTGtA1BjCHuA3Tq
XhS/cny1ELO2+KvQ+krkywzWA16zf42gjU9rEp8KjwUo290fTLWBa20DVw3u
1gJ2TW+vqwGXnE856klP6tFIWUNSrq3k25p9WoTpqWoBaDqmKfvY9TopvF3w
4QXU6xuGpClebW7HpxZHy4lUZgIIiDEDqhN3cpnhqGCJ9ciJy4DUlE3Hq8de
C7/p4De+1VK/8Fa1WnuX3wfUrmit2YoWXEQbbQ5gJBqw0ZRwmGj/7TD+JMNr
Wjea+XYNHDNx2Vp5Niurd6vIs/SbZfA0MK+Faa19o7VzZTVa+cOtW7lx/WXW
dF8f7dvcv9Lcb8a7q1WWpYGrLQ2WWhrciIu1iy5t6bDS0qEGEM56A6ItLZZQ
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
ObaPmDTVAQA=

-->

</rfc>
