CCAMP Working Group                                             H. Zheng
Internet-Draft                                       Huawei Technologies
Intended status: Standards Track                                  A. Guo
Expires: 8 September 2022                                      Futurewei
                                                                 I. Busi
                                                     Huawei Technologies
                                                                   Y. Xu
                                                                   CAICT
                                                                 Y. Zhao
                                                            China Mobile
                                                                  X. Liu
                                                          Volta Networks
                                                            7 March 2022


               A YANG Data Model for Ethernet TE Topology
              draft-ietf-ccamp-eth-client-te-topo-yang-02

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 8 September 2022.

Copyright Notice

   Copyright (c) 2022 IETF Trust and the persons identified as the
   document authors.  All rights reserved.






Zheng, et al.           Expires 8 September 2022                [Page 1]


Internet-Draft      ETH Topology Transport YANG Model         March 2022


   This document is subject to BCP 78 and the IETF Trust's Legal
   Provisions Relating to IETF Documents (https://trustee.ietf.org/
   license-info) in effect on the date of publication of this document.
   Please review these documents carefully, as they describe your rights
   and restrictions with respect to this document.  Code Components
   extracted from this document must include Revised BSD License text as
   described in Section 4.e of the Trust Legal Provisions and are
   provided without warranty as described in the Revised BSD License.

Table of Contents

   1.  Introduction  . . . . . . . . . . . . . . . . . . . . . . . .   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 . . . . . . . . . . . . .  20
     4.1.  The ETH Topology YANG Code  . . . . . . . . . . . . . . .  20
   5.  Considerations and Open Issue . . . . . . . . . . . . . . . .  62
   6.  IANA Considerations . . . . . . . . . . . . . . . . . . . . .  63
   7.  Manageability Considerations  . . . . . . . . . . . . . . . .  63
   8.  Security Considerations . . . . . . . . . . . . . . . . . . .  63
   9.  Acknowledgements  . . . . . . . . . . . . . . . . . . . . . .  64
   10. Contributors  . . . . . . . . . . . . . . . . . . . . . . . .  64
   11. References  . . . . . . . . . . . . . . . . . . . . . . . . .  64
     11.1.  Normative References . . . . . . . . . . . . . . . . . .  64
     11.2.  Informative References . . . . . . . . . . . . . . . . .  65
   Authors' Addresses  . . . . . . . . . . . . . . . . . . . . . . .  65

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 8 September 2022                [Page 2]


Internet-Draft      ETH Topology Transport YANG Model         March 2022


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.

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

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
       |  +--:(asymmetrical)



Zheng, et al.           Expires 8 September 2022                [Page 3]


Internet-Draft      ETH Topology Transport YANG Model         March 2022


       |     +--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*
                |  |       etht-types:eth-tag-type



Zheng, et al.           Expires 8 September 2022                [Page 4]


Internet-Draft      ETH Topology Transport YANG Model         March 2022


                |  +--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)
          +--rw eth-bandwidth?   uint64



Zheng, et al.           Expires 8 September 2022                [Page 5]


Internet-Draft      ETH Topology Transport YANG Model         March 2022


     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
               /tet:max-link-bandwidth/tet:te-bandwidth



Zheng, et al.           Expires 8 September 2022                [Page 6]


Internet-Draft      ETH Topology Transport YANG Model         March 2022


               /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
               /tet:te-node-attributes



Zheng, et al.           Expires 8 September 2022                [Page 7]


Internet-Draft      ETH Topology Transport YANG Model         March 2022


               /tet:connectivity-matrices
               /tet:label-restrictions/tet:label-restriction
               /tet:label-start/tet:te-label/tet:technology:
       +--:(eth)
          +--rw vlanid?   etht-types:vlanid
     augment /nw:networks/nw:network/nw:node/tet:te
               /tet:te-node-attributes
               /tet:connectivity-matrices
               /tet:label-restrictions/tet:label-restriction
               /tet:label-end/tet:te-label/tet:technology:
       +--:(eth)
          +--rw vlanid?   etht-types:vlanid
     augment /nw:networks/nw:network/nw:node/tet:te
               /tet:te-node-attributes
               /tet:connectivity-matrices
               /tet:label-restrictions/tet:label-restriction
               /tet:label-step/tet:technology:
       +--:(eth)
          +--rw eth-step?   uint16
     augment /nw:networks/nw:network/nw:node/tet:te
               /tet:te-node-attributes
               /tet:connectivity-matrices/tet:underlay
               /tet:primary-path/tet:path-element/tet:type
               /tet:label/tet:label-hop/tet:te-label
               /tet:technology:
       +--:(eth)
          +--rw vlanid?   etht-types:vlanid
     augment /nw:networks/nw:network/nw:node/tet:te
               /tet:te-node-attributes
               /tet:connectivity-matrices/tet:underlay
               /tet:backup-path/tet:path-element/tet:type
               /tet:label/tet:label-hop/tet:te-label
               /tet:technology:
       +--:(eth)
          +--rw vlanid?   etht-types:vlanid
     augment /nw:networks/nw:network/nw:node/tet:te
               /tet:te-node-attributes
               /tet:connectivity-matrices/tet:optimizations
               /tet:algorithm/tet:metric
               /tet:optimization-metric
               /tet:explicit-route-exclude-objects
               /tet:route-object-exclude-object/tet:type
               /tet:label/tet:label-hop/tet:te-label
               /tet:technology:
       +--:(eth)
          +--rw vlanid?   etht-types:vlanid
     augment /nw:networks/nw:network/nw:node/tet:te
               /tet:te-node-attributes



