CCAMP Working Group                                             H. Zheng
Internet-Draft                                                    A. Guo
Intended status: Standards Track                                 I. Busi
Expires: February 24, 2019                           Huawei Technologies
                                                               A. Sharma
                                                                  Google
                                                                  X. Liu
                                                          Volta Networks
                                                              S. Belotti
                                                                   Nokia
                                                                   Y. Xu
                                                                   CAICT
                                                                 L. Wang
                                                            China Mobile
                                                     O. Gonzalez de Dios
                                                              Telefonica
                                                         August 23, 2018


        A YANG Data Model for Optical Transport Network Topology
                   draft-ietf-ccamp-otn-topo-yang-05

Abstract

   A transport network is a server-layer network designed to provide
   connectivity services for a client-layer network to carry the client
   traffic transparently across the server-layer network resources.  A
   transport network can be constructed from equipments utilizing any of
   a number of different transport technologies such as the evolving
   Optical Transport Networks (OTN) or packet transport as provided by
   the MPLS-Transport Profile (MPLS-TP).

   This document describes a YANG data model to describe the topologies
   of an Optical Transport Network (OTN).  It is independent of control
   plane protocols and captures topological and resource related
   information pertaining to OTN.  This model enables clients, which
   interact with a transport domain controller via a REST interface, for
   OTN topology related operations such as obtaining the relevant
   topology resource information.

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




Zheng, et al.           Expires February 24, 2019               [Page 1]


Internet-Draft           OTN Topology YANG Model             August 2018


   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 February 24, 2019.

Copyright Notice

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

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

Table of Contents

   1.  Introduction  . . . . . . . . . . . . . . . . . . . . . . . .   2
   2.  Terminology and Notations . . . . . . . . . . . . . . . . . .   3
   3.  YANG Data Model for OTN Topology  . . . . . . . . . . . . . .   4
     3.1.  OTN Topology Data Model Overview  . . . . . . . . . . . .   4
     3.2.  YANG Tree for OTN topology  . . . . . . . . . . . . . . .   5
   4.  The YANG Code . . . . . . . . . . . . . . . . . . . . . . . .  21
   5.  IANA Considerations . . . . . . . . . . . . . . . . . . . . .  54
   6.  Security Considerations . . . . . . . . . . . . . . . . . . .  54
   7.  Acknowledgements  . . . . . . . . . . . . . . . . . . . . . .  55
   8.  Contributors  . . . . . . . . . . . . . . . . . . . . . . . .  55
   9.  References  . . . . . . . . . . . . . . . . . . . . . . . . .  56
     9.1.  Normative References  . . . . . . . . . . . . . . . . . .  56
     9.2.  Informative References  . . . . . . . . . . . . . . . . .  57
   Authors' Addresses  . . . . . . . . . . . . . . . . . . . . . . .  58

1.  Introduction

   A transport network is a server-layer network designed to provide
   connectivity services for a client-layer network to carry the client
   traffic transparently across the server-layer network resources.  A
   transport network can be constructed of equipments utilizing any of a



Zheng, et al.           Expires February 24, 2019               [Page 2]


Internet-Draft           OTN Topology YANG Model             August 2018


   number of different transport technologies such as the Optical
   Transport Networks (OTN) or packet transport as provided by the MPLS-
   Transport Profile (MPLS-TP).

   This document defines a data model of an OTN network topology, using
   YANG [RFC7950].  The model can be used by an application exposing to
   a transport controller via a REST interface.  Furthermore, it can be
   used by an application for the following purposes (but not limited
   to):

   o  To obtain a whole view of the network topology information of its
      interest;

   o  To receive notifications with regard to the information change of
      the OTN topology;

   o  To enforce the establishment and update of a network topology with
      the characteristic specified in the data model, e.g., by a client
      controller;

   The YANG model defined in this document is independent of control
   plane protocols and captures topology related information pertaining
   to an Optical Transport Networks (OTN)-electrical layer, as the scope
   specified by [RFC7062] and [RFC7138].  Furthermore, it is not a
   stand-alone model, but augmenting from the TE topology YANG model
   defined in [I-D.ietf-teas-yang-te-topo].  Following TE topology YANG
   model, the YANG model defined in this document is interface
   independent.  The applicability of models to interfaces is described
   in [I-D.ietf-teas-actn-yang].

   Optical network technologies, including fixed Dense Wavelength
   Switched Optical Network (WSON) and flexible optical networks
   (a.k.a., flexi-grid networks), are covered in
   [I-D.ietf-ccamp-wson-yang] and [I-D.ietf-ccamp-flexigrid-yang],
   respectively.

2.  Terminology and Notations

   A simplified graphical representation of the data model is used in
   this document.  The meaning of the symbols in the YANG data tree
   presented later in this document is defined in [RFC8340].  They are
   provided below for reference.

   o  Brackets "[" and "]" enclose list keys.

   o  Abbreviations before data node names: "rw" means configuration
      (read-write) and "ro" state data (read-only).




Zheng, et al.           Expires February 24, 2019               [Page 3]


Internet-Draft           OTN Topology YANG Model             August 2018


   o  Symbols after data node names: "?" means an optional node, "!"
      means a presence container, and "*" denotes a list and leaf-list.

   o  Parentheses enclose choice and case nodes, and case nodes are also
      marked with a colon (":").

   o  Ellipsis ("...") stands for contents of subtrees that are not
      shown.

   o  Some of the key terms used in this document are listed as follow.

   o  TS: Tributary Slot.

   o  TSG: Tributary Slot Granularity.

   o  TPN: Tributary Port Number.

3.  YANG Data Model for OTN Topology

3.1.  OTN Topology Data Model Overview

   This document aims to describe the data model for OTN topology.  As a
   classic Traffic-engineering (TE) technology, OTN provide TDM
   switching in transport network.  Therefore the YANG module presented
   in this document augments from a more generic Traffic Engineered (TE)
   network topology data model, i.e., the ietf-te-topology.yang, as
   specified in [I-D.ietf-teas-yang-te-topo].  In section 6 of
   [I-D.ietf-teas-yang-te-topo], the guideline for augmenting TE
   topology model was provided, and in this draft we respetively augment
   the OTN attributes, TE bandwidth and TE label.

   The entities and TE attributes, such as node, termination points and
   links, are still applicable for describing an OTN topology and the
   model presented in this document only specifies with technology-
   specific attributes/information.  In OTN attributes augmentation,
   mainly OTN-specific parameters are included such as Tributary Slot
   Granularity (TSG), payload type and so on.

   For different order of ODU in OTN technology, the te-bandwidth is
   augmented to allow specifying the type of ODU container and the
   number a link can support per priority level.  For example, for a
   ODU3 link, it may advertise 32*ODU0, 16*ODU1, 4*ODU2 available,
   assuming only a single priority level is supported.  If one of ODU2
   resource is taken to establish a ODU path, then the availability of
   this ODU link is updated as 24*ODU0, 12*ODU1, 3*ODU2 available.  If
   there are equipment hardware limitations, then a subset of potential
   ODU type SHALL be advertised.  For instance, an ODU3 link may only
   support 4*ODU2.



Zheng, et al.           Expires February 24, 2019               [Page 4]


Internet-Draft           OTN Topology YANG Model             August 2018


   The types of OTN label can be divided into the tributary ports and
   the tributary slots, represented by TPN or TS list respectively.  In
   the TE-label augmentation, two optional label formats are available
   for label representation.

   Note the model in this document re-uses some attributes defined in
   ietf-otn-types.yang, which is specified in
   [I-D.ietf-ccamp-otn-tunnel-model].

   The YANG module ietf-otn-topology defined in this document conforms
   to the Network Management Datastore Architecture (NMDA) defined in
   [RFC8342].

3.2.  YANG Tree for OTN topology



The following OTN specific attributes have been augmented to TE
topology models.

module: ietf-otn-topology
  augment /nw:networks/nw:network/nw:network-types/tet:te-topology:
    +--rw otn-topology!
  augment /nw:networks/nw:network/nt:link/tet:te/tet:te-link-attributes:
    +--rw tsg?        identityref
    +--rw distance?   uint32
  augment /nw:networks/nw:network/nw:node/nt:termination-point/tet:te:
    +--rw supported-payload-types* [index]
    |  +--rw index           uint16
    |  +--rw payload-type?   string
    +--rw client-facing?             boolean

The technology specific TE bandwidth for OTN topology can be specified
using the following augment statements:

 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:
    +--:(otn)
       +--rw odu-type?   identityref
  augment /nw:networks/nw:network/nw:node/tet:te/tet:te-node-attributes
          /tet:connectivity-matrices/tet:path-constraints
          /tet:te-bandwidth/tet:technology:
    +--:(otn)
       +--rw odulist* [odu-type]
          +--rw odu-type    identityref
          +--rw number?     uint16
  augment /nw:networks/nw:network/nw:node/tet:te/tet:te-node-attributes



