Skip to main content

A Yang Data Model for WSON Tunnel
draft-ietf-ccamp-wson-tunnel-model-02

The information below is for an old version of the document.
Document Type
This is an older version of an Internet-Draft whose latest revision state is "Replaced".
Authors Young Lee , Dhruv Dhody , Aihua Guo , Victor Lopez , Daniel King , Bin Yeong Yoon , Ricard Vilalta
Last updated 2018-10-18
Replaces draft-lee-ccamp-wson-tunnel-model
Replaced by draft-ietf-ccamp-wdm-tunnel-yang
RFC stream Internet Engineering Task Force (IETF)
Formats
Additional resources Mailing list discussion
Stream WG state WG Document
Document shepherd (None)
IESG IESG state I-D Exists
Consensus boilerplate Unknown
Telechat date (None)
Responsible AD (None)
Send notices to (None)
draft-ietf-ccamp-wson-tunnel-model-02
CCAMP Working Group                                              Y. Lee
Internet Draft                                                 D. Dhody
Intended status: Standard Track                                  A. Guo
Expires: April 19, 2019                                          Huawei

                                                               V. Lopez
                                                             Telefonica

                                                                D. King
                                                        U. of Lancaster

                                                                B. Yoon
                                                                    ETRI

                                                              R. Vilalta
                                                                    CTTC

                                                       October 18, 2018

                     A Yang Data Model for WSON Tunnel

                   draft-ietf-ccamp-wson-tunnel-model-02

Abstract

   This document provides a YANG data model for WSON TE tunnel.

Status of this Memo

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

   Internet-Drafts are working documents of the Internet Engineering
   Task Force (IETF), its areas, and its working groups.  Note that
   other groups may also distribute working documents as Internet-
   Drafts.

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

   The list of current Internet-Drafts can be accessed at
   http://www.ietf.org/ietf/1id-abstracts.txt

   The list of Internet-Draft Shadow Directories can be accessed at
   http://www.ietf.org/shadow.html

   This Internet-Draft will expire on April 19, 2019.