Zheng, et al.           Expires 8 September 2022                [Page 8]


Internet-Draft      ETH Topology Transport YANG Model         March 2022


               /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)
          +--rw eth-step?   uint16



Zheng, et al.           Expires 8 September 2022                [Page 9]


Internet-Draft      ETH Topology Transport YANG Model         March 2022


     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:
       +--:(eth)



Zheng, et al.           Expires 8 September 2022               [Page 10]


Internet-Draft      ETH Topology Transport YANG Model         March 2022


          +--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
     augment /nw:networks/nw:network/nw:node/tet:te



Zheng, et al.           Expires 8 September 2022               [Page 11]


Internet-Draft      ETH Topology Transport YANG Model         March 2022


               /tet:information-source-entry
               /tet:connectivity-matrices
               /tet:label-restrictions/tet:label-restriction
               /tet:label-end/tet:te-label/tet:technology:
       +--:(eth)
          +--ro vlanid?   etht-types:vlanid
     augment /nw:networks/nw:network/nw:node/tet:te
               /tet:information-source-entry
               /tet:connectivity-matrices
               /tet:label-restrictions/tet:label-restriction
               /tet:label-step/tet:technology:
       +--:(eth)
          +--ro eth-step?   uint16
     augment /nw:networks/nw:network/nw:node/tet:te
               /tet:information-source-entry
               /tet:connectivity-matrices/tet:underlay
               /tet:primary-path/tet:path-element/tet:type
               /tet:label/tet:label-hop/tet:te-label
               /tet:technology:
       +--:(eth)
          +--ro vlanid?   etht-types:vlanid
     augment /nw:networks/nw:network/nw:node/tet:te
               /tet:information-source-entry
               /tet:connectivity-matrices/tet:underlay
               /tet:backup-path/tet:path-element/tet:type
               /tet:label/tet:label-hop/tet:te-label
               /tet:technology:
       +--:(eth)
          +--ro vlanid?   etht-types:vlanid
     augment /nw:networks/nw:network/nw:node/tet:te
               /tet:information-source-entry
               /tet:connectivity-matrices/tet:optimizations
               /tet:algorithm/tet:metric
               /tet:optimization-metric
               /tet:explicit-route-exclude-objects
               /tet:route-object-exclude-object/tet:type
               /tet:label/tet:label-hop/tet:te-label
               /tet:technology:
       +--:(eth)
          +--ro vlanid?   etht-types:vlanid
     augment /nw:networks/nw:network/nw:node/tet:te
               /tet:information-source-entry
               /tet:connectivity-matrices/tet:optimizations
               /tet:algorithm/tet:metric
               /tet:optimization-metric
               /tet:explicit-route-include-objects
               /tet:route-object-include-object/tet:type
               /tet:label/tet:label-hop/tet:te-label



Zheng, et al.           Expires 8 September 2022               [Page 12]


Internet-Draft      ETH Topology Transport YANG Model         March 2022


               /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:
       +--ro tag-type?   etht-types:eth-tag-type



Zheng, et al.           Expires 8 September 2022               [Page 13]


Internet-Draft      ETH Topology Transport YANG Model         March 2022


       +--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
               /tet:algorithm/tet:metric



Zheng, et al.           Expires 8 September 2022               [Page 14]


Internet-Draft      ETH Topology Transport YANG Model         March 2022


               /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)
          +--rw vlanid?   etht-types:vlanid



Zheng, et al.           Expires 8 September 2022               [Page 15]