Zheng, et al.           Expires February 24, 2019               [Page 5]


Internet-Draft           OTN Topology YANG Model             August 2018


          /tet:connectivity-matrices/tet:connectivity-matrix
          /tet:path-constraints/tet:te-bandwidth/tet:technology:
    +--:(otn)
       +--rw odulist* [odu-type]
          +--rw odu-type    identityref
          +--rw number?     uint16
  augment /nw:networks/nw:network/nw:node/tet:te
          /tet:information-source-entry/tet:connectivity-matrices
          /tet:path-constraints/tet:te-bandwidth/tet:technology:
    +--:(otn)
       +--ro odulist* [odu-type]
          +--ro odu-type    identityref
          +--ro number?     uint16
  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:
    +--:(otn)
       +--ro odulist* [odu-type]
          +--ro odu-type    identityref
          +--ro number?     uint16
  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:
    +--:(otn)
       +--rw odulist* [odu-type]
          +--rw odu-type    identityref
          +--rw number?     uint16
  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:
    +--:(otn)
       +--rw odulist* [odu-type]
          +--rw odu-type    identityref
          +--rw number?     uint16
  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:
    +--:(otn)
       +--rw odulist* [odu-type]
          +--rw odu-type    identityref
          +--rw number?     uint16
  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:
    +--:(otn)
       +--rw odu-type?   identityref



Zheng, et al.           Expires February 24, 2019               [Page 6]


Internet-Draft           OTN Topology YANG Model             August 2018


  augment /nw:networks/nw:network/nt:link/tet:te/tet:te-link-attributes
          /tet:max-link-bandwidth/tet:te-bandwidth/tet:technology:
    +--:(otn)
       +--rw odulist* [odu-type]
          +--rw odu-type    identityref
          +--rw number?     uint16
  augment /nw:networks/nw:network/nt:link/tet:te/tet:te-link-attributes
          /tet:max-resv-link-bandwidth/tet:te-bandwidth/tet:technology:
    +--:(otn)
       +--rw odulist* [odu-type]
          +--rw odu-type    identityref
          +--rw number?     uint16
  augment /nw:networks/nw:network/nt:link/tet:te/tet:te-link-attributes
          /tet:unreserved-bandwidth/tet:te-bandwidth/tet:technology:
    +--:(otn)
       +--rw odulist* [odu-type]
          +--rw odu-type    identityref
          +--rw number?     uint16
  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:
    +--:(otn)
       +--ro odu-type?   identityref
  augment /nw:networks/nw:network/nt:link/tet:te
          /tet:information-source-entry/tet:max-link-bandwidth
          /tet:te-bandwidth/tet:technology:
    +--:(otn)
       +--ro odulist* [odu-type]
          +--ro odu-type    identityref
          +--ro number?     uint16
  augment /nw:networks/nw:network/nt:link/tet:te
          /tet:information-source-entry
          /tet:max-resv-link-bandwidth/tet:te-bandwidth/tet:technology:
    +--:(otn)
       +--ro odulist* [odu-type]
          +--ro odu-type    identityref
          +--ro number?     uint16
  augment /nw:networks/nw:network/nt:link/tet:te
          /tet:information-source-entry/tet:unreserved-bandwidth
          /tet:te-bandwidth/tet:technology:
    +--:(otn)
       +--ro odulist* [odu-type]
          +--ro odu-type    identityref
          +--ro number?     uint16
  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:



Zheng, et al.           Expires February 24, 2019               [Page 7]


Internet-Draft           OTN Topology YANG Model             August 2018


    +--:(otn)
       +--rw odu-type?   identityref
  augment /nw:networks/tet:te/tet:templates/tet:link-template
          /tet:te-link-attributes/tet:max-link-bandwidth
          /tet:te-bandwidth/tet:technology:
    +--:(otn)
       +--rw odulist* [odu-type]
          +--rw odu-type    identityref
          +--rw number?     uint16
  augment /nw:networks/tet:te/tet:templates/tet:link-template
          /tet:te-link-attributes/tet:max-resv-link-bandwidth
          /tet:te-bandwidth/tet:technology:
    +--:(otn)
       +--rw odulist* [odu-type]
          +--rw odu-type    identityref
          +--rw number?     uint16
  augment /nw:networks/tet:te/tet:templates/tet:link-template
          /tet:te-link-attributes/tet:unreserved-bandwidth
          /tet:te-bandwidth/tet:technology:
    +--:(otn)
       +--rw odulist* [odu-type]
          +--rw odu-type    identityref
          +--rw number?     uint16
The technology specific TE label for this OTN topology can be specified
using the following augment statements:
  augment /nw:networks/nw:network/nw:node/tet:te
          /tet:te-node-attributes/tet:connectivity-matrices
          /tet:label-restrictions/tet:label-restriction:
    +--rw range-type?   identityref
    +--rw tsg?          identityref
    +--rw priority?     uint8
  augment /nw:networks/nw:network/nw:node/tet:te/tet:te-node-attributes
          /tet:connectivity-matrices/tet:label-restrictions
          /tet:label-restriction/tet:label-start/tet:te-label
          /tet:technology:
    +--:(otn)
       +--rw (otn-label-type)?
          +--:(tributary-port)
          |  +--rw tpn?   uint16
          +--:(tributary-slot)
             +--rw ts?    uint16
  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:
    +--:(otn)
       +--rw (otn-label-type)?
          +--:(tributary-port)



Zheng, et al.           Expires February 24, 2019               [Page 8]


Internet-Draft           OTN Topology YANG Model             August 2018


          |  +--rw tpn?   uint16
          +--:(tributary-slot)
             +--rw ts?    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:
    +--:(otn)
       +--rw tpn?       uint16
       +--rw tsg?       identityref
       +--rw ts-list?   string
  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:
    +--:(otn)
       +--rw tpn?       uint16
       +--rw tsg?       identityref
       +--rw ts-list?   string
  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:
    +--:(otn)
       +--rw tpn?       uint16
       +--rw tsg?       identityref
       +--rw ts-list?   string
  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:
    +--:(otn)
       +--rw tpn?       uint16
       +--rw tsg?       identityref
       +--rw ts-list?   string
  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:
    +--:(otn)
       +--ro tpn?       uint16
       +--ro tsg?       identityref
       +--ro ts-list?   string
  augment /nw:networks/nw:network/nw:node/tet:te/tet:te-node-attributes



Zheng, et al.           Expires February 24, 2019               [Page 9]


Internet-Draft           OTN Topology YANG Model             August 2018


          /tet:connectivity-matrices/tet:connectivity-matrix/tet:from
          /tet:label-restrictions/tet:label-restriction:
    +--rw range-type?   identityref
    +--rw tsg?          identityref
    +--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:
    +--:(otn)
       +--rw (otn-label-type)?
          +--:(tributary-port)
          |  +--rw tpn?   uint16
          +--:(tributary-slot)
             +--rw ts?    uint16
  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:
    +--:(otn)
       +--rw (otn-label-type)?
          +--:(tributary-port)
          |  +--rw tpn?   uint16
          +--:(tributary-slot)
             +--rw ts?    uint16
  augment /nw:networks/nw:network/nw:node/tet:te/tet:te-node-attributes
          /tet:connectivity-matrices/tet:connectivity-matrix/tet:to
          /tet:label-restrictions/tet:label-restriction:
    +--rw range-type?   identityref
    +--rw tsg?          identityref
    +--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:
    +--:(otn)
       +--rw (otn-label-type)?
          +--:(tributary-port)
          |  +--rw tpn?   uint16
          +--:(tributary-slot)
             +--rw ts?    uint16
  augment /nw:networks/nw:network/nw:node/tet:te/tet:te-node-attributes
          /tet:connectivity-matrices/tet:connectivity-matrix/tet:to
          /tet:label-restrictions/tet:label-restriction/tet:label-end
          /tet:te-label/tet:technology:
    +--:(otn)
       +--rw (otn-label-type)?
          +--:(tributary-port)



Zheng, et al.           Expires February 24, 2019              [Page 10]


