diff --git a/README.md b/README.md index e7b2150..8b8947a 100644 --- a/README.md +++ b/README.md @@ -4,6 +4,12 @@ This is the working area for the [IETF CCAMP](https://datatracker.ietf.org/wg/ccamp/documents/) WG Internet-Draft, "[A YANG Data Model for Ethernet TE Topology](https://datatracker.ietf.org/doc/draft-ietf-ccamp-eth-client-te-topo-yang/)". +Diff editor copy vs published version: +- [Side-by-side diff](https://www.ietf.org/rfcdiff?url1=draft-ietf-ccamp-eth-client-te-topo-yang&url2=https://raw.githubusercontent.com/ietf-ccamp-wg/draft-ietf-ccamp-eth-client-te-topo-yang/main/draft-ietf-ccamp-eth-client-te-topo-yang.txt) +- [Before-after diff](https://www.ietf.org/rfcdiff?difftype=--abdiff&url1=draft-ietf-ccamp-eth-client-te-topo-yang&url2=https://raw.githubusercontent.com/ietf-ccamp-wg/draft-ietf-ccamp-eth-client-te-topo-yang/main/draft-ietf-ccamp-eth-client-te-topo-yang.txt) +- [Changebars](https://www.ietf.org/rfcdiff?difftype=--chbars&url1=draft-ietf-ccamp-eth-client-te-topo-yang&url2=https://raw.githubusercontent.com/ietf-ccamp-wg/draft-ietf-ccamp-eth-client-te-topo-yang/main/draft-ietf-ccamp-eth-client-te-topo-yang.txt) +- [Html wdiff](https://www.ietf.org/rfcdiff?difftype=--hwdiff&url1=draft-ietf-ccamp-eth-client-te-topo-yang&url2=https://raw.githubusercontent.com/ietf-ccamp-wg/draft-ietf-ccamp-eth-client-te-topo-yang/main/draft-ietf-ccamp-eth-client-te-topo-yang.txt) + ## Abstract A transport network is a server-layer network to provide connectivity 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..49e3089 --- /dev/null +++ b/draft-ietf-ccamp-eth-client-te-topo-yang.txt @@ -0,0 +1,3696 @@ + + + + +CCAMP Working Group H. Zheng +Internet-Draft Huawei Technologies +Intended status: Standards Track A. Guo +Expires: March 12, 2022 Futurewei + I. Busi + Huawei Technologies + Y. Xu + CAICT + Y. Zhao + China Mobile + X. Liu + Volta Networks + September 8, 2021 + + + A YANG Data Model for Ethernet TE Topology + draft-ietf-ccamp-eth-client-te-topo-yang-01 + +Abstract + + A transport network is a server-layer network to provide connectivity + services to its client. In this draft the topology of Ethernet with + TE is described with YANG data model. + +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 March 12, 2022. + +Copyright Notice + + Copyright (c) 2021 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 + + + +Zheng, et al. Expires March 12, 2022 [Page 1] + +Internet-Draft ETH Topology Transport YANG Model September 2021 + + + (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 Simplified BSD License text as described in Section 4.e of + the Trust Legal Provisions and are provided without warranty as + described in the Simplified BSD License. + +Table of Contents + + 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 + 2. Terminology and Notations . . . . . . . . . . . . . . . . . . 3 + 3. YANG Model for Topology of Client Layer . . . . . . . . . . . 3 + 3.1. YANG Tree for Ethernet Topology . . . . . . . . . . . . . 3 + 4. YANG Code for Topology Client Layer . . . . . . . . . . . . . 21 + 4.1. The ETH Topology YANG Code . . . . . . . . . . . . . . . 21 + 5. Considerations and Open Issue . . . . . . . . . . . . . . . . 63 + 6. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 63 + 7. Manageability Considerations . . . . . . . . . . . . . . . . 63 + 8. Security Considerations . . . . . . . . . . . . . . . . . . . 64 + 9. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 64 + 10. Contributors . . . . . . . . . . . . . . . . . . . . . . . . 64 + 11. References . . . . . . . . . . . . . . . . . . . . . . . . . 65 + 11.1. Normative References . . . . . . . . . . . . . . . . . . 65 + 11.2. Informative References . . . . . . . . . . . . . . . . . 65 + Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 66 + +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. The + topology model in Traffic-Engineered network has been defined in both + generic way and technology-specific way. The generic model, which is + the base TE YANG model, can be found at [RFC8795]. Technology- + specific models, such as OTN/WSON topology model, have also been + defined in [I-D.ietf-ccamp-otn-topo-yang] and + [I-D.ietf-ccamp-wson-yang] respectively. Corresponding topology on + client-layer is also required, to have a complete topology view from + the perspective of network controllers. + + This document defines a data model of all client-layer Topology, + using YANG language defined in [RFC7950]. The model is augmenting + the generic TE topology model, and can be used by either applications + exposing to a network controller or among controllers. Furthermore, + it can be used by an application for topology description in client- + layer network. + + + + +Zheng, et al. Expires March 12, 2022 [Page 2] + +Internet-Draft ETH Topology Transport YANG Model September 2021 + + +2. Terminology and Notations + + A simplified graphical representation of the data model is used in + this document. The meaning of the symbols in the YANG data tree + presented later in this document is defined in [RFC8340]. They are + provided below for reference. + + o Brackets "[" and "]" enclose list keys. + + o Abbreviations before data node names: "rw" means configuration + (read-write) and "ro" state data (read-only). + + o Symbols after data node names: "?" means an optional node, "!" + means a presence container, and "*" denotes a list and leaf-list. + + o Parentheses enclose choice and case nodes, and case nodes are also + marked with a colon (":"). + + o Ellipsis ("...") stands for contents of subtrees that are not + shown. + +3. YANG Model for Topology of Client Layer + +3.1. 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 + /nt:termination-point: + +--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 + + + +Zheng, et al. Expires March 12, 2022 [Page 3] + +Internet-Draft ETH Topology Transport YANG Model September 2021 + + + | +--:(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 + +--rw eth-svc! + +--rw client-facing? boolean + +--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* + + + +Zheng, et al. Expires March 12, 2022 [Page 4] + +Internet-Draft ETH Topology Transport YANG Model September 2021 + + + | | 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 + 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) + + + +Zheng, et al. Expires March 12, 2022 [Page 5] + +Internet-Draft ETH Topology Transport YANG Model September 2021 + + + +--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/tet:technology: + +--:(eth) + +--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 + /tet:technology: + +--:(eth) + +--rw eth-bandwidth? uint64 + augment /nw:networks/nw:network/nt:link/tet:te + /tet:te-link-attributes/tet:unreserved-bandwidth + /tet:te-bandwidth/tet:technology: + +--:(eth) + +--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 + + + +Zheng, et al. Expires March 12, 2022 [Page 6] + +Internet-Draft ETH Topology Transport YANG Model September 2021 + + + /tet:max-link-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-resv-link-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:unreserved-bandwidth/tet:te-bandwidth + /tet:technology: + +--:(eth) + +--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 + /tet:technology: + +--:(eth) + +--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 + /tet:technology: + +--:(eth) + +--rw eth-bandwidth? uint64 + augment /nw:networks/tet:te/tet:templates + /tet:link-template/tet:te-link-attributes + /tet:unreserved-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:label-restrictions/tet:label-restriction: + +--rw tag-type? etht-types:eth-tag-type + +--rw priority? uint8 + augment /nw:networks/nw:network/nw:node/tet:te + + + +Zheng, et al. Expires March 12, 2022 [Page 7] + +Internet-Draft ETH Topology Transport YANG Model September 2021 + + + /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 + + + +Zheng, et al. Expires March 12, 2022 [Page 8] + +Internet-Draft ETH Topology Transport YANG Model September 2021 + + + /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: + +--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 + /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) + + + +Zheng, et al. Expires March 12, 2022 [Page 9] + +Internet-Draft ETH Topology Transport YANG Model September 2021 + + + +--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: + +--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 + /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: + + + +Zheng, et al. Expires March 12, 2022 [Page 10] + +Internet-Draft ETH Topology Transport YANG Model September 2021 + + + +--:(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: + +--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:label-restrictions/tet:label-restriction + /tet:label-start/tet:te-label/tet:technology: + +--:(eth) + +--ro vlanid? etht-types:vlanid + + + +Zheng, et al. Expires March 12, 2022 [Page 11] + +Internet-Draft ETH Topology Transport YANG Model September 2021 + + + 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 + + + +Zheng, et al. Expires March 12, 2022 [Page 12] + +Internet-Draft ETH Topology Transport YANG Model September 2021 + + + /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: + +--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 + /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: + + + +Zheng, et al. Expires March 12, 2022 [Page 13] + +Internet-Draft ETH Topology Transport YANG Model September 2021 + + + +--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 + /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 + + + +Zheng, et al. Expires March 12, 2022 [Page 14] + +Internet-Draft ETH Topology Transport YANG Model September 2021 + + + /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: + +--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: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) + + + +Zheng, et al. Expires March 12, 2022 [Page 15] + +Internet-Draft ETH Topology Transport YANG Model September 2021 + + + +--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 + + + +Zheng, et al. Expires March 12, 2022 [Page 16] + +Internet-Draft ETH Topology Transport YANG Model September 2021 + + + /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: + +--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 + /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 + + + +Zheng, et al. Expires March 12, 2022 [Page 17] + +Internet-Draft ETH Topology Transport YANG Model September 2021 + + + /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 + + + +Zheng, et al. Expires March 12, 2022 [Page 18] + +Internet-Draft ETH Topology Transport YANG Model September 2021 + + + /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: + +--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/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: + +--ro tag-type? etht-types:eth-tag-type + +--ro priority? uint8 + augment /nw:networks/nw:network/nt:link/tet:te + /tet:information-source-entry + /tet:label-restrictions/tet:label-restriction + /tet:label-start/tet:te-label/tet:technology: + +--:(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 + + + +Zheng, et al. Expires March 12, 2022 [Page 19] + +Internet-Draft ETH Topology Transport YANG Model September 2021 + + + /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: + +--rw tag-type? etht-types:eth-tag-type + +--rw priority? uint8 + 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 + + + + + + + + + + +Zheng, et al. Expires March 12, 2022 [Page 20] + +Internet-Draft ETH Topology Transport YANG Model September 2021 + + +4. YANG Code for Topology Client Layer + +4.1. The ETH Topology YANG Code + + + file "ietf-eth-te-topology@2019-11-18.yang" + module ietf-eth-te-topology { + + namespace "urn:ietf:params:xml:ns:yang:ietf-eth-te-topology"; + + prefix "ethtetopo"; + + import ietf-network { + prefix "nw"; + } + + import ietf-network-topology { + prefix "nt"; + } + + import ietf-te-topology { + prefix "tet"; + } + + import ietf-yang-types { + prefix "yang"; + } + + import ietf-eth-tran-types { + prefix "etht-types"; + } + + organization + "Internet Engineering Task Force (IETF) CCAMP WG"; + contact + " + WG List: + + ID-draft editor: + Haomian Zheng (zhenghaomian@huawei.com); + Italo Busi (italo.busi@huawei.com); + Aihua Guo (aihuaguo.ietf@gmail.com); + Yunbin Xu (xuyunbin@caict.ac.cn); + Yang Zhao (zhaoyangyjy@chinamobile.com); + Xufeng Liu (xufeng.liu.ietf@gmail.com); + "; + + description + + + +Zheng, et al. Expires March 12, 2022 [Page 21] + +Internet-Draft ETH Topology Transport YANG Model September 2021 + + + "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) 2019 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 Simplified 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."; + + revision 2019-11-18 { + description + "Initial Revision"; + reference + "RFC XXXX: A YANG Data Model for Client-layer Topology"; + // RFC Ed.: replace XXXX with actual RFC number, update date + // information and remove this note + } + + /* + * Groupings + */ + + 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 + + + +Zheng, et al. Expires March 12, 2022 [Page 22] + +Internet-Draft ETH Topology Transport YANG Model September 2021 + + + "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 attributes"; + + /* + * Open Issue: should we remove this attribute + * (duplicates with I2RS L2 attributes)? + */ + leaf ltp-mac-address { + type yang:mac-address; + description "the MAC address of the LTP."; + } + /* + * Open Issue: should we remove this attribute + * (duplicates with I2RS L2 attributes)? + */ + + + +Zheng, et al. Expires March 12, 2022 [Page 23] + +Internet-Draft ETH Topology Transport YANG Model September 2021 + + + leaf port-vlan-id { + type etht-types:vlanid; + description "the port VLAN ID of the LTP."; + } + /* + * Open Issue: should we remove this attribute + * (duplicates with I2RS L2 attributes)? + */ + leaf maximum-frame-size { + type uint16 { + range "64 .. 65535"; + } + description + "Maximum frame size"; + } + 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."; + } + 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."; + + + + +Zheng, et al. Expires March 12, 2022 [Page 24] + +Internet-Draft ETH Topology Transport YANG Model September 2021 + + + 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."; + } + 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-ltp-svc-attributes { + description + "Ethernet link termination point (LTP) service attributes."; + + container supported-classification { + description + "Service classification capability supported by the ETH 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 + + + +Zheng, et al. Expires March 12, 2022 [Page 25] + +Internet-Draft ETH Topology Transport YANG Model September 2021 + + + "Service classification capabilities based on the second + VLAN tag, supported by the ETH LTP."; + /* + * Open issue: indicates that second-tag-classification + * can be True only if outer-tag-classification is also True. + */ + leaf second-tag-classification { + type boolean; + 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"; + } + + + +Zheng, et al. Expires March 12, 2022 [Page 26] + +Internet-Draft ETH Topology Transport YANG Model September 2021 + + + 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; + } + + + + +Zheng, et al. Expires March 12, 2022 [Page 27] + +Internet-Draft ETH Topology Transport YANG Model September 2021 + + + augment "/nw:networks/nw:network/nw:node/nt:termination-point" { + when "../../nw:network-types/tet:te-topology/" + + "ethtetopo:eth-tran-topology" { + description + "Augment only for ETH transport network"; + } + description + "Augment ETH LTP attributes"; + + uses eth-ltp-attributes; + + container eth-svc { + presence "client-facing LTP."; + description + "ETH LTP Service attributes."; + + leaf client-facing { + type boolean; + default "false"; + description + "Indicates whether this LTP is a client-facing LTP."; + } + uses eth-ltp-svc-attributes; + } + } + + /* + * Augment TE bandwidth + */ + + /* Augment maximum LSP bandwidth of link terminationpoint (LTP) */ + 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/" + + "ethtetopo:eth-tran-topology" { + description "Ethernet TE bandwidth"; + } + description "Ethernet bandwidth."; + case eth { + uses etht-types:eth-bandwidth; + } + } + /* Augment bandwidth path constraints of connectivity-matrices */ + augment "/nw:networks/nw:network/nw:node/tet:te/" + + "tet:te-node-attributes/tet:connectivity-matrices/" + + "tet:path-constraints/tet:te-bandwidth/tet:technology" { + + + +Zheng, et al. Expires March 12, 2022 [Page 28] + +Internet-Draft ETH Topology Transport YANG Model September 2021 + + + when "../../../../../../nw:network-types/tet:te-topology/" + + "ethtetopo:eth-tran-topology" { + description "Ethernet TE bandwidth"; + } + description "Ethernet bandwidth."; + case eth { + uses etht-types:eth-bandwidth; + } + } + + /* Augment bandwidth path constraints of connectivity-matrix */ + 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/" + + "ethtetopo:eth-tran-topology" { + description "Ethernet TE bandwidth"; + } + description "Ethernet bandwidth."; + case eth { + uses etht-types:eth-bandwidth; + } + } + + /* Augment bandwidth path constraints of connectivity-matrices + * information-source */ + 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/" + + "ethtetopo:eth-tran-topology" { + description "Ethernet TE bandwidth"; + } + description "Ethernet bandwidth."; + case eth { + uses etht-types:eth-bandwidth; + } + } + + /* Augment bandwidth path constraints of connectivity-matrix + * information-source */ + 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/" + + "ethtetopo:eth-tran-topology" { + + + +Zheng, et al. Expires March 12, 2022 [Page 29] + +Internet-Draft ETH Topology Transport YANG Model September 2021 + + + description "Ethernet TE bandwidth"; + } + description "Ethernet bandwidth."; + case eth { + uses etht-types:eth-bandwidth; + } + } + + /* Augment client bandwidth of tunnel termination point (TTP) */ + 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/" + + "ethtetopo:eth-tran-topology" { + description "Ethernet TE bandwidth"; + } + description "Ethernet bandwidth."; + case eth { + uses etht-types:eth-bandwidth; + } + } + + /* Augment bandwidth path constraints of local-link-connectivities */ + 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/" + + "ethtetopo:eth-tran-topology" { + description "Ethernet TE bandwidth"; + } + description "Ethernet bandwidth."; + case eth { + uses etht-types:eth-bandwidth; + } + } + + /* Augment bandwidth path constraints of local-link-connectivity */ + 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/" + + "ethtetopo:eth-tran-topology" { + description "Ethernet TE bandwidth"; + } + + + +Zheng, et al. Expires March 12, 2022 [Page 30] + +Internet-Draft ETH Topology Transport YANG Model September 2021 + + + description "Ethernet bandwidth."; + case eth { + uses etht-types:eth-bandwidth; + } + } + + /* Augment maximum LSP bandwidth of TE link */ + 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/" + + "ethtetopo:eth-tran-topology" { + description "Ethernet TE bandwidth"; + } + description "Ethernet bandwidth."; + case eth { + uses etht-types:eth-bandwidth; + } + } + + /* Augment maximum bandwidth of TE link */ + augment "/nw:networks/nw:network/nt:link/tet:te/" + + "tet:te-link-attributes/" + + "tet:max-link-bandwidth/" + + "tet:te-bandwidth/tet:technology" { + when "../../../../../nw:network-types/tet:te-topology/" + + "ethtetopo:eth-tran-topology" { + description "Ethernet TE bandwidth"; + } + description "Ethernet bandwidth."; + case eth { + uses etht-types:eth-bandwidth; + } + } + + /* Augment maximum reservable bandwidth of TE link */ + augment "/nw:networks/nw:network/nt:link/tet:te/" + + "tet:te-link-attributes/" + + "tet:max-resv-link-bandwidth/" + + "tet:te-bandwidth/tet:technology" { + when "../../../../../nw:network-types/tet:te-topology/" + + "ethtetopo:eth-tran-topology" { + description "Ethernet TE bandwidth"; + } + description "Ethernet bandwidth."; + case eth { + uses etht-types:eth-bandwidth; + + + +Zheng, et al. Expires March 12, 2022 [Page 31] + +Internet-Draft ETH Topology Transport YANG Model September 2021 + + + } + } + + /* Augment unreserved bandwidth of TE Link */ + augment "/nw:networks/nw:network/nt:link/tet:te/" + + "tet:te-link-attributes/" + + "tet:unreserved-bandwidth/" + + "tet:te-bandwidth/tet:technology" { + when "../../../../../nw:network-types/tet:te-topology/" + + "ethtetopo:eth-tran-topology" { + description "Ethernet TE bandwidth"; + } + description "Ethernet bandwidth."; + case eth { + uses etht-types:eth-bandwidth; + } + } + /* Augment maximum LSP bandwidth of TE link information-source */ + 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/" + + "ethtetopo:eth-tran-topology" { + description "Ethernet TE bandwidth"; + } + description "Ethernet bandwidth."; + case eth { + uses etht-types:eth-bandwidth; + } + } + + /* Augment maximum bandwidth of TE link information-source */ + augment "/nw:networks/nw:network/nt:link/tet:te/" + + "tet:information-source-entry/" + + "tet:max-link-bandwidth/" + + "tet:te-bandwidth/tet:technology" { + when "../../../../../nw:network-types/tet:te-topology/" + + "ethtetopo:eth-tran-topology" { + description "Ethernet TE bandwidth"; + } + description "Ethernet bandwidth."; + case eth { + uses etht-types:eth-bandwidth; + } + } + + + + +Zheng, et al. Expires March 12, 2022 [Page 32] + +Internet-Draft ETH Topology Transport YANG Model September 2021 + + + /* Augment maximum reservable bandwidth of TE link + * information-source */ + augment "/nw:networks/nw:network/nt:link/tet:te/" + + "tet:information-source-entry/" + + "tet:max-resv-link-bandwidth/" + + "tet:te-bandwidth/tet:technology" { + when "../../../../../nw:network-types/tet:te-topology/" + + "ethtetopo:eth-tran-topology" { + description "Ethernet TE bandwidth"; + } + description "Ethernet bandwidth."; + case eth { + uses etht-types:eth-bandwidth; + } + } + + /* Augment unreserved bandwidth of TE link information-source */ + augment "/nw:networks/nw:network/nt:link/tet:te/" + + "tet:information-source-entry/" + + "tet:unreserved-bandwidth/" + + "tet:te-bandwidth/tet:technology" { + when "../../../../../nw:network-types/tet:te-topology/" + + "ethtetopo:eth-tran-topology" { + description "Ethernet TE bandwidth"; + } + description "Ethernet bandwidth."; + case eth { + uses etht-types:eth-bandwidth; + } + } + + /* Augment maximum LSP bandwidth of TE link template */ + 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" { + /* + when "../../../../../../nw:network-types/tet:te-topology/" + + "ethtetopo:eth-tran-topology" { + description "Ethernet TE bandwidth"; + } + */ + description "Ethernet bandwidth."; + case eth { + uses etht-types:eth-bandwidth; + } + } + + + +Zheng, et al. Expires March 12, 2022 [Page 33] + +Internet-Draft ETH Topology Transport YANG Model September 2021 + + + /* Augment maximum bandwidth of TE link template */ + augment "/nw:networks/tet:te/tet:templates/" + + "tet:link-template/tet:te-link-attributes/" + + "tet:max-link-bandwidth/" + + "tet:te-bandwidth/tet:technology" { + /* + when "../../../../../nw:network-types/tet:te-topology/" + + "ethtetopo:eth-tran-topology" { + description "Ethernet TE bandwidth"; + } + */ + description "Ethernet bandwidth."; + case eth { + uses etht-types:eth-bandwidth; + } + } + + /* Augment maximum reservable bandwidth of TE link template */ + augment "/nw:networks/tet:te/tet:templates/" + + "tet:link-template/tet:te-link-attributes/" + + "tet:max-resv-link-bandwidth/" + + "tet:te-bandwidth/tet:technology" { + /* + when "../../../../../nw:network-types/tet:te-topology/" + + "ethtetopo:eth-tran-topology" { + description "Ethernet TE bandwidth"; + } + */ + description "Ethernet bandwidth."; + case eth { + uses etht-types:eth-bandwidth; + } + } + + /* Augment unreserved bandwidth of TE link template */ + augment "/nw:networks/tet:te/tet:templates/" + + "tet:link-template/tet:te-link-attributes/" + + "tet:unreserved-bandwidth/" + + "tet:te-bandwidth/tet:technology" { + /* + when "../../../../../../nw:network-types/tet:te-topology/" + + "ethtetopo:eth-tran-topology" { + description "Ethernet TE bandwidth"; + } + */ + description "Ethernet bandwidth."; + case eth { + uses etht-types:eth-bandwidth; + + + +Zheng, et al. Expires March 12, 2022 [Page 34] + +Internet-Draft ETH Topology Transport YANG Model September 2021 + + + } + } + + /* + * Augment TE label. + */ + + /* Augment label restrictions of connectivity-matrices */ + 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/" + + "ethtetopo:eth-tran-topology" { + description "Ethernet TE label"; + } + description "Ethernet label restriction."; + uses etht-types:eth-label-restriction; + } + + /* Augment label restrictions start of connectivity-matrices */ + 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/" + + "ethtetopo:eth-tran-topology" { + description "Ethernet TE label"; + } + description "Ethernet label."; + case eth { + uses etht-types:eth-label; + } + } + + /* Augment label restrictions end of connectivity-matrices */ + 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/" + + "ethtetopo:eth-tran-topology" { + description "Ethernet TE label"; + } + description "Ethernet label."; + case eth { + uses etht-types:eth-label; + } + } + + + +Zheng, et al. Expires March 12, 2022 [Page 35] + +Internet-Draft ETH Topology Transport YANG Model September 2021 + + + /* Augment label restrictions step of connectivity-matrices */ + 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/" + + "ethtetopo:eth-tran-topology" { + description "Ethernet TE label"; + } + description "Ethernet label."; + case eth { + uses etht-types:eth-label-step; + } + } + + /* Augment label hop of underlay primary path of + * connectivity-matrices */ + 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/" + + "ethtetopo:eth-tran-topology" { + description "Ethernet TE label"; + } + description "Ethernet label."; + case eth { + uses etht-types:eth-label; + } + } + /* Augment label hop of underlay backup path of + * connectivity-matrices */ + 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/" + + "ethtetopo:eth-tran-topology" { + description "Ethernet TE label"; + } + description "Ethernet label."; + case eth { + uses etht-types:eth-label; + } + + + +Zheng, et al. Expires March 12, 2022 [Page 36] + +Internet-Draft ETH Topology Transport YANG Model September 2021 + + + } + + /* Augment label hop of route-exclude of connectivity-matrices */ + 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/" + + "ethtetopo:eth-tran-topology" { + description "Ethernet TE label"; + } + description "Ethernet label."; + case eth { + uses etht-types:eth-label; + } + } + + /* Augment label hop of route-include of connectivity-matrices */ + 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/" + + "ethtetopo:eth-tran-topology" { + description "Ethernet TE label"; + } + description "Ethernet label."; + case eth { + uses etht-types:eth-label; + } + } + + /* Augment label hop of path-route of connectivity-matrices */ + 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"{ + + + +Zheng, et al. Expires March 12, 2022 [Page 37] + +Internet-Draft ETH Topology Transport YANG Model September 2021 + + + when "../../../../../../../../../" + + "nw:network-types/tet:te-topology/" + + "ethtetopo:eth-tran-topology" { + description "Ethernet TE label"; + } + description "Ethernet label."; + case eth { + uses etht-types:eth-label; + } + } + + /* Augment ingress label restrictions of connectivity-matrix */ + 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/" + + "ethtetopo:eth-tran-topology" { + description "Ethernet TE label"; + } + description "Ethernet label."; + uses etht-types:eth-label-restriction; + } + + /* Augment ingress label restrictions start of + * connectivity-matrix */ + 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/" + + "ethtetopo:eth-tran-topology" { + description "Ethernet TE label"; + } + description "Ethernet label."; + case eth { + uses etht-types:eth-label; + } + } + + /* Augment ingress label restrictions end of connectivity-matrix */ + 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" { + + + +Zheng, et al. Expires March 12, 2022 [Page 38] + +Internet-Draft ETH Topology Transport YANG Model September 2021 + + + when "../../../../../../../../../../" + + "nw:network-types/tet:te-topology/" + + "ethtetopo:eth-tran-topology" { + description "Ethernet TE label"; + } + description "Ethernet label."; + case eth { + uses etht-types:eth-label; + } + } + + /* Augment ingress label restrictions step of connectivity-matrix */ + 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/" + + "ethtetopo:eth-tran-topology" { + description "Ethernet TE label"; + } + description "Ethernet label."; + case eth { + uses etht-types:eth-label-step; + } + } + + /* Augment egress label restrictions of connectivity-matrix */ + 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/" + + "ethtetopo:eth-tran-topology" { + description "Ethernet TE label"; + } + description "Ethernet label."; + uses etht-types:eth-label-restriction; + } + + /* Augment egress label restrictions start of + * connectivity-matrix */ + 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" { + + + +Zheng, et al. Expires March 12, 2022 [Page 39] + +Internet-Draft ETH Topology Transport YANG Model September 2021 + + + when "../../../../../../../../../../" + + "nw:network-types/tet:te-topology/" + + "ethtetopo:eth-tran-topology" { + description "Ethernet TE label"; + } + description "Ethernet label."; + case eth { + uses etht-types:eth-label; + } + } + + /* Augment egress label restrictions end of connectivity-matrix */ + 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/" + + "ethtetopo:eth-tran-topology" { + description "Ethernet TE label"; + } + description "Ethernet label."; + case eth { + uses etht-types:eth-label; + } + } + + /* Augment egress label restrictions step of connectivity-matrix */ + 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/" + + "ethtetopo:eth-tran-topology" { + description "Ethernet TE label"; + } + description "Ethernet label."; + case eth { + uses etht-types:eth-label-step; + } + } + + /* Augment label hop of underlay primary path of connectivity-matrix */ + augment "/nw:networks/nw:network/nw:node/tet:te/" + + "tet:te-node-attributes/tet:connectivity-matrices/" + + + +Zheng, et al. Expires March 12, 2022 [Page 40] + +Internet-Draft ETH Topology Transport YANG Model September 2021 + + + + "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/" + + "ethtetopo:eth-tran-topology" { + description "Ethernet TE label"; + } + description "Ethernet label."; + case eth { + uses etht-types:eth-label; + } + } + + /* Augment label hop of underlay backup path of connectivity-matrix */ + 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/" + + "ethtetopo:eth-tran-topology" { + description "Ethernet TE label"; + } + description "Ethernet label."; + case eth { + uses etht-types:eth-label; + } + } + + /* Augment label hop of route-exclude of connectivity-matrix */ + 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/" + + "ethtetopo:eth-tran-topology" { + description "Ethernet TE label"; + } + description "Ethernet label."; + case eth { + + + +Zheng, et al. Expires March 12, 2022 [Page 41] + +Internet-Draft ETH Topology Transport YANG Model September 2021 + + + uses etht-types:eth-label; + } + } + + /* Augment label hop of route-include of connectivity-matrix */ + 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/" + + "ethtetopo:eth-tran-topology" { + description "Ethernet TE label"; + } + description "Ethernet label."; + case eth { + uses etht-types:eth-label; + } + } + + /* Augment label hop of path-route of connectivity-matrix */ + 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/" + + "ethtetopo:eth-tran-topology" { + description "Ethernet TE label"; + } + description "Ethernet label."; + case eth { + uses etht-types:eth-label; + } + } + + /* Augment label restrictions of connectivity-matrices + * information-source */ + 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/" + + + +Zheng, et al. Expires March 12, 2022 [Page 42] + +Internet-Draft ETH Topology Transport YANG Model September 2021 + + + + "ethtetopo:eth-tran-topology" { + description "Ethernet TE label"; + } + description "Ethernet label."; + uses etht-types:eth-label-restriction; + } + + /* Augment label restrictions start of connectivity-matrices + * information-source */ + 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/" + + "ethtetopo:eth-tran-topology" { + description "Ethernet TE label"; + } + description "Ethernet label."; + case eth { + uses etht-types:eth-label; + } + } + + /* Augment label restrictions end of connectivity-matrices + * information-source */ + 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/" + + "ethtetopo:eth-tran-topology" { + description "Ethernet TE label"; + } + description "Ethernet label."; + case eth { + uses etht-types:eth-label; + } + } + + /* Augment label restrictions step of connectivity-matrices + * information-source */ + augment "/nw:networks/nw:network/nw:node/tet:te/" + + "tet:information-source-entry/" + + "tet:connectivity-matrices/tet:label-restrictions/" + + + +Zheng, et al. Expires March 12, 2022 [Page 43] + +Internet-Draft ETH Topology Transport YANG Model September 2021 + + + + "tet:label-restriction/" + + "tet:label-step/tet:technology" { + when "../../../../../../../" + + "nw:network-types/tet:te-topology/" + + "ethtetopo:eth-tran-topology" { + description "Ethernet TE label"; + } + description "Ethernet label."; + case eth { + uses etht-types:eth-label-step; + } + } + + /* Augment label hop of underlay primary path of + * connectivity-matrices information-source */ + 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/" + + "ethtetopo:eth-tran-topology" { + description "Ethernet TE label"; + } + description "Ethernet label."; + case eth { + uses etht-types:eth-label; + } + } + + /* Augment label hop of underlay backup path of + * connectivity-matrices information-source */ + 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/" + + "ethtetopo:eth-tran-topology" { + description "Ethernet TE label"; + } + description "Ethernet label."; + case eth { + uses etht-types:eth-label; + } + } + + /* Augment label hop of route-exclude of + + + +Zheng, et al. Expires March 12, 2022 [Page 44] + +Internet-Draft ETH Topology Transport YANG Model September 2021 + + + * connectivity-matrices information-source */ + 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/" + + "ethtetopo:eth-tran-topology" { + description "Ethernet TE label"; + } + description "Ethernet label."; + case eth { + uses etht-types:eth-label; + } + } + + /* Augment label hop of route-include of + * connectivity-matrices information-source */ + 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/" + + "ethtetopo:eth-tran-topology" { + description "Ethernet TE label"; + } + description "Ethernet label."; + case eth { + uses etht-types:eth-label; + } + } + + /* Augment label hop of path-route of + * connectivity-matrices information-source */ + 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/" + + + +Zheng, et al. Expires March 12, 2022 [Page 45] + +Internet-Draft ETH Topology Transport YANG Model September 2021 + + + + "ethtetopo:eth-tran-topology" { + description "Ethernet TE label"; + } + description "Ethernet label."; + case eth { + uses etht-types:eth-label; + } + } + + /* Augment ingress label restrictions of + * connectivity-matrix information-source */ + 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/" + + "ethtetopo:eth-tran-topology" { + description "Ethernet TE label"; + } + description "Ethernet label."; + uses etht-types:eth-label-restriction; + } + + /* Augment ingress label restrictions start of + * connectivity-matrix information-source */ + 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/" + + "ethtetopo:eth-tran-topology" { + description "Ethernet TE label"; + } + description "Ethernet label."; + case eth { + uses etht-types:eth-label; + } + } + + /* Augment ingress label restrictions end of + * connectivity-matrix information-source */ + 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" { + + + +Zheng, et al. Expires March 12, 2022 [Page 46] + +Internet-Draft ETH Topology Transport YANG Model September 2021 + + + when "../../../../../../../../../../" + + "nw:network-types/tet:te-topology/" + + "ethtetopo:eth-tran-topology" { + description "Ethernet TE label"; + } + description "Ethernet label."; + case eth { + uses etht-types:eth-label; + } + } + + /* Augment ingress label restrictions step of + * connectivity-matrix information-source */ + 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/" + + "ethtetopo:eth-tran-topology" { + description "Ethernet TE label"; + } + description "Ethernet label."; + case eth { + uses etht-types:eth-label-step; + } + } + + /* Augment egress label restrictions of + * connectivity-matrix information-source */ + 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/" + + "ethtetopo:eth-tran-topology" { + description "Ethernet TE label"; + } + description "Ethernet label."; + uses etht-types:eth-label-restriction; + } + + /* Augment egress label restrictions start of + * connectivity-matrix information-source */ + augment "/nw:networks/nw:network/nw:node/tet:te/" + + "tet:information-source-entry/tet:connectivity-matrices/" + + "tet:connectivity-matrix/" + + + +Zheng, et al. Expires March 12, 2022 [Page 47] + +Internet-Draft ETH Topology Transport YANG Model September 2021 + + + + "tet:to/tet:label-restrictions/tet:label-restriction/" + + "tet:label-start/tet:te-label/tet:technology" { + when "../../../../../../../../../../" + + "nw:network-types/tet:te-topology/" + + "ethtetopo:eth-tran-topology" { + description "Ethernet TE label"; + } + description "Ethernet label."; + case eth { + uses etht-types:eth-label; + } + } + + /* Augment egress label restrictions end of + * connectivity-matrix information-source */ + 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/" + + "ethtetopo:eth-tran-topology" { + description "Ethernet TE label"; + } + description "Ethernet label."; + case eth { + uses etht-types:eth-label; + } + } + + /* Augment egress label restrictions step of + * connectivity-matrix information-source */ + 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/" + + "ethtetopo:eth-tran-topology" { + description "Ethernet TE label"; + } + description "Ethernet label."; + case eth { + uses etht-types:eth-label-step; + } + } + + + +Zheng, et al. Expires March 12, 2022 [Page 48] + +Internet-Draft ETH Topology Transport YANG Model September 2021 + + + /* Augment label hop of underlay primary path of + * connectivity-matrix information-source */ + 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/" + + "ethtetopo:eth-tran-topology" { + description "Ethernet TE label"; + } + description "Ethernet label."; + case eth { + uses etht-types:eth-label; + } + } + + /* Augment label hop of underlay backup path of + * connectivity-matrix information-source */ + 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/" + + "ethtetopo:eth-tran-topology" { + description "Ethernet TE label"; + } + description "Ethernet label."; + case eth { + uses etht-types:eth-label; + } + } + + /* Augment label hop of route-exclude of + * connectivity-matrix information-source */ + 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/" + + + +Zheng, et al. Expires March 12, 2022 [Page 49] + +Internet-Draft ETH Topology Transport YANG Model September 2021 + + + + "ethtetopo:eth-tran-topology" { + description "Ethernet TE label"; + } + description "Ethernet label."; + case eth { + uses etht-types:eth-label; + } + } + + /* Augment label hop of route-include of + * connectivity-matrix information-source */ + 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/" + + "ethtetopo:eth-tran-topology" { + description "Ethernet TE label"; + } + description "Ethernet label."; + case eth { + uses etht-types:eth-label; + } + } + + /* Augment label hop of path-route of + * connectivity-matrix information-source */ + 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/" + + "ethtetopo:eth-tran-topology" { + description "Ethernet TE label"; + } + description "Ethernet label."; + case eth { + uses etht-types:eth-label; + } + } + + + +Zheng, et al. Expires March 12, 2022 [Page 50] + +Internet-Draft ETH Topology Transport YANG Model September 2021 + + + /* Augment label restrictions of local-link-connectivities */ + 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/" + + "ethtetopo:eth-tran-topology" { + description "Ethernet TE label"; + } + description "Ethernet label."; + uses etht-types:eth-label-restriction; + } + + /* Augment label restrictions start of local-link-connectivities */ + 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/" + + "ethtetopo:eth-tran-topology" { + description "Ethernet TE label"; + } + description "Ethernet label."; + case eth { + uses etht-types:eth-label; + } + } + + /* Augment label restrictions end of local-link-connectivities */ + 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/" + + "ethtetopo:eth-tran-topology" { + description "Ethernet TE label"; + } + description "Ethernet label."; + case eth { + uses etht-types:eth-label; + } + } + + /* Augment label restrictions step of local-link-connectivities */ + augment "/nw:networks/nw:network/nw:node/tet:te/" + + "tet:tunnel-termination-point/" + + + +Zheng, et al. Expires March 12, 2022 [Page 51] + +Internet-Draft ETH Topology Transport YANG Model September 2021 + + + + "tet:local-link-connectivities/" + + "tet:label-restrictions/tet:label-restriction/" + + "tet:label-step/tet:technology"{ + when "../../../../../../../nw:network-types/tet:te-topology/" + + "ethtetopo:eth-tran-topology" { + description "Ethernet TE label"; + } + description "Ethernet label."; + case eth { + uses etht-types:eth-label-step; + } + } + + /* Augment label hop of underlay primary path of + * local-link-connectivities */ + 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/" + + "ethtetopo:eth-tran-topology" { + description "Ethernet TE label"; + } + description "Ethernet label."; + case eth { + uses etht-types:eth-label; + } + } + + /* Augment label hop of underlay backup path of + * local-link-connectivities */ + 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/" + + "ethtetopo:eth-tran-topology" { + description "Ethernet TE label"; + } + description "Ethernet label."; + case eth { + uses etht-types:eth-label; + } + } + + + +Zheng, et al. Expires March 12, 2022 [Page 52] + +Internet-Draft ETH Topology Transport YANG Model September 2021 + + + /* Augment label hop of route-exclude of + * local-link-connectivities */ + 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/" + + "ethtetopo:eth-tran-topology" { + description "Ethernet TE label"; + } + description "Ethernet label."; + case eth { + uses etht-types:eth-label; + } + } + + /* Augment label hop of route-include of + * local-link-connectivities */ + 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/" + + "ethtetopo:eth-tran-topology" { + description "Ethernet TE label"; + } + description "Ethernet label."; + case eth { + uses etht-types:eth-label; + } + } + + /* Augment label hop of path-route of local-link-connectivities */ + 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/" + + + +Zheng, et al. Expires March 12, 2022 [Page 53] + +Internet-Draft ETH Topology Transport YANG Model September 2021 + + + + "tet:label/tet:label-hop/tet:te-label/tet:technology" { + when "../../../../../../../../../" + + "nw:network-types/tet:te-topology/" + + "ethtetopo:eth-tran-topology" { + description "Ethernet TE label"; + } + description "Ethernet label."; + case eth { + uses etht-types:eth-label; + } + } + + /* Augment label restrictions of local-link-connectivity */ + 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/" + + "ethtetopo:eth-tran-topology" { + description "Ethernet TE label"; + } + description "Ethernet label."; + uses etht-types:eth-label-restriction; + } + + /* Augment label restrictions start of local-link-connectivity */ + 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/" + + "ethtetopo:eth-tran-topology" { + description "Ethernet TE label"; + } + description "Ethernet label."; + case eth { + uses etht-types:eth-label; + } + } + + /* Augment label restrictions end of local-link-connectivity */ + augment "/nw:networks/nw:network/nw:node/tet:te/" + + "tet:tunnel-termination-point/" + + "tet:local-link-connectivities/" + + + +Zheng, et al. Expires March 12, 2022 [Page 54] + +Internet-Draft ETH Topology Transport YANG Model September 2021 + + + + "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/" + + "ethtetopo:eth-tran-topology" { + description "Ethernet TE label"; + } + description "Ethernet label."; + case eth { + uses etht-types:eth-label; + } + } + + /* Augment label restrictions step of local-link-connectivity */ + 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/" + + "ethtetopo:eth-tran-topology" { + description "Ethernet TE label"; + } + description "Ethernet label."; + case eth { + uses etht-types:eth-label-step; + } + } + + /* Augment label hop of underlay primary path of + * local-link-connectivity */ + 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/" + + "ethtetopo:eth-tran-topology" { + description "Ethernet TE label"; + } + description "Ethernet label."; + case eth { + uses etht-types:eth-label; + + + +Zheng, et al. Expires March 12, 2022 [Page 55] + +Internet-Draft ETH Topology Transport YANG Model September 2021 + + + } + } + + /* Augment label hop of underlay backup path of + * local-link-connectivity (LLC) */ + 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/" + + "ethtetopo:eth-tran-topology" { + description "Ethernet TE label"; + } + description "Ethernet label."; + case eth { + uses etht-types:eth-label; + } + } + + /* Augment label hop of route-exclude of + * local-link-connectivity (LLC) */ + 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/" + + "ethtetopo:eth-tran-topology" { + description "Ethernet TE label"; + } + description "Ethernet label."; + case eth { + uses etht-types:eth-label; + } + } + + /* Augment label hop of route-include of + * local-link-connectivity (LLC) */ + augment "/nw:networks/nw:network/nw:node/tet:te/" + + "tet:tunnel-termination-point/" + + + +Zheng, et al. Expires March 12, 2022 [Page 56] + +Internet-Draft ETH Topology Transport YANG Model September 2021 + + + + "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/" + + "ethtetopo:eth-tran-topology" { + description "Ethernet TE label"; + } + description "Ethernet label."; + case eth { + uses etht-types:eth-label; + } + } + + /* Augment label hop of path-route of + * local-link-connectivity (LLC) */ + 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/" + + "ethtetopo:eth-tran-topology" { + description "Ethernet TE label"; + } + description "Ethernet label."; + case eth { + uses etht-types:eth-label; + } + } + + /* Augment label hop of underlay primary path of TE link */ + 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/" + + "ethtetopo:eth-tran-topology" { + description "Ethernet TE label"; + } + + + +Zheng, et al. Expires March 12, 2022 [Page 57] + +Internet-Draft ETH Topology Transport YANG Model September 2021 + + + description "Ethernet label."; + case eth { + uses etht-types:eth-label; + } + } + + /* Augment label hop of underlay backup path of TE link */ + 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/" + + "ethtetopo:eth-tran-topology" { + description "Ethernet TE label"; + } + description "Ethernet label."; + case eth { + uses etht-types:eth-label; + } + } + + /* Augment label restrictions of TE link */ + 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/" + + "ethtetopo:eth-tran-topology" { + description "Ethernet TE label"; + } + description "Ethernet label."; + uses etht-types:eth-label-restriction; + } + + /* Augment label restrictions start of TE link */ + 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/" + + "ethtetopo:eth-tran-topology" { + description "Ethernet TE label"; + } + description "Ethernet label."; + case eth { + uses etht-types:eth-label; + } + } + + + +Zheng, et al. Expires March 12, 2022 [Page 58] + +Internet-Draft ETH Topology Transport YANG Model September 2021 + + + /* Augment label restrictions end of TE link */ + 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/" + + "ethtetopo:eth-tran-topology" { + description "Ethernet TE label"; + } + description "Ethernet label."; + case eth { + uses etht-types:eth-label; + } + } + + /* Augment label restrictions step of TE link */ + 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/" + + "ethtetopo:eth-tran-topology" { + description "Ethernet TE label"; + } + description "Ethernet label."; + case eth { + uses etht-types:eth-label-step; + } + } + + /* Augment label restrictions of TE link information-source */ + 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/" + + "ethtetopo:eth-tran-topology" { + description "Ethernet TE label"; + } + description "Ethernet label."; + uses etht-types:eth-label-restriction; + } + + /* Augment label restrictions start of TE link information-source */ + 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/" + + + +Zheng, et al. Expires March 12, 2022 [Page 59] + +Internet-Draft ETH Topology Transport YANG Model September 2021 + + + + "ethtetopo:eth-tran-topology" { + description "Ethernet TE label"; + } + description "Ethernet label."; + case eth { + uses etht-types:eth-label; + } + } + /* Augment label restrictions end of TE link information-source */ + 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/" + + "ethtetopo:eth-tran-topology" { + description "Ethernet TE label"; + } + description "Ethernet label."; + case eth { + uses etht-types:eth-label; + } + } + + /* Augment label restrictions step of TE link information-source */ + 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/" + + "ethtetopo:eth-tran-topology" { + description "Ethernet TE label"; + } + description "Ethernet label."; + case eth { + uses etht-types:eth-label-step; + } + } + + /* Augment label hop of underlay primary path of TE link template */ + 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" { + /* + when "../../../../../../../../../../" + + "nw:network-types/tet:te-topology/" + + "ethtetopo:eth-tran-topology" { + description "Ethernet TE label"; + + + +Zheng, et al. Expires March 12, 2022 [Page 60] + +Internet-Draft ETH Topology Transport YANG Model September 2021 + + + } + */ + description "Ethernet label."; + case eth { + uses etht-types:eth-label; + } + } + + /* Augment label hop of underlay backup path of TE link template */ + 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" { + /* + when "../../../../../../../../../../nw:network-types/" + + "tet:te-topology/ethtetopo:eth-tran-topology" { + description "Ethernet TE label"; + } + */ + description "Ethernet label."; + case eth { + uses etht-types:eth-label; + } + } + + /* Augment label restrictions of TE link template */ + augment "/nw:networks/tet:te/tet:templates/" + + "tet:link-template/tet:te-link-attributes/" + + "tet:label-restrictions/tet:label-restriction" { + /* + when "../../../../../nw:network-types/tet:te-topology/" + + "ethtetopo:eth-tran-topology" { + description "Ethernet TE label"; + } + */ + description "Ethernet label."; + uses etht-types:eth-label-restriction; + } + + /* Augment label restrictions start of TE link template */ + 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" { + /* + when "../../../../../../../nw:network-types/tet:te-topology/" + + "ethtetopo:eth-tran-topology" { + description "Ethernet TE label"; + + + +Zheng, et al. Expires March 12, 2022 [Page 61] + +Internet-Draft ETH Topology Transport YANG Model September 2021 + + + } + */ + description "Ethernet label."; + case eth { + uses etht-types:eth-label; + } + } + + /* Augment label restrictions end of TE link template */ + 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" { + /* + when "../../../../../../../nw:network-types/tet:te-topology/" + + "ethtetopo:eth-tran-topology" { + description "Ethernet TE label"; + } + */ + description "Ethernet label."; + case eth { + uses etht-types:eth-label; + } + } + + /* Augment label restrictions step of TE link template */ + 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" { + /* + when "../../../../../../nw:network-types/tet:te-topology/" + + "ethtetopo:eth-tran-topology" { + description "Ethernet TE label"; + } + */ + description "Ethernet label."; + case eth { + uses etht-types:eth-label-step; + } + } + + } + + + + + + + + +Zheng, et al. Expires March 12, 2022 [Page 62] + +Internet-Draft ETH Topology Transport YANG Model September 2021 + + +5. Considerations and Open Issue + + Editor Notes: This section is used to note temporary discussion/ + conclusion that to be fixed in the future version, and will be + removed before publication. + + Update in draft-zheng-ccamp-client-topo-yang-10: there is no open + issue in this version. + + 201902: we have noticed that Ethernet is the only client signal (on + the perspective of OTN) which need a topology. So it is possible + that the title of this document will be changed to "A YANG Data Model + for Ethernet Topology". The proposal of this work is that the + document will follow up the progress of draft-zheng-ccamp-client- + signal-yang, with draft-zheng-ccamp-client-tunnel-yang together. + (solved in -06) + + 201902: will have to align with TE topology model, currently is a + totally different format with necessary parameters, a big change is + expected. (solved in -06.) + +6. 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: ethtetopo + reference: RFC XXXX (This document) + + +7. Manageability Considerations + + TBD. + + + + + + +Zheng, et al. Expires March 12, 2022 [Page 63] + +Internet-Draft ETH Topology Transport YANG Model September 2021 + + +8. 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. + +9. Acknowledgements + + We would like to thank Igor Bryskin and Daniel King for their + comments and discussions. + +10. Contributors + + Yanlei Zheng + China Unicom + Email: zhengyanlei@chinaunicom.cn + + Zhe Liu + Huawei Technologies, + Email: liuzhe123@huawei.com + + Sergio Belotti + Nokia, + Email: sergio.belotti@nokia.com + + Yingxi Yao + Shanghai Bell, + yingxi.yao@nokia-sbell.com + + Giuseppe Fioccola + Huawei Technologies + giuseppe.fioccola@huawei.com + + + +Zheng, et al. Expires March 12, 2022 [Page 64] + +Internet-Draft ETH Topology Transport YANG Model September 2021 + + +11. References + +11.1. Normative References + + [I-D.ietf-ccamp-otn-topo-yang] + Zheng, H., Busi, I., Liu, X., Belotti, S., and O. G. D. + Dios, "A YANG Data Model for Optical Transport Network + Topology", draft-ietf-ccamp-otn-topo-yang-13 (work in + progress), July 2021. + + [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, + . + + [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, + . + + [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, + . + +11.2. Informative References + + [I-D.ietf-ccamp-wson-yang] + Zheng, H., Lee, Y., Guo, A., Lopez, V., and D. King, "A + YANG Data Model for Wavelength Switched Optical Networks + (WSONs)", draft-ietf-ccamp-wson-yang-28 (work in + progress), December 2020. + + [RFC8340] Bjorklund, M. and L. Berger, Ed., "YANG Tree Diagrams", + BCP 215, RFC 8340, DOI 10.17487/RFC8340, March 2018, + . + + + + + + + +Zheng, et al. Expires March 12, 2022 [Page 65] + +Internet-Draft ETH Topology Transport YANG Model September 2021 + + +Authors' Addresses + + 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 + Volta Networks + + Email: xufeng.liu.ietf@gmail.com + + + + + + + + + + + + +Zheng, et al. Expires March 12, 2022 [Page 66] \ No newline at end of file diff --git a/draft-ietf-ccamp-eth-client-te-topo-yang.xml b/draft-ietf-ccamp-eth-client-te-topo-yang.xml new file mode 100644 index 0000000..16f894a --- /dev/null +++ b/draft-ietf-ccamp-eth-client-te-topo-yang.xml @@ -0,0 +1,3182 @@ + + + + + + + + + + + + + + + + + A YANG Data Model for Ethernet TE Topology + + + Huawei Technologies +
+ + H1, Huawei Xiliu Beipo Village, Songshan Lake + Dongguan + Guangdong + 523808 + China + + zhenghaomian@huawei.com +
+
+ + + Futurewei +
+ + + + + + + + aihuaguo@futurewei.com +
+
+ + + Huawei Technologies +
+ + + + + + + + Italo.Busi@huawei.com +
+
+ + + + CAICT +
+ + + + + + + + xuyunbin@caict.ac.cn +
+
+ + + China Mobile +
+ + + + + + + + zhaoyangyjy@chinamobile.com +
+
+ + + Volta Networks +
+ + + + + + + + xufeng.liu.ietf@gmail.com +
+
+ + + CCAMP Working Group + + + + A transport network is a server-layer network to provide connectivity services to its client. In this draft the topology of Ethernet with TE is described with YANG data model. + + + +
+ + + +
+ + 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. The topology model in Traffic-Engineered network has been defined in both generic way and technology-specific way. The generic model, which is the base TE YANG model, can be found at . Technology-specific models, such as OTN/WSON topology model, have also been defined in and respectively. Corresponding topology on client-layer is also required, to have a complete topology view from the perspective of network controllers. + + + This document defines a data model of all client-layer Topology, using YANG language defined in . The model is augmenting the generic TE topology model, and can be used by either applications exposing to a network controller or among controllers. Furthermore, it can be used by an application for topology description in client-layer network. + +
+ + +
+ + A simplified graphical representation of the data model is used in this document. The meaning of the symbols in the YANG data tree presented later in this document is defined in . They are provided below for reference. + + + + + Brackets "[" and "]" enclose list keys. + + + Abbreviations before data node names: "rw" means configuration (read-write) and "ro" state data (read-only). + + + Symbols after data node names: "?" means an optional node, "!" means a presence container, and "*" denotes a list and leaf-list. + + + Parentheses enclose choice and case nodes, and case nodes are also marked with a colon (":"). + + + Ellipsis ("...") stands for contents of subtrees that are not shown. + + + +
+ + + +
+
+ +
+ + + +
+
+
+ +
+ + +
+
+
+ + file "ietf-eth-te-topology@2019-11-18.yang" +module ietf-eth-te-topology { + + namespace "urn:ietf:params:xml:ns:yang:ietf-eth-te-topology"; + + prefix "ethtetopo"; + + import ietf-network { + prefix "nw"; + } + + import ietf-network-topology { + prefix "nt"; + } + + import ietf-te-topology { + prefix "tet"; + } + + import ietf-yang-types { + prefix "yang"; + } + + import ietf-eth-tran-types { + prefix "etht-types"; + } + + organization + "Internet Engineering Task Force (IETF) CCAMP WG"; + contact + " + WG List: + + ID-draft editor: + Haomian Zheng (zhenghaomian@huawei.com); + Italo Busi (italo.busi@huawei.com); + Aihua Guo (aihuaguo.ietf@gmail.com); + Yunbin Xu (xuyunbin@caict.ac.cn); + Yang Zhao (zhaoyangyjy@chinamobile.com); + Xufeng Liu (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) 2019 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 Simplified 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."; + + revision 2019-11-18 { + description + "Initial Revision"; + reference + "RFC XXXX: A YANG Data Model for Client-layer Topology"; + // RFC Ed.: replace XXXX with actual RFC number, update date + // information and remove this note + } + + /* + * Groupings + */ + + 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 attributes"; + + /* + * Open Issue: should we remove this attribute + * (duplicates with I2RS L2 attributes)? + */ + leaf ltp-mac-address { + type yang:mac-address; + description "the MAC address of the LTP."; + } + /* + * Open Issue: should we remove this attribute + * (duplicates with I2RS L2 attributes)? + */ + leaf port-vlan-id { + type etht-types:vlanid; + description "the port VLAN ID of the LTP."; + } + /* + * Open Issue: should we remove this attribute + * (duplicates with I2RS L2 attributes)? + */ + leaf maximum-frame-size { + type uint16 { + range "64 .. 65535"; + } + description + "Maximum frame size"; + } + 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."; + } + 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."; + } + 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-ltp-svc-attributes { + description + "Ethernet link termination point (LTP) service attributes."; + + container supported-classification { + description + "Service classification capability supported by the ETH 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."; + /* + * Open issue: indicates that second-tag-classification + * can be True only if outer-tag-classification is also True. + */ + leaf second-tag-classification { + type boolean; + 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/nt:termination-point" { + when "../../nw:network-types/tet:te-topology/" + + "ethtetopo:eth-tran-topology" { + description + "Augment only for ETH transport network"; + } + description + "Augment ETH LTP attributes"; + + uses eth-ltp-attributes; + + container eth-svc { + presence "client-facing LTP."; + description + "ETH LTP Service attributes."; + + leaf client-facing { + type boolean; + default "false"; + description + "Indicates whether this LTP is a client-facing LTP."; + } + uses eth-ltp-svc-attributes; + } + } + + /* + * Augment TE bandwidth + */ + + /* Augment maximum LSP bandwidth of link terminationpoint (LTP) */ + 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/" + + "ethtetopo:eth-tran-topology" { + description "Ethernet TE bandwidth"; + } + description "Ethernet bandwidth."; + case eth { + uses etht-types:eth-bandwidth; + } + } + /* Augment bandwidth path constraints of connectivity-matrices */ + 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/" + + "ethtetopo:eth-tran-topology" { + description "Ethernet TE bandwidth"; + } + description "Ethernet bandwidth."; + case eth { + uses etht-types:eth-bandwidth; + } + } + + /* Augment bandwidth path constraints of connectivity-matrix */ + 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/" + + "ethtetopo:eth-tran-topology" { + description "Ethernet TE bandwidth"; + } + description "Ethernet bandwidth."; + case eth { + uses etht-types:eth-bandwidth; + } + } + + /* Augment bandwidth path constraints of connectivity-matrices + * information-source */ + 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/" + + "ethtetopo:eth-tran-topology" { + description "Ethernet TE bandwidth"; + } + description "Ethernet bandwidth."; + case eth { + uses etht-types:eth-bandwidth; + } + } + + /* Augment bandwidth path constraints of connectivity-matrix + * information-source */ + 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/" + + "ethtetopo:eth-tran-topology" { + description "Ethernet TE bandwidth"; + } + description "Ethernet bandwidth."; + case eth { + uses etht-types:eth-bandwidth; + } + } + + /* Augment client bandwidth of tunnel termination point (TTP) */ + 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/" + + "ethtetopo:eth-tran-topology" { + description "Ethernet TE bandwidth"; + } + description "Ethernet bandwidth."; + case eth { + uses etht-types:eth-bandwidth; + } + } + + /* Augment bandwidth path constraints of local-link-connectivities */ + 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/" + + "ethtetopo:eth-tran-topology" { + description "Ethernet TE bandwidth"; + } + description "Ethernet bandwidth."; + case eth { + uses etht-types:eth-bandwidth; + } + } + + /* Augment bandwidth path constraints of local-link-connectivity */ + 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/" + + "ethtetopo:eth-tran-topology" { + description "Ethernet TE bandwidth"; + } + description "Ethernet bandwidth."; + case eth { + uses etht-types:eth-bandwidth; + } + } + + /* Augment maximum LSP bandwidth of TE link */ + 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/" + + "ethtetopo:eth-tran-topology" { + description "Ethernet TE bandwidth"; + } + description "Ethernet bandwidth."; + case eth { + uses etht-types:eth-bandwidth; + } + } + + /* Augment maximum bandwidth of TE link */ + augment "/nw:networks/nw:network/nt:link/tet:te/" + + "tet:te-link-attributes/" + + "tet:max-link-bandwidth/" + + "tet:te-bandwidth/tet:technology" { + when "../../../../../nw:network-types/tet:te-topology/" + + "ethtetopo:eth-tran-topology" { + description "Ethernet TE bandwidth"; + } + description "Ethernet bandwidth."; + case eth { + uses etht-types:eth-bandwidth; + } + } + + /* Augment maximum reservable bandwidth of TE link */ + augment "/nw:networks/nw:network/nt:link/tet:te/" + + "tet:te-link-attributes/" + + "tet:max-resv-link-bandwidth/" + + "tet:te-bandwidth/tet:technology" { + when "../../../../../nw:network-types/tet:te-topology/" + + "ethtetopo:eth-tran-topology" { + description "Ethernet TE bandwidth"; + } + description "Ethernet bandwidth."; + case eth { + uses etht-types:eth-bandwidth; + } + } + + /* Augment unreserved bandwidth of TE Link */ + augment "/nw:networks/nw:network/nt:link/tet:te/" + + "tet:te-link-attributes/" + + "tet:unreserved-bandwidth/" + + "tet:te-bandwidth/tet:technology" { + when "../../../../../nw:network-types/tet:te-topology/" + + "ethtetopo:eth-tran-topology" { + description "Ethernet TE bandwidth"; + } + description "Ethernet bandwidth."; + case eth { + uses etht-types:eth-bandwidth; + } + } + /* Augment maximum LSP bandwidth of TE link information-source */ + 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/" + + "ethtetopo:eth-tran-topology" { + description "Ethernet TE bandwidth"; + } + description "Ethernet bandwidth."; + case eth { + uses etht-types:eth-bandwidth; + } + } + + /* Augment maximum bandwidth of TE link information-source */ + augment "/nw:networks/nw:network/nt:link/tet:te/" + + "tet:information-source-entry/" + + "tet:max-link-bandwidth/" + + "tet:te-bandwidth/tet:technology" { + when "../../../../../nw:network-types/tet:te-topology/" + + "ethtetopo:eth-tran-topology" { + description "Ethernet TE bandwidth"; + } + description "Ethernet bandwidth."; + case eth { + uses etht-types:eth-bandwidth; + } + } + + /* Augment maximum reservable bandwidth of TE link + * information-source */ + augment "/nw:networks/nw:network/nt:link/tet:te/" + + "tet:information-source-entry/" + + "tet:max-resv-link-bandwidth/" + + "tet:te-bandwidth/tet:technology" { + when "../../../../../nw:network-types/tet:te-topology/" + + "ethtetopo:eth-tran-topology" { + description "Ethernet TE bandwidth"; + } + description "Ethernet bandwidth."; + case eth { + uses etht-types:eth-bandwidth; + } + } + + /* Augment unreserved bandwidth of TE link information-source */ + augment "/nw:networks/nw:network/nt:link/tet:te/" + + "tet:information-source-entry/" + + "tet:unreserved-bandwidth/" + + "tet:te-bandwidth/tet:technology" { + when "../../../../../nw:network-types/tet:te-topology/" + + "ethtetopo:eth-tran-topology" { + description "Ethernet TE bandwidth"; + } + description "Ethernet bandwidth."; + case eth { + uses etht-types:eth-bandwidth; + } + } + + /* Augment maximum LSP bandwidth of TE link template */ + 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" { +/* + when "../../../../../../nw:network-types/tet:te-topology/" + + "ethtetopo:eth-tran-topology" { + description "Ethernet TE bandwidth"; + } +*/ + description "Ethernet bandwidth."; + case eth { + uses etht-types:eth-bandwidth; + } + } + + /* Augment maximum bandwidth of TE link template */ + augment "/nw:networks/tet:te/tet:templates/" + + "tet:link-template/tet:te-link-attributes/" + + "tet:max-link-bandwidth/" + + "tet:te-bandwidth/tet:technology" { +/* + when "../../../../../nw:network-types/tet:te-topology/" + + "ethtetopo:eth-tran-topology" { + description "Ethernet TE bandwidth"; + } +*/ + description "Ethernet bandwidth."; + case eth { + uses etht-types:eth-bandwidth; + } + } + + /* Augment maximum reservable bandwidth of TE link template */ + augment "/nw:networks/tet:te/tet:templates/" + + "tet:link-template/tet:te-link-attributes/" + + "tet:max-resv-link-bandwidth/" + + "tet:te-bandwidth/tet:technology" { +/* + when "../../../../../nw:network-types/tet:te-topology/" + + "ethtetopo:eth-tran-topology" { + description "Ethernet TE bandwidth"; + } +*/ + description "Ethernet bandwidth."; + case eth { + uses etht-types:eth-bandwidth; + } + } + + /* Augment unreserved bandwidth of TE link template */ + augment "/nw:networks/tet:te/tet:templates/" + + "tet:link-template/tet:te-link-attributes/" + + "tet:unreserved-bandwidth/" + + "tet:te-bandwidth/tet:technology" { +/* + when "../../../../../../nw:network-types/tet:te-topology/" + + "ethtetopo:eth-tran-topology" { + description "Ethernet TE bandwidth"; + } +*/ + description "Ethernet bandwidth."; + case eth { + uses etht-types:eth-bandwidth; + } + } + + /* + * Augment TE label. + */ + + /* Augment label restrictions of connectivity-matrices */ + 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/" + + "ethtetopo:eth-tran-topology" { + description "Ethernet TE label"; + } + description "Ethernet label restriction."; + uses etht-types:eth-label-restriction; + } + + /* Augment label restrictions start of connectivity-matrices */ + 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/" + + "ethtetopo:eth-tran-topology" { + description "Ethernet TE label"; + } + description "Ethernet label."; + case eth { + uses etht-types:eth-label; + } + } + + /* Augment label restrictions end of connectivity-matrices */ + 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/" + + "ethtetopo:eth-tran-topology" { + description "Ethernet TE label"; + } + description "Ethernet label."; + case eth { + uses etht-types:eth-label; + } + } + + /* Augment label restrictions step of connectivity-matrices */ + 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/" + + "ethtetopo:eth-tran-topology" { + description "Ethernet TE label"; + } + description "Ethernet label."; + case eth { + uses etht-types:eth-label-step; + } + } + + /* Augment label hop of underlay primary path of + * connectivity-matrices */ + 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/" + + "ethtetopo:eth-tran-topology" { + description "Ethernet TE label"; + } + description "Ethernet label."; + case eth { + uses etht-types:eth-label; + } + } + /* Augment label hop of underlay backup path of + * connectivity-matrices */ + 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/" + + "ethtetopo:eth-tran-topology" { + description "Ethernet TE label"; + } + description "Ethernet label."; + case eth { + uses etht-types:eth-label; + } + } + + /* Augment label hop of route-exclude of connectivity-matrices */ + 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/" + + "ethtetopo:eth-tran-topology" { + description "Ethernet TE label"; + } + description "Ethernet label."; + case eth { + uses etht-types:eth-label; + } + } + + /* Augment label hop of route-include of connectivity-matrices */ + 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/" + + "ethtetopo:eth-tran-topology" { + description "Ethernet TE label"; + } + description "Ethernet label."; + case eth { + uses etht-types:eth-label; + } + } + + /* Augment label hop of path-route of connectivity-matrices */ + 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/" + + "ethtetopo:eth-tran-topology" { + description "Ethernet TE label"; + } + description "Ethernet label."; + case eth { + uses etht-types:eth-label; + } + } + + /* Augment ingress label restrictions of connectivity-matrix */ + 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/" + + "ethtetopo:eth-tran-topology" { + description "Ethernet TE label"; + } + description "Ethernet label."; + uses etht-types:eth-label-restriction; + } + + /* Augment ingress label restrictions start of + * connectivity-matrix */ + 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/" + + "ethtetopo:eth-tran-topology" { + description "Ethernet TE label"; + } + description "Ethernet label."; + case eth { + uses etht-types:eth-label; + } + } + + /* Augment ingress label restrictions end of connectivity-matrix */ + 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/" + + "ethtetopo:eth-tran-topology" { + description "Ethernet TE label"; + } + description "Ethernet label."; + case eth { + uses etht-types:eth-label; + } + } + + /* Augment ingress label restrictions step of connectivity-matrix */ + 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/" + + "ethtetopo:eth-tran-topology" { + description "Ethernet TE label"; + } + description "Ethernet label."; + case eth { + uses etht-types:eth-label-step; + } + } + + /* Augment egress label restrictions of connectivity-matrix */ + 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/" + + "ethtetopo:eth-tran-topology" { + description "Ethernet TE label"; + } + description "Ethernet label."; + uses etht-types:eth-label-restriction; + } + + /* Augment egress label restrictions start of + * connectivity-matrix */ + 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/" + + "ethtetopo:eth-tran-topology" { + description "Ethernet TE label"; + } + description "Ethernet label."; + case eth { + uses etht-types:eth-label; + } + } + + /* Augment egress label restrictions end of connectivity-matrix */ + 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/" + + "ethtetopo:eth-tran-topology" { + description "Ethernet TE label"; + } + description "Ethernet label."; + case eth { + uses etht-types:eth-label; + } + } + + /* Augment egress label restrictions step of connectivity-matrix */ + 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/" + + "ethtetopo:eth-tran-topology" { + description "Ethernet TE label"; + } + description "Ethernet label."; + case eth { + uses etht-types:eth-label-step; + } + } + +/* Augment label hop of underlay primary path of connectivity-matrix */ + 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/" + + "ethtetopo:eth-tran-topology" { + description "Ethernet TE label"; + } + description "Ethernet label."; + case eth { + uses etht-types:eth-label; + } + } + +/* Augment label hop of underlay backup path of connectivity-matrix */ + 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/" + + "ethtetopo:eth-tran-topology" { + description "Ethernet TE label"; + } + description "Ethernet label."; + case eth { + uses etht-types:eth-label; + } + } + + /* Augment label hop of route-exclude of connectivity-matrix */ + 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/" + + "ethtetopo:eth-tran-topology" { + description "Ethernet TE label"; + } + description "Ethernet label."; + case eth { + uses etht-types:eth-label; + } + } + + /* Augment label hop of route-include of connectivity-matrix */ + 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/" + + "ethtetopo:eth-tran-topology" { + description "Ethernet TE label"; + } + description "Ethernet label."; + case eth { + uses etht-types:eth-label; + } + } + + /* Augment label hop of path-route of connectivity-matrix */ + 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/" + + "ethtetopo:eth-tran-topology" { + description "Ethernet TE label"; + } + description "Ethernet label."; + case eth { + uses etht-types:eth-label; + } + } + + /* Augment label restrictions of connectivity-matrices + * information-source */ + 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/" + + "ethtetopo:eth-tran-topology" { + description "Ethernet TE label"; + } + description "Ethernet label."; + uses etht-types:eth-label-restriction; + } + + /* Augment label restrictions start of connectivity-matrices + * information-source */ + 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/" + + "ethtetopo:eth-tran-topology" { + description "Ethernet TE label"; + } + description "Ethernet label."; + case eth { + uses etht-types:eth-label; + } + } + + /* Augment label restrictions end of connectivity-matrices + * information-source */ + 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/" + + "ethtetopo:eth-tran-topology" { + description "Ethernet TE label"; + } + description "Ethernet label."; + case eth { + uses etht-types:eth-label; + } + } + + /* Augment label restrictions step of connectivity-matrices + * information-source */ + 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/" + + "ethtetopo:eth-tran-topology" { + description "Ethernet TE label"; + } + description "Ethernet label."; + case eth { + uses etht-types:eth-label-step; + } + } + + /* Augment label hop of underlay primary path of + * connectivity-matrices information-source */ + 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/" + + "ethtetopo:eth-tran-topology" { + description "Ethernet TE label"; + } + description "Ethernet label."; + case eth { + uses etht-types:eth-label; + } + } + + /* Augment label hop of underlay backup path of + * connectivity-matrices information-source */ + 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/" + + "ethtetopo:eth-tran-topology" { + description "Ethernet TE label"; + } + description "Ethernet label."; + case eth { + uses etht-types:eth-label; + } + } + + /* Augment label hop of route-exclude of + * connectivity-matrices information-source */ + 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/" + + "ethtetopo:eth-tran-topology" { + description "Ethernet TE label"; + } + description "Ethernet label."; + case eth { + uses etht-types:eth-label; + } + } + + /* Augment label hop of route-include of + * connectivity-matrices information-source */ + 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/" + + "ethtetopo:eth-tran-topology" { + description "Ethernet TE label"; + } + description "Ethernet label."; + case eth { + uses etht-types:eth-label; + } + } + + /* Augment label hop of path-route of + * connectivity-matrices information-source */ + 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/" + + "ethtetopo:eth-tran-topology" { + description "Ethernet TE label"; + } + description "Ethernet label."; + case eth { + uses etht-types:eth-label; + } + } + + /* Augment ingress label restrictions of + * connectivity-matrix information-source */ + 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/" + + "ethtetopo:eth-tran-topology" { + description "Ethernet TE label"; + } + description "Ethernet label."; + uses etht-types:eth-label-restriction; + } + + /* Augment ingress label restrictions start of + * connectivity-matrix information-source */ + 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/" + + "ethtetopo:eth-tran-topology" { + description "Ethernet TE label"; + } + description "Ethernet label."; + case eth { + uses etht-types:eth-label; + } + } + + /* Augment ingress label restrictions end of + * connectivity-matrix information-source */ + 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/" + + "ethtetopo:eth-tran-topology" { + description "Ethernet TE label"; + } + description "Ethernet label."; + case eth { + uses etht-types:eth-label; + } + } + + /* Augment ingress label restrictions step of + * connectivity-matrix information-source */ + 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/" + + "ethtetopo:eth-tran-topology" { + description "Ethernet TE label"; + } + description "Ethernet label."; + case eth { + uses etht-types:eth-label-step; + } + } + + /* Augment egress label restrictions of + * connectivity-matrix information-source */ + 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/" + + "ethtetopo:eth-tran-topology" { + description "Ethernet TE label"; + } + description "Ethernet label."; + uses etht-types:eth-label-restriction; + } + + /* Augment egress label restrictions start of + * connectivity-matrix information-source */ + 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/" + + "ethtetopo:eth-tran-topology" { + description "Ethernet TE label"; + } + description "Ethernet label."; + case eth { + uses etht-types:eth-label; + } + } + + /* Augment egress label restrictions end of + * connectivity-matrix information-source */ + 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/" + + "ethtetopo:eth-tran-topology" { + description "Ethernet TE label"; + } + description "Ethernet label."; + case eth { + uses etht-types:eth-label; + } + } + + /* Augment egress label restrictions step of + * connectivity-matrix information-source */ + 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/" + + "ethtetopo:eth-tran-topology" { + description "Ethernet TE label"; + } + description "Ethernet label."; + case eth { + uses etht-types:eth-label-step; + } + } + + /* Augment label hop of underlay primary path of + * connectivity-matrix information-source */ + 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/" + + "ethtetopo:eth-tran-topology" { + description "Ethernet TE label"; + } + description "Ethernet label."; + case eth { + uses etht-types:eth-label; + } + } + + /* Augment label hop of underlay backup path of + * connectivity-matrix information-source */ + 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/" + + "ethtetopo:eth-tran-topology" { + description "Ethernet TE label"; + } + description "Ethernet label."; + case eth { + uses etht-types:eth-label; + } + } + + /* Augment label hop of route-exclude of + * connectivity-matrix information-source */ + 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/" + + "ethtetopo:eth-tran-topology" { + description "Ethernet TE label"; + } + description "Ethernet label."; + case eth { + uses etht-types:eth-label; + } + } + + /* Augment label hop of route-include of + * connectivity-matrix information-source */ + 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/" + + "ethtetopo:eth-tran-topology" { + description "Ethernet TE label"; + } + description "Ethernet label."; + case eth { + uses etht-types:eth-label; + } + } + + /* Augment label hop of path-route of + * connectivity-matrix information-source */ + 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/" + + "ethtetopo:eth-tran-topology" { + description "Ethernet TE label"; + } + description "Ethernet label."; + case eth { + uses etht-types:eth-label; + } + } + /* Augment label restrictions of local-link-connectivities */ + 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/" + + "ethtetopo:eth-tran-topology" { + description "Ethernet TE label"; + } + description "Ethernet label."; + uses etht-types:eth-label-restriction; + } + + /* Augment label restrictions start of local-link-connectivities */ + 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/" + + "ethtetopo:eth-tran-topology" { + description "Ethernet TE label"; + } + description "Ethernet label."; + case eth { + uses etht-types:eth-label; + } + } + + /* Augment label restrictions end of local-link-connectivities */ + 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/" + + "ethtetopo:eth-tran-topology" { + description "Ethernet TE label"; + } + description "Ethernet label."; + case eth { + uses etht-types:eth-label; + } + } + + /* Augment label restrictions step of local-link-connectivities */ + 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/" + + "ethtetopo:eth-tran-topology" { + description "Ethernet TE label"; + } + description "Ethernet label."; + case eth { + uses etht-types:eth-label-step; + } + } + + /* Augment label hop of underlay primary path of + * local-link-connectivities */ + 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/" + + "ethtetopo:eth-tran-topology" { + description "Ethernet TE label"; + } + description "Ethernet label."; + case eth { + uses etht-types:eth-label; + } + } + + /* Augment label hop of underlay backup path of + * local-link-connectivities */ + 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/" + + "ethtetopo:eth-tran-topology" { + description "Ethernet TE label"; + } + description "Ethernet label."; + case eth { + uses etht-types:eth-label; + } + } + + /* Augment label hop of route-exclude of + * local-link-connectivities */ + 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/" + + "ethtetopo:eth-tran-topology" { + description "Ethernet TE label"; + } + description "Ethernet label."; + case eth { + uses etht-types:eth-label; + } + } + + /* Augment label hop of route-include of + * local-link-connectivities */ + 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/" + + "ethtetopo:eth-tran-topology" { + description "Ethernet TE label"; + } + description "Ethernet label."; + case eth { + uses etht-types:eth-label; + } + } + + /* Augment label hop of path-route of local-link-connectivities */ + 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/" + + "ethtetopo:eth-tran-topology" { + description "Ethernet TE label"; + } + description "Ethernet label."; + case eth { + uses etht-types:eth-label; + } + } + + /* Augment label restrictions of local-link-connectivity */ + 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/" + + "ethtetopo:eth-tran-topology" { + description "Ethernet TE label"; + } + description "Ethernet label."; + uses etht-types:eth-label-restriction; + } + + /* Augment label restrictions start of local-link-connectivity */ + 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/" + + "ethtetopo:eth-tran-topology" { + description "Ethernet TE label"; + } + description "Ethernet label."; + case eth { + uses etht-types:eth-label; + } + } + + /* Augment label restrictions end of local-link-connectivity */ + 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/" + + "ethtetopo:eth-tran-topology" { + description "Ethernet TE label"; + } + description "Ethernet label."; + case eth { + uses etht-types:eth-label; + } + } + + /* Augment label restrictions step of local-link-connectivity */ + 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/" + + "ethtetopo:eth-tran-topology" { + description "Ethernet TE label"; + } + description "Ethernet label."; + case eth { + uses etht-types:eth-label-step; + } + } + + /* Augment label hop of underlay primary path of + * local-link-connectivity */ + 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/" + + "ethtetopo:eth-tran-topology" { + description "Ethernet TE label"; + } + description "Ethernet label."; + case eth { + uses etht-types:eth-label; + } + } + + /* Augment label hop of underlay backup path of + * local-link-connectivity (LLC) */ + 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/" + + "ethtetopo:eth-tran-topology" { + description "Ethernet TE label"; + } + description "Ethernet label."; + case eth { + uses etht-types:eth-label; + } + } + + /* Augment label hop of route-exclude of + * local-link-connectivity (LLC) */ + 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/" + + "ethtetopo:eth-tran-topology" { + description "Ethernet TE label"; + } + description "Ethernet label."; + case eth { + uses etht-types:eth-label; + } + } + + /* Augment label hop of route-include of + * local-link-connectivity (LLC) */ + 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/" + + "ethtetopo:eth-tran-topology" { + description "Ethernet TE label"; + } + description "Ethernet label."; + case eth { + uses etht-types:eth-label; + } + } + + /* Augment label hop of path-route of + * local-link-connectivity (LLC) */ + 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/" + + "ethtetopo:eth-tran-topology" { + description "Ethernet TE label"; + } + description "Ethernet label."; + case eth { + uses etht-types:eth-label; + } + } + + /* Augment label hop of underlay primary path of TE link */ + 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/" + + "ethtetopo:eth-tran-topology" { + description "Ethernet TE label"; + } + description "Ethernet label."; + case eth { + uses etht-types:eth-label; + } + } + + /* Augment label hop of underlay backup path of TE link */ + 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/" + + "ethtetopo:eth-tran-topology" { + description "Ethernet TE label"; + } + description "Ethernet label."; + case eth { + uses etht-types:eth-label; + } + } + + /* Augment label restrictions of TE link */ + 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/" + + "ethtetopo:eth-tran-topology" { + description "Ethernet TE label"; + } + description "Ethernet label."; + uses etht-types:eth-label-restriction; + } + + /* Augment label restrictions start of TE link */ + 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/" + + "ethtetopo:eth-tran-topology" { + description "Ethernet TE label"; + } + description "Ethernet label."; + case eth { + uses etht-types:eth-label; + } + } + + /* Augment label restrictions end of TE link */ + 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/" + + "ethtetopo:eth-tran-topology" { + description "Ethernet TE label"; + } + description "Ethernet label."; + case eth { + uses etht-types:eth-label; + } + } + + /* Augment label restrictions step of TE link */ + 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/" + + "ethtetopo:eth-tran-topology" { + description "Ethernet TE label"; + } + description "Ethernet label."; + case eth { + uses etht-types:eth-label-step; + } + } + + /* Augment label restrictions of TE link information-source */ + 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/" + + "ethtetopo:eth-tran-topology" { + description "Ethernet TE label"; + } + description "Ethernet label."; + uses etht-types:eth-label-restriction; + } + + /* Augment label restrictions start of TE link information-source */ + 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/" + + "ethtetopo:eth-tran-topology" { + description "Ethernet TE label"; + } + description "Ethernet label."; + case eth { + uses etht-types:eth-label; + } + } + /* Augment label restrictions end of TE link information-source */ + 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/" + + "ethtetopo:eth-tran-topology" { + description "Ethernet TE label"; + } + description "Ethernet label."; + case eth { + uses etht-types:eth-label; + } + } + + /* Augment label restrictions step of TE link information-source */ + 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/" + + "ethtetopo:eth-tran-topology" { + description "Ethernet TE label"; + } + description "Ethernet label."; + case eth { + uses etht-types:eth-label-step; + } + } + + /* Augment label hop of underlay primary path of TE link template */ + 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" { +/* + when "../../../../../../../../../../" + + "nw:network-types/tet:te-topology/" + + "ethtetopo:eth-tran-topology" { + description "Ethernet TE label"; + } +*/ + description "Ethernet label."; + case eth { + uses etht-types:eth-label; + } + } + + /* Augment label hop of underlay backup path of TE link template */ + 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" { +/* + when "../../../../../../../../../../nw:network-types/" + + "tet:te-topology/ethtetopo:eth-tran-topology" { + description "Ethernet TE label"; + } +*/ + description "Ethernet label."; + case eth { + uses etht-types:eth-label; + } + } + + /* Augment label restrictions of TE link template */ + augment "/nw:networks/tet:te/tet:templates/" + + "tet:link-template/tet:te-link-attributes/" + + "tet:label-restrictions/tet:label-restriction" { +/* + when "../../../../../nw:network-types/tet:te-topology/" + + "ethtetopo:eth-tran-topology" { + description "Ethernet TE label"; + } +*/ + description "Ethernet label."; + uses etht-types:eth-label-restriction; + } + + /* Augment label restrictions start of TE link template */ + 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" { +/* + when "../../../../../../../nw:network-types/tet:te-topology/" + + "ethtetopo:eth-tran-topology" { + description "Ethernet TE label"; + } +*/ + description "Ethernet label."; + case eth { + uses etht-types:eth-label; + } + } + + /* Augment label restrictions end of TE link template */ + 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" { +/* + when "../../../../../../../nw:network-types/tet:te-topology/" + + "ethtetopo:eth-tran-topology" { + description "Ethernet TE label"; + } +*/ + description "Ethernet label."; + case eth { + uses etht-types:eth-label; + } + } + + /* Augment label restrictions step of TE link template */ + 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" { +/* + when "../../../../../../nw:network-types/tet:te-topology/" + + "ethtetopo:eth-tran-topology" { + description "Ethernet TE label"; + } +*/ + description "Ethernet label."; + case eth { + uses etht-types:eth-label-step; + } + } + +} + + +]]> + +
+
+ + +
+ + +
+ + Editor Notes: This section is used to note temporary discussion/conclusion that to be fixed in the future version, and will be removed before publication. + + + Update in draft-zheng-ccamp-client-topo-yang-10: there is no open issue in this version. + + + 201902: we have noticed that Ethernet is the only client signal (on the perspective of OTN) which need a topology. So it is possible that the title of this document will be changed to "A YANG Data Model for Ethernet Topology". The proposal of this work is that the document will follow up the progress of draft-zheng-ccamp-client-signal-yang, with draft-zheng-ccamp-client-tunnel-yang together. (solved in -06) + + + 201902: will have to align with TE topology model, currently is a totally different format with necessary parameters, a big change is expected. (solved in -06.) + + + +
+ + +
+ + It is proposed that IANA should assign new URIs from the "IETF XML Registry" as follows: + +
+ + + +
+ + This document registers following YANG modules in the YANG Module Names registry . + +
+ + + +
+ +
+ + +
+ + TBD. + +
+ + +
+ + 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 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 , or maybe via the NETCONF protocol . + + + 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. + +
+ + +
+ + We would like to thank Igor Bryskin and Daniel King for their comments and discussions. + +
+ + +
+ + + + Yanlei Zheng + + China Unicom + + Email: zhengyanlei@chinaunicom.cn + + + + + Zhe Liu + + Huawei Technologies, + + Email: liuzhe123@huawei.com + + + + + Sergio Belotti + + Nokia, + + Email: sergio.belotti@nokia.com + + + + + Yingxi Yao + + Shanghai Bell, + + yingxi.yao@nokia-sbell.com + + + + Giuseppe Fioccola + + Huawei Technologies + + giuseppe.fioccola@huawei.com + + +
+ +
+ + + + + + + + + + + + + + + + + + + + +
diff --git a/ietf-eth-te-topology.tree b/ietf-eth-te-topology.tree index 3a76cc8..c32c876 100644 --- a/ietf-eth-te-topology.tree +++ b/ietf-eth-te-topology.tree @@ -1,13 +1,10 @@ module: ietf-eth-te-topology - augment /nw:networks/nw:network/nw:network-types - /tet:te-topology: + + augment /nw:networks/nw:network/nw:network-types/tet:te-topology: +--rw eth-tran-topology! - augment /nw:networks/nw:network/nw:node - /nt:termination-point: - +--rw ltp-mac-address? - | yang:mac-address - +--rw port-vlan-id? - | etht-types:vlanid + augment /nw:networks/nw:network/nw:node/nt:termination-point: + +--rw ltp-mac-address? yang:mac-address + +--rw port-vlan-id? etht-types:vlanid +--rw maximum-frame-size? uint16 +--rw (direction)? | +--:(symmetrical) @@ -67,76 +64,64 @@ module: ietf-eth-te-topology +--rw vlan-push +--rw vlan-push-operation? boolean +--rw outer-tag - | +--rw supported-tag-types* - | | etht-types:eth-tag-type + | +--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 supported-tag-types* etht-types:eth-tag-type +--rw vlan-range? etht-types:vid-range-type - 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: + 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: + /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: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: + /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: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: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: + /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: + /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: + /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 @@ -145,9 +130,8 @@ module: ietf-eth-te-topology +--:(eth) +--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 - /tet:technology: + /tet:te-link-attributes/tet:max-resv-link-bandwidth + /tet:te-bandwidth/tet:technology: +--:(eth) +--rw eth-bandwidth? uint64 augment /nw:networks/nw:network/nt:link/tet:te @@ -157,593 +141,497 @@ module: ietf-eth-te-topology +--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: + /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 - /tet:technology: + /tet:information-source-entry/tet:max-link-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-resv-link-bandwidth/tet:te-bandwidth - /tet:technology: + /tet:information-source-entry/tet:max-resv-link-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:unreserved-bandwidth/tet:te-bandwidth - /tet:technology: + /tet:information-source-entry/tet:unreserved-bandwidth + /tet:te-bandwidth/tet:technology: +--:(eth) +--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: + 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 - /tet:technology: + augment /nw:networks/tet:te/tet:templates/tet:link-template + /tet:te-link-attributes/tet:max-link-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-resv-link-bandwidth/tet:te-bandwidth - /tet:technology: + augment /nw:networks/tet:te/tet:templates/tet:link-template + /tet:te-link-attributes/tet:max-resv-link-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:unreserved-bandwidth/tet:te-bandwidth - /tet:technology: + augment /nw:networks/tet:te/tet:templates/tet:link-template + /tet:te-link-attributes/tet:unreserved-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:te-node-attributes/tet:connectivity-matrices /tet:label-restrictions/tet:label-restriction: +--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: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: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: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: + /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: + /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: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: + /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: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: + /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: + /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:te-node-attributes/tet:connectivity-matrices + /tet:connectivity-matrix/tet:from/tet:label-restrictions + /tet:label-restriction: +--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 - /tet:label-start/tet:te-label/tet:technology: + /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: + /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: + /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:te-node-attributes/tet:connectivity-matrices + /tet:connectivity-matrix/tet:to/tet:label-restrictions + /tet:label-restriction: +--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 - /tet:label-start/tet:te-label/tet:technology: + /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: + /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: + /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: + /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: + /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: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: + /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: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: + /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: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: + /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:information-source-entry/tet:connectivity-matrices /tet:label-restrictions/tet:label-restriction: +--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: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: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: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: + /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: + /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: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: + /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: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: + /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: + /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:information-source-entry/tet:connectivity-matrices + /tet:connectivity-matrix/tet:from/tet:label-restrictions + /tet:label-restriction: +--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 - /tet:label-start/tet:te-label/tet:technology: + /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: + /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: + /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:information-source-entry/tet:connectivity-matrices + /tet:connectivity-matrix/tet:to/tet:label-restrictions + /tet:label-restriction: +--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 - /tet:label-start/tet:te-label/tet:technology: + /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: + /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: + /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: + /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: + /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: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: + /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: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: + /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: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: + /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:local-link-connectivities/tet:label-restrictions + /tet:label-restriction: +--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:label-restrictions/tet:label-restriction - /tet:label-start/tet:te-label/tet:technology: + /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: + /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: + /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: + /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: + /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: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: + /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: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: + /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: + /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:local-link-connectivity/tet:label-restrictions + /tet:label-restriction: +--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 - /tet:label-start/tet:te-label/tet:technology: + /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: + /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: + /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: + /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: + /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: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: + /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: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: + /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: + /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: + /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: + /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 @@ -753,80 +641,74 @@ module: ietf-eth-te-topology +--rw priority? uint8 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: + /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: + /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: + /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:information-source-entry/tet:label-restrictions + /tet:label-restriction: +--ro tag-type? etht-types:eth-tag-type +--ro priority? uint8 augment /nw:networks/nw:network/nt:link/tet:te - /tet:information-source-entry - /tet:label-restrictions/tet:label-restriction - /tet:label-start/tet:te-label/tet:technology: + /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: + /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: + /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: + 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: + 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: + augment /nw:networks/tet:te/tet:templates/tet:link-template + /tet:te-link-attributes/tet:label-restrictions + /tet:label-restriction: +--rw tag-type? etht-types:eth-tag-type +--rw priority? uint8 - 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: + 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: + 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: + 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 - diff --git a/ietf-eth-te-topology.yang b/ietf-eth-te-topology.yang index 51e7aa0..82bdc95 100644 --- a/ietf-eth-te-topology.yang +++ b/ietf-eth-te-topology.yang @@ -33,17 +33,31 @@ module ietf-eth-te-topology { ID-draft editor: Haomian Zheng (zhenghaomian@huawei.com); Italo Busi (italo.busi@huawei.com); - Aihua Guo (aihuaguo@huawei.com); - Yunbin Xu (xuyunbin@ritt.cn); + Aihua Guo (aihuaguo.ietf@gmail.com); + Yunbin Xu (xuyunbin@caict.ac.cn); Yang Zhao (zhaoyangyjy@chinamobile.com); - Xufeng Liu (Xufeng_Liu@jabil.com); + Xufeng Liu (xufeng.liu.ietf@gmail.com); "; description "This module defines a YANG data model for describing - layer-2 Ethernet transport topologies."; - - revision 2019-07-03 { + layer-2 Ethernet transport topologies. The model fully + conforms to the Network Management Datastore + Architecture (NMDA). + + Copyright (c) 2019 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 Simplified 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."; + + revision 2019-11-18 { description "Initial Revision"; reference @@ -69,7 +83,8 @@ module ietf-eth-te-topology { grouping ltp-bandwidth-profiles { description - "A grouping which represents the bandwidt profile(s) for the ETH LTP."; + "A grouping which represents the bandwidth profile(s) + for the ETH LTP."; choice direction { description @@ -82,7 +97,8 @@ module ietf-eth-te-topology { container ingress-egress-bandwidth-profile { description - "The bandwith profile used in the ingress and egress direction."; + "The bandwith profile used in the ingress and egress + direction."; uses etht-types:etht-bandwidth-profiles; } } @@ -108,22 +124,25 @@ module ietf-eth-te-topology { description "Ethernet transport link termination point attributes"; - /* - * Open Issue: should we remove this attribute (duplicates with I2RS L2 attributes)? + /* + * Open Issue: should we remove this attribute + * (duplicates with I2RS L2 attributes)? */ leaf ltp-mac-address { type yang:mac-address; description "the MAC address of the LTP."; } - /* - * Open Issue: should we remove this attribute (duplicates with I2RS L2 attributes)? + /* + * Open Issue: should we remove this attribute + * (duplicates with I2RS L2 attributes)? */ leaf port-vlan-id { type etht-types:vlanid; description "the port VLAN ID of the LTP."; } /* - * Open Issue: should we remove this attribute (duplicates with I2RS L2 attributes)? + * Open Issue: should we remove this attribute + * (duplicates with I2RS L2 attributes)? */ leaf maximum-frame-size { type uint16 { @@ -142,35 +161,41 @@ module ietf-eth-te-topology { 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."; + "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."; + "In case VLAN classification is supported, indicates whether + VLAN bundling classification is also supported."; } leaf vlan-range { type etht-types:vid-range-type; description - "In case VLAN classification is supported, indicates the of available VLAN ID values."; + "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."; + "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."; + "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."; } 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."; + "In case VLAN push/swap operation is supported, the range + of available VLAN ID values."; } } @@ -180,42 +205,44 @@ module ietf-eth-te-topology { container supported-classification { description - "Service classification capabilities supported by the ETH LTP."; + "Service classification capability supported by the ETH LTP."; leaf port-classification { type boolean; description - "Indicates that the ETH LTP support port-based service classification."; + "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."; + "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."; + "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."; + "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."; - /* - * Open issue: indicates that second-tag-classification can be True only if - * outer-tag-classification is also True. - */ + "Service classification capabilities based on the second + VLAN tag, supported by the ETH LTP."; + /* + * Open issue: indicates that second-tag-classification + * can be True only if outer-tag-classification is also True. + */ leaf second-tag-classification { type boolean; description - "Indicates that the ETH LTP support VLAN service classification - based on the second VLAN tag."; + "Indicates that the ETH LTP support VLAN service + classification based on the second VLAN tag."; } uses svc-vlan-classification; } @@ -229,13 +256,15 @@ module ietf-eth-te-topology { 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."; + "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."; + "Indicates that the ETH LTP supports transparent + operations."; } container vlan-pop { description @@ -244,14 +273,16 @@ module ietf-eth-te-topology { leaf vlan-pop-operations { type boolean; description - "Indicates that the ETH LTP supports VLAN pop or swap operations."; + "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."; + "Indicates the maximum number of tags that can be + popped/swapped."; } } container vlan-push { @@ -261,22 +292,24 @@ module ietf-eth-te-topology { leaf vlan-push-operation { type boolean; description - "Indicates that the ETH LTP supports VLAN push or swap operations."; + "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."; + "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."; - + "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."; + "Indicates that the ETH LTP supports VLAN push or swap + operations for the second VLAN tag."; } uses svc-vlan-push; } @@ -296,7 +329,8 @@ module ietf-eth-te-topology { } augment "/nw:networks/nw:network/nw:node/nt:termination-point" { - when "../../nw:network-types/tet:te-topology/eth-tran-topology" { + when "../../nw:network-types/tet:te-topology/" + + "ethtetopo:eth-tran-topology" { description "Augment only for ETH transport network"; } @@ -367,7 +401,8 @@ module ietf-eth-te-topology { } } - /* Augment bandwidth path constraints of connectivity-matrices information-source */ + /* Augment bandwidth path constraints of connectivity-matrices + * information-source */ augment "/nw:networks/nw:network/nw:node/tet:te/" + "tet:information-source-entry/tet:connectivity-matrices/" + "tet:path-constraints/tet:te-bandwidth/tet:technology" { @@ -381,7 +416,8 @@ module ietf-eth-te-topology { } } - /* Augment bandwidth path constraints of connectivity-matrix information-source */ + /* Augment bandwidth path constraints of connectivity-matrix + * information-source */ augment "/nw:networks/nw:network/nw:node/tet:te/" + "tet:information-source-entry/tet:connectivity-matrices/" + "tet:connectivity-matrix/" @@ -426,7 +462,7 @@ module ietf-eth-te-topology { } } - /* Augment bandwidth path constraints of local-link-connectivity (LLC) */ + /* Augment bandwidth path constraints of local-link-connectivity */ augment "/nw:networks/nw:network/nw:node/tet:te/" + "tet:tunnel-termination-point/" + "tet:local-link-connectivities/" @@ -532,7 +568,8 @@ module ietf-eth-te-topology { } } - /* Augment maximum reservable bandwidth of TE link information-source */ + /* Augment maximum reservable bandwidth of TE link + * information-source */ augment "/nw:networks/nw:network/nt:link/tet:te/" + "tet:information-source-entry/" + "tet:max-resv-link-bandwidth/" @@ -579,7 +616,6 @@ module ietf-eth-te-topology { uses etht-types:eth-bandwidth; } } - /* Augment maximum bandwidth of TE link template */ augment "/nw:networks/tet:te/tet:templates/" + "tet:link-template/tet:te-link-attributes/" @@ -650,8 +686,8 @@ module ietf-eth-te-topology { /* Augment label restrictions start of connectivity-matrices */ 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" { + + "tet:label-restrictions/tet:label-restriction/" + + "tet:label-start/tet:te-label/tet:technology" { when "../../../../../../../../nw:network-types/tet:te-topology/" + "ethtetopo:eth-tran-topology" { description "Ethernet TE label"; @@ -676,12 +712,11 @@ module ietf-eth-te-topology { uses etht-types:eth-label; } } - /* Augment label restrictions step of connectivity-matrices */ 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" { + + "tet:label-restrictions/tet:label-restriction/" + + "tet:label-step/tet:technology" { when "../../../../../../../nw:network-types/tet:te-topology/" + "ethtetopo:eth-tran-topology" { description "Ethernet TE label"; @@ -691,8 +726,9 @@ module ietf-eth-te-topology { uses etht-types:eth-label-step; } } - - /* Augment label hop of underlay primary path of connectivity-matrices */ + + /* Augment label hop of underlay primary path of + * connectivity-matrices */ augment "/nw:networks/nw:network/nw:node/tet:te/" + "tet:te-node-attributes/tet:connectivity-matrices/" + "tet:underlay/tet:primary-path/tet:path-element/" @@ -708,7 +744,8 @@ module ietf-eth-te-topology { uses etht-types:eth-label; } } - /* Augment label hop of underlay backup path of connectivity-matrices */ + /* Augment label hop of underlay backup path of + * connectivity-matrices */ augment "/nw:networks/nw:network/nw:node/tet:te/" + "tet:te-node-attributes/tet:connectivity-matrices/" + "tet:underlay/tet:backup-path/tet:path-element/" @@ -745,7 +782,7 @@ module ietf-eth-te-topology { } } - /* Augment label hop of route-include of connectivity-matrices (added) */ + /* Augment label hop of route-include of connectivity-matrices */ augment "/nw:networks/nw:network/nw:node/tet:te/" + "tet:te-node-attributes/tet:connectivity-matrices/" + "tet:optimizations/tet:algorithm/tet:metric/" @@ -795,12 +832,13 @@ module ietf-eth-te-topology { uses etht-types:eth-label-restriction; } - /* Augment ingress label restrictions start of connectivity-matrix */ + /* Augment ingress label restrictions start of + * connectivity-matrix */ 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" { + + "tet:label-restrictions/tet:label-restriction/" + + "tet:label-start/tet:te-label/tet:technology" { when "../../../../../../../../../../" + "nw:network-types/tet:te-topology/" + "ethtetopo:eth-tran-topology" { @@ -833,8 +871,8 @@ module ietf-eth-te-topology { 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" { + + "tet:label-restrictions/tet:label-restriction/" + + "tet:label-step/tet:technology" { when "../../../../../../../../../" + "nw:network-types/tet:te-topology/" + "ethtetopo:eth-tran-topology" { @@ -859,12 +897,13 @@ module ietf-eth-te-topology { uses etht-types:eth-label-restriction; } - /* Augment egress label restrictions start of connectivity-matrix */ + /* Augment egress label restrictions start of + * connectivity-matrix */ 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" { + + "tet:label-restrictions/tet:label-restriction/" + + "tet:label-start/tet:te-label/tet:technology" { when "../../../../../../../../../../" + "nw:network-types/tet:te-topology/" + "ethtetopo:eth-tran-topology" { @@ -897,8 +936,8 @@ module ietf-eth-te-topology { 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" { + + "tet:label-restrictions/tet:label-restriction/" + + "tet:label-step/tet:technology" { when "../../../../../../../../../" + "nw:network-types/tet:te-topology/" + "ethtetopo:eth-tran-topology" { @@ -910,7 +949,7 @@ module ietf-eth-te-topology { } } - /* Augment label hop of underlay primary path of connectivity-matrix */ +/* Augment label hop of underlay primary path of connectivity-matrix */ augment "/nw:networks/nw:network/nw:node/tet:te/" + "tet:te-node-attributes/tet:connectivity-matrices/" + "tet:connectivity-matrix/" @@ -928,7 +967,7 @@ module ietf-eth-te-topology { } } - /* Augment label hop of underlay backup path of connectivity-matrix */ +/* Augment label hop of underlay backup path of connectivity-matrix */ augment "/nw:networks/nw:network/nw:node/tet:te/" + "tet:te-node-attributes/tet:connectivity-matrices/" + "tet:connectivity-matrix/" @@ -1002,10 +1041,12 @@ module ietf-eth-te-topology { } } - /* Augment label restrictions of connectivity-matrices information-source */ + /* Augment label restrictions of connectivity-matrices + * information-source */ augment "/nw:networks/nw:network/nw:node/tet:te/" + "tet:information-source-entry/" - + "tet:connectivity-matrices/tet:label-restrictions/tet:label-restriction" { + + "tet:connectivity-matrices/tet:label-restrictions/" + + "tet:label-restriction" { when "../../../../../../nw:network-types/tet:te-topology/" + "ethtetopo:eth-tran-topology" { description "Ethernet TE label"; @@ -1014,10 +1055,12 @@ module ietf-eth-te-topology { uses etht-types:eth-label-restriction; } - /* Augment label restrictions start of connectivity-matrices information-source */ + /* Augment label restrictions start of connectivity-matrices + * information-source */ augment "/nw:networks/nw:network/nw:node/tet:te/" + "tet:information-source-entry/" - + "tet:connectivity-matrices/tet:label-restrictions/tet:label-restriction/" + + "tet:connectivity-matrices/tet:label-restrictions/" + + "tet:label-restriction/" + "tet:label-start/tet:te-label/tet:technology" { when "../../../../../../../../" + "nw:network-types/tet:te-topology/" @@ -1030,10 +1073,12 @@ module ietf-eth-te-topology { } } - /* Augment label restrictions end of connectivity-matrices information-source */ + /* Augment label restrictions end of connectivity-matrices + * information-source */ augment "/nw:networks/nw:network/nw:node/tet:te/" + "tet:information-source-entry/" - + "tet:connectivity-matrices/tet:label-restrictions/tet:label-restriction/" + + "tet:connectivity-matrices/tet:label-restrictions/" + + "tet:label-restriction/" + "tet:label-end/tet:te-label/tet:technology" { when "../../../../../../../../" + "nw:network-types/tet:te-topology/" @@ -1046,10 +1091,12 @@ module ietf-eth-te-topology { } } - /* Augment label restrictions step of connectivity-matrices information-source */ + /* Augment label restrictions step of connectivity-matrices + * information-source */ augment "/nw:networks/nw:network/nw:node/tet:te/" + "tet:information-source-entry/" - + "tet:connectivity-matrices/tet:label-restrictions/tet:label-restriction/" + + "tet:connectivity-matrices/tet:label-restrictions/" + + "tet:label-restriction/" + "tet:label-step/tet:technology" { when "../../../../../../../" + "nw:network-types/tet:te-topology/" @@ -1062,7 +1109,8 @@ module ietf-eth-te-topology { } } - /* Augment label hop of underlay primary path of connectivity-matrices information-source */ + /* Augment label hop of underlay primary path of + * connectivity-matrices information-source */ 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/" @@ -1078,7 +1126,8 @@ module ietf-eth-te-topology { } } - /* Augment label hop of underlay backup path of connectivity-matrices information-source */ + /* Augment label hop of underlay backup path of + * connectivity-matrices information-source */ 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/" @@ -1094,7 +1143,8 @@ module ietf-eth-te-topology { } } - /* Augment label hop of route-exclude of connectivity-matrices information-source */ + /* Augment label hop of route-exclude of + * connectivity-matrices information-source */ augment "/nw:networks/nw:network/nw:node/tet:te/" + "tet:information-source-entry/tet:connectivity-matrices/" + "tet:optimizations/tet:algorithm/tet:metric/" @@ -1113,7 +1163,8 @@ module ietf-eth-te-topology { } } - /* Augment label hop of route-include of connectivity-matrices information-source */ + /* Augment label hop of route-include of + * connectivity-matrices information-source */ augment "/nw:networks/nw:network/nw:node/tet:te/" + "tet:information-source-entry/tet:connectivity-matrices/" + "tet:optimizations/tet:algorithm/tet:metric/" @@ -1132,7 +1183,8 @@ module ietf-eth-te-topology { } } - /* Augment label hop of path-route of connectivity-matrices information-source */ + /* Augment label hop of path-route of + * connectivity-matrices information-source */ augment "/nw:networks/nw:network/nw:node/tet:te/" + "tet:information-source-entry/tet:connectivity-matrices/" + "tet:path-properties/tet:path-route-objects/" @@ -1149,7 +1201,8 @@ module ietf-eth-te-topology { } } - /* Augment ingress label restrictions of connectivity-matrix information-source */ + /* Augment ingress label restrictions of + * connectivity-matrix information-source */ augment "/nw:networks/nw:network/nw:node/tet:te/" + "tet:information-source-entry/tet:connectivity-matrices/" + "tet:connectivity-matrix/" @@ -1162,7 +1215,8 @@ module ietf-eth-te-topology { uses etht-types:eth-label-restriction; } - /* Augment ingress label restrictions start of connectivity-matrix information-source */ + /* Augment ingress label restrictions start of + * connectivity-matrix information-source */ augment "/nw:networks/nw:network/nw:node/tet:te/" + "tet:information-source-entry/tet:connectivity-matrices/" + "tet:connectivity-matrix/" @@ -1179,7 +1233,8 @@ module ietf-eth-te-topology { } } - /* Augment ingress label restrictions end of connectivity-matrix information-source */ + /* Augment ingress label restrictions end of + * connectivity-matrix information-source */ augment "/nw:networks/nw:network/nw:node/tet:te/" + "tet:information-source-entry/tet:connectivity-matrices/" + "tet:connectivity-matrix/" @@ -1196,7 +1251,8 @@ module ietf-eth-te-topology { } } - /* Augment ingress label restrictions step of connectivity-matrix information-source */ + /* Augment ingress label restrictions step of + * connectivity-matrix information-source */ augment "/nw:networks/nw:network/nw:node/tet:te/" + "tet:information-source-entry/tet:connectivity-matrices/" + "tet:connectivity-matrix/" @@ -1213,7 +1269,8 @@ module ietf-eth-te-topology { } } - /* Augment egress label restrictions of connectivity-matrix information-source */ + /* Augment egress label restrictions of + * connectivity-matrix information-source */ augment "/nw:networks/nw:network/nw:node/tet:te/" + "tet:information-source-entry/tet:connectivity-matrices/" + "tet:connectivity-matrix/" @@ -1226,7 +1283,8 @@ module ietf-eth-te-topology { uses etht-types:eth-label-restriction; } - /* Augment egress label restrictions start of connectivity-matrix information-source */ + /* Augment egress label restrictions start of + * connectivity-matrix information-source */ augment "/nw:networks/nw:network/nw:node/tet:te/" + "tet:information-source-entry/tet:connectivity-matrices/" + "tet:connectivity-matrix/" @@ -1243,7 +1301,8 @@ module ietf-eth-te-topology { } } - /* Augment egress label restrictions end of connectivity-matrix information-source */ + /* Augment egress label restrictions end of + * connectivity-matrix information-source */ augment "/nw:networks/nw:network/nw:node/tet:te/" + "tet:information-source-entry/tet:connectivity-matrices/" + "tet:connectivity-matrix/" @@ -1260,7 +1319,8 @@ module ietf-eth-te-topology { } } - /* Augment egress label restrictions step of connectivity-matrix information-source */ + /* Augment egress label restrictions step of + * connectivity-matrix information-source */ augment "/nw:networks/nw:network/nw:node/tet:te/" + "tet:information-source-entry/tet:connectivity-matrices/" + "tet:connectivity-matrix/" @@ -1276,8 +1336,8 @@ module ietf-eth-te-topology { uses etht-types:eth-label-step; } } - - /* Augment label hop of underlay primary path of connectivity-matrix information-source */ + /* Augment label hop of underlay primary path of + * connectivity-matrix information-source */ augment "/nw:networks/nw:network/nw:node/tet:te/" + "tet:information-source-entry/tet:connectivity-matrices/" + "tet:connectivity-matrix/" @@ -1294,7 +1354,8 @@ module ietf-eth-te-topology { } } - /* Augment label hop of underlay backup path of connectivity-matrix information-source */ + /* Augment label hop of underlay backup path of + * connectivity-matrix information-source */ augment "/nw:networks/nw:network/nw:node/tet:te/" + "tet:information-source-entry/tet:connectivity-matrices/" + "tet:connectivity-matrix/" @@ -1311,7 +1372,8 @@ module ietf-eth-te-topology { } } - /* Augment label hop of route-exclude of connectivity-matrix information-source */ + /* Augment label hop of route-exclude of + * connectivity-matrix information-source */ augment "/nw:networks/nw:network/nw:node/tet:te/" + "tet:information-source-entry/tet:connectivity-matrices/" + "tet:connectivity-matrix/" @@ -1331,7 +1393,8 @@ module ietf-eth-te-topology { } } - /* Augment label hop of route-include of connectivity-matrix information-source */ + /* Augment label hop of route-include of + * connectivity-matrix information-source */ augment "/nw:networks/nw:network/nw:node/tet:te/" + "tet:information-source-entry/tet:connectivity-matrices/" + "tet:connectivity-matrix/" @@ -1351,7 +1414,8 @@ module ietf-eth-te-topology { } } - /* Augment label hop of path-route of connectivity-matrix information-source */ + /* Augment label hop of path-route of + * connectivity-matrix information-source */ augment "/nw:networks/nw:network/nw:node/tet:te/" + "tet:information-source-entry/tet:connectivity-matrices/" + "tet:connectivity-matrix/" @@ -1385,8 +1449,8 @@ module ietf-eth-te-topology { 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" { + + "tet:label-restrictions/tet:label-restriction/" + + "tet:label-start/tet:te-label/tet:technology" { when "../../../../../../../../nw:network-types/tet:te-topology/" + "ethtetopo:eth-tran-topology" { description "Ethernet TE label"; @@ -1401,8 +1465,8 @@ module ietf-eth-te-topology { 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"{ + + "tet:label-restrictions/tet:label-restriction/" + + "tet:label-end/tet:te-label/tet:technology"{ when "../../../../../../../../nw:network-types/tet:te-topology/" + "ethtetopo:eth-tran-topology" { description "Ethernet TE label"; @@ -1417,8 +1481,8 @@ module ietf-eth-te-topology { 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"{ + + "tet:label-restrictions/tet:label-restriction/" + + "tet:label-step/tet:technology"{ when "../../../../../../../nw:network-types/tet:te-topology/" + "ethtetopo:eth-tran-topology" { description "Ethernet TE label"; @@ -1429,7 +1493,8 @@ module ietf-eth-te-topology { } } - /* Augment label hop of underlay primary path of local-link-connectivities */ + /* Augment label hop of underlay primary path of + * local-link-connectivities */ augment "/nw:networks/nw:network/nw:node/tet:te/" + "tet:tunnel-termination-point/" + "tet:local-link-connectivities/" @@ -1446,7 +1511,8 @@ module ietf-eth-te-topology { } } - /* Augment label hop of underlay backup path of local-link-connectivities */ + /* Augment label hop of underlay backup path of + * local-link-connectivities */ augment "/nw:networks/nw:network/nw:node/tet:te/" + "tet:tunnel-termination-point/" + "tet:local-link-connectivities/" @@ -1462,8 +1528,8 @@ module ietf-eth-te-topology { uses etht-types:eth-label; } } - - /* Augment label hop of route-exclude of local-link-connectivities */ + /* Augment label hop of route-exclude of + * local-link-connectivities */ augment "/nw:networks/nw:network/nw:node/tet:te/" + "tet:tunnel-termination-point/" + "tet:local-link-connectivities/" @@ -1483,7 +1549,8 @@ module ietf-eth-te-topology { } } - /* Augment label hop of route-include of local-link-connectivities */ + /* Augment label hop of route-include of + * local-link-connectivities */ augment "/nw:networks/nw:network/nw:node/tet:te/" + "tet:tunnel-termination-point/" + "tet:local-link-connectivities/" @@ -1521,7 +1588,7 @@ module ietf-eth-te-topology { } } - /* Augment label restrictions of local-link-connectivity (LLC) */ + /* Augment label restrictions of local-link-connectivity */ augment "/nw:networks/nw:network/nw:node/tet:te/" + "tet:tunnel-termination-point/" + "tet:local-link-connectivities/" @@ -1535,7 +1602,7 @@ module ietf-eth-te-topology { uses etht-types:eth-label-restriction; } - /* Augment label restrictions start of local-link-connectivity (LLC) */ + /* Augment label restrictions start of local-link-connectivity */ augment "/nw:networks/nw:network/nw:node/tet:te/" + "tet:tunnel-termination-point/" + "tet:local-link-connectivities/" @@ -1553,7 +1620,7 @@ module ietf-eth-te-topology { } } - /* Augment label restrictions end of local-link-connectivity (LLC) */ + /* Augment label restrictions end of local-link-connectivity */ augment "/nw:networks/nw:network/nw:node/tet:te/" + "tet:tunnel-termination-point/" + "tet:local-link-connectivities/" @@ -1571,7 +1638,7 @@ module ietf-eth-te-topology { } } - /* Augment label restrictions step of local-link-connectivity (LLC) */ + /* Augment label restrictions step of local-link-connectivity */ augment "/nw:networks/nw:network/nw:node/tet:te/" + "tet:tunnel-termination-point/" + "tet:local-link-connectivities/" @@ -1589,7 +1656,8 @@ module ietf-eth-te-topology { } } - /* Augment label hop of underlay primary path of local-link-connectivity (LLC) */ + /* Augment label hop of underlay primary path of + * local-link-connectivity */ augment "/nw:networks/nw:network/nw:node/tet:te/" + "tet:tunnel-termination-point/" + "tet:local-link-connectivities/" @@ -1607,7 +1675,8 @@ module ietf-eth-te-topology { } } - /* Augment label hop of underlay backup path of local-link-connectivity (LLC) */ + /* Augment label hop of underlay backup path of + * local-link-connectivity (LLC) */ augment "/nw:networks/nw:network/nw:node/tet:te/" + "tet:tunnel-termination-point/" + "tet:local-link-connectivities/" @@ -1625,7 +1694,8 @@ module ietf-eth-te-topology { } } - /* Augment label hop of route-exclude of local-link-connectivity (LLC) */ + /* Augment label hop of route-exclude of + * local-link-connectivity (LLC) */ augment "/nw:networks/nw:network/nw:node/tet:te/" + "tet:tunnel-termination-point/" + "tet:local-link-connectivities/" @@ -1646,7 +1716,8 @@ module ietf-eth-te-topology { } } - /* Augment label hop of route-include of local-link-connectivity (LLC) */ + /* Augment label hop of route-include of + * local-link-connectivity (LLC) */ augment "/nw:networks/nw:network/nw:node/tet:te/" + "tet:tunnel-termination-point/" + "tet:local-link-connectivities/" @@ -1667,7 +1738,8 @@ module ietf-eth-te-topology { } } - /* Augment label hop of path-route of local-link-connectivity (LLC) */ + /* Augment label hop of path-route of + * local-link-connectivity (LLC) */ augment "/nw:networks/nw:network/nw:node/tet:te/" + "tet:tunnel-termination-point/" + "tet:local-link-connectivities/" @@ -1744,7 +1816,6 @@ module ietf-eth-te-topology { uses etht-types:eth-label; } } - /* Augment label restrictions end of TE link */ augment "/nw:networks/nw:network/nt:link/tet:te/" + "tet:te-link-attributes/" @@ -1855,8 +1926,8 @@ module ietf-eth-te-topology { + "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/" - + "ethtetopo:eth-tran-topology" { + when "../../../../../../../../../../nw:network-types/" + + "tet:te-topology/ethtetopo:eth-tran-topology" { description "Ethernet TE label"; } */ @@ -1931,4 +2002,4 @@ module ietf-eth-te-topology { } } -} +} \ No newline at end of file