Internet-Draft      ETH Topology Transport YANG Model         March 2022


     augment /nw:networks/nw:network/nw:node/tet:te
               /tet:tunnel-termination-point
               /tet:local-link-connectivities
               /tet:label-restrictions/tet:label-restriction
               /tet:label-step/tet:technology:
       +--:(eth)
          +--rw eth-step?   uint16
     augment /nw:networks/nw:network/nw:node/tet:te
               /tet:tunnel-termination-point
               /tet:local-link-connectivities/tet:underlay
               /tet:primary-path/tet:path-element/tet:type
               /tet:label/tet:label-hop/tet:te-label
               /tet:technology:
       +--:(eth)
          +--rw vlanid?   etht-types:vlanid
     augment /nw:networks/nw:network/nw:node/tet:te
               /tet:tunnel-termination-point
               /tet:local-link-connectivities/tet:underlay
               /tet:backup-path/tet:path-element/tet:type
               /tet:label/tet:label-hop/tet:te-label
               /tet:technology:
       +--:(eth)
          +--rw vlanid?   etht-types:vlanid
     augment /nw:networks/nw:network/nw:node/tet:te
               /tet:tunnel-termination-point
               /tet:local-link-connectivities/tet:optimizations
               /tet:algorithm/tet:metric
               /tet:optimization-metric
               /tet:explicit-route-exclude-objects
               /tet:route-object-exclude-object/tet:type
               /tet:label/tet:label-hop/tet:te-label
               /tet:technology:
       +--:(eth)
          +--rw vlanid?   etht-types:vlanid
     augment /nw:networks/nw:network/nw:node/tet:te
               /tet:tunnel-termination-point
               /tet:local-link-connectivities/tet:optimizations
               /tet:algorithm/tet:metric
               /tet:optimization-metric
               /tet:explicit-route-include-objects
               /tet:route-object-include-object/tet:type
               /tet:label/tet:label-hop/tet:te-label
               /tet:technology:
       +--:(eth)
          +--rw vlanid?   etht-types:vlanid
     augment /nw:networks/nw:network/nw:node/tet:te
               /tet:tunnel-termination-point
               /tet:local-link-connectivities



Zheng, et al.           Expires 8 September 2022               [Page 16]


Internet-Draft      ETH Topology Transport YANG Model         March 2022


               /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
               /tet:local-link-connectivities



Zheng, et al.           Expires 8 September 2022               [Page 17]


Internet-Draft      ETH Topology Transport YANG Model         March 2022


               /tet:local-link-connectivity/tet:underlay
               /tet:backup-path/tet:path-element/tet:type
               /tet:label/tet:label-hop/tet:te-label
               /tet:technology:
       +--:(eth)
          +--rw vlanid?   etht-types:vlanid
     augment /nw:networks/nw:network/nw:node/tet:te
               /tet:tunnel-termination-point
               /tet:local-link-connectivities
               /tet:local-link-connectivity/tet:optimizations
               /tet:algorithm/tet:metric
               /tet:optimization-metric
               /tet:explicit-route-exclude-objects
               /tet:route-object-exclude-object/tet:type
               /tet:label/tet:label-hop/tet:te-label
               /tet:technology:
       +--:(eth)
          +--rw vlanid?   etht-types:vlanid
     augment /nw:networks/nw:network/nw:node/tet:te
               /tet:tunnel-termination-point
               /tet:local-link-connectivities
               /tet:local-link-connectivity/tet:optimizations
               /tet:algorithm/tet:metric
               /tet:optimization-metric
               /tet:explicit-route-include-objects
               /tet:route-object-include-object/tet:type
               /tet:label/tet:label-hop/tet:te-label
               /tet:technology:
       +--:(eth)
          +--rw vlanid?   etht-types:vlanid
     augment /nw:networks/nw:network/nw:node/tet:te
               /tet:tunnel-termination-point
               /tet:local-link-connectivities
               /tet:local-link-connectivity/tet:path-properties
               /tet:path-route-objects/tet:path-route-object
               /tet:type/tet:label/tet:label-hop/tet:te-label
               /tet:technology:
       +--:(eth)
          +--ro vlanid?   etht-types:vlanid
     augment /nw:networks/nw:network/nt:link/tet:te
               /tet:te-link-attributes/tet:underlay
               /tet:primary-path/tet:path-element/tet:type
               /tet:label/tet:label-hop/tet:te-label
               /tet:technology:
       +--:(eth)
          +--rw vlanid?   etht-types:vlanid
     augment /nw:networks/nw:network/nt:link/tet:te
               /tet:te-link-attributes/tet:underlay