Internet-Draft           OTN Topology YANG Model             August 2018


          |  +--rw tpn?   uint16
          +--:(tributary-slot)
             +--rw ts?    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:
    +--:(otn)
       +--rw tpn?       uint16
       +--rw tsg?       identityref
       +--rw ts-list?   string
  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:
    +--:(otn)
       +--rw tpn?       uint16
       +--rw tsg?       identityref
       +--rw ts-list?   string
  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:
    +--:(otn)
       +--rw tpn?       uint16
       +--rw tsg?       identityref
       +--rw ts-list?   string
  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:
    +--:(otn)
       +--rw tpn?       uint16
       +--rw tsg?       identityref
       +--rw ts-list?   string
  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:
    +--:(otn)
       +--ro tpn?       uint16
       +--ro tsg?       identityref
       +--ro ts-list?   string



Zheng, et al.           Expires February 24, 2019              [Page 11]


Internet-Draft           OTN Topology YANG Model             August 2018


  augment /nw:networks/nw:network/nw:node/tet:te
          /tet:information-source-entry/tet:connectivity-matrices
          /tet:label-restrictions/tet:label-restriction:
    +--ro range-type?   identityref
    +--ro tsg?          identityref
    +--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:
    +--:(otn)
       +--ro (otn-label-type)?
          +--:(tributary-port)
          |  +--ro tpn?   uint16
          +--:(tributary-slot)
             +--ro ts?    uint16
  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:
    +--:(otn)
       +--ro (otn-label-type)?
          +--:(tributary-port)
          |  +--ro tpn?   uint16
          +--:(tributary-slot)
             +--ro ts?    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:
    +--:(otn)
       +--ro tpn?       uint16
       +--ro tsg?       identityref
       +--ro ts-list?   string
  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:
    +--:(otn)
       +--ro tpn?       uint16
       +--ro tsg?       identityref
       +--ro ts-list?   string
  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:



Zheng, et al.           Expires February 24, 2019              [Page 12]


Internet-Draft           OTN Topology YANG Model             August 2018


    +--:(otn)
       +--ro tpn?       uint16
       +--ro tsg?       identityref
       +--ro ts-list?   string
  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:
    +--:(otn)
       +--ro tpn?       uint16
       +--ro tsg?       identityref
       +--ro ts-list?   string
  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:
    +--:(otn)
       +--ro tpn?       uint16
       +--ro tsg?       identityref
       +--ro ts-list?   string
  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 range-type?   identityref
    +--ro tsg?          identityref
    +--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:
    +--:(otn)
       +--ro (otn-label-type)?
          +--:(tributary-port)
          |  +--ro tpn?   uint16
          +--:(tributary-slot)
             +--ro ts?    uint16
  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:
    +--:(otn)
       +--ro (otn-label-type)?



Zheng, et al.           Expires February 24, 2019              [Page 13]


Internet-Draft           OTN Topology YANG Model             August 2018


          +--:(tributary-port)
          |  +--ro tpn?   uint16
          +--:(tributary-slot)
             +--ro ts?    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 range-type?   identityref
    +--ro tsg?          identityref
    +--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:
    +--:(otn)
       +--ro (otn-label-type)?
          +--:(tributary-port)
          |  +--ro tpn?   uint16
          +--:(tributary-slot)
             +--ro ts?    uint16
  augment /nw:networks/nw:network/nw:node/tet:te
          /tet:information-source-entry/tet:connectivity-matrices
          /tet:connectivity-matrix/tet:to/tet:label-restrictions
          /tet:label-restriction/tet:label-end/tet:te-label
          /tet:technology:
    +--:(otn)
       +--ro (otn-label-type)?
          +--:(tributary-port)
          |  +--ro tpn?   uint16
          +--:(tributary-slot)
             +--ro ts?    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:
    +--:(otn)
       +--ro tpn?       uint16
       +--ro tsg?       identityref
       +--ro ts-list?   string
  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:
    +--:(otn)



Zheng, et al.           Expires February 24, 2019              [Page 14]


Internet-Draft           OTN Topology YANG Model             August 2018


       +--ro tpn?       uint16
       +--ro tsg?       identityref
       +--ro ts-list?   string
  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:
    +--:(otn)
       +--ro tpn?       uint16
       +--ro tsg?       identityref
       +--ro ts-list?   string
  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:
    +--:(otn)
       +--ro tpn?       uint16
       +--ro tsg?       identityref
       +--ro ts-list?   string
  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:
    +--:(otn)
       +--ro tpn?       uint16
       +--ro tsg?       identityref
       +--ro ts-list?   string
  augment /nw:networks/nw:network/nw:node/tet:te
          /tet:tunnel-termination-point/tet:local-link-connectivities
          /tet:label-restrictions/tet:label-restriction:
    +--rw range-type?   identityref
    +--rw tsg?          identityref
    +--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:
    +--:(otn)
       +--rw (otn-label-type)?
          +--:(tributary-port)
          |  +--rw tpn?   uint16



Zheng, et al.           Expires February 24, 2019              [Page 15]


Internet-Draft           OTN Topology YANG Model             August 2018


          +--:(tributary-slot)
             +--rw ts?    uint16
  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:
    +--:(otn)
       +--rw (otn-label-type)?
          +--:(tributary-port)
          |  +--rw tpn?   uint16
          +--:(tributary-slot)
             +--rw ts?    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:
    +--:(otn)
       +--rw tpn?       uint16
       +--rw tsg?       identityref
       +--rw ts-list?   string
  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:
    +--:(otn)
       +--rw tpn?       uint16
       +--rw tsg?       identityref
       +--rw ts-list?   string
  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:
    +--:(otn)
       +--rw tpn?       uint16
       +--rw tsg?       identityref
       +--rw ts-list?   string
  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:
    +--:(otn)
       +--rw tpn?       uint16
       +--rw tsg?       identityref
       +--rw ts-list?   string



Zheng, et al.           Expires February 24, 2019              [Page 16]


Internet-Draft           OTN Topology YANG Model             August 2018


  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:
    +--:(otn)
       +--ro tpn?       uint16
       +--ro tsg?       identityref
       +--ro ts-list?   string
  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 range-type?   identityref
    +--rw tsg?          identityref
    +--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:
    +--:(otn)
       +--rw (otn-label-type)?
          +--:(tributary-port)
          |  +--rw tpn?   uint16
          +--:(tributary-slot)
             +--rw ts?    uint16
  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:
    +--:(otn)
       +--rw (otn-label-type)?
          +--:(tributary-port)
          |  +--rw tpn?   uint16
          +--:(tributary-slot)
             +--rw ts?    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:
    +--:(otn)
       +--rw tpn?       uint16
       +--rw tsg?       identityref
       +--rw ts-list?   string
  augment /nw:networks/nw:network/nw:node/tet:te



Zheng, et al.           Expires February 24, 2019              [Page 17]


Internet-Draft           OTN Topology YANG Model             August 2018


          /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:
    +--:(otn)
       +--rw tpn?       uint16
       +--rw tsg?       identityref
       +--rw ts-list?   string
  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:
    +--:(otn)
       +--rw tpn?       uint16
       +--rw tsg?       identityref
       +--rw ts-list?   string
  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:
    +--:(otn)
       +--rw tpn?       uint16
       +--rw tsg?       identityref
       +--rw ts-list?   string
  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:
    +--:(otn)
       +--ro tpn?       uint16
       +--ro tsg?       identityref
       +--ro ts-list?   string
  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:
    +--:(otn)
       +--rw tpn?       uint16
       +--rw tsg?       identityref
       +--rw ts-list?   string
  augment /nw:networks/nw:network/nt:link/tet:te/tet:te-link-attributes
          /tet:underlay/tet:backup-path/tet:path-element/tet:type



Zheng, et al.           Expires February 24, 2019              [Page 18]


Internet-Draft           OTN Topology YANG Model             August 2018


          /tet:label/tet:label-hop/tet:te-label/tet:technology:
    +--:(otn)
       +--rw tpn?       uint16
       +--rw tsg?       identityref
       +--rw ts-list?   string
  augment /nw:networks/nw:network/nt:link/tet:te/tet:te-link-attributes
          /tet:label-restrictions/tet:label-restriction:
    +--rw range-type?   identityref
    +--rw tsg?          identityref
    +--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:
    +--:(otn)
       +--rw (otn-label-type)?
          +--:(tributary-port)
          |  +--rw tpn?   uint16
          +--:(tributary-slot)
             +--rw ts?    uint16
  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:
    +--:(otn)
       +--rw (otn-label-type)?
          +--:(tributary-port)
          |  +--rw tpn?   uint16
          +--:(tributary-slot)
             +--rw ts?    uint16
  augment /nw:networks/nw:network/nt:link/tet:te
          /tet:information-source-entry/tet:label-restrictions
          /tet:label-restriction:
    +--ro range-type?   identityref
    +--ro tsg?          identityref
    +--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:
    +--:(otn)
       +--ro (otn-label-type)?
          +--:(tributary-port)
          |  +--ro tpn?   uint16
          +--:(tributary-slot)
             +--ro ts?    uint16
  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:



Zheng, et al.           Expires February 24, 2019              [Page 19]


Internet-Draft           OTN Topology YANG Model             August 2018


    +--:(otn)
       +--ro (otn-label-type)?
          +--:(tributary-port)
          |  +--ro tpn?   uint16
          +--:(tributary-slot)
             +--ro ts?    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:
    +--:(otn)
       +--rw tpn?       uint16
       +--rw tsg?       identityref
       +--rw ts-list?   string
  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:
    +--:(otn)
       +--rw tpn?       uint16
       +--rw tsg?       identityref
       +--rw ts-list?   string
  augment /nw:networks/tet:te/tet:templates/tet:link-template
          /tet:te-link-attributes/tet:label-restrictions
          /tet:label-restriction:
    +--rw range-type?   identityref
    +--rw tsg?          identityref
    +--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:
    +--:(otn)
       +--rw (otn-label-type)?
          +--:(tributary-port)
          |  +--rw tpn?   uint16
          +--:(tributary-slot)
             +--rw ts?    uint16
  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:
    +--:(otn)
       +--rw (otn-label-type)?
          +--:(tributary-port)
          |  +--rw tpn?   uint16
          +--:(tributary-slot)
             +--rw ts?    uint16



Zheng, et al.           Expires February 24, 2019              [Page 20]


Internet-Draft           OTN Topology YANG Model             August 2018


4.  The YANG Code


<CODE BEGINS> file "ietf-otn-topology.yang"


module ietf-otn-topology {
  yang-version 1.1;

  namespace "urn:ietf:params:xml:ns:yang:ietf-otn-topology";
  prefix "otntopo";

  import ietf-network {
    prefix "nw";
    reference "RFC 8345: A YANG Data Model for Network Topologies";
  }

  import ietf-network-topology {
    prefix "nt";
    reference "RFC 8345: A YANG Data Model for Network Topologies";
  }

  import ietf-te-topology {
    prefix "tet";
    reference
    "I-D.ietf-teas-yang-te-topo: YANG Data Model for
    Traffic Engineering (TE) Topologies";
  }

  import ietf-otn-types {
    prefix "otn-types";
    reference
         "I-D.ietf-teas-yang-te: A YANG Data Model for Traffic
          Engineering Tunnels and Interfaces";
  }

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

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

     Editor: Aihua Guo
             <mailto:aihuaguo@huawei.com>




Zheng, et al.           Expires February 24, 2019              [Page 21]


Internet-Draft           OTN Topology YANG Model             August 2018


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

     Editor: Anurag Sharma
             <mailto:ansha@google.com>

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

     Editor: Sergio Belotti
             <mailto:sergio.belotti@nokia.com>

     Editor: Yunbin Xu
             <mailto:xuyunbin@ritt.cn>

     Editor: Lei Wang
             <mailto:wangleiyj@chinamobile.com>

     Editor: Oscar Gonzalez de Dios
             <mailto:oscar.gonzalezdedios@telefonica.com>";

  description
    "This module defines a protocol independent Layer 1/ODU topology
     data model.

    Copyright (c) 2018 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).";

  revision 2018-08-23 {
    description
      "Initial Revision";
    reference
      "RFC XXXX: A YANG Data Model for Optical Transport Network Topology";
    // RFC Ed.: replace XXXX with actual RFC number, update date
    // information and remove this note
  }

 /*
  * Groupings
  */




Zheng, et al.           Expires February 24, 2019              [Page 22]


Internet-Draft           OTN Topology YANG Model             August 2018


  grouping otn-link-attributes {
    description "link attributes for OTN";

    leaf tsg {
      type identityref {
        base otn-types:tributary-slot-granularity;
      }
      description "Tributary slot granularity.";
      reference
        "G.709/Y.1331, February 2016: Interfaces for the
         Optical Transport Network (OTN)";
    }
    leaf distance {
      type uint32;
      description "distance in the unit of kilometers";
    }
  }

  grouping otn-tp-attributes {
    description "tp attributes for OTN";
    list supported-payload-types {
      key "index";
      description
        "Supported payload types of a TP. The payload type is defined
         as the generalized PIDs in GMPLS.";
      leaf index {
        type uint16;
        description "payload type index";
      }
      leaf payload-type {
        type string;
        description "the payload type supported by this client tp";
        reference
          "http://www.iana.org/assignments/gmpls-sig-parameters
           /gmpls-sig-parameters.xhtml";
      }
    }
    leaf client-facing {
      type boolean;
      default 'false';
      description
        "Indicating if it is a client-facing TP.";
    }
  }

 /*
  * Data nodes
  */



Zheng, et al.           Expires February 24, 2019              [Page 23]


Internet-Draft           OTN Topology YANG Model             August 2018


  augment "/nw:networks/nw:network/nw:network-types/"
        + "tet:te-topology" {
    container otn-topology {
      presence "indicates a topology type of Optical Transport
                Network (OTN)-electrical layer.";
      description "otn topology type";
    }
    description "augment network types to include otn newtork";
  }

  augment "/nw:networks/nw:network/nt:link/tet:te/"
        + "tet:te-link-attributes" {
    when "../../../nw:network-types/tet:te-topology/"
       + "otntopo:otn-topology" {
      description "Augment only for otn network.";
    }
    description "Augment link configuration";
    uses otn-link-attributes;
  }

  augment "/nw:networks/nw:network/nw:node/nt:termination-point/"
        + "tet:te" {
    when "../../../nw:network-types/tet:te-topology/"
       + "otntopo:otn-topology" {
      description "Augment only for otn network";
    }
    description "OTN TP attributes config in ODU topology.";
    uses otn-tp-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/"
       + "otntopo:otn-topology" {
      description "Augment OTN TE bandwidth";
    }
    description "OTN bandwidth.";
    case otn {
      uses otn-types:otn-path-bandwidth;
    }
  }



Zheng, et al.           Expires February 24, 2019              [Page 24]


