From 53d6bda4f47dd6f7aa2a4ef09887366d4f04ae2f Mon Sep 17 00:00:00 2001 From: ID Bot Date: Wed, 20 Nov 2024 22:31:27 +0000 Subject: [PATCH] Script updating gh-pages from ece2b57. [ci skip] --- draft-ietf-ccamp-eth-client-te-topo-yang.html | 4770 +++++++++++++++++ draft-ietf-ccamp-eth-client-te-topo-yang.txt | 3448 ++++++++++++ index.html | 48 + 3 files changed, 8266 insertions(+) create mode 100644 draft-ietf-ccamp-eth-client-te-topo-yang.html create mode 100644 draft-ietf-ccamp-eth-client-te-topo-yang.txt diff --git a/draft-ietf-ccamp-eth-client-te-topo-yang.html b/draft-ietf-ccamp-eth-client-te-topo-yang.html new file mode 100644 index 0000000..aa549a2 --- /dev/null +++ b/draft-ietf-ccamp-eth-client-te-topo-yang.html @@ -0,0 +1,4770 @@ + + + + + + +A YANG Data Model for Ethernet TE Topology + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Internet-DraftETH Topology Transport YANG ModelNovember 2024
Yu, et al.Expires 24 May 2025[Page]
+
+
+
+
Workgroup:
+
Common Control and Measurement Plane
+
Internet-Draft:
+
draft-ietf-ccamp-eth-client-te-topo-yang-latest
+
Published:
+
+ +
+
Intended Status:
+
Standards Track
+
Expires:
+
+
Authors:
+
+
+
C. Yu
+
Huawei Technologies
+
+
+
H. Zheng
+
Huawei Technologies
+
+
+
A. Guo
+
Futurewei
+
+
+
I. Busi
+
Huawei Technologies
+
+
+
Y. Xu
+
CAICT
+
+
+
Y. Zhao
+
China Mobile
+
+
+
X. Liu
+
Alef Edge
+
+
+
+
+

A YANG Data Model for Ethernet TE Topology

+
+

Abstract

+

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.

+
+
+

+About This Document +

+

This note is to be removed before publishing as an RFC.

+

+ The latest revision of this draft can be found at 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 https://datatracker.ietf.org/doc/draft-ietf-ccamp-eth-client-te-topo-yang/.

+

+ Discussion of this document takes place on the + Common Control and Measurement Plane Working Group mailing list (mailto:ccamp@ietf.org), + which is archived at https://mailarchive.ietf.org/arch/browse/ccamp/. + Subscribe at https://www.ietf.org/mailman/listinfo/ccamp/.

+

Source for this draft and an issue tracker can be found at + https://github.com/ietf-ccamp-wg/draft-ietf-ccamp-eth-client-te-topo-yang.

+
+
+
+

+Status of This Memo +

+

+ This Internet-Draft is submitted in full conformance with the + provisions of BCP 78 and BCP 79.

+

+ Internet-Drafts are working documents of the Internet Engineering Task + Force (IETF). Note that other groups may also distribute working + documents as Internet-Drafts. The list of current Internet-Drafts is + at https://datatracker.ietf.org/drafts/current/.

+

+ Internet-Drafts are draft documents valid for a maximum of six months + and may be updated, replaced, or obsoleted by other documents at any + time. It is inappropriate to use Internet-Drafts as reference + material or to cite them other than as "work in progress."

+

+ This Internet-Draft will expire on 24 May 2025.

+
+
+ +
+
+

+Table of Contents +

+ +
+
+
+
+

+1. Introduction +

+

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.

+

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).

+

An Ethernet network can be either a client-layer network of an underlay transport network or a transport network itself.

+

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.

+

The YANG model defined in this document augments from the TE topology YANG model defined in [RFC8795], and imports from the generic Ethernet types defined in [I-D.ietf-ccamp-client-signal-yang].

+

The YANG data model in this document conforms to the Network Management Datastore Architecture defined in [RFC8342].

+
+
+

+1.1. Terminology and Notations +

+

The following terms are defined in [RFC7950] and are not redefined +here:

+
    +
  • +

    client

    +
  • +
  • +

    server

    +
  • +
  • +

    augment

    +
  • +
  • +

    data model

    +
  • +
  • +

    data node

    +
  • +
+

The following terms are defined in [RFC6241] and are not redefined +here:

+
    +
  • +

    configuration data

    +
  • +
  • +

    state data

    +
  • +
+

The terminology for describing YANG data models is found in +[RFC7950].

+
+
+
+
+

+1.2. Tree Diagram +

+

A simplified graphical representation of the data model is used in +Section 3 of this document. The meaning of the symbols in these +diagrams is defined in [RFC8340].

+
+
+
+
+

+1.3. Prefix in Data Node Names +

+

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 Table 1.

+

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 Table 1.

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+Table 1: +Prefixes and corresponding YANG modules +
PrefixYANG moduleReference
yangietf-yang-types + [RFC6991] +
etht-typesietf-eth-tran-types[RFCYYYY]
nwietf-network + [RFC8345] +
ntietf-network-topology + [RFC8345] +
tetietf-te-topology + [RFC8795] +
ethtietf-eth-te-topologyRFCXXXX
+
+

RFC Editor Note: Please replace YYYY and XXXX with the number +assigned to the RFC once this draft becomes an RFC.

+
+
+
+
+
+
+

+2. Ethernet Topology Model Overview +

+

This document aims to describe the data model for Ethernet topology.

+

As a classic Traffic-engineering (TE) technology, Ethernet can provide packet +switching in transport network [ITU_G.8021].

+

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 [RFC8795]. In section 6 of [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 +[I-D.ietf-ccamp-client-signal-yang] is reused in this document. [RFC8345] +describes a network topology model and provides the fundamental model +for [RFC8795]. However, this work is not directly augmenting +[RFC8345]. Figure 1 shows the augmentation relationship.

+
+
+
+
+                      +-------------------------+
+         TE generic   |    ietf-te-topology     |
+                      +------------+------------+
+                                   ^
+                                   |
+                                   | Augments
+                                   |
+                      +------------+------------+
+         Ethernet     |  ietf-eth-te-topology   |
+                      +-------------------------+
+
+
+
Figure 1: +Relationship between Ethernet and TE topology models +
+
+

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.

+
+
+

+2.1. Attributes Augmentation +

+

Given the guidance for augmentation in [RFC8795], the following + technology-specific augmentations need to be provided:

+
    +
  • +

    A network-type to indicate that the TE topology is an Ethernet +Topology, as follow:

    +
  • +
+
+
+       augment /nw:networks/nw:network/nw:network-types/tet:te-topology:
+         +--rw eth-tran-topology!
+
+
+ +
+
+
+
+

+2.2. TE Bandwidth Augmentations +

+

Following the guidelines in [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 [I-D.ietf-ccamp-client-signal-yang].

+
+
+
+
+

+2.3. TE Label Augmentations +

+

The model augments all the occurrences of the label-restriction list +with Ethernet technology specific attributes using the eth-label-restriction grouping defined in [I-D.ietf-ccamp-client-signal-yang].

+

Moreover, following the guidelines in [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 [I-D.ietf-ccamp-client-signal-yang].

+
+
+
+
+
+
+

+3. YANG Tree for Ethernet Topology +

+
+
+
+
+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
+
+
+
Figure 2: +Ethernet topology YANG tree +
+
+
+
+
+
+

+4. Ethernet Topology YANG Code +

+
+
+
+
<CODE BEGINS> file "ietf-eth-te-topology@2023-09-08.yang"
+
+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;
+    }
+  }
+
+}
+
+<CODE ENDS>
+
+
Figure 3: +Ethernet topology YANG module +
+
+
+
+
+
+

+5. Manageability Considerations +

+

TBD.

+
+
+
+
+

+6. Security Considerations +

+

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 + [RFC8795] for using ietf-te-topology.yang model also applies to this + document.

+

The YANG module defined in this document can be accessed via the + RESTCONF protocol defined in [RFC8040], or maybe via the NETCONF + protocol [RFC6241].

+

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.

+

Editors note: to list specific subtrees and data nodes and their + sensitivity/vulnerability.

+
+
+
+
+

+7. IANA Considerations +

+

It is proposed that IANA should assign new URIs from the "IETF XML + Registry" [RFC3688] as follows:

+
+
+      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.
+
+
+

This document registers following YANG modules in the YANG Module + Names registry [RFC7950].

+
+
+      name:      ietf-eth-te-topology
+      namespace: urn:ietf:params:xml:ns:yang:ietf-eth-te-topology
+      prefix:    etht
+      reference: RFC XXXX
+
+
+