Zheng, et al.           Expires 8 September 2022               [Page 18]


Internet-Draft      ETH Topology Transport YANG Model         March 2022


               /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
               /tet:label-restrictions/tet:label-restriction



Zheng, et al.           Expires 8 September 2022               [Page 19]


Internet-Draft      ETH Topology Transport YANG Model         March 2022


               /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



4.  YANG Code for Topology Client Layer

4.1.  The ETH Topology YANG Code





Zheng, et al.           Expires 8 September 2022               [Page 20]


Internet-Draft      ETH Topology Transport YANG Model         March 2022


   <CODE BEGINS> 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: <mailto:ccamp@ietf.org>

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




Zheng, et al.           Expires 8 September 2022               [Page 21]


Internet-Draft      ETH Topology Transport YANG Model         March 2022


        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



Zheng, et al.           Expires 8 September 2022               [Page 22]


Internet-Draft      ETH Topology Transport YANG Model         March 2022


              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.";
       }
       /*



Zheng, et al.           Expires 8 September 2022               [Page 23]


Internet-Draft      ETH Topology Transport YANG Model         March 2022


        * 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



Zheng, et al.           Expires 8 September 2022               [Page 24]


Internet-Draft      ETH Topology Transport YANG Model         March 2022


            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.



Zheng, et al.           Expires 8 September 2022               [Page 25]


Internet-Draft      ETH Topology Transport YANG Model         March 2022


           */
             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.";
           }
         }



Zheng, et al.           Expires 8 September 2022               [Page 26]


Internet-Draft      ETH Topology Transport YANG Model         March 2022


         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";



Zheng, et al.           Expires 8 September 2022               [Page 27]


Internet-Draft      ETH Topology Transport YANG Model         March 2022


       }
       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.";



Zheng, et al.           Expires 8 September 2022               [Page 28]


Internet-Draft      ETH Topology Transport YANG Model         March 2022


       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;



Zheng, et al.           Expires 8 September 2022               [Page 29]


Internet-Draft      ETH Topology Transport YANG Model         March 2022


       }
     }

     /* 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;
       }
     }



Zheng, et al.           Expires 8 September 2022               [Page 30]


Internet-Draft      ETH Topology Transport YANG Model         March 2022


     /* 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/"



Zheng, et al.           Expires 8 September 2022               [Page 31]


Internet-Draft      ETH Topology Transport YANG Model         March 2022


           + "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" {



Zheng, et al.           Expires 8 September 2022               [Page 32]


Internet-Draft      ETH Topology Transport YANG Model         March 2022


       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" {



Zheng, et al.           Expires 8 September 2022               [Page 33]


Internet-Draft      ETH Topology Transport YANG Model         March 2022


   /*
       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.



Zheng, et al.           Expires 8 September 2022               [Page 34]


Internet-Draft      ETH Topology Transport YANG Model         March 2022


      */

     /* 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/"



Zheng, et al.           Expires 8 September 2022               [Page 35]


Internet-Draft      ETH Topology Transport YANG Model         March 2022


           + "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/"



Zheng, et al.           Expires 8 September 2022               [Page 36]


Internet-Draft      ETH Topology Transport YANG Model         March 2022


           + "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";



Zheng, et al.           Expires 8 September 2022               [Page 37]


Internet-Draft      ETH Topology Transport YANG Model         March 2022


       }
       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";



Zheng, et al.           Expires 8 September 2022               [Page 38]


Internet-Draft      ETH Topology Transport YANG Model         March 2022


       }
       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";



Zheng, et al.           Expires 8 September 2022               [Page 39]


Internet-Draft      ETH Topology Transport YANG Model         March 2022


       }
       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" {



Zheng, et al.           Expires 8 September 2022               [Page 40]


Internet-Draft      ETH Topology Transport YANG Model         March 2022


       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;
       }
     }




Zheng, et al.           Expires 8 September 2022               [Page 41]


Internet-Draft      ETH Topology Transport YANG Model         March 2022


     /* 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.";



Zheng, et al.           Expires 8 September 2022               [Page 42]


Internet-Draft      ETH Topology Transport YANG Model         March 2022


       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/"



Zheng, et al.           Expires 8 September 2022               [Page 43]


Internet-Draft      ETH Topology Transport YANG Model         March 2022


          + "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/"



Zheng, et al.           Expires 8 September 2022               [Page 44]


Internet-Draft      ETH Topology Transport YANG Model         March 2022


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



Zheng, et al.           Expires 8 September 2022               [Page 45]


Internet-Draft      ETH Topology Transport YANG Model         March 2022


       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";



Zheng, et al.           Expires 8 September 2022               [Page 46]


Internet-Draft      ETH Topology Transport YANG Model         March 2022


       }
       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/"



Zheng, et al.           Expires 8 September 2022               [Page 47]


Internet-Draft      ETH Topology Transport YANG Model         March 2022


          + "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/"



Zheng, et al.           Expires 8 September 2022               [Page 48]


Internet-Draft      ETH Topology Transport YANG Model         March 2022


           + "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";
       }



Zheng, et al.           Expires 8 September 2022               [Page 49]


Internet-Draft      ETH Topology Transport YANG Model         March 2022


       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/"



Zheng, et al.           Expires 8 September 2022               [Page 50]


Internet-Draft      ETH Topology Transport YANG Model         March 2022


           + "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"{



Zheng, et al.           Expires 8 September 2022               [Page 51]


Internet-Draft      ETH Topology Transport YANG Model         March 2022


       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 */