Internet-Draft           OTN Topology YANG Model             August 2018


  /* 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/"
       + "otntopo:otn-topology" {
      description "Augment OTN TE bandwidth";
    }
    description "OTN bandwidth.";
    case otn {
      uses otn-types:otn-link-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/"
       + "otntopo:otn-topology" {
      description "Augment OTN TE bandwidth";
    }
    description "OTN bandwidth.";
    case otn {
      uses otn-types:otn-link-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/"
       + "otntopo:otn-topology" {
      description "Augment OTN TE bandwidth";
    }
    description "OTN bandwidth.";
    case otn {
      uses otn-types:otn-link-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" {



Zheng, et al.           Expires February 24, 2019              [Page 25]


Internet-Draft           OTN Topology YANG Model             August 2018


    when "../../../../../../../nw:network-types/tet:te-topology/"
       + "otntopo:otn-topology" {
      description "Augment OTN TE bandwidth";
    }
    description "OTN bandwidth.";
    case otn {
      uses otn-types:otn-link-bandwidth;
    }
  }

  /* Augment client bandwidth of tunnel termination point (TTP) */
  augment "/nw:networks/nw:network/nw:node/tet:te/"
        + "tet:tunnel-termination-point/"
        + "tet:client-layer-adaptation/tet:switching-capability/"
        + "tet:te-bandwidth/tet:technology" {
    when "../../../../../../nw:network-types/tet:te-topology/"
       + "otntopo:otn-topology" {
      description "Augment OTN TE bandwidth";
    }
    description "OTN bandwidth.";
    case otn {
      uses otn-types:otn-link-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/"
       + "otntopo:otn-topology" {
      description "Augment OTN TE bandwidth";
    }
    description "OTN bandwidth.";
    case otn {
      uses otn-types:otn-link-bandwidth;
    }
  }

  /* Augment bandwidth path constraints 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-constraints/"
        + "tet:te-bandwidth/tet:technology" {
    when "../../../../../../../nw:network-types/tet:te-topology/"
       + "otntopo:otn-topology" {



Zheng, et al.           Expires February 24, 2019              [Page 26]


Internet-Draft           OTN Topology YANG Model             August 2018


      description "Augment OTN TE bandwidth";
    }
    description "OTN bandwidth.";
    case otn {
      uses otn-types:otn-link-bandwidth;
    }
  }

  /* Augment maximum LSP bandwidth of TE link */
  augment "/nw:networks/nw:network/nt:link/tet:te/"
        + "tet:te-link-attributes/"
        + "tet:interface-switching-capability/tet:max-lsp-bandwidth/"
        + "tet:te-bandwidth/tet:technology" {
    when "../../../../../../nw:network-types/tet:te-topology/"
       + "otntopo:otn-topology" {
      description "OTN TE bandwidth.";
    }
    description "OTN bandwidth.";
    case otn {
      uses otn-types:otn-path-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/"
       + "otntopo:otn-topology" {
      description "OTN TE bandwidth.";
    }
    description "OTN bandwidth.";
    case otn {
      uses otn-types:otn-link-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/"
       + "otntopo:otn-topology" {
      description "OTN TE bandwidth.";
    }
    description "OTN bandwidth.";



Zheng, et al.           Expires February 24, 2019              [Page 27]


Internet-Draft           OTN Topology YANG Model             August 2018


    case otn {
      uses otn-types:otn-link-bandwidth;
    }
  }

  /* Augment unreserved bandwidth of TE Link */
  augment "/nw:networks/nw:network/nt:link/tet:te/"
        + "tet:te-link-attributes/"
        + "tet:unreserved-bandwidth/"
        + "tet:te-bandwidth/tet:technology" {
    when "../../../../../nw:network-types/tet:te-topology/"
       + "otntopo:otn-topology" {
      description "OTN TE bandwidth.";
    }
    description "OTN bandwidth.";
    case otn {
      uses otn-types:otn-link-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/"
       + "otntopo:otn-topology" {
      description "OTN TE bandwidth.";
    }
    description "OTN bandwidth.";
    case otn {
      uses otn-types:otn-path-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/"
       + "otntopo:otn-topology" {
      description "OTN TE bandwidth.";
    }
    description "OTN bandwidth.";
    case otn {
      uses otn-types:otn-link-bandwidth;
    }



Zheng, et al.           Expires February 24, 2019              [Page 28]


Internet-Draft           OTN Topology YANG Model             August 2018


  }

  /* Augment maximum reservable bandwidth of TE link information-source */
  augment "/nw:networks/nw:network/nt:link/tet:te/"
        + "tet:information-source-entry/"
        + "tet:max-resv-link-bandwidth/"
        + "tet:te-bandwidth/tet:technology" {
    when "../../../../../nw:network-types/tet:te-topology/"
       + "otntopo:otn-topology" {
      description "OTN TE bandwidth.";
    }
    description "OTN bandwidth.";
    case otn {
      uses otn-types:otn-link-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/"
       + "otntopo:otn-topology" {
      description "OTN TE bandwidth.";
    }
    description "OTN bandwidth.";
    case otn {
      uses otn-types:otn-link-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/"
       + "otntopo:otn-topology" {
      description "OTN TE bandwidth.";
    }
*/
    description "OTN bandwidth.";
    case otn {
      uses otn-types:otn-path-bandwidth;
    }



Zheng, et al.           Expires February 24, 2019              [Page 29]


Internet-Draft           OTN Topology YANG Model             August 2018


  }

  /* Augment maximum bandwidth of TE link template */
  augment "/nw:networks/tet:te/tet:templates/"
        + "tet:link-template/tet:te-link-attributes/"
        + "tet:max-link-bandwidth/"
        + "tet:te-bandwidth/tet:technology" {
/*
    when "../../../../../nw:network-types/tet:te-topology/"
        + "otntopo:otn-topology" {
      description "OTN TE bandwidth.";
    }
*/
    description "OTN bandwidth.";
    case otn {
      uses otn-types:otn-link-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/"
        + "otntopo:otn-topology" {
      description "OTN TE bandwidth.";
    }
*/
    description "OTN bandwidth.";
    case otn {
      uses otn-types:otn-link-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/"
        + "otntopo:otn-topology" {
      description "OTN TE bandwidth.";
    }
*/
    description "OTN bandwidth.";



Zheng, et al.           Expires February 24, 2019              [Page 30]


Internet-Draft           OTN Topology YANG Model             August 2018


    case otn {
      uses otn-types:otn-link-bandwidth;
    }
  }

  /*
   * Augment TE label.
   */

  /* Augment label restrictions of connectivity-matrices */
  augment "/nw:networks/nw:network/nw:node/tet:te/"
        + "tet:te-node-attributes/tet:connectivity-matrices/"
        + "tet:label-restrictions/tet:label-restriction" {
    when "../../../../../../nw:network-types/tet:te-topology/"
       + "otntopo:otn-topology" {
      description "Augment OTN TE label";
    }
    description "OTN label restriction.";
    uses otn-types:otn-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/"
       + "otntopo:otn-topology" {
      description "Augment OTN TE label";
    }
    description "OTN label.";
    case otn {
      uses otn-types:otn-link-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/"
       + "otntopo:otn-topology" {
      description "Augment OTN TE label";
    }
    description "OTN label.";
    case otn {
      uses otn-types:otn-link-label;



Zheng, et al.           Expires February 24, 2019              [Page 31]


Internet-Draft           OTN Topology YANG Model             August 2018


    }
  }

  /* 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/"
       + "otntopo:otn-topology" {
      description "Augment OTN TE label";
    }
    description "OTN label.";
    case otn {
      uses otn-types:otn-path-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/"
       + "otntopo:otn-topology" {
      description "Augment OTN TE label";
    }
    description "OTN label.";
    case otn {
      uses otn-types:otn-path-label;
    }
  }

  /* Augment label hop of route-exclude of connectivity-matrices */
  augment "/nw:networks/nw:network/nw:node/tet:te/"
        + "tet:te-node-attributes/tet:connectivity-matrices/"
        + "tet:optimizations/tet:algorithm/tet:metric/"
        + "tet:optimization-metric/"
        + "tet:explicit-route-exclude-objects/"
        + "tet:route-object-exclude-object/"
        + "tet:type/tet:label/tet:label-hop/"
        + "tet:te-label/tet:technology" {
    when "../../../../../../../../../../"
       + "nw:network-types/tet:te-topology/"
       + "otntopo:otn-topology" {



Zheng, et al.           Expires February 24, 2019              [Page 32]


Internet-Draft           OTN Topology YANG Model             August 2018


      description "Augment OTN TE label";
    }
    description "OTN label.";
    case otn {
      uses otn-types:otn-path-label;
    }
  }

  /* Augment label hop of route-include of connectivity-matrices (added) */
  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/"
       + "otntopo:otn-topology" {
      description "Augment OTN TE label";
    }
    description "OTN label.";
    case otn {
      uses otn-types:otn-path-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/"
       + "otntopo:otn-topology" {
      description "Augment OTN TE label";
    }
    description "OTN label.";
    case otn {
      uses otn-types:otn-path-label;
    }
  }

  /* Augment ingress label restrictions of connectivity-matrix */
  augment "/nw:networks/nw:network/nw:node/tet:te/"
        + "tet:te-node-attributes/tet:connectivity-matrices/"



Zheng, et al.           Expires February 24, 2019              [Page 33]


Internet-Draft           OTN Topology YANG Model             August 2018


        + "tet:connectivity-matrix/tet:from/"
        + "tet:label-restrictions/tet:label-restriction" {
    when "../../../../../../../../nw:network-types/tet:te-topology/"
       + "otntopo:otn-topology" {
      description "Augment OTN TE label";
    }
    description "OTN label.";
    uses otn-types:otn-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/"
       + "otntopo:otn-topology" {
      description "Augment OTN TE label";
    }
    description "OTN label.";
    case otn {
      uses otn-types:otn-link-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/"
       + "otntopo:otn-topology" {
      description "Augment OTN TE label";
    }
    description "OTN label.";
    case otn {
      uses otn-types:otn-link-label;
    }
  }

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



Zheng, et al.           Expires February 24, 2019              [Page 34]


Internet-Draft           OTN Topology YANG Model             August 2018


        + "tet:label-restrictions/tet:label-restriction" {
    when "../../../../../../../../nw:network-types/tet:te-topology/"
       + "otntopo:otn-topology" {
      description "Augment OTN TE label";
    }
    description "OTN label.";
    uses otn-types:otn-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/"
       + "otntopo:otn-topology" {
      description "Augment OTN TE label";
    }
    description "OTN label.";
    case otn {
      uses otn-types:otn-link-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/"
       + "otntopo:otn-topology" {
      description "Augment OTN TE label";
    }
    description "OTN label.";
    case otn {
      uses otn-types:otn-link-label;
    }
  }

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



Zheng, et al.           Expires February 24, 2019              [Page 35]


Internet-Draft           OTN Topology YANG Model             August 2018


        + "tet:type/tet:label/tet:label-hop/"
        + "tet:te-label/tet:technology" {
    when "../../../../../../../../../../"
       + "nw:network-types/tet:te-topology/"
       + "otntopo:otn-topology" {
      description "Augment OTN TE label";
    }
    description "OTN label.";
    case otn {
      uses otn-types:otn-path-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/"
       + "otntopo:otn-topology" {
      description "Augment OTN TE label";
    }
    description "OTN label.";
    case otn {
      uses otn-types:otn-path-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/"
       + "otntopo:otn-topology" {
      description "Augment OTN TE label";
    }
    description "OTN label.";
    case otn {
      uses otn-types:otn-path-label;
    }



Zheng, et al.           Expires February 24, 2019              [Page 36]


Internet-Draft           OTN Topology YANG Model             August 2018


  }

  /* 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/"
       + "otntopo:otn-topology" {
      description "Augment OTN TE label";
    }
    description "OTN label.";
    case otn {
      uses otn-types:otn-path-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/"
       + "otntopo:otn-topology" {
      description "Augment OTN TE label";
    }
    description "OTN label.";
    case otn {
      uses otn-types:otn-path-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/"
       + "otntopo:otn-topology" {
      description "Augment OTN TE label";
    }
    description "OTN label.";



Zheng, et al.           Expires February 24, 2019              [Page 37]


Internet-Draft           OTN Topology YANG Model             August 2018


    uses otn-types:otn-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/"
       + "otntopo:otn-topology" {
      description "Augment OTN TE label";
    }
    description "OTN label.";
    case otn {
      uses otn-types:otn-link-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/"
       + "otntopo:otn-topology" {
      description "Augment OTN TE label";
    }
    description "OTN label.";
    case otn {
      uses otn-types:otn-link-label;
    }
  }

  /* 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/"
       + "otntopo:otn-topology" {
      description "Augment OTN TE label";
    }
    description "OTN label.";
    case otn {
      uses otn-types:otn-path-label;



Zheng, et al.           Expires February 24, 2019              [Page 38]


Internet-Draft           OTN Topology YANG Model             August 2018


    }
  }

  /* 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/"
       + "otntopo:otn-topology" {
      description "Augment OTN TE label";
    }
    description "OTN label.";
    case otn {
      uses otn-types:otn-path-label;
    }
  }

  /* Augment label hop of route-exclude of connectivity-matrices information-source */
  augment "/nw:networks/nw:network/nw:node/tet:te/"
        + "tet:information-source-entry/tet:connectivity-matrices/"
        + "tet:optimizations/tet:algorithm/tet:metric/"
        + "tet:optimization-metric/"
        + "tet:explicit-route-exclude-objects/"
        + "tet:route-object-exclude-object/tet:type/"
        + "tet:label/tet:label-hop/tet:te-label/tet:technology" {
    when "../../../../../../../../../../"
       + "nw:network-types/tet:te-topology/"
       + "otntopo:otn-topology" {
      description "Augment OTN TE label";
    }
    description "OTN label.";
    case otn {
      uses otn-types:otn-path-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/"



Zheng, et al.           Expires February 24, 2019              [Page 39]


Internet-Draft           OTN Topology YANG Model             August 2018


       + "otntopo:otn-topology" {
      description "Augment OTN TE label";
    }
    description "OTN label.";
    case otn {
      uses otn-types:otn-path-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/"
       + "otntopo:otn-topology" {
      description "Augment OTN TE label";
    }
    description "OTN label.";
    case otn {
      uses otn-types:otn-path-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/"
       + "otntopo:otn-topology" {
      description "Augment OTN TE label";
    }
    description "OTN label.";
    uses otn-types:otn-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/"
       + "otntopo:otn-topology" {



Zheng, et al.           Expires February 24, 2019              [Page 40]


Internet-Draft           OTN Topology YANG Model             August 2018


      description "Augment OTN TE label";
    }
    description "OTN label.";
    case otn {
      uses otn-types:otn-link-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/"
       + "otntopo:otn-topology" {
      description "Augment OTN TE label";
    }
    description "OTN label.";
    case otn {
      uses otn-types:otn-link-label;
    }
  }

  /* 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/"
       + "otntopo:otn-topology" {
      description "Augment OTN TE label";
    }
    description "OTN label.";
    uses otn-types:otn-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/"
       + "otntopo:otn-topology" {
      description "Augment OTN TE label";



Zheng, et al.           Expires February 24, 2019              [Page 41]


Internet-Draft           OTN Topology YANG Model             August 2018


    }
    description "OTN label.";
    case otn {
      uses otn-types:otn-link-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/"
       + "otntopo:otn-topology" {
      description "Augment OTN TE label";
    }
    description "OTN label.";
    case otn {
      uses otn-types:otn-link-label;
    }
  }

  /* Augment label hop of underlay primary path of connectivity-matrix information-source */
  augment "/nw:networks/nw:network/nw:node/tet:te/"
        + "tet:information-source-entry/tet:connectivity-matrices/"
        + "tet:connectivity-matrix/"
        + "tet:underlay/tet:primary-path/tet:path-element/tet:type/"
        + "tet:label/tet:label-hop/tet:te-label/tet:technology" {
    when "../../../../../../../../../../"
       + "nw:network-types/tet:te-topology/"
       + "otntopo:otn-topology" {
      description "Augment OTN TE label";
    }
    description "OTN label.";
    case otn {
      uses otn-types:otn-path-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 "../../../../../../../../../../"



Zheng, et al.           Expires February 24, 2019              [Page 42]


Internet-Draft           OTN Topology YANG Model             August 2018


       + "nw:network-types/tet:te-topology/"
       + "otntopo:otn-topology" {
      description "Augment OTN TE label";
    }
    description "OTN label.";
    case otn {
      uses otn-types:otn-path-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/"
       + "otntopo:otn-topology" {
      description "Augment OTN TE label";
    }
    description "OTN label.";
    case otn {
      uses otn-types:otn-path-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/"
       + "otntopo:otn-topology" {
      description "Augment OTN TE label";
    }
    description "OTN label.";
    case otn {
      uses otn-types:otn-path-label;
    }



Zheng, et al.           Expires February 24, 2019              [Page 43]


Internet-Draft           OTN Topology YANG Model             August 2018


  }

  /* 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/"
       + "otntopo:otn-topology" {
      description "Augment OTN TE label";
    }
    description "OTN label.";
    case otn {
      uses otn-types:otn-path-label;
    }
  }
  /* Augment label restrictions of local-link-connectivities */
  augment "/nw:networks/nw:network/nw:node/tet:te/"
        + "tet:tunnel-termination-point/"
        + "tet:local-link-connectivities/"
        + "tet:label-restrictions/tet:label-restriction" {
    when "../../../../../../nw:network-types/tet:te-topology/"
       + "otntopo:otn-topology" {
      description "Augment OTN TE label";
    }
    description "OTN label.";
    uses otn-types:otn-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/"
       + "otntopo:otn-topology" {
      description "Augment OTN TE label";
    }
    description "OTN label.";
    case otn {
      uses otn-types:otn-link-label;
    }
  }




Zheng, et al.           Expires February 24, 2019              [Page 44]


Internet-Draft           OTN Topology YANG Model             August 2018


  /* 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/"
       + "otntopo:otn-topology" {
      description "Augment OTN TE label";
    }
    description "OTN label.";
    case otn {
      uses otn-types:otn-link-label;
    }
  }

  /* 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/"
       + "otntopo:otn-topology" {
      description "Augment OTN TE label";
    }
    description "OTN label.";
    case otn {
      uses otn-types:otn-path-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/"
       + "otntopo:otn-topology" {
      description "Augment OTN TE label";
    }
    description "OTN label.";
    case otn {
      uses otn-types:otn-path-label;
    }



Zheng, et al.           Expires February 24, 2019              [Page 45]


Internet-Draft           OTN Topology YANG Model             August 2018


  }

  /* Augment label hop of route-exclude of local-link-connectivities */
  augment "/nw:networks/nw:network/nw:node/tet:te/"
        + "tet:tunnel-termination-point/"
        + "tet:local-link-connectivities/"
        + "tet:optimizations/tet:algorithm/tet:metric/"
        + "tet:optimization-metric/"
        + "tet:explicit-route-exclude-objects/"
        + "tet:route-object-exclude-object/tet:type/"
        + "tet:label/tet:label-hop/tet:te-label/tet:technology" {
    when "../../../../../../../../../../"
       + "nw:network-types/tet:te-topology/"
       + "otntopo:otn-topology" {
      description "Augment OTN TE label";
    }
    description "OTN label.";
    case otn {
      uses otn-types:otn-path-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/"
       + "otntopo:otn-topology" {
      description "Augment OTN TE label";
    }
    description "OTN label.";
    case otn {
      uses otn-types:otn-path-label;
    }
  }

  /* Augment label hop of path-route of local-link-connectivities */
  augment "/nw:networks/nw:network/nw:node/tet:te/"
        + "tet:tunnel-termination-point/"
        + "tet:local-link-connectivities/"
        + "tet:path-properties/tet:path-route-objects/"
        + "tet:path-route-object/tet:type/"



Zheng, et al.           Expires February 24, 2019              [Page 46]


Internet-Draft           OTN Topology YANG Model             August 2018


        + "tet:label/tet:label-hop/tet:te-label/tet:technology" {
    when "../../../../../../../../../"
       + "nw:network-types/tet:te-topology/"
       + "otntopo:otn-topology" {
      description "Augment OTN TE label";
    }
    description "OTN label.";
    case otn {
      uses otn-types:otn-path-label;
    }
  }

  /* Augment label restrictions 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:label-restrictions/tet:label-restriction" {
    when "../../../../../../../nw:network-types/tet:te-topology/"
       + "otntopo:otn-topology" {
      description "Augment OTN TE label";
    }
    description "OTN label.";
    uses otn-types:otn-label-restriction;
  }

  /* Augment label restrictions start 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:label-restrictions/tet:label-restriction/"
        + "tet:label-start/tet:te-label/tet:technology" {
    when "../../../../../../../../../"
       + "nw:network-types/tet:te-topology/"
       + "otntopo:otn-topology" {
      description "Augment OTN TE label";
    }
    description "OTN label.";
    case otn {
      uses otn-types:otn-link-label;
    }
  }

  /* Augment label restrictions end of local-link-connectivity (LLC) */
  augment "/nw:networks/nw:network/nw:node/tet:te/"
        + "tet:tunnel-termination-point/"
        + "tet:local-link-connectivities/"



Zheng, et al.           Expires February 24, 2019              [Page 47]


Internet-Draft           OTN Topology YANG Model             August 2018


        + "tet:local-link-connectivity/"
        + "tet:label-restrictions/tet:label-restriction/"
        + "tet:label-end/tet:te-label/tet:technology" {
    when "../../../../../../../../../"
       + "nw:network-types/tet:te-topology/"
       + "otntopo:otn-topology" {
      description "Augment OTN TE label";
    }
    description "OTN label.";
    case otn {
      uses otn-types:otn-link-label;
    }
  }

  /* Augment label hop of underlay primary 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:primary-path/tet:path-element/tet:type/"
        + "tet:label/tet:label-hop/tet:te-label/tet:technology" {
    when "../../../../../../../../../../"
       + "nw:network-types/tet:te-topology/"
       + "otntopo:otn-topology" {
      description "Augment OTN TE label";
    }
    description "OTN label.";
    case otn {
      uses otn-types:otn-path-label;
    }
  }

  /* Augment label hop of underlay backup path of local-link-connectivity (LLC) */
  augment "/nw:networks/nw:network/nw:node/tet:te/"
        + "tet:tunnel-termination-point/"
        + "tet:local-link-connectivities/"
        + "tet:local-link-connectivity/"
        + "tet:underlay/tet:backup-path/tet:path-element/tet:type/"
        + "tet:label/tet:label-hop/tet:te-label/tet:technology" {
    when "../../../../../../../../../../"
       + "nw:network-types/tet:te-topology/"
       + "otntopo:otn-topology" {
      description "Augment OTN TE label";
    }
    description "OTN label.";
    case otn {
      uses otn-types:otn-path-label;
    }



Zheng, et al.           Expires February 24, 2019              [Page 48]


Internet-Draft           OTN Topology YANG Model             August 2018


  }

  /* 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/"
       + "otntopo:otn-topology" {
      description "Augment OTN TE label";
    }
    description "OTN label.";
    case otn {
      uses otn-types:otn-path-label;
    }
  }

  /* Augment label hop of route-include of local-link-connectivity (LLC) */
  augment "/nw:networks/nw:network/nw:node/tet:te/"
        + "tet:tunnel-termination-point/"
        + "tet:local-link-connectivities/"
        + "tet:local-link-connectivity/"
        + "tet:optimizations/tet:algorithm/tet:metric/"
        + "tet:optimization-metric/"
        + "tet:explicit-route-include-objects/"
        + "tet:route-object-include-object/tet:type/"
        + "tet:label/tet:label-hop/tet:te-label/tet:technology" {
    when "../../../../../../../../../../../"
       + "nw:network-types/tet:te-topology/"
       + "otntopo:otn-topology" {
      description "Augment OTN TE label";
    }
    description "OTN label.";
    case otn {
      uses otn-types:otn-path-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/"



Zheng, et al.           Expires February 24, 2019              [Page 49]


Internet-Draft           OTN Topology YANG Model             August 2018


        + "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/"
       + "otntopo:otn-topology" {
      description "Augment OTN TE label";
    }
    description "OTN label.";
    case otn {
      uses otn-types:otn-path-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/"
       + "otntopo:otn-topology" {
      description "Augment OTN TE label";
    }
    description "OTN label.";
    case otn {
      uses otn-types:otn-path-label;
    }
  }

  /* Augment label hop of underlay backup path of TE link */
  augment "/nw:networks/nw:network/nt:link/tet:te/"
        + "tet:te-link-attributes/"
        + "tet:underlay/tet:backup-path/tet:path-element/tet:type/"
        + "tet:label/tet:label-hop/tet:te-label/tet:technology" {
    when "../../../../../../../../"
       + "nw:network-types/tet:te-topology/"
       + "otntopo:otn-topology" {
      description "Augment OTN TE label";
    }
    description "OTN label.";
    case otn {
      uses otn-types:otn-path-label;
    }
  }

  /* Augment label restrictions of TE link */



Zheng, et al.           Expires February 24, 2019              [Page 50]


Internet-Draft           OTN Topology YANG Model             August 2018


  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/"
       + "otntopo:otn-topology" {
      description "Augment OTN TE label";
    }
    description "OTN label.";
    uses otn-types:otn-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/"
       + "otntopo:otn-topology" {
      description "Augment OTN TE label";
    }
    description "OTN label.";
    case otn {
      uses otn-types:otn-link-label;
    }
  }

  /* Augment label restrictions end of TE link */
  augment "/nw:networks/nw:network/nt:link/tet:te/"
        + "tet:te-link-attributes/"
        + "tet:label-restrictions/tet:label-restriction/"
        + "tet:label-end/tet:te-label/tet:technology" {
    when "../../../../../../../nw:network-types/tet:te-topology/"
       + "otntopo:otn-topology" {
      description "Augment OTN TE label";
    }
    description "OTN label.";
    case otn {
      uses otn-types:otn-link-label;
    }
  }

  /* 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/"
       + "otntopo:otn-topology" {
      description "Augment OTN TE label";



Zheng, et al.           Expires February 24, 2019              [Page 51]


Internet-Draft           OTN Topology YANG Model             August 2018


    }
    description "OTN label.";
    uses otn-types:otn-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/"
       + "otntopo:otn-topology" {
      description "Augment OTN TE label";
    }
    description "OTN label.";
    case otn {
      uses otn-types:otn-link-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/"
       + "otntopo:otn-topology" {
      description "Augment OTN TE label";
    }
    description "OTN label.";
    case otn {
      uses otn-types:otn-link-label;
    }
  }

  /* 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/"
       + "otntopo:otn-topology" {
                         description "Augment OTN TE label";
    }
*/
    description "OTN label.";
    case otn {



Zheng, et al.           Expires February 24, 2019              [Page 52]


Internet-Draft           OTN Topology YANG Model             August 2018


      uses otn-types:otn-path-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/"
        + "otntopo:otn-topology" {
      description "Augment OTN TE label";
    }
*/
    description "OTN label.";
    case otn {
      uses otn-types:otn-path-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/"
        + "otntopo:otn-topology" {
      description "Augment OTN TE label";
    }
*/
    description "OTN label.";
    uses otn-types:otn-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/"
        + "otntopo:otn-topology" {
      description "Augment OTN TE label";
    }
*/
    description "OTN label.";
    case otn {



Zheng, et al.           Expires February 24, 2019              [Page 53]


Internet-Draft           OTN Topology YANG Model             August 2018


      uses otn-types:otn-link-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/"
        + "otntopo:otn-topology" {
      description "Augment OTN TE label";
    }
*/
    description "OTN label.";
    case otn {
      uses otn-types:otn-link-label;
    }
  }
}




<CODE ENDS>


5.  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-otn-topology Registrant Contact: The
   IESG XML: N/A; the requested URI is an XML namespace.  This document
   registers a YANG module in the YANG Module Names registry [RFC7950].
   name: ietf-otn-topology namespace: urn:ietf:params:xml:ns:yang:ietf-
   otn-topology prefix: otntopo reference: RFC XXXX

6.  Security Considerations

   The YANG module specified in this document defines a schema for data
   that is designed to be accessed via network management protocols such
   as NETCONF [RFC6241] or RESTCONF [RFC8040].  The lowest NETCONF layer
   is the secure transport layer, and the mandatory-to-implement secure
   transport is Secure Shell (SSH) [RFC6242].  The lowest RESTCONF layer
   is HTTPS, and the mandatory-to-implement secure transport is TLS
   [RFC5246].




Zheng, et al.           Expires February 24, 2019              [Page 54]


Internet-Draft           OTN Topology YANG Model             August 2018


   The NETCONF access control model [RFC6536] provides the means to
   restrict access for particular NETCONF or RESTCONF users to a
   preconfigured subset of all available NETCONF or RESTCONF protocol
   operations and content.

   There are a number of data nodes defined in this YANG module that 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., edit-config)
   to these data nodes without proper protection can have a negative
   effect on network operations.  These are the subtrees and data nodes
   and their sensitivity/vulnerability:

   /nw:networks/nw:network/nw:network-types/tet:te-topology
   /nw:networks/nw:network/nt:link/tet:te/tet:te-link-attributes
   /nw:networks/nw:network/nw:node/nt:termination-point/tet:te
   /nw:networks/nw:network/.../tet:te-bandwidth/tet:technology
   /nw:networks/nw:network/nw:node/tet:te/.../tet:label-restriction
   /nw:networks/nw:network/nw:node/.../tet:te-label/tet:technology
   Editors note: we are using simplified description by folding similar
   branches to avoid repetation.

   Some of the readable data nodes in this YANG module may be considered
   sensitive or vulnerable in some network environments.  It is thus
   important to control read access (e.g., via get, get-config, or
   notification) to these data nodes.  These are the subtrees and data
   nodes and their sensitivity/vulnerability:

   Editors note: Currently there is no such data nodes, temporarily kept
   for review.

7.  Acknowledgements

   We would like to thank Igor Bryskin, Zhe Liu, Zheyu Fan and Daniele
   Ceccarelli for their comments and discussions.

8.  Contributors

   Baoquan Rao
   Huawei Technologies
   Email: raobaoquan@huawei.com

   Xian Zhang
   Huawei Technologies
   Email: zhang.xian@huawei.com

   Huub van Helvoort
   Hai Gaoming BV



Zheng, et al.           Expires February 24, 2019              [Page 55]


Internet-Draft           OTN Topology YANG Model             August 2018


   the Netherlands
   Email: huubatwork@gmail.com

   Victor Lopez
   Telefonica
   Email: victor.lopezalvarez@telefonica.com

   Yunbo Li
   China Mobile
   Email: liyunbo@chinamobile.com

   Dieter Beller
   Nokia
   Email: dieter.beller@nokia.com

   Yanlei Zheng
   China Unicom
   Email: zhengyl@dimpt.com

9.  References

9.1.  Normative References

   [I-D.ietf-ccamp-otn-tunnel-model]
              zhenghaomian@huawei.com, z., Guo, A., Busi, I., Sharma,
              A., Rao, R., Belotti, S., Lopezalvarez, V., Li, Y., and Y.
              Xu, "OTN Tunnel YANG Model", draft-ietf-ccamp-otn-tunnel-
              model-04 (work in progress), August 2018.

   [I-D.ietf-teas-yang-te-topo]
              Liu, X., Bryskin, I., Beeram, V., Saad, T., Shah, H., and
              O. Dios, "YANG Data Model for Traffic Engineering (TE)
              Topologies", draft-ietf-teas-yang-te-topo-18 (work in
              progress), June 2018.

   [ITU-T]    ITU-, T., "SERIES G: TRANSMISSION SYSTEMS AND MEDIA,
              DIGITAL SYSTEMS AND NETWORKS; Digital networks; Interfaces
              for the optical transport network", ITU-T Rec. G.709v5 ,
              June 2016.

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

   [RFC5246]  Dierks, T. and E. Rescorla, "The Transport Layer Security
              (TLS) Protocol Version 1.2", RFC 5246,
              DOI 10.17487/RFC5246, August 2008,
              <https://www.rfc-editor.org/info/rfc5246>.



Zheng, et al.           Expires February 24, 2019              [Page 56]


Internet-Draft           OTN Topology YANG Model             August 2018


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

   [RFC6242]  Wasserman, M., "Using the NETCONF Protocol over Secure
              Shell (SSH)", RFC 6242, DOI 10.17487/RFC6242, June 2011,
              <https://www.rfc-editor.org/info/rfc6242>.

   [RFC6536]  Bierman, A. and M. Bjorklund, "Network Configuration
              Protocol (NETCONF) Access Control Model", RFC 6536,
              DOI 10.17487/RFC6536, March 2012,
              <https://www.rfc-editor.org/info/rfc6536>.

   [RFC7138]  Ceccarelli, D., Ed., Zhang, F., Belotti, S., Rao, R., and
              J. Drake, "Traffic Engineering Extensions to OSPF for
              GMPLS Control of Evolving G.709 Optical Transport
              Networks", RFC 7138, DOI 10.17487/RFC7138, March 2014,
              <https://www.rfc-editor.org/info/rfc7138>.

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

   [RFC8342]  Bjorklund, M., Schoenwaelder, J., Shafer, P., Watsen, K.,
              and R. Wilton, "Network Management Datastore Architecture
              (NMDA)", RFC 8342, DOI 10.17487/RFC8342, March 2018,
              <https://www.rfc-editor.org/info/rfc8342>.

   [RFC8345]  Clemm, A., Medved, J., Varga, R., Bahadur, N.,
              Ananthakrishnan, H., and X. Liu, "A YANG Data Model for
              Network Topologies", RFC 8345, DOI 10.17487/RFC8345, March
              2018, <https://www.rfc-editor.org/info/rfc8345>.

9.2.  Informative References

   [I-D.ietf-ccamp-flexigrid-yang]
              Madrid, U., Perdices, D., Lopezalvarez, V., Dios, O.,
              King, D., Lee, Y., and G. Galimberti, "YANG data model for
              Flexi-Grid Optical Networks", draft-ietf-ccamp-flexigrid-
              yang-01 (work in progress), August 2018.






Zheng, et al.           Expires February 24, 2019              [Page 57]


Internet-Draft           OTN Topology YANG Model             August 2018


   [I-D.ietf-ccamp-wson-yang]
              Lee, Y., Dhody, D., Guo, A., Lopezalvarez, V., King, D.,
              Yoon, B., and R. Vilata, "A Yang Data Model for WSON
              Optical Networks", draft-ietf-ccamp-wson-yang-13 (work in
              progress), August 2018.

   [I-D.ietf-teas-actn-yang]
              Lee, Y., zhenghaomian@huawei.com, z., Ceccarelli, D.,
              Yoon, B., Dios, O., Shin, J., and S. Belotti,
              "Applicability of YANG models for Abstraction and Control
              of Traffic Engineered Networks", draft-ietf-teas-actn-
              yang-02 (work in progress), August 2018.

   [RFC7062]  Zhang, F., Ed., Li, D., Li, H., Belotti, S., and D.
              Ceccarelli, "Framework for GMPLS and PCE Control of G.709
              Optical Transport Networks", RFC 7062,
              DOI 10.17487/RFC7062, November 2013,
              <https://www.rfc-editor.org/info/rfc7062>.

   [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
   F3 R&D Center, Huawei Industrial Base, Bantian, Longgang District
   Shenzhen, Guangdong  518129
   P.R.China

   Email: zhenghaomian@huawei.com


   Aihua Guo
   Huawei Technologies
   12007 Sunrise Valley Drive, Suite 325
   Reston, VA  20171
   U.S.A

   Email: aihuaguo@huawei.com










Zheng, et al.           Expires February 24, 2019              [Page 58]


Internet-Draft           OTN Topology YANG Model             August 2018


   Italo Busi
   Huawei Technologies
   HUAWEI TECHNOLOGIES ITALIA Srl Centro Direzionale Milano 2
   Milan, Milan  20090
   Italy

   Email: Italo.Busi@huawei.com


   Anurag Sharma
   Google
   1600 Amphitheatre Parkway
   Mountain View, CA  94043

   Email: ansha@google.com


   Xufeng Liu
   Volta Networks

   Email: xufeng.liu.ietf@gmail.com


   Sergio Belotti
   Nokia

   Email: sergio.belotti@nokia.com


   Yunbin Xu
   CAICT

   Email: xuyunbin@ritt.cn


   Lei Wang
   China Mobile

   Email: wangleiyj@chinamobile.com


   Oscar Gonzalez de Dios
   Telefonica

   Email: oscar.gonzalezdedios@telefonica.com






Zheng, et al.           Expires February 24, 2019              [Page 59]