Lee, et al.               Expires April 2019                   [Page 1]
Internet-Draft            WSON Tunnel Model                October 2018

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
   (http://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
      1.1. Terminology...............................................3
      1.2. Tree diagram..............................................3
      1.3. Prefixes in Data Node Names...............................3
   2. YANG Model (Tree Structure)....................................4
   3. TE Tunnel Model for WSON......................................20
   4. Security Considerations.......................................44
   5. IANA Considerations...........................................44
   6. Acknowledgments...............................................45
   7. References....................................................46
      7.1. Normative References.....................................46
      7.2. Informative References...................................46
   8. Contributors..................................................47
   Authors' Addresses...............................................47

1. Introduction

   This document provides a YANG data model for WSON tunnel model. The
   YANG model described in this document is a WSON technology-specific
   Yang Tunnel model based on the information model developed in
   [RFC7446] and the two encoding documents [RFC7581] and [RFC7579]
   that developed protocol independent encodings based on [RFC7446].

   This document augments the generic TE tunnel model [TE-Tunnel].

Lee, et al.               Expires April 2019                   [Page 2]
Internet-Draft            WSON Tunnel Model                October 2018

1.1. Terminology

   Refer to [RFC7446] and [RFC7581] for the key terms used in this
   document.

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

   o client

   o server

   o augment

   o data model

   o data node

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

   o  configuration data

   o  state data

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

1.2. Tree diagram

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

1.3. Prefixes in Data Node Names

   In this document, names of data nodes and other data model objects
   are prefixed using the standard prefix associated with the
   corresponding YANG imported modules, as shown in Table 1.

      +-------------+--------------------------+-----------------+
      | Prefix      | YANG module              | Reference       |
      +-------------+--------------------------+-----------------+
      | layer0-types| ietf-layer0-types        | [WSON-TOPO]     |
      | wson-tunnel | ietf-wson-tunnel         | [RFCXXXX]       |
      | tepc        | ietf-te-path-computation | [TE-PC]         |
      | te          | ietf-te                  | [TE-Tunnel]     |

Lee, et al.               Expires April 2019                   [Page 3]
Internet-Draft            WSON Tunnel Model                October 2018

      | otn-types   | ietf-otn-types           | [OTN-TOPO]      |
      +-------------+--------------------------+-----------------+

             Table 1: Prefixes and corresponding YANG modules

   Note: The RFC Editor will replace XXXX with the number assigned to
   the RFC once this draft becomes an RFC.

2. YANG Model (Tree Structure)

module: ietf-wson-tunnel
  augment /te:te/te:tunnels/te:tunnel:
    +--rw src-client-signal?   identityref
    +--rw dst-client-signal?   identityref
    +--rw fec-type?            identityref
    +--rw termination-type?    identityref
    +--rw bit-stuffing?        boolean
  augment /te:te/te:globals/te:named-path-constraints/te:named-path-
constraint/te:te-bandwidth/te:technology:
    +--:(wson)
       +--rw bandwidth-type?   identityref
  augment /te:te/te:tunnels/te:tunnel/te:te-bandwidth/te:technology:
    +--:(wson)
       +--rw bandwidth-type?   identityref
  augment /te:te/te:tunnels/te:tunnel/te:p2p-primary-paths/te:p2p-primary-
path/te:te-bandwidth/te:technology:
    +--:(wson)
       +--rw bandwidth-type?   identityref
  augment /te:te/te:tunnels/te:tunnel/te:p2p-primary-paths/te:p2p-primary-
path/te:p2p-reverse-primary-path/te:te-bandwidth/te:technology:
    +--:(wson)
       +--rw bandwidth-type?   identityref
  augment /te:te/te:tunnels/te:tunnel/te:p2p-secondary-paths/te:p2p-secondary-
path/te:te-bandwidth/te:technology:
    +--:(wson)
       +--rw bandwidth-type?   identityref
  augment /te:te/te:globals/te:named-path-constraints/te:named-path-
constraint/te:explicit-route-objects/te:route-object-exclude-
always/te:type/te:label/te:label-hop/te:te-label/te:technology:
    +--:(wson)
       +--rw (grid-type)?
          +--:(dwdm)

Lee, et al.               Expires April 2019                   [Page 4]
Internet-Draft            WSON Tunnel Model                October 2018

          |  +--rw (single-or-super-channel)?
          |     +--:(single)
          |     |  +--rw channel-freq?          frequency-thz
          |     +--:(super)
          |        +--rw subcarrier-channels*   frequency-thz
          +--:(cwdm)
             +--rw channel-wavelength?    uint32
  augment /te:te/te:globals/te:named-path-constraints/te:named-path-
constraint/te:explicit-route-objects/te:route-object-include-
exclude/te:type/te:label/te:label-hop/te:te-label/te:technology:
    +--:(wson)
       +--rw (grid-type)?
          +--:(dwdm)
          |  +--rw (single-or-super-channel)?
          |     +--:(single)
          |     |  +--rw channel-freq?          frequency-thz
          |     +--:(super)
          |        +--rw subcarrier-channels*   frequency-thz
          +--:(cwdm)
             +--rw channel-wavelength?    uint32
  augment /te:te/te:globals/te:named-path-constraints/te:named-path-
constraint/te:path-in-segment/te:forward/te:label-restrictions/te:label-
restriction:
    +--rw grid-type?   identityref
    +--rw priority?    uint8
  augment /te:te/te:globals/te:named-path-constraints/te:named-path-
constraint/te:path-in-segment/te:forward/te:label-restrictions/te:label-
restriction/te:label-start/te:te-label/te:technology:
    +--:(wson)
       +--rw (grid-type)?
          +--:(dwdm)
          |  +--rw channel-freq?         frequency-thz
          +--:(cwdm)
             +--rw channel-wavelength?   uint32
  augment /te:te/te:globals/te:named-path-constraints/te:named-path-
constraint/te:path-in-segment/te:forward/te:label-restrictions/te:label-
restriction/te:label-end/te:te-label/te:technology:
    +--:(wson)
       +--rw (grid-type)?
          +--:(dwdm)
          |  +--rw channel-freq?         frequency-thz
          +--:(cwdm)
             +--rw channel-wavelength?   uint32

Lee, et al.               Expires April 2019                   [Page 5]
Internet-Draft            WSON Tunnel Model                October 2018

  augment /te:te/te:globals/te:named-path-constraints/te:named-path-
constraint/te:path-in-segment/te:reverse/te:label-restrictions/te:label-
restriction:
    +--rw grid-type?   identityref
    +--rw priority?    uint8
  augment /te:te/te:globals/te:named-path-constraints/te:named-path-
constraint/te:path-in-segment/te:reverse/te:label-restrictions/te:label-
restriction/te:label-start/te:te-label/te:technology:
    +--:(wson)
       +--rw (grid-type)?
          +--:(dwdm)
          |  +--rw channel-freq?         frequency-thz
          +--:(cwdm)
             +--rw channel-wavelength?   uint32
  augment /te:te/te:globals/te:named-path-constraints/te:named-path-
constraint/te:path-in-segment/te:reverse/te:label-restrictions/te:label-
restriction/te:label-end/te:te-label/te:technology:
    +--:(wson)
       +--rw (grid-type)?
          +--:(dwdm)
          |  +--rw channel-freq?         frequency-thz
          +--:(cwdm)
             +--rw channel-wavelength?   uint32
  augment /te:te/te:globals/te:named-path-constraints/te:named-path-
constraint/te:path-out-segment/te:forward/te:label-restrictions/te:label-
restriction:
    +--rw grid-type?   identityref
    +--rw priority?    uint8
  augment /te:te/te:globals/te:named-path-constraints/te:named-path-
constraint/te:path-out-segment/te:forward/te:label-restrictions/te:label-
restriction/te:label-start/te:te-label/te:technology:
    +--:(wson)
       +--rw (grid-type)?
          +--:(dwdm)
          |  +--rw channel-freq?         frequency-thz
          +--:(cwdm)
             +--rw channel-wavelength?   uint32
  augment /te:te/te:globals/te:named-path-constraints/te:named-path-
constraint/te:path-out-segment/te:forward/te:label-restrictions/te:label-
restriction/te:label-end/te:te-label/te:technology:
    +--:(wson)
       +--rw (grid-type)?
          +--:(dwdm)
          |  +--rw channel-freq?         frequency-thz
          +--:(cwdm)

Lee, et al.               Expires April 2019                   [Page 6]
Internet-Draft            WSON Tunnel Model                October 2018

             +--rw channel-wavelength?   uint32
  augment /te:te/te:globals/te:named-path-constraints/te:named-path-
constraint/te:path-out-segment/te:reverse/te:label-restrictions/te:label-
restriction:
    +--rw grid-type?   identityref
    +--rw priority?    uint8
  augment /te:te/te:globals/te:named-path-constraints/te:named-path-
constraint/te:path-out-segment/te:reverse/te:label-restrictions/te:label-
restriction/te:label-start/te:te-label/te:technology:
    +--:(wson)
       +--rw (grid-type)?
          +--:(dwdm)
          |  +--rw channel-freq?         frequency-thz
          +--:(cwdm)
             +--rw channel-wavelength?   uint32
  augment /te:te/te:globals/te:named-path-constraints/te:named-path-
constraint/te:path-out-segment/te:reverse/te:label-restrictions/te:label-
restriction/te:label-end/te:te-label/te:technology:
    +--:(wson)
       +--rw (grid-type)?
          +--:(dwdm)
          |  +--rw channel-freq?         frequency-thz
          +--:(cwdm)
             +--rw channel-wavelength?   uint32
  augment /te:te/te:tunnels/te:tunnel/te:p2p-primary-paths/te:p2p-primary-
path/te:optimizations/te:algorithm/te:metric/te:optimization-
metric/te:explicit-route-exclude-objects/te:route-object-exclude-
object/te:type/te:label/te:label-hop/te:te-label/te:technology:
    +--:(wson)
       +--rw (grid-type)?
          +--:(dwdm)
          |  +--rw (single-or-super-channel)?
          |     +--:(single)
          |     |  +--rw channel-freq?          frequency-thz
          |     +--:(super)
          |        +--rw subcarrier-channels*   frequency-thz
          +--:(cwdm)
             +--rw channel-wavelength?    uint32
  augment /te:te/te:tunnels/te:tunnel/te:p2p-primary-paths/te:p2p-primary-
path/te:optimizations/te:algorithm/te:metric/te:optimization-
metric/te:explicit-route-include-objects/te:route-object-include-
object/te:type/te:label/te:label-hop/te:te-label/te:technology:
    +--:(wson)
       +--rw (grid-type)?
          +--:(dwdm)

Lee, et al.               Expires April 2019                   [Page 7]
Internet-Draft            WSON Tunnel Model                October 2018

          |  +--rw (single-or-super-channel)?
          |     +--:(single)
          |     |  +--rw channel-freq?          frequency-thz
          |     +--:(super)
          |        +--rw subcarrier-channels*   frequency-thz
          +--:(cwdm)
             +--rw channel-wavelength?    uint32
  augment /te:te/te:tunnels/te:tunnel/te:p2p-primary-paths/te:p2p-primary-
path/te:explicit-route-objects/te:route-object-exclude-
always/te:type/te:label/te:label-hop/te:te-label/te:technology:
    +--:(wson)
       +--rw (grid-type)?
          +--:(dwdm)
          |  +--rw (single-or-super-channel)?
          |     +--:(single)
          |     |  +--rw channel-freq?          frequency-thz
          |     +--:(super)
          |        +--rw subcarrier-channels*   frequency-thz
          +--:(cwdm)
             +--rw channel-wavelength?    uint32
  augment /te:te/te:tunnels/te:tunnel/te:p2p-primary-paths/te:p2p-primary-
path/te:explicit-route-objects/te:route-object-include-
exclude/te:type/te:label/te:label-hop/te:te-label/te:technology:
    +--:(wson)
       +--rw (grid-type)?
          +--:(dwdm)
          |  +--rw (single-or-super-channel)?
          |     +--:(single)
          |     |  +--rw channel-freq?          frequency-thz
          |     +--:(super)
          |        +--rw subcarrier-channels*   frequency-thz
          +--:(cwdm)
             +--rw channel-wavelength?    uint32
  augment /te:te/te:tunnels/te:tunnel/te:p2p-primary-paths/te:p2p-primary-
path/te:path-in-segment/te:forward/te:label-restrictions/te:label-restriction:
    +--rw grid-type?   identityref
    +--rw priority?    uint8
  augment /te:te/te:tunnels/te:tunnel/te:p2p-primary-paths/te:p2p-primary-
path/te:path-in-segment/te:forward/te:label-restrictions/te:label-
restriction/te:label-start/te:te-label/te:technology:
    +--:(wson)
       +--rw (grid-type)?
          +--:(dwdm)
          |  +--rw channel-freq?         frequency-thz
          +--:(cwdm)

Lee, et al.               Expires April 2019                   [Page 8]
Internet-Draft            WSON Tunnel Model                October 2018

             +--rw channel-wavelength?   uint32
  augment /te:te/te:tunnels/te:tunnel/te:p2p-primary-paths/te:p2p-primary-
path/te:path-in-segment/te:forward/te:label-restrictions/te:label-
restriction/te:label-end/te:te-label/te:technology:
    +--:(wson)
       +--rw (grid-type)?
          +--:(dwdm)
          |  +--rw channel-freq?         frequency-thz
          +--:(cwdm)
             +--rw channel-wavelength?   uint32
  augment /te:te/te:tunnels/te:tunnel/te:p2p-primary-paths/te:p2p-primary-
path/te:path-in-segment/te:reverse/te:label-restrictions/te:label-restriction:
    +--rw grid-type?   identityref
    +--rw priority?    uint8
  augment /te:te/te:tunnels/te:tunnel/te:p2p-primary-paths/te:p2p-primary-
path/te:path-in-segment/te:reverse/te:label-restrictions/te:label-
restriction/te:label-start/te:te-label/te:technology:
    +--:(wson)
       +--rw (grid-type)?
          +--:(dwdm)
          |  +--rw channel-freq?         frequency-thz
          +--:(cwdm)
             +--rw channel-wavelength?   uint32
  augment /te:te/te:tunnels/te:tunnel/te:p2p-primary-paths/te:p2p-primary-
path/te:path-in-segment/te:reverse/te:label-restrictions/te:label-
restriction/te:label-end/te:te-label/te:technology:
    +--:(wson)
       +--rw (grid-type)?
          +--:(dwdm)
          |  +--rw channel-freq?         frequency-thz
          +--:(cwdm)
             +--rw channel-wavelength?   uint32
  augment /te:te/te:tunnels/te:tunnel/te:p2p-primary-paths/te:p2p-primary-
path/te:path-out-segment/te:forward/te:label-restrictions/te:label-
restriction:
    +--rw grid-type?   identityref
    +--rw priority?    uint8
  augment /te:te/te:tunnels/te:tunnel/te:p2p-primary-paths/te:p2p-primary-
path/te:path-out-segment/te:forward/te:label-restrictions/te:label-
restriction/te:label-start/te:te-label/te:technology:
    +--:(wson)
       +--rw (grid-type)?
          +--:(dwdm)
          |  +--rw channel-freq?         frequency-thz
          +--:(cwdm)

Lee, et al.               Expires April 2019                   [Page 9]
Internet-Draft            WSON Tunnel Model                October 2018

             +--rw channel-wavelength?   uint32
  augment /te:te/te:tunnels/te:tunnel/te:p2p-primary-paths/te:p2p-primary-
path/te:path-out-segment/te:forward/te:label-restrictions/te:label-
restriction/te:label-end/te:te-label/te:technology:
    +--:(wson)
       +--rw (grid-type)?
          +--:(dwdm)
          |  +--rw channel-freq?         frequency-thz
          +--:(cwdm)
             +--rw channel-wavelength?   uint32
  augment /te:te/te:tunnels/te:tunnel/te:p2p-primary-paths/te:p2p-primary-
path/te:path-out-segment/te:reverse/te:label-restrictions/te:label-
restriction:
    +--rw grid-type?   identityref
    +--rw priority?    uint8
  augment /te:te/te:tunnels/te:tunnel/te:p2p-primary-paths/te:p2p-primary-
path/te:path-out-segment/te:reverse/te:label-restrictions/te:label-
restriction/te:label-start/te:te-label/te:technology:
    +--:(wson)
       +--rw (grid-type)?
          +--:(dwdm)
          |  +--rw channel-freq?         frequency-thz
          +--:(cwdm)
             +--rw channel-wavelength?   uint32
  augment /te:te/te:tunnels/te:tunnel/te:p2p-primary-paths/te:p2p-primary-
path/te:path-out-segment/te:reverse/te:label-restrictions/te:label-
restriction/te:label-end/te:te-label/te:technology:
    +--:(wson)
       +--rw (grid-type)?
          +--:(dwdm)
          |  +--rw channel-freq?         frequency-thz
          +--:(cwdm)
             +--rw channel-wavelength?   uint32
  augment /te:te/te:tunnels/te:tunnel/te:p2p-primary-paths/te:p2p-primary-
path/te:state/te:path-properties/te:path-route-objects/te:path-computed-route-
object/te:state/te:type/te:label/te:label-hop/te:te-label/te:technology:
    +--:(wson)
       +--ro (grid-type)?
          +--:(dwdm)
          |  +--ro (single-or-super-channel)?
          |     +--:(single)
          |     |  +--ro channel-freq?          frequency-thz
          |     +--:(super)
          |        +--ro subcarrier-channels*   frequency-thz
          +--:(cwdm)

Lee, et al.               Expires April 2019                  [Page 10]
Internet-Draft            WSON Tunnel Model                October 2018

             +--ro channel-wavelength?    uint32
  augment /te:te/te:tunnels/te:tunnel/te:p2p-primary-paths/te:p2p-primary-
path/te:state/te:lsps/te:lsp/te:lsp-record-route-subobjects/te:record-route-
subobject/te:type/te:label/te:label-hop/te:te-label/te:technology:
    +--:(wson)
       +--ro (grid-type)?
          +--:(dwdm)
          |  +--ro (single-or-super-channel)?
          |     +--:(single)
          |     |  +--ro channel-freq?          frequency-thz
          |     +--:(super)
          |        +--ro subcarrier-channels*   frequency-thz
          +--:(cwdm)
             +--ro channel-wavelength?    uint32
  augment /te:te/te:tunnels/te:tunnel/te:p2p-primary-paths/te:p2p-primary-
path/te:state/te:lsps/te:lsp/te:path-properties/te:path-route-objects/te:path-
computed-route-object/te:state/te:type/te:label/te:label-hop/te:te-
label/te:technology:
    +--:(wson)
       +--ro (grid-type)?
          +--:(dwdm)
          |  +--ro (single-or-super-channel)?
          |     +--:(single)
          |     |  +--ro channel-freq?          frequency-thz
          |     +--:(super)
          |        +--ro subcarrier-channels*   frequency-thz
          +--:(cwdm)
             +--ro channel-wavelength?    uint32
  augment /te:te/te:tunnels/te:tunnel/te:p2p-primary-paths/te:p2p-primary-
path/te:p2p-reverse-primary-
path/te:optimizations/te:algorithm/te:metric/te:optimization-
metric/te:explicit-route-exclude-objects/te:route-object-exclude-
object/te:type/te:label/te:label-hop/te:te-label/te:technology:
    +--:(wson)
       +--rw (grid-type)?
          +--:(dwdm)
          |  +--rw (single-or-super-channel)?
          |     +--:(single)
          |     |  +--rw channel-freq?          frequency-thz
          |     +--:(super)
          |        +--rw subcarrier-channels*   frequency-thz
          +--:(cwdm)
             +--rw channel-wavelength?    uint32
  augment /te:te/te:tunnels/te:tunnel/te:p2p-primary-paths/te:p2p-primary-
path/te:p2p-reverse-primary-

Lee, et al.               Expires April 2019                  [Page 11]
Internet-Draft            WSON Tunnel Model                October 2018

path/te:optimizations/te:algorithm/te:metric/te:optimization-
metric/te:explicit-route-include-objects/te:route-object-include-
object/te:type/te:label/te:label-hop/te:te-label/te:technology:
    +--:(wson)
       +--rw (grid-type)?
          +--:(dwdm)
          |  +--rw (single-or-super-channel)?
          |     +--:(single)
          |     |  +--rw channel-freq?          frequency-thz
          |     +--:(super)
          |        +--rw subcarrier-channels*   frequency-thz
          +--:(cwdm)
             +--rw channel-wavelength?    uint32
  augment /te:te/te:tunnels/te:tunnel/te:p2p-primary-paths/te:p2p-primary-
path/te:p2p-reverse-primary-path/te:explicit-route-objects/te:route-object-
exclude-always/te:type/te:label/te:label-hop/te:te-label/te:technology:
    +--:(wson)
       +--rw (grid-type)?
          +--:(dwdm)
          |  +--rw (single-or-super-channel)?
          |     +--:(single)
          |     |  +--rw channel-freq?          frequency-thz
          |     +--:(super)
          |        +--rw subcarrier-channels*   frequency-thz
          +--:(cwdm)
             +--rw channel-wavelength?    uint32
  augment /te:te/te:tunnels/te:tunnel/te:p2p-primary-paths/te:p2p-primary-
path/te:p2p-reverse-primary-path/te:explicit-route-objects/te:route-object-
include-exclude/te:type/te:label/te:label-hop/te:te-label/te:technology:
    +--:(wson)
       +--rw (grid-type)?
          +--:(dwdm)
          |  +--rw (single-or-super-channel)?
          |     +--:(single)
          |     |  +--rw channel-freq?          frequency-thz
          |     +--:(super)
          |        +--rw subcarrier-channels*   frequency-thz
          +--:(cwdm)
             +--rw channel-wavelength?    uint32
  augment /te:te/te:tunnels/te:tunnel/te:p2p-primary-paths/te:p2p-primary-
path/te:p2p-reverse-primary-path/te:path-in-segment/te:forward/te:label-
restrictions/te:label-restriction:
    +--rw grid-type?   identityref
    +--rw priority?    uint8

Lee, et al.               Expires April 2019                  [Page 12]
Internet-Draft            WSON Tunnel Model                October 2018

  augment /te:te/te:tunnels/te:tunnel/te:p2p-primary-paths/te:p2p-primary-
path/te:p2p-reverse-primary-path/te:path-in-segment/te:forward/te:label-
restrictions/te:label-restriction/te:label-start/te:te-label/te:technology:
    +--:(wson)
       +--rw (grid-type)?
          +--:(dwdm)
          |  +--rw channel-freq?         frequency-thz
          +--:(cwdm)
             +--rw channel-wavelength?   uint32
  augment /te:te/te:tunnels/te:tunnel/te:p2p-primary-paths/te:p2p-primary-
path/te:p2p-reverse-primary-path/te:path-in-segment/te:forward/te:label-
restrictions/te:label-restriction/te:label-end/te:te-label/te:technology:
    +--:(wson)
       +--rw (grid-type)?
          +--:(dwdm)
          |  +--rw channel-freq?         frequency-thz
          +--:(cwdm)
             +--rw channel-wavelength?   uint32
  augment /te:te/te:tunnels/te:tunnel/te:p2p-primary-paths/te:p2p-primary-
path/te:p2p-reverse-primary-path/te:path-in-segment/te:reverse/te:label-
restrictions/te:label-restriction:
    +--rw grid-type?   identityref
    +--rw priority?    uint8
  augment /te:te/te:tunnels/te:tunnel/te:p2p-primary-paths/te:p2p-primary-
path/te:p2p-reverse-primary-path/te:path-in-segment/te:reverse/te:label-
restrictions/te:label-restriction/te:label-start/te:te-label/te:technology:
    +--:(wson)
       +--rw (grid-type)?
          +--:(dwdm)
          |  +--rw channel-freq?         frequency-thz
          +--:(cwdm)
             +--rw channel-wavelength?   uint32
  augment /te:te/te:tunnels/te:tunnel/te:p2p-primary-paths/te:p2p-primary-
path/te:p2p-reverse-primary-path/te:path-in-segment/te:reverse/te:label-
restrictions/te:label-restriction/te:label-end/te:te-label/te:technology:
    +--:(wson)
       +--rw (grid-type)?
          +--:(dwdm)
          |  +--rw channel-freq?         frequency-thz
          +--:(cwdm)
             +--rw channel-wavelength?   uint32
  augment /te:te/te:tunnels/te:tunnel/te:p2p-primary-paths/te:p2p-primary-
path/te:p2p-reverse-primary-path/te:path-out-segment/te:forward/te:label-
restrictions/te:label-restriction:
    +--rw grid-type?   identityref

Lee, et al.               Expires April 2019                  [Page 13]
Internet-Draft            WSON Tunnel Model                October 2018

    +--rw priority?    uint8
  augment /te:te/te:tunnels/te:tunnel/te:p2p-primary-paths/te:p2p-primary-
path/te:p2p-reverse-primary-path/te:path-out-segment/te:forward/te:label-
restrictions/te:label-restriction/te:label-start/te:te-label/te:technology:
    +--:(wson)
       +--rw (grid-type)?
          +--:(dwdm)
          |  +--rw channel-freq?         frequency-thz
          +--:(cwdm)
             +--rw channel-wavelength?   uint32
  augment /te:te/te:tunnels/te:tunnel/te:p2p-primary-paths/te:p2p-primary-
path/te:p2p-reverse-primary-path/te:path-out-segment/te:forward/te:label-
restrictions/te:label-restriction/te:label-end/te:te-label/te:technology:
    +--:(wson)
       +--rw (grid-type)?
          +--:(dwdm)
          |  +--rw channel-freq?         frequency-thz
          +--:(cwdm)
             +--rw channel-wavelength?   uint32
  augment /te:te/te:tunnels/te:tunnel/te:p2p-primary-paths/te:p2p-primary-
path/te:p2p-reverse-primary-path/te:path-out-segment/te:reverse/te:label-
restrictions/te:label-restriction:
    +--rw grid-type?   identityref
    +--rw priority?    uint8
  augment /te:te/te:tunnels/te:tunnel/te:p2p-primary-paths/te:p2p-primary-
path/te:p2p-reverse-primary-path/te:path-out-segment/te:reverse/te:label-
restrictions/te:label-restriction/te:label-start/te:te-label/te:technology:
    +--:(wson)
       +--rw (grid-type)?
          +--:(dwdm)
          |  +--rw channel-freq?         frequency-thz
          +--:(cwdm)
             +--rw channel-wavelength?   uint32
  augment /te:te/te:tunnels/te:tunnel/te:p2p-primary-paths/te:p2p-primary-
path/te:p2p-reverse-primary-path/te:path-out-segment/te:reverse/te:label-
restrictions/te:label-restriction/te:label-end/te:te-label/te:technology:
    +--:(wson)
       +--rw (grid-type)?
          +--:(dwdm)
          |  +--rw channel-freq?         frequency-thz
          +--:(cwdm)
             +--rw channel-wavelength?   uint32
  augment /te:te/te:tunnels/te:tunnel/te:p2p-primary-paths/te:p2p-primary-
path/te:p2p-reverse-primary-path/te:state/te:path-properties/te:path-route-

Lee, et al.               Expires April 2019                  [Page 14]
Internet-Draft            WSON Tunnel Model                October 2018

objects/te:path-computed-route-object/te:state/te:type/te:label/te:label-
hop/te:te-label/te:technology:
    +--:(wson)
       +--ro (grid-type)?
          +--:(dwdm)
          |  +--ro (single-or-super-channel)?
          |     +--:(single)
          |     |  +--ro channel-freq?          frequency-thz
          |     +--:(super)
          |        +--ro subcarrier-channels*   frequency-thz
          +--:(cwdm)
             +--ro channel-wavelength?    uint32
  augment /te:te/te:tunnels/te:tunnel/te:p2p-primary-paths/te:p2p-primary-
path/te:p2p-reverse-primary-path/te:state/te:lsps/te:lsp/te:lsp-record-route-
subobjects/te:record-route-subobject/te:type/te:label/te:label-hop/te:te-
label/te:technology:
    +--:(wson)
       +--ro (grid-type)?
          +--:(dwdm)
          |  +--ro (single-or-super-channel)?
          |     +--:(single)
          |     |  +--ro channel-freq?          frequency-thz
          |     +--:(super)
          |        +--ro subcarrier-channels*   frequency-thz
          +--:(cwdm)
             +--ro channel-wavelength?    uint32
  augment /te:te/te:tunnels/te:tunnel/te:p2p-primary-paths/te:p2p-primary-
path/te:p2p-reverse-primary-path/te:state/te:lsps/te:lsp/te:path-
properties/te:path-route-objects/te:path-computed-route-
object/te:state/te:type/te:label/te:label-hop/te:te-label/te:technology:
    +--:(wson)
       +--ro (grid-type)?
          +--:(dwdm)
          |  +--ro (single-or-super-channel)?
          |     +--:(single)
          |     |  +--ro channel-freq?          frequency-thz
          |     +--:(super)
          |        +--ro subcarrier-channels*   frequency-thz
          +--:(cwdm)
             +--ro channel-wavelength?    uint32
  augment /te:te/te:tunnels/te:tunnel/te:p2p-secondary-paths/te:p2p-secondary-
path/te:optimizations/te:algorithm/te:metric/te:optimization-
metric/te:explicit-route-exclude-objects/te:route-object-exclude-
object/te:type/te:label/te:label-hop/te:te-label/te:technology:
    +--:(wson)

Lee, et al.               Expires April 2019                  [Page 15]
Internet-Draft            WSON Tunnel Model                October 2018

       +--rw (grid-type)?
          +--:(dwdm)
          |  +--rw (single-or-super-channel)?
          |     +--:(single)
          |     |  +--rw channel-freq?          frequency-thz
          |     +--:(super)
          |        +--rw subcarrier-channels*   frequency-thz
          +--:(cwdm)
             +--rw channel-wavelength?    uint32
  augment /te:te/te:tunnels/te:tunnel/te:p2p-secondary-paths/te:p2p-secondary-
path/te:optimizations/te:algorithm/te:metric/te:optimization-
metric/te:explicit-route-include-objects/te:route-object-include-
object/te:type/te:label/te:label-hop/te:te-label/te:technology:
    +--:(wson)
       +--rw (grid-type)?
          +--:(dwdm)
          |  +--rw (single-or-super-channel)?
          |     +--:(single)
          |     |  +--rw channel-freq?          frequency-thz
          |     +--:(super)
          |        +--rw subcarrier-channels*   frequency-thz
          +--:(cwdm)
             +--rw channel-wavelength?    uint32
  augment /te:te/te:tunnels/te:tunnel/te:p2p-secondary-paths/te:p2p-secondary-
path/te:explicit-route-objects/te:route-object-exclude-
always/te:type/te:label/te:label-hop/te:te-label/te:technology:
    +--:(wson)
       +--rw (grid-type)?
          +--:(dwdm)
          |  +--rw (single-or-super-channel)?
          |     +--:(single)
          |     |  +--rw channel-freq?          frequency-thz
          |     +--:(super)
          |        +--rw subcarrier-channels*   frequency-thz
          +--:(cwdm)
             +--rw channel-wavelength?    uint32
  augment /te:te/te:tunnels/te:tunnel/te:p2p-secondary-paths/te:p2p-secondary-
path/te:explicit-route-objects/te:route-object-include-
exclude/te:type/te:label/te:label-hop/te:te-label/te:technology:
    +--:(wson)
       +--rw (grid-type)?
          +--:(dwdm)
          |  +--rw (single-or-super-channel)?
          |     +--:(single)
          |     |  +--rw channel-freq?          frequency-thz

Lee, et al.               Expires April 2019                  [Page 16]
Internet-Draft            WSON Tunnel Model                October 2018

          |     +--:(super)
          |        +--rw subcarrier-channels*   frequency-thz
          +--:(cwdm)
             +--rw channel-wavelength?    uint32
  augment /te:te/te:tunnels/te:tunnel/te:p2p-secondary-paths/te:p2p-secondary-
path/te:path-in-segment/te:forward/te:label-restrictions/te:label-restriction:
    +--rw grid-type?   identityref
    +--rw priority?    uint8
  augment /te:te/te:tunnels/te:tunnel/te:p2p-secondary-paths/te:p2p-secondary-
path/te:path-in-segment/te:forward/te:label-restrictions/te:label-
restriction/te:label-start/te:te-label/te:technology:
    +--:(wson)
       +--rw (grid-type)?
          +--:(dwdm)
          |  +--rw channel-freq?         frequency-thz
          +--:(cwdm)
             +--rw channel-wavelength?   uint32
  augment /te:te/te:tunnels/te:tunnel/te:p2p-secondary-paths/te:p2p-secondary-
path/te:path-in-segment/te:forward/te:label-restrictions/te:label-
restriction/te:label-end/te:te-label/te:technology:
    +--:(wson)
       +--rw (grid-type)?
          +--:(dwdm)
          |  +--rw channel-freq?         frequency-thz
          +--:(cwdm)
             +--rw channel-wavelength?   uint32
  augment /te:te/te:tunnels/te:tunnel/te:p2p-secondary-paths/te:p2p-secondary-
path/te:path-in-segment/te:reverse/te:label-restrictions/te:label-restriction:
    +--rw grid-type?   identityref
    +--rw priority?    uint8
  augment /te:te/te:tunnels/te:tunnel/te:p2p-secondary-paths/te:p2p-secondary-
path/te:path-in-segment/te:reverse/te:label-restrictions/te:label-
restriction/te:label-start/te:te-label/te:technology:
    +--:(wson)
       +--rw (grid-type)?
          +--:(dwdm)
          |  +--rw channel-freq?         frequency-thz
          +--:(cwdm)
             +--rw channel-wavelength?   uint32
  augment /te:te/te:tunnels/te:tunnel/te:p2p-secondary-paths/te:p2p-secondary-
path/te:path-in-segment/te:reverse/te:label-restrictions/te:label-
restriction/te:label-end/te:te-label/te:technology:
    +--:(wson)
       +--rw (grid-type)?
          +--:(dwdm)

Lee, et al.               Expires April 2019                  [Page 17]
Internet-Draft            WSON Tunnel Model                October 2018

          |  +--rw channel-freq?         frequency-thz
          +--:(cwdm)
             +--rw channel-wavelength?   uint32
  augment /te:te/te:tunnels/te:tunnel/te:p2p-secondary-paths/te:p2p-secondary-
path/te:path-out-segment/te:forward/te:label-restrictions/te:label-
restriction:
    +--rw grid-type?   identityref
    +--rw priority?    uint8
  augment /te:te/te:tunnels/te:tunnel/te:p2p-secondary-paths/te:p2p-secondary-
path/te:path-out-segment/te:forward/te:label-restrictions/te:label-
restriction/te:label-start/te:te-label/te:technology:
    +--:(wson)
       +--rw (grid-type)?
          +--:(dwdm)
          |  +--rw channel-freq?         frequency-thz
          +--:(cwdm)
             +--rw channel-wavelength?   uint32
  augment /te:te/te:tunnels/te:tunnel/te:p2p-secondary-paths/te:p2p-secondary-
path/te:path-out-segment/te:forward/te:label-restrictions/te:label-
restriction/te:label-end/te:te-label/te:technology:
    +--:(wson)
       +--rw (grid-type)?
          +--:(dwdm)
          |  +--rw channel-freq?         frequency-thz
          +--:(cwdm)
             +--rw channel-wavelength?   uint32
  augment /te:te/te:tunnels/te:tunnel/te:p2p-secondary-paths/te:p2p-secondary-
path/te:path-out-segment/te:reverse/te:label-restrictions/te:label-
restriction:
    +--rw grid-type?   identityref
    +--rw priority?    uint8
  augment /te:te/te:tunnels/te:tunnel/te:p2p-secondary-paths/te:p2p-secondary-
path/te:path-out-segment/te:reverse/te:label-restrictions/te:label-
restriction/te:label-start/te:te-label/te:technology:
    +--:(wson)
       +--rw (grid-type)?
          +--:(dwdm)
          |  +--rw channel-freq?         frequency-thz
          +--:(cwdm)
             +--rw channel-wavelength?   uint32
  augment /te:te/te:tunnels/te:tunnel/te:p2p-secondary-paths/te:p2p-secondary-
path/te:path-out-segment/te:reverse/te:label-restrictions/te:label-
restriction/te:label-end/te:te-label/te:technology:
    +--:(wson)
       +--rw (grid-type)?

Lee, et al.               Expires April 2019                  [Page 18]
Internet-Draft            WSON Tunnel Model                October 2018

          +--:(dwdm)
          |  +--rw channel-freq?         frequency-thz
          +--:(cwdm)
             +--rw channel-wavelength?   uint32
  augment /te:te/te:tunnels/te:tunnel/te:p2p-secondary-paths/te:p2p-secondary-
path/te:state/te:path-properties/te:path-route-objects/te:path-computed-route-
object/te:state/te:type/te:label/te:label-hop/te:te-label/te:technology:
    +--:(wson)
       +--ro (grid-type)?
          +--:(dwdm)
          |  +--ro (single-or-super-channel)?
          |     +--:(single)
          |     |  +--ro channel-freq?          frequency-thz
          |     +--:(super)
          |        +--ro subcarrier-channels*   frequency-thz
          +--:(cwdm)
             +--ro channel-wavelength?    uint32
  augment /te:te/te:tunnels/te:tunnel/te:p2p-secondary-paths/te:p2p-secondary-
path/te:state/te:lsps/te:lsp/te:lsp-record-route-subobjects/te:record-route-
subobject/te:type/te:label/te:label-hop/te:te-label/te:technology:
    +--:(wson)
       +--ro (grid-type)?
          +--:(dwdm)
          |  +--ro (single-or-super-channel)?
          |     +--:(single)
          |     |  +--ro channel-freq?          frequency-thz
          |     +--:(super)
          |        +--ro subcarrier-channels*   frequency-thz
          +--:(cwdm)
             +--ro channel-wavelength?    uint32
  augment /te:te/te:tunnels/te:tunnel/te:p2p-secondary-paths/te:p2p-secondary-
path/te:state/te:lsps/te:lsp/te:path-properties/te:path-route-objects/te:path-
computed-route-object/te:state/te:type/te:label/te:label-hop/te:te-
label/te:technology:
    +--:(wson)
       +--ro (grid-type)?
          +--:(dwdm)
          |  +--ro (single-or-super-channel)?
          |     +--:(single)
          |     |  +--ro channel-freq?          frequency-thz
          |     +--:(super)
          |        +--ro subcarrier-channels*   frequency-thz
          +--:(cwdm)
             +--ro channel-wavelength?    uint32

Lee, et al.               Expires April 2019                  [Page 19]
Internet-Draft            WSON Tunnel Model                October 2018

  augment /te:te/te:lsps-state/te:lsp/te:lsp-record-route-
subobjects/te:record-route-subobject/te:type/te:label/te:label-hop/te:te-
label/te:technology:
    +--:(wson)
       +--ro (grid-type)?
          +--:(dwdm)
          |  +--ro (single-or-super-channel)?
          |     +--:(single)
          |     |  +--ro channel-freq?          frequency-thz
          |     +--:(super)
          |        +--ro subcarrier-channels*   frequency-thz
          +--:(cwdm)
             +--ro channel-wavelength?    uint32
  augment /te:tunnels-rpc/te:input/te:tunnel-info/tepc:path-request:
    +---- src-client-signal?       identityref
    +---- dst-client-signal?       identityref
    +---- fec-type?                identityref
    +---- termination-type?        identityref
    +---- bit-stuffing?            boolean
    +---- wavelength-assignment?   identityref

3. TE Tunnel Model for WSON

<CODE BEGINS> file "ietf-wson-tunnel@2018-10-15.yang"

module ietf-wson-tunnel {
  yang-version 1.1;

  namespace "urn:ietf:params:xml:ns:yang:ietf-wson-tunnel";
  prefix "wson-tunnel";

  import ietf-te { prefix "te"; }
  import ietf-layer0-types{ prefix "layer0-types"; }
  import ietf-te-path-computation { prefix "tepc"; }
  import ietf-otn-types { prefix "otn-types";}

  organization
    "IETF CCAMP Working Group";

  contact
    "WG Web:   <http://tools.ietf.org/wg/ccamp/>

Lee, et al.               Expires April 2019                  [Page 20]
Internet-Draft            WSON Tunnel Model                October 2018

     WG List:  <mailto:ccamp@ietf.org>

     WG Chair: Daniele Ceccarelli
               <mailto:daniele.ceccarelli@ericsson.com>

     WG Chair: Fatai Zhang
               <mailto:zhangfatai@huawei.com>

     Editor: Young Lee <leeyoung@huawei.com>
     Editor: Aihua Guo <aihuaguo@huawei.com>
     Editor: Dhruv Dhody <dhruv.ietf@gmail.com>
     Editor: Ricard Vilalta <ricard.vilalta@cttc.es>";
     description
       "This module defines a model for WSON Tunnel Services.";

  revision "2018-10-15" {
    description
      "Updates to version 2";
    reference "version 2";
  }

  /* Groupings. */
  grouping wson-tunnel-attributes {
    description "Parameters for WSON tunnel.";

    leaf src-client-signal {
      type identityref {
        base otn-types:client-signal;
      }
      description
        "Client signal at the source endpoint of
         the tunnel.";
    }

    leaf dst-client-signal {
      type identityref {
        base otn-types:client-signal;
      }
      description
        "Client signal at the destination endpoint of
         the tunnel.";
    }

    leaf fec-type {

Lee, et al.               Expires April 2019                  [Page 21]
Internet-Draft            WSON Tunnel Model                October 2018

      type identityref {
        base layer0-types:fec-type;
      }
      description
        "FEC type.";
    }

    leaf termination-type {
      type identityref {
        base layer0-types:term-type;
      }
      description
        "Termination type.";
    }

    leaf bit-stuffing {
      type boolean;
      description
        "Bit stuffing enabled/disabled.";
    }
  }

  grouping wson-path-constraints {
    description
      "Global named path constraints configuration
       grouping for WSON tunnel";

    leaf wavelength-assignment {
      type identityref {
        base layer0-types:wavelength-assignment;
      }
      description "Wavelength Allocation Method";
    }
  }

 /*
  * Data nodes
  */

  augment "/te:te/te:tunnels/te:tunnel" {
    description
      "Augment with additional parameters required for WSON tunnel.";
    uses wson-tunnel-attributes;
  }

Lee, et al.               Expires April 2019                  [Page 22]
Internet-Draft            WSON Tunnel Model                October 2018

  /*
   * Augment TE bandwidth
   */

  /* Augment bandwidth of named-path-constraints */
  augment "/te:te/te:globals/te:named-path-constraints/"
        + "te:named-path-constraint/"
        + "te:te-bandwidth/te:technology" {
    description "WSON bandwidth.";
    case wson {
      uses layer0-types:wson-path-bandwidth;
    }
  }

  /* Augment bandwdith of tunnel */
  augment "/te:te/te:tunnels/te:tunnel/"
        + "te:te-bandwidth/te:technology" {
    description "WSON bandwidth.";
    case wson {
      uses layer0-types:wson-path-bandwidth;
    }
  }

  /* Augment bandwidth of primary path */
  augment "/te:te/te:tunnels/te:tunnel/"
        + "te:p2p-primary-paths/te:p2p-primary-path/"
        + "te:te-bandwidth/te:technology" {
    description "WSON bandwidth.";
    case wson {
      uses layer0-types:wson-path-bandwidth;
    }
  }

  /* Augment bandwidth of reverse primary path */
  augment "/te:te/te:tunnels/te:tunnel/"
        + "te:p2p-primary-paths/te:p2p-primary-path/"
        + "te:p2p-reverse-primary-path/"
        + "te:te-bandwidth/te:technology" {
    description "WSON bandwidth.";
    case wson {
      uses layer0-types:wson-path-bandwidth;
    }
  }

  /* Augment bandwidht of secondary path */

Lee, et al.               Expires April 2019                  [Page 23]
Internet-Draft            WSON Tunnel Model                October 2018

  augment "/te:te/te:tunnels/te:tunnel/"
        + "te:p2p-secondary-paths/te:p2p-secondary-path/"
        + "te:te-bandwidth/te:technology" {
    description "WSON bandwidth.";
    case wson {
      uses layer0-types:wson-path-bandwidth;
    }
  }

  /*
   * Augment TE label.
   */

  /* Augment label hop of route-object-exclude-always of named-path-
constraints */
  augment "/te:te/te:globals/te:named-path-constraints/"
        + "te:named-path-constraint/te:explicit-route-objects/"
        + "te:route-object-exclude-always/te:type/te:label/"
        + "te:label-hop/te:te-label/te:technology" {
    description "WSON label.";
    case wson {
      uses layer0-types:wson-path-label;
    }
  }

  /* Augment label hop of route-object-include-exclude of named-path-
constraints */
  augment "/te:te/te:globals/te:named-path-constraints/"
        + "te:named-path-constraint/te:explicit-route-objects/"
        + "te:route-object-include-exclude/te:type/te:label/"
        + "te:label-hop/te:te-label/te:technology" {
    description "WSON label.";
    case wson {
      uses layer0-types:wson-path-label;
    }
  }

  /* Augment label restrictions for the forwarding direction of path-in-
segment of named-path-constraints */
  augment "/te:te/te:globals/te:named-path-constraints/"
        + "te:named-path-constraint/te:path-in-segment/"
        + "te:forward/te:label-restrictions/"
        + "te:label-restriction" {
    description "WSON label.";
    uses layer0-types:layer0-label-restriction;

Lee, et al.               Expires April 2019                  [Page 24]
Internet-Draft            WSON Tunnel Model                October 2018

  }

  /* Augment label restrictions start for the forwarding direction of path-in-
segment of named-path-constraints */
  augment "/te:te/te:globals/te:named-path-constraints/"
        + "te:named-path-constraint/te:path-in-segment/"
        + "te:forward/te:label-restrictions/"
        + "te:label-restriction/te:label-start/"
        + "te:te-label/te:technology" {
    description "WSON label.";
    case wson {
      uses layer0-types:wson-link-label;
    }
  }

  /* Augment label restrictions end for the forwarding direction of path-in-
segment of named-path-constraints */
  augment "/te:te/te:globals/te:named-path-constraints/"
        + "te:named-path-constraint/te:path-in-segment/"
        + "te:forward/te:label-restrictions/"
        + "te:label-restriction/te:label-end/"
        + "te:te-label/te:technology" {
    description "WSON label.";
    case wson {
      uses layer0-types:wson-link-label;
    }
  }

  /* Augment label restrictions for the reverse direction of path-in-segment
of named-path-constraints */
  augment "/te:te/te:globals/te:named-path-constraints/"
        + "te:named-path-constraint/te:path-in-segment/"
        + "te:reverse/te:label-restrictions/"
        + "te:label-restriction" {
    description "WSON label.";
    uses layer0-types:layer0-label-restriction;
  }

  /* Augment label restrictions start for the reverse direction of path-in-
segment of named-path-constraints */
  augment "/te:te/te:globals/te:named-path-constraints/"
        + "te:named-path-constraint/te:path-in-segment/"
        + "te:reverse/te:label-restrictions/"
        + "te:label-restriction/te:label-start/"
        + "te:te-label/te:technology" {

Lee, et al.               Expires April 2019                  [Page 25]
Internet-Draft            WSON Tunnel Model                October 2018

    description "WSON label.";
    case wson {
      uses layer0-types:wson-link-label;
    }
  }

  /* Augment label restrictions end for the reverse direction of path-in-
segment of named-path-constraints */
  augment "/te:te/te:globals/te:named-path-constraints/"
        + "te:named-path-constraint/te:path-in-segment/"
        + "te:reverse/te:label-restrictions/"
        + "te:label-restriction/te:label-end/"
        + "te:te-label/te:technology" {
    description "WSON label.";
    case wson {
      uses layer0-types:wson-link-label;
    }
  }

  /* Augment label restrictions for the forwarding direction of path-out-
segment of named-path-constraints */
  augment "/te:te/te:globals/te:named-path-constraints/"
        + "te:named-path-constraint/te:path-out-segment/"
        + "te:forward/te:label-restrictions/"
        + "te:label-restriction" {
    description "WSON label.";
    uses layer0-types:layer0-label-restriction;
  }
  /* Augment label restrictions start for the forwarding direction of path-
out-segment of named-path-constraints */
  augment "/te:te/te:globals/te:named-path-constraints/"
        + "te:named-path-constraint/te:path-out-segment/"
        + "te:forward/te:label-restrictions/"
        + "te:label-restriction/te:label-start/"
        + "te:te-label/te:technology" {
    description "WSON label.";
    case wson {
      uses layer0-types:wson-link-label;
    }
  }

  /* Augment label restrictions end for the forwarding direction of path-out-
segment of named-path-constraints */
  augment "/te:te/te:globals/te:named-path-constraints/"
        + "te:named-path-constraint/te:path-out-segment/"

Lee, et al.               Expires April 2019                  [Page 26]
Internet-Draft            WSON Tunnel Model                October 2018

        + "te:forward/te:label-restrictions/"
        + "te:label-restriction/te:label-end/"
        + "te:te-label/te:technology" {
    description "WSON label.";
    case wson {
      uses layer0-types:wson-link-label;
    }
  }

  /* Augment label restrictions for the reverse direction of path-out-segment
of named-path-constraints */
  augment "/te:te/te:globals/te:named-path-constraints/"
        + "te:named-path-constraint/te:path-out-segment/"
        + "te:reverse/te:label-restrictions/"
        + "te:label-restriction" {
    description "WSON label.";
    uses layer0-types:layer0-label-restriction;
  }

  /* Augment label restrictions start for the reverse direction of path-out-
segment of named-path-constraints */
  augment "/te:te/te:globals/te:named-path-constraints/"
        + "te:named-path-constraint/te:path-out-segment/"
        + "te:reverse/te:label-restrictions/"
        + "te:label-restriction/te:label-start/"
        + "te:te-label/te:technology" {
    description "WSON label.";
    case wson {
      uses layer0-types:wson-link-label;
    }
  }

  /* Augment label restrictions end for the reverse direction of path-out-
segment of named-path-constraints */
  augment "/te:te/te:globals/te:named-path-constraints/"
        + "te:named-path-constraint/te:path-out-segment/"
        + "te:reverse/te:label-restrictions/"
        + "te:label-restriction/te:label-end/"
        + "te:te-label/te:technology" {
    description "WSON label.";
    case wson {
      uses layer0-types:wson-link-label;
    }
  }

Lee, et al.               Expires April 2019                  [Page 27]
Internet-Draft            WSON Tunnel Model                October 2018

  /* Augment label hop of route-exclude of primary path */
  augment "/te:te/te:tunnels/te:tunnel/"
        + "te:p2p-primary-paths/te:p2p-primary-path/"
        + "te:optimizations/te:algorithm/te:metric/"
        + "te:optimization-metric/te:explicit-route-exclude-objects/"
        + "te:route-object-exclude-object/te:type/te:label/"
        + "te:label-hop/te:te-label/te:technology" {
    description "WSON label.";
    case wson {
      uses layer0-types:wson-path-label;
    }
  }

  /* Augment label hop of route-include of primary path */
  augment "/te:te/te:tunnels/te:tunnel/"
        + "te:p2p-primary-paths/te:p2p-primary-path/"
        + "te:optimizations/te:algorithm/te:metric/"
        + "te:optimization-metric/te:explicit-route-include-objects/"
        + "te:route-object-include-object/te:type/te:label/"
        + "te:label-hop/te:te-label/te:technology" {
    description "WSON label.";
    case wson {
      uses layer0-types:wson-path-label;
    }
  }

  /* Augment label hop of route-object-exclude-always of primary path */
  augment "/te:te/te:tunnels/te:tunnel/"
        + "te:p2p-primary-paths/te:p2p-primary-path/"
        + "te:explicit-route-objects/"
        + "te:route-object-exclude-always/te:type/te:label/"
        + "te:label-hop/te:te-label/te:technology" {
    description "WSON label.";
    case wson {
      uses layer0-types:wson-path-label;
    }
  }

  /* Augment label hop of route-object-include-exclude of primary path */
  augment "/te:te/te:tunnels/te:tunnel/"
        + "te:p2p-primary-paths/te:p2p-primary-path/"
        + "te:explicit-route-objects/"
        + "te:route-object-include-exclude/te:type/te:label/"
        + "te:label-hop/te:te-label/te:technology" {
    description "WSON label.";

Lee, et al.               Expires April 2019                  [Page 28]
Internet-Draft            WSON Tunnel Model                October 2018

    case wson {
      uses layer0-types:wson-path-label;
    }
  }

  /* Augment label restrictions for the forwarding direction of path-in-
segment of primary path */
  augment "/te:te/te:tunnels/te:tunnel/"
        + "te:p2p-primary-paths/te:p2p-primary-path/"
        + "te:path-in-segment/te:forward/te:label-restrictions/"
        + "te:label-restriction" {
    description "WSON label.";
    uses layer0-types:layer0-label-restriction;
  }

  /* Augment label restrictions start for the forwarding direction of path-in-
segment of primary path */
  augment "/te:te/te:tunnels/te:tunnel/"
        + "te:p2p-primary-paths/te:p2p-primary-path/"
        + "te:path-in-segment/te:forward/te:label-restrictions/"
        + "te:label-restriction/te:label-start/"
        + "te:te-label/te:technology" {
    description "WSON label.";
    case wson {
      uses layer0-types:wson-link-label;
    }
  }

  /* Augment label restrictions end for the forwarding direction of path-in-
segment of primary path */
  augment "/te:te/te:tunnels/te:tunnel/"
        + "te:p2p-primary-paths/te:p2p-primary-path/"
        + "te:path-in-segment/te:forward/te:label-restrictions/"
        + "te:label-restriction/te:label-end/"
        + "te:te-label/te:technology" {
    description "WSON label.";
    case wson {
      uses layer0-types:wson-link-label;
    }
  }

  /* Augment label restrictions for the reverse direction of path-in-segment
of primary path */
  augment "/te:te/te:tunnels/te:tunnel/"
        + "te:p2p-primary-paths/te:p2p-primary-path/"

Lee, et al.               Expires April 2019                  [Page 29]
Internet-Draft            WSON Tunnel Model                October 2018

        + "te:path-in-segment/te:reverse/te:label-restrictions/"
        + "te:label-restriction" {
    description "WSON label.";
    uses layer0-types:layer0-label-restriction;
  }

  /* Augment label restrictions start for the reverse direction of path-in-
segment of primary path */
  augment "/te:te/te:tunnels/te:tunnel/"
        + "te:p2p-primary-paths/te:p2p-primary-path/"
        + "te:path-in-segment/te:reverse/te:label-restrictions/"
        + "te:label-restriction/te:label-start/"
        + "te:te-label/te:technology" {
    description "WSON label.";
    case wson {
      uses layer0-types:wson-link-label;
    }
  }

  /* Augment label restrictions end for the reverse direction of path-in-
segment of primary path */
  augment "/te:te/te:tunnels/te:tunnel/"
        + "te:p2p-primary-paths/te:p2p-primary-path/"
        + "te:path-in-segment/te:reverse/te:label-restrictions/"
        + "te:label-restriction/te:label-end/"
        + "te:te-label/te:technology" {
    description "WSON label.";
    case wson {
      uses layer0-types:wson-link-label;
    }
  }

  /* Augment label restrictions for the forwarding direction of path-out-
segment of primary path */
  augment "/te:te/te:tunnels/te:tunnel/"
        + "te:p2p-primary-paths/te:p2p-primary-path/"
        + "te:path-out-segment/te:forward/te:label-restrictions/"
        + "te:label-restriction" {
    description "WSON label.";
    uses layer0-types:layer0-label-restriction;
  }

  /* Augment label restrictions start for the forwarding direction of path-
out-segment of primary path */
  augment "/te:te/te:tunnels/te:tunnel/"

Lee, et al.               Expires April 2019                  [Page 30]
Internet-Draft            WSON Tunnel Model                October 2018

        + "te:p2p-primary-paths/te:p2p-primary-path/"
        + "te:path-out-segment/te:forward/te:label-restrictions/"
        + "te:label-restriction/te:label-start/"
        + "te:te-label/te:technology" {
    description "WSON label.";
    case wson {
      uses layer0-types:wson-link-label;
    }
  }

  /* Augment label restrictions end for the forwarding direction of path-out-
segment of primary path */
  augment "/te:te/te:tunnels/te:tunnel/"
        + "te:p2p-primary-paths/te:p2p-primary-path/"
        + "te:path-out-segment/te:forward/te:label-restrictions/"
        + "te:label-restriction/te:label-end/"
        + "te:te-label/te:technology" {
    description "WSON label.";
    case wson {
      uses layer0-types:wson-link-label;
    }
  }

  /* Augment label restrictions for the reverse direction of path-out-segment
of primary path */
  augment "/te:te/te:tunnels/te:tunnel/"
        + "te:p2p-primary-paths/te:p2p-primary-path/"
        + "te:path-out-segment/te:reverse/te:label-restrictions/"
        + "te:label-restriction" {
    description "WSON label.";
    uses layer0-types:layer0-label-restriction;
  }

  /* Augment label restrictions start for the reverse direction of path-out-
segment of primary path */
  augment "/te:te/te:tunnels/te:tunnel/"
        + "te:p2p-primary-paths/te:p2p-primary-path/"
        + "te:path-out-segment/te:reverse/te:label-restrictions/"
        + "te:label-restriction/te:label-start/"
        + "te:te-label/te:technology" {
    description "WSON label.";
    case wson {
      uses layer0-types:wson-link-label;
    }
  }

Lee, et al.               Expires April 2019                  [Page 31]
Internet-Draft            WSON Tunnel Model                October 2018

  /* Augment label restrictions end for the reverse direction of path-out-
segment of primary path */
  augment "/te:te/te:tunnels/te:tunnel/"
        + "te:p2p-primary-paths/te:p2p-primary-path/"
        + "te:path-out-segment/te:reverse/te:label-restrictions/"
        + "te:label-restriction/te:label-end/"
        + "te:te-label/te:technology" {
    description "WSON label.";
    case wson {
      uses layer0-types:wson-link-label;
    }
  }

  /* Augment label hop of path-route of primary path */
  augment "/te:te/te:tunnels/te:tunnel/"
        + "te:p2p-primary-paths/te:p2p-primary-path/"
        + "te:state/te:path-properties/"
        + "te:path-route-objects/te:path-computed-route-object/"
        + "te:state/te:type/te:label/"
        + "te:label-hop/te:te-label/te:technology" {
    description "WSON label.";
    case wson {
      uses layer0-types:wson-path-label;
    }
  }

  /* Augment label hop of record-route of primary LSP */
  augment "/te:te/te:tunnels/te:tunnel/"
        + "te:p2p-primary-paths/te:p2p-primary-path/"
        + "te:state/te:lsps/te:lsp/te:lsp-record-route-subobjects/"
        + "te:record-route-subobject/te:type/te:label/"
        + "te:label-hop/te:te-label/te:technology" {
    description "WSON label.";
    case wson {
      uses layer0-types:wson-path-label;
    }
  }

  /* Augment label hop of path-route of primary LSP */
  augment "/te:te/te:tunnels/te:tunnel/"
        + "te:p2p-primary-paths/te:p2p-primary-path/"
        + "te:state/te:lsps/te:lsp/te:path-properties/"
        + "te:path-route-objects/te:path-computed-route-object/"
        + "te:state/te:type/te:label/"

Lee, et al.               Expires April 2019                  [Page 32]
Internet-Draft            WSON Tunnel Model                October 2018

        + "te:label-hop/te:te-label/te:technology" {
    description "WSON label.";
    case wson {
      uses layer0-types:wson-path-label;
    }
  }

  /* Augment label hop of route-exclude of reverse primary path */
  augment "/te:te/te:tunnels/te:tunnel/"
        + "te:p2p-primary-paths/te:p2p-primary-path/"
        + "te:p2p-reverse-primary-path/"
        + "te:optimizations/te:algorithm/te:metric/"
        + "te:optimization-metric/te:explicit-route-exclude-objects/"
        + "te:route-object-exclude-object/te:type/te:label/"
        + "te:label-hop/te:te-label/te:technology" {
    description "WSON label.";
    case wson {
      uses layer0-types:wson-path-label;
    }
  }

  /* Augment label hop of route-include of reverse primary path */
  augment "/te:te/te:tunnels/te:tunnel/"
        + "te:p2p-primary-paths/te:p2p-primary-path/"
        + "te:p2p-reverse-primary-path/"
        + "te:optimizations/te:algorithm/te:metric/"
        + "te:optimization-metric/te:explicit-route-include-objects/"
        + "te:route-object-include-object/te:type/te:label/"
        + "te:label-hop/te:te-label/te:technology" {
    description "WSON label.";
    case wson {
      uses layer0-types:wson-path-label;
    }
  }

  /* Augment label hop of route-object-exclude-always of reverse primary path
*/
  augment "/te:te/te:tunnels/te:tunnel/"
        + "te:p2p-primary-paths/te:p2p-primary-path/"
        + "te:p2p-reverse-primary-path/"
        + "te:explicit-route-objects/"
        + "te:route-object-exclude-always/"
        + "te:type/te:label/"
        + "te:label-hop/te:te-label/te:technology" {
    description "WSON label.";

Lee, et al.               Expires April 2019                  [Page 33]
Internet-Draft            WSON Tunnel Model                October 2018

    case wson {
      uses layer0-types:wson-path-label;
    }
  }

  /* Augment label hop of route-object-include-exclude of reverse primary path
*/
  augment "/te:te/te:tunnels/te:tunnel/"
        + "te:p2p-primary-paths/te:p2p-primary-path/"
        + "te:p2p-reverse-primary-path/"
        + "te:explicit-route-objects/"
        + "te:route-object-include-exclude/"
        + "te:type/te:label/"
        + "te:label-hop/te:te-label/te:technology" {
    description "WSON label.";
    case wson {
      uses layer0-types:wson-path-label;
    }
  }

  /* Augment label restrictions for the forwarding direction of path-in-
segment of reverse primary path */
  augment "/te:te/te:tunnels/te:tunnel/"
        + "te:p2p-primary-paths/te:p2p-primary-path/"
        + "te:p2p-reverse-primary-path/"
        + "te:path-in-segment/te:forward/te:label-restrictions/"
        + "te:label-restriction" {
    description "WSON label.";
    uses layer0-types:layer0-label-restriction;
  }

  /* Augment label restrictions start for the forwarding direction of path-in-
segment of reverse primary path */
  augment "/te:te/te:tunnels/te:tunnel/"
        + "te:p2p-primary-paths/te:p2p-primary-path/"
        + "te:p2p-reverse-primary-path/"
        + "te:path-in-segment/te:forward/te:label-restrictions/"
        + "te:label-restriction/te:label-start/"
        + "te:te-label/te:technology" {
    description "WSON label.";
    case wson {
      uses layer0-types:wson-link-label;
    }
  }

Lee, et al.               Expires April 2019                  [Page 34]
Internet-Draft            WSON Tunnel Model                October 2018

  /* Augment label restrictions end for the forwarding direction of path-in-
segment of reverse primary path */
  augment "/te:te/te:tunnels/te:tunnel/"
        + "te:p2p-primary-paths/te:p2p-primary-path/"
        + "te:p2p-reverse-primary-path/"
        + "te:path-in-segment/te:forward/te:label-restrictions/"
        + "te:label-restriction/te:label-end/"
        + "te:te-label/te:technology" {
    description "WSON label.";
    case wson {
      uses layer0-types:wson-link-label;
    }
  }

  /* Augment label restrictions for the reverse direction of path-in-segment
of reverse primary path */
  augment "/te:te/te:tunnels/te:tunnel/"
        + "te:p2p-primary-paths/te:p2p-primary-path/"
        + "te:p2p-reverse-primary-path/"
        + "te:path-in-segment/te:reverse/te:label-restrictions/"
        + "te:label-restriction" {
    description "WSON label.";
    uses layer0-types:layer0-label-restriction;
  }

  /* Augment label restrictions start for the reverse direction of path-in-
segment of reverse primary path */
  augment "/te:te/te:tunnels/te:tunnel/"
        + "te:p2p-primary-paths/te:p2p-primary-path/"
        + "te:p2p-reverse-primary-path/"
        + "te:path-in-segment/te:reverse/te:label-restrictions/"
        + "te:label-restriction/te:label-start/"
        + "te:te-label/te:technology" {
    description "WSON label.";
    case wson {
      uses layer0-types:wson-link-label;
    }
  }

  /* Augment label restrictions end for the reverse direction of path-in-
segment of reverse primary path */
  augment "/te:te/te:tunnels/te:tunnel/"
        + "te:p2p-primary-paths/te:p2p-primary-path/"
        + "te:p2p-reverse-primary-path/"
        + "te:path-in-segment/te:reverse/te:label-restrictions/"

Lee, et al.               Expires April 2019                  [Page 35]
Internet-Draft            WSON Tunnel Model                October 2018

        + "te:label-restriction/te:label-end/"
        + "te:te-label/te:technology" {
    description "WSON label.";
    case wson {
      uses layer0-types:wson-link-label;
    }
  }

  /* Augment label restrictions for the forwarding direction of path-out-
segment of reverse primary path */
  augment "/te:te/te:tunnels/te:tunnel/"
        + "te:p2p-primary-paths/te:p2p-primary-path/"
        + "te:p2p-reverse-primary-path/"
        + "te:path-out-segment/te:forward/te:label-restrictions/"
        + "te:label-restriction" {
    description "WSON label.";
    uses layer0-types:layer0-label-restriction;
  }

  /* Augment label restrictions start for the forwarding direction of path-
out-segment of reverse primary path */
  augment "/te:te/te:tunnels/te:tunnel/"
        + "te:p2p-primary-paths/te:p2p-primary-path/"
        + "te:p2p-reverse-primary-path/"
        + "te:path-out-segment/te:forward/te:label-restrictions/"
        + "te:label-restriction/te:label-start/"
        + "te:te-label/te:technology" {
    description "WSON label.";
    case wson {
      uses layer0-types:wson-link-label;
    }
  }

  /* Augment label restrictions end for the forwarding direction of path-out-
segment of reverse primary path */
  augment "/te:te/te:tunnels/te:tunnel/"
        + "te:p2p-primary-paths/te:p2p-primary-path/"
        + "te:p2p-reverse-primary-path/"
        + "te:path-out-segment/te:forward/te:label-restrictions/"
        + "te:label-restriction/te:label-end/"
        + "te:te-label/te:technology" {
    description "WSON label.";
    case wson {
      uses layer0-types:wson-link-label;
    }

Lee, et al.               Expires April 2019                  [Page 36]
Internet-Draft            WSON Tunnel Model                October 2018

  }

  /* Augment label restrictions for the reverse direction of path-out-segment
of reverse primary path */
  augment "/te:te/te:tunnels/te:tunnel/"
        + "te:p2p-primary-paths/te:p2p-primary-path/"
        + "te:p2p-reverse-primary-path/"
        + "te:path-out-segment/te:reverse/te:label-restrictions/"
        + "te:label-restriction" {
    description "WSON label.";
    uses layer0-types:layer0-label-restriction;
  }

  /* Augment label restrictions start for the reverse direction of path-out-
segment of reverse primary path */
  augment "/te:te/te:tunnels/te:tunnel/"
        + "te:p2p-primary-paths/te:p2p-primary-path/"
        + "te:p2p-reverse-primary-path/"
        + "te:path-out-segment/te:reverse/te:label-restrictions/"
        + "te:label-restriction/te:label-start/"
        + "te:te-label/te:technology" {
    description "WSON label.";
    case wson {
      uses layer0-types:wson-link-label;
    }
  }

  /* Augment label restrictions end for the reverse direction of path-out-
segment of reverse primary path */
  augment "/te:te/te:tunnels/te:tunnel/"
        + "te:p2p-primary-paths/te:p2p-primary-path/"
        + "te:p2p-reverse-primary-path/"
        + "te:path-out-segment/te:reverse/te:label-restrictions/"
        + "te:label-restriction/te:label-end/"
        + "te:te-label/te:technology" {
    description "WSON label.";
    case wson {
      uses layer0-types:wson-link-label;
    }
  }

  /* Augment label hop of path-route of reverse primary path */
  augment "/te:te/te:tunnels/te:tunnel/"
        + "te:p2p-primary-paths/te:p2p-primary-path/"
        + "te:p2p-reverse-primary-path/"

Lee, et al.               Expires April 2019                  [Page 37]
Internet-Draft            WSON Tunnel Model                October 2018

        + "te:state/te:path-properties/"
        + "te:path-route-objects/te:path-computed-route-object/"
        + "te:state/te:type/te:label/"
        + "te:label-hop/te:te-label/te:technology" {
    description "WSON label.";
    case wson {
      uses layer0-types:wson-path-label;
    }
  }

  /* Augment label hop of record-route of reverse primary LSP */
  augment "/te:te/te:tunnels/te:tunnel/"
        + "te:p2p-primary-paths/te:p2p-primary-path/"
        + "te:p2p-reverse-primary-path/"
        + "te:state/te:lsps/te:lsp/te:lsp-record-route-subobjects/"
        + "te:record-route-subobject/te:type/te:label/"
        + "te:label-hop/te:te-label/te:technology" {
    description "WSON label.";
    case wson {
      uses layer0-types:wson-path-label;
    }
  }

  /* Augment label hop of path-route of reverse primary LSP */
  augment "/te:te/te:tunnels/te:tunnel/"
        + "te:p2p-primary-paths/te:p2p-primary-path/"
        + "te:p2p-reverse-primary-path/"
        + "te:state/te:lsps/te:lsp/te:path-properties/"
        + "te:path-route-objects/te:path-computed-route-object/"
        + "te:state/te:type/te:label/"
        + "te:label-hop/te:te-label/te:technology" {
    description "WSON label.";
    case wson {
      uses layer0-types:wson-path-label;
    }
  }

  /* Augment label hop of route-exclude of secondary path */
  augment "/te:te/te:tunnels/te:tunnel/"
        + "te:p2p-secondary-paths/te:p2p-secondary-path/"
        + "te:optimizations/te:algorithm/te:metric/"
        + "te:optimization-metric/te:explicit-route-exclude-objects/"
        + "te:route-object-exclude-object/te:type/te:label/"
        + "te:label-hop/te:te-label/te:technology" {
    description "WSON label.";

Lee, et al.               Expires April 2019                  [Page 38]
Internet-Draft            WSON Tunnel Model                October 2018

    case wson {
      uses layer0-types:wson-path-label;
    }
  }

  /* Augment label hop of route-include of secondary path */
  augment "/te:te/te:tunnels/te:tunnel/"
        + "te:p2p-secondary-paths/te:p2p-secondary-path/"
        + "te:optimizations/te:algorithm/te:metric/"
        + "te:optimization-metric/te:explicit-route-include-objects/"
        + "te:route-object-include-object/te:type/te:label/"
        + "te:label-hop/te:te-label/te:technology" {
    description "WSON label.";
    case wson {
      uses layer0-types:wson-path-label;
    }
  }

  /* Augment label hop of route-object-exclude-always of secondary path */
  augment "/te:te/te:tunnels/te:tunnel/"
        + "te:p2p-secondary-paths/te:p2p-secondary-path/"
        + "te:explicit-route-objects/"
        + "te:route-object-exclude-always/te:type/te:label/"
        + "te:label-hop/te:te-label/te:technology" {
    description "WSON label.";
    case wson {
      uses layer0-types:wson-path-label;
    }
  }

  /* Augment label hop of route-object-include-exclude of secondary path */
  augment "/te:te/te:tunnels/te:tunnel/"
        + "te:p2p-secondary-paths/te:p2p-secondary-path/"
        + "te:explicit-route-objects/"
        + "te:route-object-include-exclude/te:type/te:label/"
        + "te:label-hop/te:te-label/te:technology" {
    description "WSON label.";
    case wson {
      uses layer0-types:wson-path-label;
    }
  }

  /* Augment label restrictions for the forwarding direction of path-in-
segment of secondary path */
  augment "/te:te/te:tunnels/te:tunnel/"

Lee, et al.               Expires April 2019                  [Page 39]
Internet-Draft            WSON Tunnel Model                October 2018

        + "te:p2p-secondary-paths/te:p2p-secondary-path/"
        + "te:path-in-segment/te:forward/te:label-restrictions/"
        + "te:label-restriction" {
    description "WSON label.";
    uses layer0-types:layer0-label-restriction;
  }

  /* Augment label restrictions start for the forwarding direction of path-in-
segment of secondary path */
  augment "/te:te/te:tunnels/te:tunnel/"
        + "te:p2p-secondary-paths/te:p2p-secondary-path/"
        + "te:path-in-segment/te:forward/te:label-restrictions/"
        + "te:label-restriction/te:label-start/"
        + "te:te-label/te:technology" {
    description "WSON label.";
    case wson {
      uses layer0-types:wson-link-label;
    }
  }

  /* Augment label restrictions end for the forwarding direction of path-in-
segment of secondary path */
  augment "/te:te/te:tunnels/te:tunnel/"
        + "te:p2p-secondary-paths/te:p2p-secondary-path/"
        + "te:path-in-segment/te:forward/te:label-restrictions/"
        + "te:label-restriction/te:label-end/"
        + "te:te-label/te:technology" {
    description "WSON label.";
    case wson {
      uses layer0-types:wson-link-label;
    }
  }

  /* Augment label restrictions for the reverse direction of path-in-segment
of secondary path */
  augment "/te:te/te:tunnels/te:tunnel/"
        + "te:p2p-secondary-paths/te:p2p-secondary-path/"
        + "te:path-in-segment/te:reverse/te:label-restrictions/"
        + "te:label-restriction" {
    description "WSON label.";
    uses layer0-types:layer0-label-restriction;
  }

  /* Augment label restrictions start for the reverse direction of path-in-
segment of secondary path */

Lee, et al.               Expires April 2019                  [Page 40]
Internet-Draft            WSON Tunnel Model                October 2018

  augment "/te:te/te:tunnels/te:tunnel/"
        + "te:p2p-secondary-paths/te:p2p-secondary-path/"
        + "te:path-in-segment/te:reverse/te:label-restrictions/"
        + "te:label-restriction/te:label-start/"
        + "te:te-label/te:technology" {
    description "WSON label.";
    case wson {
      uses layer0-types:wson-link-label;
    }
  }

  /* Augment label restrictions end for the reverse direction of path-in-
segment of secondary path */
  augment "/te:te/te:tunnels/te:tunnel/"
        + "te:p2p-secondary-paths/te:p2p-secondary-path/"
        + "te:path-in-segment/te:reverse/te:label-restrictions/"
        + "te:label-restriction/te:label-end/"
        + "te:te-label/te:technology" {
    description "WSON label.";
    case wson {
      uses layer0-types:wson-link-label;
    }
  }

  /* Augment label restrictions for the forwarding direction of path-out-
segment of secondary path */
  augment "/te:te/te:tunnels/te:tunnel/"
        + "te:p2p-secondary-paths/te:p2p-secondary-path/"
        + "te:path-out-segment/te:forward/te:label-restrictions/"
        + "te:label-restriction" {
    description "WSON label.";
    uses layer0-types:layer0-label-restriction;
  }

  /* Augment label restrictions start for the forwarding direction of path-
out-segment of secondary path */
  augment "/te:te/te:tunnels/te:tunnel/"
        + "te:p2p-secondary-paths/te:p2p-secondary-path/"
        + "te:path-out-segment/te:forward/te:label-restrictions/"
        + "te:label-restriction/te:label-start/"
        + "te:te-label/te:technology" {
    description "WSON label.";
    case wson {
      uses layer0-types:wson-link-label;
    }

Lee, et al.               Expires April 2019                  [Page 41]
Internet-Draft            WSON Tunnel Model                October 2018

  }

  /* Augment label restrictions end for the forwarding direction of path-out-
segment of secondary path */
  augment "/te:te/te:tunnels/te:tunnel/"
        + "te:p2p-secondary-paths/te:p2p-secondary-path/"
        + "te:path-out-segment/te:forward/te:label-restrictions/"
        + "te:label-restriction/te:label-end/"
        + "te:te-label/te:technology" {
    description "WSON label.";
    case wson {
      uses layer0-types:wson-link-label;
    }
  }

  /* Augment label restrictions for the reverse direction of path-out-segment
of secondary path */
  augment "/te:te/te:tunnels/te:tunnel/"
        + "te:p2p-secondary-paths/te:p2p-secondary-path/"
        + "te:path-out-segment/te:reverse/te:label-restrictions/"
        + "te:label-restriction" {
    description "WSON label.";
    uses layer0-types:layer0-label-restriction;
  }

  /* Augment label restrictions start for the reverse direction of path-out-
segment of secondary path */
  augment "/te:te/te:tunnels/te:tunnel/"
        + "te:p2p-secondary-paths/te:p2p-secondary-path/"
        + "te:path-out-segment/te:reverse/te:label-restrictions/"
        + "te:label-restriction/te:label-start/"
        + "te:te-label/te:technology" {
    description "WSON label.";
    case wson {
      uses layer0-types:wson-link-label;
    }
  }

  /* Augment label restrictions end for the reverse direction of path-out-
segment of secondary path */
  augment "/te:te/te:tunnels/te:tunnel/"
        + "te:p2p-secondary-paths/te:p2p-secondary-path/"
        + "te:path-out-segment/te:reverse/te:label-restrictions/"
        + "te:label-restriction/te:label-end/"
        + "te:te-label/te:technology" {

Lee, et al.               Expires April 2019                  [Page 42]
Internet-Draft            WSON Tunnel Model                October 2018

    description "WSON label.";
    case wson {
      uses layer0-types:wson-link-label;
    }
  }

  /* Augment label hop of path-route of secondary path */
  augment "/te:te/te:tunnels/te:tunnel/"
        + "te:p2p-secondary-paths/te:p2p-secondary-path/"
        + "te:state/te:path-properties/te:path-route-objects/"
        + "te:path-computed-route-object/te:state/te:type/te:label/"
        + "te:label-hop/te:te-label/te:technology" {
    description "WSON label.";
    case wson {
      uses layer0-types:wson-path-label;
    }
  }

  /* Augment label hop of record-route of secondary LSP */
  augment "/te:te/te:tunnels/te:tunnel/"
        + "te:p2p-secondary-paths/te:p2p-secondary-path/"
        + "te:state/te:lsps/te:lsp/te:lsp-record-route-subobjects/"
        + "te:record-route-subobject/te:type/te:label/"
        + "te:label-hop/te:te-label/te:technology" {
    description "WSON label.";
    case wson {
      uses layer0-types:wson-path-label;
    }
  }

  /* Augment label hop of path-route of secondary LSP */
  augment "/te:te/te:tunnels/te:tunnel/"
        + "te:p2p-secondary-paths/te:p2p-secondary-path/"
        + "te:state/te:lsps/te:lsp/te:path-properties/"
        + "te:path-route-objects/"
        + "te:path-computed-route-object/te:state/te:type/te:label/"
        + "te:label-hop/te:te-label/te:technology" {
    description "WSON label.";
    case wson {
      uses layer0-types:wson-path-label;
    }
  }

  /* Augment label hop of record-route of LSP */
  augment "/te:te/te:lsps-state/"

Lee, et al.               Expires April 2019                  [Page 43]
Internet-Draft            WSON Tunnel Model                October 2018

        + "te:lsp/te:lsp-record-route-subobjects/"
        + "te:record-route-subobject/te:type/te:label/"
        + "te:label-hop/te:te-label/te:technology" {
    description "WSON label.";
    case wson {
      uses layer0-types:wson-path-label;
    }
  }

  augment "/te:tunnels-rpc/te:input/te:tunnel-info/"
        + "tepc:path-request" {
    description
       "Augment with additional constraints WSON
        tunnel.";
    uses wson-tunnel-attributes;
    uses wson-path-constraints;
  }
}

<CODE ENDS>

4. Security Considerations

   The configuration, state, and action data defined in this document
   are designed to be accessed via a management protocol with a secure
   transport layer, such as NETCONF [RFC6241].  The NETCONF access
   control model [RFC6536] provides the means to restrict access for
   particular NETCONF users to a preconfigured subset of all available
   NETCONF protocol operations and content.

   A number of configuration data nodes defined in this document are
   writable/deletable (i.e., "config true") These data nodes may be
   considered sensitive or vulnerable in some network environments.

5. IANA Considerations

   This document registers the following namespace URIs in the IETF XML
   registry [RFC3688]:

Lee, et al.               Expires April 2019                  [Page 44]
Internet-Draft            WSON Tunnel Model                October 2018

   --------------------------------------------------------------------
   URI: urn:ietf:params:xml:ns:yang:ietf-wson-tunnel
   Registrant Contact: The IESG.
   XML: N/A, the requested URI is an XML namespace.
   --------------------------------------------------------------------

   This document registers the following YANG modules in the YANG
   Module

   Names registry [RFC7950]:

   --------------------------------------------------------------------
   name:         ietf-wson-tunnel
   namespace:    urn:ietf:params:xml:ns:yang:ietf-wson-tunnel
   reference:    RFC XXXX (TDB)
   --------------------------------------------------------------------
6. Acknowledgments

   This document was prepared using 2-Word-v2.0.template.dot.

Lee, et al.               Expires April 2019                  [Page 45]
Internet-Draft            WSON Tunnel Model                October 2018

7. References

   7.1. Normative References

   [TE-TOPO] X. Liu, et al., "YANG Data Model for TE Topologies", work
             in progress: draft-ietf-teas-yang-te-topo.

   7.2. Informative References

   [RFC3688] M. Mealling, "The IETF XML Registry", RFC 3688, January
             2004.

   [RFC6241] R. Enns, Ed., M. Bjorklund, Ed., J. Schoenwaelder, Ed.,
             and A. Bierman, Ed., "Network Configuration Protocol
             (NETCONF)", RFC 6241, June 2011.

   [RFC7446] Y. Lee, G. Bernstein, D. Li, W. Imajuku, "Routing and
             Wavelength Assignment Information Model for Wavelength
             Switched Optical Networks", RFC 7446, Feburary 2015.

   [RFC7579] G. Bernstein, Y. Lee, D. Li, W. Imajuku, "General Network
             Element Constraint Encoding for GMPLS Controlled
             Networks", RFC 7579, June 2015.

   [RFC7581]  G. Bernstein, Y. Lee, D. Li, W. Imajuku, "Routing and
             Wavelength Assignment Information Encoding for Wavelength
             Switched Optical Networks", RFC 7581, June 2015.

   [RFC7950] Bjorklund, M., Ed., "The YANG 1.1 Data Modeling Language",
             RFC 7950, August 2016.

   [RFC8340] M. Bjorklund and L. Berger, Ed., "YANG Tree Diagrams", RFC
             8340, March 2018.

   [TE-Tunnel] T. Saad, Ed., X. Liu, V. Beeram, H. Shah, and I.
             Bryskin, "A YANG Data Model for Traffic Engineering
             Tunnels and Interfaces", draft-ietf-teas-yang-te-16, work
             in progress.

   [WSON-Topo] Y. Lee, Ed., D. Dhody, A. Guo, V. Lopez, D. King, B.
             Yoon, and R. Vilalta, "A Yang Data Model for WSON Optical
             Networks", draft-ietf-ccamp-wson-yang-13, work in
             progress.

Lee, et al.               Expires April 2019                  [Page 46]
Internet-Draft            WSON Tunnel Model                October 2018

   [TE-PC] Italo Busi (Ed.), Sergio Belotti (Ed.), "Yang model for
             requesting Path Computation", draft-ietf-teas-yang-path-
             computation-02, work in progress.

   [OTN-Topo] H. Zheng, et al, "A YANG Data Model for Optical Transport
             Network Topology", draft-ietf-ccamp-otn-topo-yang-02, work
             in progress.

8. Contributors

   Italo Busi
   Huawei
   Email: Italo.Busi@huawei.com

Authors' Addresses

   Young Lee (ed.)
   Huawei Technologies
   5340 Legacy Drive, Building 3
   Plano, TX 75023
   USA

   Phone: (469) 277-5838
   Email: leeyoung@huawei.com

   Dhruv Dhody
   Huawei Technologies India Pvt. Ltd,
   Near EPIP Industrial Area,  Kundalahalli Village,  Whitefield,
   Bangalore -  560 037 [H1-2A-245]

   Email: dhruv.dhody@huawei.com

   Aihua Guo
   Huawei
   Email: aihuaguo@huawei.com

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

Lee, et al.               Expires April 2019                  [Page 47]
Internet-Draft            WSON Tunnel Model                October 2018

   Daniel King
   University of Lancaster
   Email: d.king@lancaster.ac.uk

   Bin Yeong Yoon
   ETRI
   218 Gaijeongro, Yuseong-gu
   Daejeon, Korea
   Email: byyun@etri.re.kr

   Ricard Vilalta
   CTTC
   Email: ricard.vilalta@cttc.es

Lee, et al.               Expires April 2019                  [Page 48]