RFC Editor: Please replace XXXX with the RFC number assigned to this document.

+
+
+
+
+

+8. References +

+
+
+

+8.1. Normative References +

+
+
[I-D.ietf-ccamp-client-signal-yang]
+
+Zheng, H., Guo, A., Busi, I., Snitser, A., and C. Yu, "A YANG Data Model for Transport Network Client Signals", Work in Progress, Internet-Draft, draft-ietf-ccamp-client-signal-yang-13, , <https://datatracker.ietf.org/doc/html/draft-ietf-ccamp-client-signal-yang-13>.
+
+
[ITU_G.8021]
+
+ITU-T Recommendation G.8021, "Characteristics of Ethernet transport network equipment functional blocks", ITU-T G.8021 , .
+
+
[RFC3688]
+
+Mealling, M., "The IETF XML Registry", BCP 81, RFC 3688, DOI 10.17487/RFC3688, , <https://www.rfc-editor.org/rfc/rfc3688>.
+
+
[RFC6241]
+
+Enns, R., Ed., Bjorklund, M., Ed., Schoenwaelder, J., Ed., and A. Bierman, Ed., "Network Configuration Protocol (NETCONF)", RFC 6241, DOI 10.17487/RFC6241, , <https://www.rfc-editor.org/rfc/rfc6241>.
+
+
[RFC6991]
+
+Schoenwaelder, J., Ed., "Common YANG Data Types", RFC 6991, DOI 10.17487/RFC6991, , <https://www.rfc-editor.org/rfc/rfc6991>.
+
+
[RFC7950]
+
+Bjorklund, M., Ed., "The YANG 1.1 Data Modeling Language", RFC 7950, DOI 10.17487/RFC7950, , <https://www.rfc-editor.org/rfc/rfc7950>.
+
+
[RFC8040]
+
+Bierman, A., Bjorklund, M., and K. Watsen, "RESTCONF Protocol", RFC 8040, DOI 10.17487/RFC8040, , <https://www.rfc-editor.org/rfc/rfc8040>.
+
+
[RFC8342]
+
+Bjorklund, M., Schoenwaelder, J., Shafer, P., Watsen, K., and R. Wilton, "Network Management Datastore Architecture (NMDA)", RFC 8342, DOI 10.17487/RFC8342, , <https://www.rfc-editor.org/rfc/rfc8342>.
+
+
[RFC8345]
+
+Clemm, A., Medved, J., Varga, R., Bahadur, N., Ananthakrishnan, H., and X. Liu, "A YANG Data Model for Network Topologies", RFC 8345, DOI 10.17487/RFC8345, , <https://www.rfc-editor.org/rfc/rfc8345>.
+
+
[RFC8795]
+
+Liu, X., Bryskin, I., Beeram, V., Saad, T., Shah, H., and O. Gonzalez de Dios, "YANG Data Model for Traffic Engineering (TE) Topologies", RFC 8795, DOI 10.17487/RFC8795, , <https://www.rfc-editor.org/rfc/rfc8795>.
+
+
+
+
+
+
+

+8.2. Informative References +

+
+
[RFC8340]
+
+Bjorklund, M. and L. Berger, Ed., "YANG Tree Diagrams", BCP 215, RFC 8340, DOI 10.17487/RFC8340, , <https://www.rfc-editor.org/rfc/rfc8340>.
+
+
+
+
+
+
+
+
+

+Acknowledgments +

+

We would like to thank Igor Bryskin and Daniel King for their + comments and discussions.

+
+
+
+
+

+Contributors +

+
+
Zhe Liu
+
Huawei Technologies
+ +
+
+
Sergio Belotti
+
Nokia
+ +
+
+
Yingxi Yao
+
Shanghai Bell
+ +
+
+
Giuseppe Fioccola
+
Huawei Technologies
+ +
+
+
To-Be-Added
+ +
+
+
+
+
+

+Authors' Addresses +