Zheng, et al.           Expires 8 September 2022               [Page 52]


Internet-Draft      ETH Topology Transport YANG Model         March 2022


     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 "../../../../../../../../../"



Zheng, et al.           Expires 8 September 2022               [Page 53]


Internet-Draft      ETH Topology Transport YANG Model         March 2022


          + "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/"



Zheng, et al.           Expires 8 September 2022               [Page 54]


Internet-Draft      ETH Topology Transport YANG Model         March 2022


           + "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 8 September 2022               [Page 55]


Internet-Draft      ETH Topology Transport YANG Model         March 2022


     /* 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/"



Zheng, et al.           Expires 8 September 2022               [Page 56]


Internet-Draft      ETH Topology Transport YANG Model         March 2022


           + "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;



Zheng, et al.           Expires 8 September 2022               [Page 57]


Internet-Draft      ETH Topology Transport YANG Model         March 2022


       }
     }

     /* 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/"



Zheng, et al.           Expires 8 September 2022               [Page 58]


Internet-Draft      ETH Topology Transport YANG Model         March 2022


           + "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";



Zheng, et al.           Expires 8 September 2022               [Page 59]


Internet-Draft      ETH Topology Transport YANG Model         March 2022


       }
       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 8 September 2022               [Page 60]


Internet-Draft      ETH Topology Transport YANG Model         March 2022


       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 8 September 2022               [Page 61]


Internet-Draft      ETH Topology Transport YANG Model         March 2022


       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;
       }
     }

   }
   <CODE ENDS>

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.



Zheng, et al.           Expires 8 September 2022               [Page 62]


Internet-Draft      ETH Topology Transport YANG Model         March 2022


   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.

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.




Zheng, et al.           Expires 8 September 2022               [Page 63]


Internet-Draft      ETH Topology Transport YANG Model         March 2022


   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

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", Work in Progress, Internet-Draft, draft-ietf-
              ccamp-otn-topo-yang-13, 12 July 2021,
              <https://www.ietf.org/archive/id/draft-ietf-ccamp-otn-
              topo-yang-13.txt>.

   [RFC3688]  Mealling, M., "The IETF XML Registry", BCP 81, RFC 3688,
              DOI 10.17487/RFC3688, January 2004,
              <https://www.rfc-editor.org/info/rfc3688>.





Zheng, et al.           Expires 8 September 2022               [Page 64]


Internet-Draft      ETH Topology Transport YANG Model         March 2022


   [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,
              <https://www.rfc-editor.org/info/rfc6241>.

   [RFC7950]  Bjorklund, M., Ed., "The YANG 1.1 Data Modeling Language",
              RFC 7950, DOI 10.17487/RFC7950, August 2016,
              <https://www.rfc-editor.org/info/rfc7950>.

   [RFC8040]  Bierman, A., Bjorklund, M., and K. Watsen, "RESTCONF
              Protocol", RFC 8040, DOI 10.17487/RFC8040, January 2017,
              <https://www.rfc-editor.org/info/rfc8040>.

   [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,
              <https://www.rfc-editor.org/info/rfc8795>.

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)", Work in Progress, Internet-Draft, draft-ietf-
              ccamp-wson-yang-28, 29 December 2020,
              <https://www.ietf.org/archive/id/draft-ietf-ccamp-wson-
              yang-28.txt>.

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

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




Zheng, et al.           Expires 8 September 2022               [Page 65]


Internet-Draft      ETH Topology Transport YANG Model         March 2022


   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 8 September 2022               [Page 66]