+
+
Chaode Yu
+
Huawei Technologies
+ +
+
+
Haomian Zheng
+
Huawei Technologies
+
H1, Huawei Xiliu Beipo Village, Songshan Lake
+
Dongguan
+
+Guangdong, 523808 +
+
China
+ +
+
+
Aihua Guo
+
Futurewei
+ +
+
+
Italo Busi
+
Huawei Technologies
+ +
+
+
Yunbin Xu
+
CAICT
+ +
+
+
Yang Zhao
+
China Mobile
+ +
+
+
Xufeng Liu
+
Alef Edge
+ +
+
+
+ + + diff --git a/draft-ietf-ccamp-eth-client-te-topo-yang.txt b/draft-ietf-ccamp-eth-client-te-topo-yang.txt new file mode 100644 index 0000000..df88e5e --- /dev/null +++ b/draft-ietf-ccamp-eth-client-te-topo-yang.txt @@ -0,0 +1,3448 @@ + + + + +Common Control and Measurement Plane C. Yu +Internet-Draft H. Zheng +Intended status: Standards Track Huawei Technologies +Expires: 24 May 2025 A. Guo + Futurewei + I. Busi + Huawei Technologies + Y. Xu + CAICT + Y. Zhao + China Mobile + X. Liu + Alef Edge + 20 November 2024 + + + A YANG Data Model for Ethernet TE Topology + draft-ietf-ccamp-eth-client-te-topo-yang-latest + +Abstract + + 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. + +About This Document + + This note is to be removed before publishing as an RFC. + + The latest revision of this draft can be found at 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 https://datatracker.ietf.org/doc/draft-ietf- + ccamp-eth-client-te-topo-yang/. + + Discussion of this document takes place on the Common Control and + Measurement Plane Working Group mailing list (mailto:ccamp@ietf.org), + which is archived at https://mailarchive.ietf.org/arch/browse/ccamp/. + Subscribe at https://www.ietf.org/mailman/listinfo/ccamp/. + + Source for this draft and an issue tracker can be found at + https://github.com/ietf-ccamp-wg/draft-ietf-ccamp-eth-client-te-topo- + yang. + +Status of This Memo + + This Internet-Draft is submitted in full conformance with the + provisions of BCP 78 and BCP 79. + + Internet-Drafts are working documents of the Internet Engineering + Task Force (IETF). Note that other groups may also distribute + working documents as Internet-Drafts. The list of current Internet- + Drafts is at https://datatracker.ietf.org/drafts/current/. + + Internet-Drafts are draft documents valid for a maximum of six months + and may be updated, replaced, or obsoleted by other documents at any + time. It is inappropriate to use Internet-Drafts as reference + material or to cite them other than as "work in progress." + + This Internet-Draft will expire on 24 May 2025. + +Copyright Notice + + Copyright (c) 2024 IETF Trust and the persons identified as the + document authors. All rights reserved. + + This document is subject to BCP 78 and the IETF Trust's Legal + Provisions Relating to IETF Documents (https://trustee.ietf.org/ + license-info) in effect on the date of publication of this document. + Please review these documents carefully, as they describe your rights + and restrictions with respect to this document. Code Components + extracted from this document must include Revised BSD License text as + described in Section 4.e of the Trust Legal Provisions and are + provided without warranty as described in the Revised BSD License. + +Table of Contents + + 1. Introduction + 1.1. Terminology and Notations + 1.2. Tree Diagram + 1.3. Prefix in Data Node Names + 2. Ethernet Topology Model Overview + 2.1. Attributes Augmentation + 2.2. TE Bandwidth Augmentations + 2.3. TE Label Augmentations + 3. YANG Tree for Ethernet Topology + 4. Ethernet Topology YANG Code + 5. Manageability Considerations + 6. Security Considerations + 7. IANA Considerations + 8. References + 8.1. Normative References + 8.2. Informative References + Acknowledgments + Contributors + Authors' Addresses + +1. Introduction + + 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. + + 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). + + An Ethernet network can be either a client-layer network of an + underlay transport network or a transport network itself. + + 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. + + The YANG model defined in this document augments from the TE topology + YANG model defined in [RFC8795], and imports from the generic + Ethernet types defined in [I-D.ietf-ccamp-client-signal-yang]. + + The YANG data model in this document conforms to the Network + Management Datastore Architecture defined in [RFC8342]. + +1.1. Terminology and Notations + + The following terms are defined in [RFC7950] and are not redefined + here: + + * client + + * server + + * augment + + * data model + + * data node + + The following terms are defined in [RFC6241] and are not redefined + here: + + * configuration data + + * state data + + The terminology for describing YANG data models is found in + [RFC7950]. + +1.2. Tree Diagram + + A simplified graphical representation of the data model is used in + Section 3 of this document. The meaning of the symbols in these + diagrams is defined in [RFC8340]. + +1.3. Prefix in Data Node Names + + 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 Table 1. + + 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 Table 1. + + +============+=======================+===========+ + | Prefix | YANG module | Reference | + +============+=======================+===========+ + | yang | ietf-yang-types | [RFC6991] | + +------------+-----------------------+-----------+ + | etht-types | ietf-eth-tran-types | [RFCYYYY] | + +------------+-----------------------+-----------+ + | nw | ietf-network | [RFC8345] | + +------------+-----------------------+-----------+ + | nt | ietf-network-topology | [RFC8345] | + +------------+-----------------------+-----------+ + | tet | ietf-te-topology | [RFC8795] | + +------------+-----------------------+-----------+ + | etht | ietf-eth-te-topology | RFCXXXX | + +------------+-----------------------+-----------+ + + Table 1: Prefixes and corresponding YANG modules + + RFC Editor Note: Please replace YYYY and XXXX with the number + assigned to the RFC once this draft becomes an RFC. + +2. Ethernet Topology Model Overview + + This document aims to describe the data model for Ethernet topology. + + As a classic Traffic-engineering (TE) technology, Ethernet can + provide packet switching in transport network [ITU_G.8021]. + + 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 [RFC8795]. In section 6 + of [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 [I-D.ietf-ccamp-client-signal-yang] is + reused in this document. [RFC8345] describes a network topology + model and provides the fundamental model for [RFC8795]. However, + this work is not directly augmenting [RFC8345]. Figure 1 shows the + augmentation relationship. + + +-------------------------+ + TE generic | ietf-te-topology | + +------------+------------+ + ^ + | + | Augments + | + +------------+------------+ + Ethernet | ietf-eth-te-topology | + +-------------------------+ + + Figure 1: Relationship between Ethernet and TE topology models + + 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. + +2.1. Attributes Augmentation + + Given the guidance for augmentation in [RFC8795], the following + technology-specific augmentations need to be provided: + + * A network-type to indicate that the TE topology is an Ethernet + Topology, as follow: + + augment /nw:networks/nw:network/nw:network-types/tet:te-topology: + +--rw eth-tran-topology! + + * TE Bandwidth Augmentations as described in Section 2.2. + + * TE Label Augmentations as described in Section 2.3. + +2.2. TE Bandwidth Augmentations + + Following the guidelines in [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 [I-D.ietf-ccamp-client-signal-yang]. + +2.3. TE Label Augmentations + + The model augments all the occurrences of the label-restriction list + with Ethernet technology specific attributes using the eth-label- + restriction grouping defined in [I-D.ietf-ccamp-client-signal-yang]. + + Moreover, following the guidelines in [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 [I-D.ietf-ccamp-client-signal-yang]. + +3. YANG Tree for Ethernet Topology + + 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 + + Figure 2: Ethernet topology YANG tree + +4. Ethernet Topology YANG Code + + file "ietf-eth-te-topology@2023-09-08.yang" + 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: + WG List: + + Editor: Haomian Zheng + + + Editor: Italo Busi + + + Editor: Aihua Guo + + + Editor: Yunbin Xu + + + Editor: Yang Zhao + + + Editor: Xufeng Liu + "; + + 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; + } + } + + } + + + Figure 3: Ethernet topology YANG module + +5. Manageability Considerations + + TBD. + +6. Security Considerations + + 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 + [RFC8795] for using ietf-te-topology.yang model also applies to this + document. + + The YANG module defined in this document can be accessed via the + RESTCONF protocol defined in [RFC8040], or maybe via the NETCONF + protocol [RFC6241]. + + 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. + + Editors note: to list specific subtrees and data nodes and their + sensitivity/vulnerability. + +7. IANA Considerations + + It is proposed that IANA should assign new URIs from the "IETF XML + Registry" [RFC3688] as follows: + + 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. + + This document registers following YANG modules in the YANG Module + Names registry [RFC7950]. + + name: ietf-eth-te-topology + namespace: urn:ietf:params:xml:ns:yang:ietf-eth-te-topology + prefix: etht + reference: RFC XXXX + + RFC Editor: Please replace XXXX with the RFC number assigned to this + document. + +8. References + +8.1. Normative References + + [I-D.ietf-ccamp-client-signal-yang] + Zheng, H., Guo, A., Busi, I., Snitser, A., and C. Yu, "A + YANG Data Model for Transport Network Client Signals", + Work in Progress, Internet-Draft, draft-ietf-ccamp-client- + signal-yang-13, 1 August 2024, + . + + [ITU_G.8021] + ITU-T Recommendation G.8021, "Characteristics of Ethernet + transport network equipment functional blocks", ITU-T + G.8021 , April 2023. + + [RFC3688] Mealling, M., "The IETF XML Registry", BCP 81, RFC 3688, + DOI 10.17487/RFC3688, January 2004, + . + + [RFC6241] Enns, R., Ed., Bjorklund, M., Ed., Schoenwaelder, J., Ed., + and A. Bierman, Ed., "Network Configuration Protocol + (NETCONF)", RFC 6241, DOI 10.17487/RFC6241, June 2011, + . + + [RFC6991] Schoenwaelder, J., Ed., "Common YANG Data Types", + RFC 6991, DOI 10.17487/RFC6991, July 2013, + . + + [RFC7950] Bjorklund, M., Ed., "The YANG 1.1 Data Modeling Language", + RFC 7950, DOI 10.17487/RFC7950, August 2016, + . + + [RFC8040] Bierman, A., Bjorklund, M., and K. Watsen, "RESTCONF + Protocol", RFC 8040, DOI 10.17487/RFC8040, January 2017, + . + + [RFC8342] Bjorklund, M., Schoenwaelder, J., Shafer, P., Watsen, K., + and R. Wilton, "Network Management Datastore Architecture + (NMDA)", RFC 8342, DOI 10.17487/RFC8342, March 2018, + . + + [RFC8345] Clemm, A., Medved, J., Varga, R., Bahadur, N., + Ananthakrishnan, H., and X. Liu, "A YANG Data Model for + Network Topologies", RFC 8345, DOI 10.17487/RFC8345, March + 2018, . + + [RFC8795] Liu, X., Bryskin, I., Beeram, V., Saad, T., Shah, H., and + O. Gonzalez de Dios, "YANG Data Model for Traffic + Engineering (TE) Topologies", RFC 8795, + DOI 10.17487/RFC8795, August 2020, + . + +8.2. Informative References + + [RFC8340] Bjorklund, M. and L. Berger, Ed., "YANG Tree Diagrams", + BCP 215, RFC 8340, DOI 10.17487/RFC8340, March 2018, + . + +Acknowledgments + + We would like to thank Igor Bryskin and Daniel King for their + comments and discussions. + +Contributors + + Zhe Liu + Huawei Technologies + Email: liuzhe123@huawei.com + + + Sergio Belotti + Nokia + Email: sergio.belotti@nokia.com + + + Yingxi Yao + Shanghai Bell + Email: yingxi.yao@nokia-sbell.com + + + Giuseppe Fioccola + Huawei Technologies + Email: giuseppe.fioccola@huawei.com + + + To-Be-Added + Email: To-Be-Added + + +Authors' Addresses + + Chaode Yu + Huawei Technologies + Email: yuchaode@huawei.com + + + Haomian Zheng + Huawei Technologies + H1, Huawei Xiliu Beipo Village, Songshan Lake + Dongguan + Guangdong, 523808 + China + Email: zhenghaomian@huawei.com + + + Aihua Guo + Futurewei + Email: aihuaguo@futurewei.com + + + Italo Busi + Huawei Technologies + Email: italo.busi@huawei.com + + + Yunbin Xu + CAICT + Email: xuyunbin@caict.ac.cn + + + Yang Zhao + China Mobile + Email: zhaoyangyjy@chinamobile.com + + + Xufeng Liu + Alef Edge + Email: xufeng.liu.ietf@gmail.com diff --git a/index.html b/index.html index e69de29..4f5b586 100644 --- a/index.html +++ b/index.html @@ -0,0 +1,48 @@ + + + + italobusi/draft-ietf-ccamp-eth-client-te-topo-yang main-fork preview + + + + +

Editor's drafts for main-fork branch of italobusi/draft-ietf-ccamp-eth-client-te-topo-yang

+

View saved issues, or the latest GitHub issues and pull requests in the repo.

+ + + + + + + + +
ETH Topology Transport YANG Modelplain textdatatrackerdiff with last submission
+ + +