draft-ietf-ccamp-flexigrid-media-channel-yang-01.txt   draft-ietf-ccamp-flexigrid-media-channel-yang-02.txt 
CCAMP Working Group J.E. Lopez de Vergara CCAMP Working Group J.E. Lopez de Vergara
Internet Draft Universidad Autonoma de Madrid Internet Draft Universidad Autonoma de Madrid
Intended status: Standards Track D. Perdices Intended status: Standards Track D. Perdices
Expires: April 25, 2019 Naudit HPCN Expires: September 25, 2019 Naudit HPCN
V. Lopez V. Lopez
O. Gonzalez de Dios O. Gonzalez de Dios
Telefonica I+D/GCTO Telefonica I+D/GCTO
D. King D. King
Lancaster University Lancaster University
Y. Lee Y. Lee
Huawei Huawei
G. Galimberti G. Galimberti
Cisco Photonics Srl Cisco Photonics Srl
October 22, 2018 March 24, 2019
YANG data model for Flexi-Grid media-channels YANG data model for Flexi-Grid media-channels
draft-ietf-ccamp-flexigrid-media-channel-yang-01.txt draft-ietf-ccamp-flexigrid-media-channel-yang-02.txt
Status of this Memo Status of this Memo
This Internet-Draft is submitted in full conformance with the This Internet-Draft is submitted in full conformance with the
provisions of BCP 78 and BCP 79. This document may not be modified, provisions of BCP 78 and BCP 79. This document may not be modified,
and derivative works of it may not be created, except to publish it and derivative works of it may not be created, except to publish it
as an RFC and to translate it into languages other than English. as an RFC and to translate it into languages other than English.
Internet-Drafts are working documents of the Internet Engineering Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF), its areas, and its working groups. Note that Task Force (IETF), its areas, and its working groups. Note that
skipping to change at page 1, line 43 skipping to change at page 1, line 43
months and may be updated, replaced, or obsoleted by other documents months and may be updated, replaced, or obsoleted by other documents
at any time. It is inappropriate to use Internet-Drafts as at any time. It is inappropriate to use Internet-Drafts as
reference material or to cite them other than as "work in progress." reference material or to cite them other than as "work in progress."
The list of current Internet-Drafts can be accessed at The list of current Internet-Drafts can be accessed at
http://www.ietf.org/ietf/1id-abstracts.txt http://www.ietf.org/ietf/1id-abstracts.txt
The list of Internet-Draft Shadow Directories can be accessed at The list of Internet-Draft Shadow Directories can be accessed at
http://www.ietf.org/shadow.html http://www.ietf.org/shadow.html
This Internet-Draft will expire on April 25, 2019. This Internet-Draft will expire on September 25, 2019.
Copyright Notice Copyright Notice
Copyright (c) 2018 IETF Trust and the persons identified as the Copyright (c) 2019 IETF Trust and the persons identified as the
document authors. All rights reserved. document authors. All rights reserved.
This document is subject to BCP 78 and the IETF Trust's Legal This document is subject to BCP 78 and the IETF Trust's Legal
Provisions Relating to IETF Documents Provisions Relating to IETF Documents
(http://trustee.ietf.org/license-info) in effect on the date of (http://trustee.ietf.org/license-info) in effect on the date of
publication of this document. Please review these documents publication of this document. Please review these documents
carefully, as they describe your rights and restrictions with carefully, as they describe your rights and restrictions with
respect to this document. Code Components extracted from this respect to this document. Code Components extracted from this
document must include Simplified BSD License text as described in document must include Simplified BSD License text as described in
Section 4.e of the Trust Legal Provisions and are provided without Section 4.e of the Trust Legal Provisions and are provided without
warranty as described in the Simplified BSD License. warranty as described in the Simplified BSD License.
Abstract Abstract
This document defines a YANG model for managing flexi-grid optical This document defines a YANG model for managing flexi-grid optical
media channels, complementing the information provided by the media channels, complementing the information provided by the
flexi-grid TED model. flexi-grid topology model.
It is also grounded on other defined YANG abstract models. It is also grounded on other defined YANG abstract models.
Table of Contents Table of Contents
1. Introduction .............................................. 2 1. Introduction .............................................. 2
2. Conventions used in this document ......................... 3 2. Conventions used in this document ......................... 3
3. Flexi-grid media-channel overview ......................... 3 3. Flexi-grid media-channel overview ......................... 3
4. Example of use ............................................ 4 4. Example of use ............................................ 4
5. Media Channel YANG Model .................................. 5 5. Media Channel YANG Model .................................. 5
5.1. YANG Model - Tree .................................... 5 5.1. YANG Model - Tree .................................... 5
5.2. YANG Model - Code .................................... 20 5.2. YANG Model - Code .................................... 16
5.3. License .............................................. 41 5.3. License .............................................. 32
6. Security Considerations ................................... 42 6. Security Considerations ................................... 33
7. IANA Considerations ....................................... 42 7. IANA Considerations ....................................... 33
8. References ................................................ 42 8. References ................................................ 33
8.1. Normative References ................................. 42 8.1. Normative References ................................. 33
8.2. Informative References ............................... 43 8.2. Informative References ............................... 34
9. Contributors .............................................. 43 9. Contributors .............................................. 34
10. Acknowledgments ........................................... 43 10. Acknowledgments ........................................... 35
Authors' Addresses ............................................ 43 Authors' Addresses ............................................ 35
1. Introduction 1. Introduction
Transport networks are evolving from current DWDM systems towards Transport networks are evolving from current DWDM systems towards
elastic optical networks, based on flexi-grid transmission and elastic optical networks, based on flexi-grid transmission and
switching technologies [RFC7698]. Such technology aims at increasing switching technologies [RFC7698]. Such technology aims at increasing
both transport network scalability and flexibility, allowing the both transport network scalability and flexibility, allowing the
optimization of bandwidth usage. optimization of bandwidth usage.
While [I-D.draft-ietf-ccamp-flexigrid-yang] focuses on flexi-grid While [I-D.draft-ietf-ccamp-flexigrid-yang] focuses on flexi-grid
objects such as nodes, transponders and links, this document presents objects such as nodes, transponders and links, this document presents
a YANG model for the flexi-grid media-channel. This YANG module a YANG [RFC7950] model for the flexi-grid media-channel. This YANG
defines the whole path from a source transponder or node to the module defines the whole path from a source transponder or node to
destination through a number of intermediate nodes in the flexi-grid the destination through a number of intermediate nodes in the
network. flexi-grid network.
This document identifies the flexi-grid media-channel components, This document identifies the flexi-grid media-channel components,
parameters and their values, characterizes the features and the parameters and their values, characterizes the features and the
performances of the flexi-grid elements. An application example is performances of the flexi-grid elements. An application example is
provided towards the end of the document to better understand provided towards the end of the document to better understand
their utility. their utility.
2. Conventions used in this document 2. Conventions used in this document
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
skipping to change at page 4, line 50 skipping to change at page 4, line 50
| D | | D |
+----------+ +----------+
<--------------------------------------------------> <-------------------------------------------------->
Path y Path y
Figure 1. Topology example. Figure 1. Topology example.
After the nodes, links and transponders have been defined using After the nodes, links and transponders have been defined using
[I-D.draft-ietf-ccamp-flexigrid-yang], we can configure the [I-D.draft-ietf-ccamp-flexigrid-yang], we can configure the
media-channel from the information we have stored in the media-channel from the information we have stored in the
flexi-grid TED, by querying which elements are available, and flexi-grid topology, by querying which elements are available, and
planning the resources that have to be provided on each situation. planning the resources that have to be provided on each situation.
Note that every element in the flexi-grid TED has a reference, and Note that every element in the flexi-grid topology has a reference,
this is the way in which they are called in the media-channel. and this is the way in which they are called in the media-channel.
1. Depending on the case, it is possible to define either the source 1. Depending on the case, it is possible to define either the source
and destination node ports, or the source and destination node and destination node ports, or the source and destination node
and transponder. In our case, we would define a network media and transponder. In our case, we would define a network media
channel, with source transponder A and source node B, and channel, with source transponder A and source node B, and
destination transponder E and destination node C. Thus, we are destination transponder E and destination node C. Thus, we are
going to follow path x. going to follow path x.
2. Then, for each link in the path x, we indicate which channel we 2. Then, for each link in the path x, we indicate which channel we
are going to use, providing information about the slots, and what are going to use, providing information about the slots, and what
nodes are connected. nodes are connected.
3. Finally, the flexi-grid TED has to be updated with each element 3. Finally, the flexi-grid topology has to be updated with each
usage status each time a media channel is created or torn down. element usage status each time a media channel is created or torn
down.
5. Media Channel YANG Model 5. Media Channel YANG Model
5.1. YANG Model - Tree 5.1. YANG Model - Tree
module: ietf-flex-grid-media-channel module: ietf-flexi-grid-media-channel
augment /te:te/te:tunnels/te:tunnel: augment /te:te/te:tunnels/te:tunnel:
+--rw src-client-signal? identityref +--rw src-client-signal? identityref
+--rw dst-client-signal? identityref +--rw dst-client-signal? identityref
+--rw fec-type? identityref +--rw fec-type? identityref
+--rw termination-type? identityref +--rw termination-type? identityref
+--rw bit-stuffing? boolean +--rw bit-stuffing? boolean
augment /te:te/te:globals/te:named-path-constraints/ augment /te:te/te:globals/te:named-path-constraints/
te:named-path-constraint/te:te-bandwidth/te:technology: te:named-path-constraint/te:te-bandwidth/te:technology:
+--:(flex-grid) +--:(flexi-grid)
+--rw bandwidth-type? identityref +--rw bandwidth-type? identityref
augment /te:te/te:tunnels/te:tunnel/te:te-bandwidth/te:technology: augment /te:te/te:tunnels/te:tunnel/te:te-bandwidth/te:technology:
+--:(flex-grid) +--:(flexi-grid)
+--rw bandwidth-type? identityref +--rw bandwidth-type? identityref
augment /te:te/te:tunnels/te:tunnel/te:p2p-primary-paths/ augment /te:te/te:tunnels/te:tunnel/te:p2p-primary-paths/
te:p2p-primary-path/te:te-bandwidth/te:technology: te:p2p-primary-path/te:te-bandwidth/te:technology:
+--:(flex-grid) +--:(flexi-grid)
+--rw bandwidth-type? identityref +--rw bandwidth-type? identityref
augment /te:te/te:tunnels/te:tunnel/te:p2p-primary-paths/ augment /te:te/te:tunnels/te:tunnel/te:p2p-primary-paths/
te:p2p-primary-path/te:p2p-reverse-primary-path/te:te-bandwidth/ te:p2p-primary-path/te:p2p-primary-reverse-path/
te:technology: te:te-bandwidth/te:technology:
+--:(flex-grid) +--:(flexi-grid)
+--rw bandwidth-type? identityref +--rw bandwidth-type? identityref
augment /te:te/te:tunnels/te:tunnel/te:p2p-secondary-paths/ augment /te:te/te:tunnels/te:tunnel/te:p2p-secondary-paths/
te:p2p-secondary-path/te:te-bandwidth/te:technology: te:p2p-secondary-path/te:te-bandwidth/te:technology:
+--:(flex-grid) +--:(flexi-grid)
+--rw bandwidth-type? identityref +--rw bandwidth-type? identityref
augment /te:te/te:globals/te:named-path-constraints/ augment /te:te/te:globals/te:named-path-constraints/
te:named-path-constraint/te:explicit-route-objects/ te:named-path-constraint/te:explicit-route-objects-always/
te:route-object-exclude-always/te:type/te:label/te:label-hop/ te:route-object-exclude-always/te:type/te:label/te:label-hop/
te:te-label/te:technology: te:te-label/te:technology:
+--:(flex-grid) +--:(flexi-grid)
+--rw (single-or-super-channel)? +--rw (single-or-super-channel)?
+--:(single) +--:(single)
| +--rw central-frequency? frequency-thz | +--rw flex-n? int16
| +--rw slot-width? frequency-ghz | +--rw flex-m? uint16
+--:(super) +--:(super)
+--rw subcarrier-channels* [central-frequency] +--rw subcarrier-flex-n* [flex-n]
+--rw central-frequency frequency-thz +--rw flex-n int16
+--rw slot-width? frequency-ghz +--rw flex-m? uint16
augment /te:te/te:globals/te:named-path-constraints/ augment /te:te/te:globals/te:named-path-constraints/
te:named-path-constraint/te:explicit-route-objects/ te:named-path-constraint/te:explicit-route-objects-always/
te:route-object-include-exclude/te:type/te:label/te:label-hop/ te:route-object-include-exclude/te:type/te:label/te:label-hop/
te:te-label/te:technology: te:te-label/te:technology:
+--:(flex-grid) +--:(flexi-grid)
+--rw (single-or-super-channel)? +--rw (single-or-super-channel)?
+--:(single) +--:(single)
| +--rw central-frequency? frequency-thz | +--rw flex-n? int16
| +--rw slot-width? frequency-ghz | +--rw flex-m? uint16
+--:(super) +--:(super)
+--rw subcarrier-channels* [central-frequency] +--rw subcarrier-flex-n* [flex-n]
+--rw central-frequency frequency-thz +--rw flex-n int16
+--rw slot-width? frequency-ghz +--rw flex-m? uint16
augment /te:te/te:globals/te:named-path-constraints/ augment /te:te/te:globals/te:named-path-constraints/
te:named-path-constraint/te:path-in-segment/te:forward/ te:named-path-constraint/te:path-in-segment/te:label-restrictions/
te:label-restrictions/te:label-restriction: te:label-restriction:
+--rw grid-type? identityref +--rw grid-type? identityref
+--rw priority? uint8 +--rw priority? uint8
+--rw flex-grid +--rw flexi-grid
+--rw nominal-central-frequency-granularity? frequency-ghz +--rw nominal-central-frequency-granularity? identityref
+--rw slot-width-granularity? frequency-ghz +--rw slot-width-granularity? identityref
+--rw min-slot-width-factor? uint16
+--rw max-slot-width-factor? uint16
augment /te:te/te:globals/te:named-path-constraints/ augment /te:te/te:globals/te:named-path-constraints/
te:named-path-constraint/te:path-in-segment/te:forward/ te:named-path-constraint/te:path-in-segment/te:label-restrictions/
te:label-restrictions/te:label-restriction/te:label-start/ te:label-restriction/te:label-start/te:te-label/te:technology:
te:te-label/te:technology: +--:(flexi-grid)
+--:(flex-grid) +--rw flex-n? int16
+--rw central-frequency? frequency-thz
augment /te:te/te:globals/te:named-path-constraints/ augment /te:te/te:globals/te:named-path-constraints/
te:named-path-constraint/te:path-in-segment/te:forward/ te:named-path-constraint/te:path-in-segment/te:label-restrictions/
te:label-restrictions/te:label-restriction/te:label-end/ te:label-restriction/te:label-end/te:te-label/te:technology:
te:te-label/te:technology: +--:(flexi-grid)
+--:(flex-grid) +--rw flex-n? int16
+--rw central-frequency? frequency-thz
augment /te:te/te:globals/te:named-path-constraints/ augment /te:te/te:globals/te:named-path-constraints/
te:named-path-constraint/te:path-in-segment/te:reverse/ te:named-path-constraint/te:path-out-segment/te:label-restrictions/
te:label-restrictions/te:label-restriction: te:label-restriction:
+--rw grid-type? identityref
+--rw priority? uint8
+--rw flex-grid
+--rw nominal-central-frequency-granularity? frequency-ghz
+--rw slot-width-granularity? frequency-ghz
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:
+--:(flex-grid)
+--rw central-frequency? frequency-thz
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:
+--:(flex-grid)
+--rw central-frequency? frequency-thz
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
+--rw flex-grid
+--rw nominal-central-frequency-granularity? frequency-ghz
+--rw slot-width-granularity? frequency-ghz
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:
+--:(flex-grid)
+--rw central-frequency? frequency-thz
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:
+--:(flex-grid)
+--rw central-frequency? frequency-thz
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 grid-type? identityref
+--rw priority? uint8 +--rw priority? uint8
+--rw flex-grid +--rw flexi-grid
+--rw nominal-central-frequency-granularity? frequency-ghz +--rw nominal-central-frequency-granularity? identityref
+--rw slot-width-granularity? frequency-ghz +--rw slot-width-granularity? identityref
+--rw min-slot-width-factor? uint16
+--rw max-slot-width-factor? uint16
augment /te:te/te:globals/te:named-path-constraints/ augment /te:te/te:globals/te:named-path-constraints/
te:named-path-constraint/te:path-out-segment/te:reverse/ te:named-path-constraint/te:path-out-segment/te:label-restrictions/
te:label-restrictions/te:label-restriction/te:label-start/ te:label-restriction/te:label-start/te:te-label/te:technology:
te:te-label/te:technology: +--:(flexi-grid)
+--:(flex-grid) +--rw flex-n? int16
+--rw central-frequency? frequency-thz
augment /te:te/te:globals/te:named-path-constraints/ augment /te:te/te:globals/te:named-path-constraints/
te:named-path-constraint/te:path-out-segment/te:reverse/ te:named-path-constraint/te:path-out-segment/te:label-restrictions/
te:label-restrictions/te:label-restriction/te:label-end/ te:label-restriction/te:label-end/te:te-label/te:technology:
te:te-label/te:technology: +--:(flexi-grid)
+--:(flex-grid) +--rw flex-n? int16
+--rw central-frequency? frequency-thz
augment /te:te/te:tunnels/te:tunnel/te:p2p-primary-paths/ augment /te:te/te:tunnels/te:tunnel/te:p2p-primary-paths/
te:p2p-primary-path/te:optimizations/te:algorithm/te:metric/ te:p2p-primary-path/te:optimizations/te:algorithm/te:metric/
te:optimization-metric/te:explicit-route-exclude-objects/ te:optimization-metric/te:explicit-route-exclude-objects/
te:route-object-exclude-object/te:type/te:label/te:label-hop/ te:route-object-exclude-object/te:type/te:label/te:label-hop/
te:te-label/te:technology: te:te-label/te:technology:
+--:(flex-grid) +--:(flexi-grid)
+--rw (single-or-super-channel)? +--rw (single-or-super-channel)?
+--:(single) +--:(single)
| +--rw central-frequency? frequency-thz | +--rw flex-n? int16
| +--rw slot-width? frequency-ghz | +--rw flex-m? uint16
+--:(super) +--:(super)
+--rw subcarrier-channels* [central-frequency] +--rw subcarrier-flex-n* [flex-n]
+--rw central-frequency frequency-thz +--rw flex-n int16
+--rw slot-width? frequency-ghz +--rw flex-m? uint16
augment /te:te/te:tunnels/te:tunnel/te:p2p-primary-paths/ augment /te:te/te:tunnels/te:tunnel/te:p2p-primary-paths/
te:p2p-primary-path/te:optimizations/te:algorithm/te:metric/ te:p2p-primary-path/te:optimizations/te:algorithm/te:metric/
te:optimization-metric/te:explicit-route-include-objects/ te:optimization-metric/te:explicit-route-include-objects/
te:route-object-include-object/te:type/te:label/te:label-hop/ te:route-object-include-object/te:type/te:label/te:label-hop/
te:te-label/te:technology: te:te-label/te:technology:
+--:(flex-grid) +--:(flexi-grid)
+--rw (single-or-super-channel)? +--rw (single-or-super-channel)?
+--:(single) +--:(single)
| +--rw central-frequency? frequency-thz | +--rw flex-n? int16
| +--rw slot-width? frequency-ghz | +--rw flex-m? uint16
+--:(super) +--:(super)
+--rw subcarrier-channels* [central-frequency] +--rw subcarrier-flex-n* [flex-n]
+--rw central-frequency frequency-thz +--rw flex-n int16
+--rw slot-width? frequency-ghz +--rw flex-m? uint16
augment /te:te/te:tunnels/te:tunnel/te:p2p-primary-paths/ augment /te:te/te:tunnels/te:tunnel/te:p2p-primary-paths/
te:p2p-primary-path/te:explicit-route-objects/ te:p2p-primary-path/te:explicit-route-objects-always/
te:route-object-exclude-always/te:type/te:label/te:label-hop/ te:route-object-exclude-always/te:type/te:label/te:label-hop/
te:te-label/te:technology: te:te-label/te:technology:
+--:(flex-grid) +--:(flexi-grid)
+--rw (single-or-super-channel)? +--rw (single-or-super-channel)?
+--:(single) +--:(single)
| +--rw central-frequency? frequency-thz | +--rw flex-n? int16
| +--rw slot-width? frequency-ghz | +--rw flex-m? uint16
+--:(super) +--:(super)
+--rw subcarrier-channels* [central-frequency] +--rw subcarrier-flex-n* [flex-n]
+--rw central-frequency frequency-thz +--rw flex-n int16
+--rw slot-width? frequency-ghz +--rw flex-m? uint16
augment /te:te/te:tunnels/te:tunnel/te:p2p-primary-paths/ augment /te:te/te:tunnels/te:tunnel/te:p2p-primary-paths/
te:p2p-primary-path/te:explicit-route-objects/ te:p2p-primary-path/te:explicit-route-objects-always/
te:route-object-include-exclude/te:type/te:label/te:label-hop/ te:route-object-include-exclude/te:type/te:label/te:label-hop/
te:te-label/te:technology: te:te-label/te:technology:
+--:(flex-grid) +--:(flexi-grid)
+--rw (single-or-super-channel)? +--rw (single-or-super-channel)?
+--:(single) +--:(single)
| +--rw central-frequency? frequency-thz | +--rw flex-n? int16
| +--rw slot-width? frequency-ghz | +--rw flex-m? uint16
+--:(super) +--:(super)
+--rw subcarrier-channels* [central-frequency] +--rw subcarrier-flex-n* [flex-n]
+--rw central-frequency frequency-thz +--rw flex-n int16
+--rw slot-width? frequency-ghz +--rw flex-m? uint16
augment /te:te/te:tunnels/te:tunnel/te:p2p-primary-paths/ augment /te:te/te:tunnels/te:tunnel/te:p2p-primary-paths/
te:p2p-primary-path/te:path-in-segment/te:forward/ te:p2p-primary-path/te:path-in-segment/te:label-restrictions/
te:label-restrictions/te:label-restriction: te:label-restriction:
+--rw grid-type? identityref +--rw grid-type? identityref
+--rw priority? uint8 +--rw priority? uint8
+--rw flex-grid +--rw flexi-grid
+--rw nominal-central-frequency-granularity? frequency-ghz +--rw nominal-central-frequency-granularity? identityref
+--rw slot-width-granularity? frequency-ghz +--rw slot-width-granularity? identityref
+--rw min-slot-width-factor? uint16
+--rw max-slot-width-factor? uint16
augment /te:te/te:tunnels/te:tunnel/te:p2p-primary-paths/ augment /te:te/te:tunnels/te:tunnel/te:p2p-primary-paths/
te:p2p-primary-path/te:path-in-segment/te:forward/ te:p2p-primary-path/te:path-in-segment/te:label-restrictions/
te:label-restrictions/te:label-restriction/te:label-start/ te:label-restriction/te:label-start/te:te-label/te:technology:
te:te-label/te:technology: +--:(flexi-grid)
+--:(flex-grid) +--rw flex-n? int16
+--rw central-frequency? frequency-thz
augment /te:te/te:tunnels/te:tunnel/te:p2p-primary-paths/ augment /te:te/te:tunnels/te:tunnel/te:p2p-primary-paths/
te:p2p-primary-path/te:path-in-segment/te:forward/ te:p2p-primary-path/te:path-in-segment/te:label-restrictions/
te:label-restrictions/te:label-restriction/te:label-end/ te:label-restriction/te:label-end/te:te-label/te:technology:
te:te-label/te:technology: +--:(flexi-grid)
+--:(flex-grid) +--rw flex-n? int16
+--rw central-frequency? frequency-thz
augment /te:te/te:tunnels/te:tunnel/te:p2p-primary-paths/ augment /te:te/te:tunnels/te:tunnel/te:p2p-primary-paths/
te:p2p-primary-path/te:path-in-segment/te:reverse/ te:p2p-primary-path/te:path-out-segment/te:label-restrictions/
te:label-restrictions/te:label-restriction: te:label-restriction:
+--rw grid-type? identityref
+--rw priority? uint8
+--rw flex-grid
+--rw nominal-central-frequency-granularity? frequency-ghz
+--rw slot-width-granularity? frequency-ghz
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:
+--:(flex-grid)
+--rw central-frequency? frequency-thz
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:
+--:(flex-grid)
+--rw central-frequency? frequency-thz
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
+--rw flex-grid
+--rw nominal-central-frequency-granularity? frequency-ghz
+--rw slot-width-granularity? frequency-ghz
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:
+--:(flex-grid)
+--rw central-frequency? frequency-thz
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:
+--:(flex-grid)
+--rw central-frequency? frequency-thz
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 grid-type? identityref
+--rw priority? uint8 +--rw priority? uint8
+--rw flex-grid +--rw flexi-grid
+--rw nominal-central-frequency-granularity? frequency-ghz +--rw nominal-central-frequency-granularity? identityref
+--rw slot-width-granularity? frequency-ghz +--rw slot-width-granularity? identityref
+--rw min-slot-width-factor? uint16
+--rw max-slot-width-factor? uint16
augment /te:te/te:tunnels/te:tunnel/te:p2p-primary-paths/ augment /te:te/te:tunnels/te:tunnel/te:p2p-primary-paths/
te:p2p-primary-path/te:path-out-segment/te:reverse/ te:p2p-primary-path/te:path-out-segment/te:label-restrictions/
te:label-restrictions/te:label-restriction/te:label-start/ te:label-restriction/te:label-start/te:te-label/te:technology:
te:te-label/te:technology: +--:(flexi-grid)
+--:(flex-grid) +--rw flex-n? int16
+--rw central-frequency? frequency-thz
augment /te:te/te:tunnels/te:tunnel/te:p2p-primary-paths/ augment /te:te/te:tunnels/te:tunnel/te:p2p-primary-paths/
te:p2p-primary-path/te:path-out-segment/te:reverse/ te:p2p-primary-path/te:path-out-segment/te:label-restrictions/
te:label-restrictions/te:label-restriction/te:label-end/ te:label-restriction/te:label-end/te:te-label/te:technology:
te:te-label/te:technology: +--:(flexi-grid)
+--:(flex-grid) +--rw flex-n? int16
+--rw central-frequency? frequency-thz
augment /te:te/te:tunnels/te:tunnel/te:p2p-primary-paths/ augment /te:te/te:tunnels/te:tunnel/te:p2p-primary-paths/
te:p2p-primary-path/te:state/te:path-properties/ te:p2p-primary-path/te:computed-paths-properties/
te:path-route-objects/te:path-computed-route-object/te:state/ te:computed-path-properties/te:path-properties/
te:type/te:label/te:label-hop/te:te-label/te:technology: te:path-route-objects/te:path-computed-route-object/te:type/
+--:(flex-grid) te:label/te:label-hop/te:te-label/te:technology:
+--:(flexi-grid)
+--ro (single-or-super-channel)? +--ro (single-or-super-channel)?
+--:(single) +--:(single)
| +--ro central-frequency? frequency-thz | +--ro flex-n? int16
| +--ro slot-width? frequency-ghz | +--ro flex-m? uint16
+--:(super) +--:(super)
+--ro subcarrier-channels* [central-frequency] +--ro subcarrier-flex-n* [flex-n]
+--ro central-frequency frequency-thz +--ro flex-n int16
+--ro slot-width? frequency-ghz +--ro flex-m? uint16
augment /te:te/te:tunnels/te:tunnel/te:p2p-primary-paths/ augment /te:te/te:tunnels/te:tunnel/te:p2p-primary-paths/
te:p2p-primary-path/te:state/te:lsps/te:lsp/ te:p2p-primary-path/te:lsps/te:lsp/te:lsp-record-route-information/
te:lsp-record-route-subobjects/te:record-route-subobject/te:type/ te:lsp-record-route-information/te:type/te:label/te:label-hop/
te:label/te:label-hop/te:te-label/te:technology: te:te-label/te:technology:
+--:(flex-grid) +--:(flexi-grid)
+--ro (single-or-super-channel)? +--ro (single-or-super-channel)?
+--:(single) +--:(single)
| +--ro central-frequency? frequency-thz | +--ro flex-n? int16
| +--ro slot-width? frequency-ghz | +--ro flex-m? uint16
+--:(super) +--:(super)
+--ro subcarrier-channels* [central-frequency] +--ro subcarrier-flex-n* [flex-n]
+--ro central-frequency frequency-thz +--ro flex-n int16
+--ro slot-width? frequency-ghz +--ro flex-m? uint16
augment /te:te/te:tunnels/te:tunnel/te:p2p-primary-paths/ 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:p2p-primary-path/te:lsps/te:lsp/te:path-properties/
te:path-route-objects/te:path-computed-route-object/te:state/ te:path-route-objects/te:path-computed-route-object/te:type/
te:type/te:label/te:label-hop/te:te-label/te:technology: te:label/te:label-hop/te:te-label/te:technology:
+--:(flex-grid) +--:(flexi-grid)
+--ro (single-or-super-channel)? +--ro (single-or-super-channel)?
+--:(single) +--:(single)
| +--ro central-frequency? frequency-thz | +--ro flex-n? int16
| +--ro slot-width? frequency-ghz | +--ro flex-m? uint16
+--:(super) +--:(super)
+--ro subcarrier-channels* [central-frequency] +--ro subcarrier-flex-n* [flex-n]
+--ro central-frequency frequency-thz +--ro flex-n int16
+--ro slot-width? frequency-ghz +--ro flex-m? uint16
augment /te:te/te:tunnels/te:tunnel/te:p2p-primary-paths/ augment /te:te/te:tunnels/te:tunnel/te:p2p-primary-paths/
te:p2p-primary-path/te:p2p-reverse-primary-path/ te:p2p-primary-path/te:p2p-primary-reverse-path/te:optimizations/
te:optimizations/te:algorithm/te:metric/te:optimization-metric/ te:algorithm/te:metric/te:optimization-metric/
te:explicit-route-exclude-objects/te:route-object-exclude-object/ te:explicit-route-exclude-objects/te:route-object-exclude-object/
te:type/te:label/te:label-hop/te:te-label/te:technology: te:type/te:label/te:label-hop/te:te-label/te:technology:
+--:(flex-grid) +--:(flexi-grid)
+--rw (single-or-super-channel)? +--rw (single-or-super-channel)?
+--:(single) +--:(single)
| +--rw central-frequency? frequency-thz | +--rw flex-n? int16
| +--rw slot-width? frequency-ghz | +--rw flex-m? uint16
+--:(super) +--:(super)
+--rw subcarrier-channels* [central-frequency] +--rw subcarrier-flex-n* [flex-n]
+--rw central-frequency frequency-thz +--rw flex-n int16
+--rw slot-width? frequency-ghz +--rw flex-m? uint16
augment /te:te/te:tunnels/te:tunnel/te:p2p-primary-paths/ augment /te:te/te:tunnels/te:tunnel/te:p2p-primary-paths/
te:p2p-primary-path/te:p2p-reverse-primary-path/ te:p2p-primary-path/te:p2p-primary-reverse-path/te:optimizations/
te:optimizations/te:algorithm/te:metric/te:optimization-metric/ te:algorithm/te:metric/te:optimization-metric/
te:explicit-route-include-objects/te:route-object-include-object/ te:explicit-route-include-objects/te:route-object-include-object/
te:type/te:label/te:label-hop/te:te-label/te:technology: te:type/te:label/te:label-hop/te:te-label/te:technology:
+--:(flex-grid) +--:(flexi-grid)
+--rw (single-or-super-channel)? +--rw (single-or-super-channel)?
+--:(single) +--:(single)
| +--rw central-frequency? frequency-thz | +--rw flex-n? int16
| +--rw slot-width? frequency-ghz | +--rw flex-m? uint16
+--:(super) +--:(super)
+--rw subcarrier-channels* [central-frequency] +--rw subcarrier-flex-n* [flex-n]
+--rw central-frequency frequency-thz +--rw flex-n int16
+--rw slot-width? frequency-ghz +--rw flex-m? uint16
augment /te:te/te:tunnels/te:tunnel/te:p2p-primary-paths/ augment /te:te/te:tunnels/te:tunnel/te:p2p-primary-paths/
te:p2p-primary-path/te:p2p-reverse-primary-path/ te:p2p-primary-path/te:p2p-primary-reverse-path/
te:explicit-route-objects/te:route-object-exclude-always/ te:explicit-route-objects-always/te:route-object-exclude-always/
te:type/te:label/te:label-hop/te:te-label/te:technology: te:type/te:label/te:label-hop/te:te-label/te:technology:
+--:(flex-grid) +--:(flexi-grid)
+--rw (single-or-super-channel)? +--rw (single-or-super-channel)?
+--:(single) +--:(single)
| +--rw central-frequency? frequency-thz | +--rw flex-n? int16
| +--rw slot-width? frequency-ghz | +--rw flex-m? uint16
+--:(super) +--:(super)
+--rw subcarrier-channels* [central-frequency] +--rw subcarrier-flex-n* [flex-n]
+--rw central-frequency frequency-thz +--rw flex-n int16
+--rw slot-width? frequency-ghz +--rw flex-m? uint16
augment /te:te/te:tunnels/te:tunnel/te:p2p-primary-paths/ augment /te:te/te:tunnels/te:tunnel/te:p2p-primary-paths/
te:p2p-primary-path/te:p2p-reverse-primary-path/ te:p2p-primary-path/te:p2p-primary-reverse-path/
te:explicit-route-objects/te:route-object-include-exclude/ te:explicit-route-objects-always/te:route-object-include-exclude/
te:type/te:label/te:label-hop/te:te-label/te:technology: te:type/te:label/te:label-hop/te:te-label/te:technology:
+--:(flex-grid) +--:(flexi-grid)
+--rw (single-or-super-channel)? +--rw (single-or-super-channel)?
+--:(single) +--:(single)
| +--rw central-frequency? frequency-thz | +--rw flex-n? int16
| +--rw slot-width? frequency-ghz | +--rw flex-m? uint16
+--:(super) +--:(super)
+--rw subcarrier-channels* [central-frequency] +--rw subcarrier-flex-n* [flex-n]
+--rw central-frequency frequency-thz +--rw flex-n int16
+--rw slot-width? frequency-ghz +--rw flex-m? uint16
augment /te:te/te:tunnels/te:tunnel/te:p2p-primary-paths/ augment /te:te/te:tunnels/te:tunnel/te:p2p-primary-paths/
te:p2p-primary-path/te:p2p-reverse-primary-path/ te:p2p-primary-path/te:p2p-primary-reverse-path/te:path-in-segment/
te:path-in-segment/te:forward/te:label-restrictions/ te:label-restrictions/te:label-restriction:
te:label-restriction:
+--rw grid-type? identityref +--rw grid-type? identityref
+--rw priority? uint8 +--rw priority? uint8
+--rw flex-grid +--rw flexi-grid
+--rw nominal-central-frequency-granularity? frequency-ghz +--rw nominal-central-frequency-granularity? identityref
+--rw slot-width-granularity? frequency-ghz +--rw slot-width-granularity? identityref
augment /te:te/te:tunnels/te:tunnel/te:p2p-primary-paths/ +--rw min-slot-width-factor? uint16
te:p2p-primary-path/te:p2p-reverse-primary-path/te:path-in-segment/ +--rw max-slot-width-factor? uint16
te:forward/te:label-restrictions/te:label-restriction/
te:label-start/te:te-label/te:technology:
+--:(flex-grid)
+--rw central-frequency? frequency-thz
augment /te:te/te:tunnels/te:tunnel/te:p2p-primary-paths/ 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:p2p-primary-path/te:p2p-primary-reverse-path/te:path-in-segment/
te:forward/te:label-restrictions/te:label-restriction/te:label-end/ te:label-restrictions/te:label-restriction/te:label-start/
te:te-label/te:technology: te:te-label/te:technology:
+--:(flex-grid) +--:(flexi-grid)
+--rw central-frequency? frequency-thz +--rw flex-n? int16
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
+--rw flex-grid
+--rw nominal-central-frequency-granularity? frequency-ghz
+--rw slot-width-granularity? frequency-ghz
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:
+--:(flex-grid)
+--rw central-frequency? frequency-thz
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:
+--:(flex-grid)
+--rw central-frequency? frequency-thz
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
+--rw priority? uint8
+--rw flex-grid
+--rw nominal-central-frequency-granularity? frequency-ghz
+--rw slot-width-granularity? frequency-ghz
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:
+--:(flex-grid)
+--rw central-frequency? frequency-thz
augment /te:te/te:tunnels/te:tunnel/te:p2p-primary-paths/ augment /te:te/te:tunnels/te:tunnel/te:p2p-primary-paths/
te:p2p-primary-path/te:p2p-reverse-primary-path/ te:p2p-primary-path/te:p2p-primary-reverse-path/te:path-in-segment/
te:path-out-segment/te:forward/te:label-restrictions/ te:label-restrictions/te:label-restriction/te:label-end/te:te-label/
te:label-restriction/te:label-end/te:te-label/te:technology: te:technology:
+--:(flex-grid) +--:(flexi-grid)
+--rw central-frequency? frequency-thz +--rw flex-n? int16
augment /te:te/te:tunnels/te:tunnel/te:p2p-primary-paths/ augment /te:te/te:tunnels/te:tunnel/te:p2p-primary-paths/
te:p2p-primary-path/te:p2p-reverse-primary-path/ te:p2p-primary-path/te:p2p-primary-reverse-path/te:path-out-segment/
te:path-out-segment/te:reverse/te:label-restrictions/ te:label-restrictions/te:label-restriction:
te:label-restriction:
+--rw grid-type? identityref +--rw grid-type? identityref
+--rw priority? uint8 +--rw priority? uint8
+--rw flex-grid +--rw flexi-grid
+--rw nominal-central-frequency-granularity? frequency-ghz +--rw nominal-central-frequency-granularity? identityref
+--rw slot-width-granularity? frequency-ghz +--rw slot-width-granularity? identityref
augment /te:te/te:tunnels/te:tunnel/te:p2p-primary-paths/ +--rw min-slot-width-factor? uint16
te:p2p-primary-path/te:p2p-reverse-primary-path/ +--rw max-slot-width-factor? uint16
te:path-out-segment/te:reverse/te:label-restrictions/
te:label-restriction/te:label-start/te:te-label/te:technology:
+--:(flex-grid)
+--rw central-frequency? frequency-thz
augment /te:te/te:tunnels/te:tunnel/te:p2p-primary-paths/ augment /te:te/te:tunnels/te:tunnel/te:p2p-primary-paths/
te:p2p-primary-path/te:p2p-reverse-primary-path/ te:p2p-primary-path/te:p2p-primary-reverse-path/te:path-out-segment/
te:path-out-segment/te:reverse/te:label-restrictions/ te:label-restrictions/te:label-restriction/te:label-start/
te:label-restriction/te:label-end/te:te-label/te:technology: te:te-label/te:technology:
+--:(flex-grid) +--:(flexi-grid)
+--rw central-frequency? frequency-thz +--rw flex-n? int16
augment /te:te/te:tunnels/te:tunnel/te:p2p-primary-paths/ augment /te:te/te:tunnels/te:tunnel/te:p2p-primary-paths/
te:p2p-primary-path/te:p2p-reverse-primary-path/ te:p2p-primary-path/te:p2p-primary-reverse-path/te:path-out-segment/
te:state/te:path-properties/te:path-route-objects/ te:label-restrictions/te:label-restriction/te:label-end/te:te-label/
te:path-computed-route-object/te:state/te:type/te:label/ te:technology:
te:label-hop/te:te-label/te:technology: +--:(flexi-grid)
+--:(flex-grid) +--rw flex-n? int16
augment /te:te/te:tunnels/te:tunnel/te:p2p-primary-paths/
te:p2p-primary-path/te:p2p-primary-reverse-path/
te:computed-paths-properties/te:computed-path-properties/
te:path-properties/te:path-route-objects/
te:path-computed-route-object/te:type/te:label/te:label-hop/
te:te-label/te:technology:
+--:(flexi-grid)
+--ro (single-or-super-channel)? +--ro (single-or-super-channel)?
+--:(single) +--:(single)
| +--ro central-frequency? frequency-thz | +--ro flex-n? int16
| +--ro slot-width? frequency-ghz | +--ro flex-m? uint16
+--:(super) +--:(super)
+--ro subcarrier-channels* [central-frequency] +--ro subcarrier-flex-n* [flex-n]
+--ro central-frequency frequency-thz +--ro flex-n int16
+--ro slot-width? frequency-ghz +--ro flex-m? uint16
augment /te:te/te:tunnels/te:tunnel/te:p2p-primary-paths/ 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:p2p-primary-path/te:p2p-primary-reverse-path/te:lsps/te:lsp/
te:lsp/te:lsp-record-route-subobjects/te:record-route-subobject/ te:lsp-record-route-information/te:lsp-record-route-information/
te:type/te:label/te:label-hop/te:te-label/te:technology: te:type/te:label/te:label-hop/te:te-label/te:technology:
+--:(flex-grid) +--:(flexi-grid)
+--ro (single-or-super-channel)? +--ro (single-or-super-channel)?
+--:(single) +--:(single)
| +--ro central-frequency? frequency-thz | +--ro flex-n? int16
| +--ro slot-width? frequency-ghz | +--ro flex-m? uint16
+--:(super) +--:(super)
+--ro subcarrier-channels* [central-frequency] +--ro subcarrier-flex-n* [flex-n]
+--ro central-frequency frequency-thz +--ro flex-n int16
+--ro slot-width? frequency-ghz +--ro flex-m? uint16
augment /te:te/te:tunnels/te:tunnel/te:p2p-primary-paths/ augment /te:te/te:tunnels/te:tunnel/te:p2p-primary-paths/
te:p2p-primary-path/te:p2p-reverse-primary-path/ te:p2p-primary-path/te:p2p-primary-reverse-path/te:lsps/te:lsp/
te:state/te:lsps/te:lsp/te:path-properties/te:path-route-objects/ te:path-properties/te:path-route-objects/
te:path-computed-route-object/te:state/te:type/te:label/ te:path-computed-route-object/te:type/te:label/te:label-hop/
te:label-hop/te:te-label/te:technology: te:te-label/te:technology:
+--:(flex-grid) +--:(flexi-grid)
+--ro (single-or-super-channel)? +--ro (single-or-super-channel)?
+--:(single) +--:(single)
| +--ro central-frequency? frequency-thz | +--ro flex-n? int16
| +--ro slot-width? frequency-ghz | +--ro flex-m? uint16
+--:(super) +--:(super)
+--ro subcarrier-channels* [central-frequency] +--ro subcarrier-flex-n* [flex-n]
+--ro central-frequency frequency-thz +--ro flex-n int16
+--ro slot-width? frequency-ghz +--ro flex-m? uint16
augment /te:te/te:tunnels/te:tunnel/te:p2p-secondary-paths/ augment /te:te/te:tunnels/te:tunnel/te:p2p-secondary-paths/
te:p2p-secondary-path/te:optimizations/te:algorithm/te:metric/ te:p2p-secondary-path/te:optimizations/te:algorithm/te:metric/
te:optimization-metric/te:explicit-route-exclude-objects/ te:optimization-metric/te:explicit-route-exclude-objects/
te:route-object-exclude-object/te:type/te:label/te:label-hop/ te:route-object-exclude-object/te:type/te:label/te:label-hop/
te:te-label/te:technology: te:te-label/te:technology:
+--:(flex-grid) +--:(flexi-grid)
+--rw (single-or-super-channel)? +--rw (single-or-super-channel)?
+--:(single) +--:(single)
| +--rw central-frequency? frequency-thz | +--rw flex-n? int16
| +--rw slot-width? frequency-ghz | +--rw flex-m? uint16
+--:(super) +--:(super)
+--rw subcarrier-channels* [central-frequency] +--rw subcarrier-flex-n* [flex-n]
+--rw central-frequency frequency-thz +--rw flex-n int16
+--rw slot-width? frequency-ghz +--rw flex-m? uint16
augment /te:te/te:tunnels/te:tunnel/te:p2p-secondary-paths/ augment /te:te/te:tunnels/te:tunnel/te:p2p-secondary-paths/
te:p2p-secondary-path/te:optimizations/te:algorithm/te:metric/ te:p2p-secondary-path/te:optimizations/te:algorithm/te:metric/
te:optimization-metric/te:explicit-route-include-objects/ te:optimization-metric/te:explicit-route-include-objects/
te:route-object-include-object/te:type/te:label/te:label-hop/ te:route-object-include-object/te:type/te:label/te:label-hop/
te:te-label/te:technology: te:te-label/te:technology:
+--:(flex-grid) +--:(flexi-grid)
+--rw (single-or-super-channel)? +--rw (single-or-super-channel)?
+--:(single) +--:(single)
| +--rw central-frequency? frequency-thz | +--rw flex-n? int16
| +--rw slot-width? frequency-ghz | +--rw flex-m? uint16
+--:(super) +--:(super)
+--rw subcarrier-channels* [central-frequency] +--rw subcarrier-flex-n* [flex-n]
+--rw central-frequency frequency-thz +--rw flex-n int16
+--rw slot-width? frequency-ghz +--rw flex-m? uint16
augment /te:te/te:tunnels/te:tunnel/te:p2p-secondary-paths/ augment /te:te/te:tunnels/te:tunnel/te:p2p-secondary-paths/
te:p2p-secondary-path/te:explicit-route-objects/ te:p2p-secondary-path/te:explicit-route-objects-always/
te:route-object-exclude-always/te:type/te:label/ te:route-object-exclude-always/te:type/te:label/te:label-hop/
te:label-hop/te:te-label/te:technology: te:te-label/te:technology:
+--:(flex-grid) +--:(flexi-grid)
+--rw (single-or-super-channel)? +--rw (single-or-super-channel)?
+--:(single) +--:(single)
| +--rw central-frequency? frequency-thz | +--rw flex-n? int16
| +--rw slot-width? frequency-ghz | +--rw flex-m? uint16
+--:(super) +--:(super)
+--rw subcarrier-channels* [central-frequency] +--rw subcarrier-flex-n* [flex-n]
+--rw central-frequency frequency-thz +--rw flex-n int16
+--rw slot-width? frequency-ghz +--rw flex-m? uint16
augment /te:te/te:tunnels/te:tunnel/te:p2p-secondary-paths/ augment /te:te/te:tunnels/te:tunnel/te:p2p-secondary-paths/
te:p2p-secondary-path/te:explicit-route-objects/ te:p2p-secondary-path/te:explicit-route-objects-always/
te:route-object-include-exclude/te:type/te:label/ te:route-object-include-exclude/te:type/te:label/te:label-hop/
te:label-hop/te:te-label/te:technology: te:te-label/te:technology:
+--:(flex-grid) +--:(flexi-grid)
+--rw (single-or-super-channel)? +--rw (single-or-super-channel)?
+--:(single) +--:(single)
| +--rw central-frequency? frequency-thz | +--rw flex-n? int16
| +--rw slot-width? frequency-ghz | +--rw flex-m? uint16
+--:(super) +--:(super)
+--rw subcarrier-channels* [central-frequency] +--rw subcarrier-flex-n* [flex-n]
+--rw central-frequency frequency-thz +--rw flex-n int16
+--rw slot-width? frequency-ghz +--rw flex-m? uint16
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
+--rw flex-grid
+--rw nominal-central-frequency-granularity? frequency-ghz
+--rw slot-width-granularity? frequency-ghz
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:
+--:(flex-grid)
+--rw central-frequency? frequency-thz
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:
+--:(flex-grid)
+--rw central-frequency? frequency-thz
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
+--rw flex-grid
+--rw nominal-central-frequency-granularity? frequency-ghz
+--rw slot-width-granularity? frequency-ghz
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:
+--:(flex-grid)
+--rw central-frequency? frequency-thz
augment /te:te/te:tunnels/te:tunnel/te:p2p-secondary-paths/ augment /te:te/te:tunnels/te:tunnel/te:p2p-secondary-paths/
te:p2p-secondary-path/te:path-in-segment/te:reverse/ te:p2p-secondary-path/te:path-in-segment/te:label-restrictions/
te:label-restrictions/te:label-restriction/te:label-end/ te:label-restriction:
te:te-label/te:technology:
+--:(flex-grid)
+--rw central-frequency? frequency-thz
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 grid-type? identityref
+--rw priority? uint8 +--rw priority? uint8
+--rw flex-grid +--rw flexi-grid
+--rw nominal-central-frequency-granularity? frequency-ghz +--rw nominal-central-frequency-granularity? identityref
+--rw slot-width-granularity? frequency-ghz +--rw slot-width-granularity? identityref
+--rw min-slot-width-factor? uint16
+--rw max-slot-width-factor? uint16
augment /te:te/te:tunnels/te:tunnel/te:p2p-secondary-paths/ augment /te:te/te:tunnels/te:tunnel/te:p2p-secondary-paths/
te:p2p-secondary-path/te:path-out-segment/te:forward/ te:p2p-secondary-path/te:path-in-segment/te:label-restrictions/
te:label-restrictions/te:label-restriction/te:label-start/ te:label-restriction/te:label-start/te:te-label/te:technology:
te:te-label/te:technology: +--:(flexi-grid)
+--:(flex-grid) +--rw flex-n? int16
+--rw central-frequency? frequency-thz
augment /te:te/te:tunnels/te:tunnel/te:p2p-secondary-paths/ augment /te:te/te:tunnels/te:tunnel/te:p2p-secondary-paths/
te:p2p-secondary-path/te:path-out-segment/te:forward/ te:p2p-secondary-path/te:path-in-segment/te:label-restrictions/
te:label-restrictions/te:label-restriction/te:label-end/ te:label-restriction/te:label-end/te:te-label/te:technology:
te:te-label/te:technology: +--:(flexi-grid)
+--:(flex-grid) +--rw flex-n? int16
+--rw central-frequency? frequency-thz
augment /te:te/te:tunnels/te:tunnel/te:p2p-secondary-paths/ augment /te:te/te:tunnels/te:tunnel/te:p2p-secondary-paths/
te:p2p-secondary-path/te:path-out-segment/te:reverse/ te:p2p-secondary-path/te:path-out-segment/te:label-restrictions/
te:label-restrictions/te:label-restriction: te:label-restriction:
+--rw grid-type? identityref +--rw grid-type? identityref
+--rw priority? uint8 +--rw priority? uint8
+--rw flex-grid +--rw flexi-grid
+--rw nominal-central-frequency-granularity? frequency-ghz +--rw nominal-central-frequency-granularity? identityref
+--rw slot-width-granularity? frequency-ghz +--rw slot-width-granularity? identityref
+--rw min-slot-width-factor? uint16
+--rw max-slot-width-factor? uint16
augment /te:te/te:tunnels/te:tunnel/te:p2p-secondary-paths/ augment /te:te/te:tunnels/te:tunnel/te:p2p-secondary-paths/
te:p2p-secondary-path/te:path-out-segment/te:reverse/ te:p2p-secondary-path/te:path-out-segment/te:label-restrictions/
te:label-restrictions/te:label-restriction/te:label-start/ te:label-restriction/te:label-start/te:te-label/te:technology:
te:te-label/te:technology: +--:(flexi-grid)
+--:(flex-grid) +--rw flex-n? int16
+--rw central-frequency? frequency-thz
augment /te:te/te:tunnels/te:tunnel/te:p2p-secondary-paths/ augment /te:te/te:tunnels/te:tunnel/te:p2p-secondary-paths/
te:p2p-secondary-path/te:path-out-segment/te:reverse/ te:p2p-secondary-path/te:path-out-segment/te:label-restrictions/
te:label-restrictions/te:label-restriction/te:label-end/ te:label-restriction/te:label-end/te:te-label/te:technology:
te:te-label/te:technology: +--:(flexi-grid)
+--:(flex-grid) +--rw flex-n? int16
+--rw central-frequency? frequency-thz
augment /te:te/te:tunnels/te:tunnel/te:p2p-secondary-paths/ augment /te:te/te:tunnels/te:tunnel/te:p2p-secondary-paths/
te:p2p-secondary-path/te:state/te:path-properties/ te:p2p-secondary-path/te:computed-paths-properties/
te:path-route-objects/te:path-computed-route-object/ te:computed-path-properties/te:path-properties/
te:state/te:type/te:label/te:label-hop/te:te-label/ te:path-route-objects/te:path-computed-route-object/te:type/
te:technology: te:label/te:label-hop/te:te-label/te:technology:
+--:(flex-grid) +--:(flexi-grid)
+--ro (single-or-super-channel)? +--ro (single-or-super-channel)?
+--:(single) +--:(single)
| +--ro central-frequency? frequency-thz | +--ro flex-n? int16
| +--ro slot-width? frequency-ghz | +--ro flex-m? uint16
+--:(super) +--:(super)
+--ro subcarrier-channels* [central-frequency] +--ro subcarrier-flex-n* [flex-n]
+--ro central-frequency frequency-thz +--ro flex-n int16
+--ro slot-width? frequency-ghz +--ro flex-m? uint16
augment /te:te/te:tunnels/te:tunnel/te:p2p-secondary-paths/ augment /te:te/te:tunnels/te:tunnel/te:p2p-secondary-paths/
te:p2p-secondary-path/te:state/te:lsps/te:lsp/ te:p2p-secondary-path/te:lsps/te:lsp/
te:lsp-record-route-subobjects/te:record-route-subobject/ te:lsp-record-route-information/te:lsp-record-route-information/
te:type/te:label/te:label-hop/te:te-label/te:technology: te:type/te:label/te:label-hop/te:te-label/te:technology:
+--:(flex-grid) +--:(flexi-grid)
+--ro (single-or-super-channel)? +--ro (single-or-super-channel)?
+--:(single) +--:(single)
| +--ro central-frequency? frequency-thz | +--ro flex-n? int16
| +--ro slot-width? frequency-ghz | +--ro flex-m? uint16
+--:(super) +--:(super)
+--ro subcarrier-channels* [central-frequency] +--ro subcarrier-flex-n* [flex-n]
+--ro central-frequency frequency-thz +--ro flex-n int16
+--ro slot-width? frequency-ghz +--ro flex-m? uint16
augment /te:te/te:tunnels/te:tunnel/te:p2p-secondary-paths/ augment /te:te/te:tunnels/te:tunnel/te:p2p-secondary-paths/
te:p2p-secondary-path/te:state/te:lsps/te:lsp/ te:p2p-secondary-path/te:lsps/te:lsp/te:path-properties/
te:path-properties/te:path-route-objects/ te:path-route-objects/te:path-computed-route-object/te:type/
te:path-computed-route-object/te:state/te:type/te:label/ te:label/te:label-hop/te:te-label/te:technology:
te:label-hop/te:te-label/te:technology: +--:(flexi-grid)
+--:(flex-grid)
+--ro (single-or-super-channel)? +--ro (single-or-super-channel)?
+--:(single) +--:(single)
| +--ro central-frequency? frequency-thz | +--ro flex-n? int16
| +--ro slot-width? frequency-ghz | +--ro flex-m? uint16
+--:(super) +--:(super)
+--ro subcarrier-channels* [central-frequency] +--ro subcarrier-flex-n* [flex-n]
+--ro central-frequency frequency-thz +--ro flex-n int16
+--ro slot-width? frequency-ghz +--ro flex-m? uint16
augment /te:te/te:lsps-state/te:lsp/te:lsp-record-route-information/
augment /te:te/te:lsps-state/te:lsp/te:lsp-record-route-subobjects/ te:lsp-record-route-information/te:type/te:label/te:label-hop/
te:record-route-subobject/te:type/te:label/te:label-hop/
te:te-label/te:technology: te:te-label/te:technology:
+--:(flex-grid) +--:(flexi-grid)
+--ro (single-or-super-channel)? +--ro (single-or-super-channel)?
+--:(single) +--:(single)
| +--ro central-frequency? frequency-thz | +--ro flex-n? int16
| +--ro slot-width? frequency-ghz | +--ro flex-m? uint16
+--:(super) +--:(super)
+--ro subcarrier-channels* [central-frequency] +--ro subcarrier-flex-n* [flex-n]
+--ro central-frequency frequency-thz +--ro flex-n int16
+--ro slot-width? frequency-ghz +--ro flex-m? uint16
augment /te:tunnels-rpc/te:input/te:tunnel-info/tepc:path-request: augment /te:tunnels-rpc/te:input/te:tunnel-info/tepc:path-request:
+---- src-client-signal? identityref +-- src-client-signal? identityref
+---- dst-client-signal? identityref +-- dst-client-signal? identityref
+---- fec-type? identityref +-- fec-type? identityref
+---- termination-type? identityref +-- termination-type? identityref
+---- bit-stuffing? boolean +-- bit-stuffing? boolean
+---- wavelength-assignment? identityref +-- wavelength-assignment? identityref
5.2. YANG Model - Code 5.2. YANG Model - Code
<CODE BEGINS> file "ietf-flexi-grid-media-channel@2018-10-22.yang" <CODE BEGINS> file "ietf-flexi-grid-media-channel@2019-03-24.yang"
module ietf-flex-grid-media-channel { module ietf-flexi-grid-media-channel {
yang-version 1.1; yang-version 1.1;
namespace "urn:ietf:params:xml:ns:yang:ietf-flex-grid-media-channel"; namespace "urn:ietf:params:xml:ns:yang:ietf-flexi-grid-media-channel";
prefix "flex-grid-tunnel"; prefix "flexi-grid-media-channel";
import ietf-te { prefix "te"; } import ietf-te { prefix "te"; }
import ietf-layer0-types{ prefix "layer0-types"; } import ietf-layer0-types{ prefix "layer0-types"; }
import ietf-te-path-computation { prefix "tepc"; } import ietf-te-path-computation { prefix "tepc"; }
import ietf-otn-types { prefix "otn-types"; } import ietf-otn-types { prefix "otn-types"; }
organization organization
"IETF CCAMP Working Group"; "IETF CCAMP Working Group";
contact contact
"WG Web: <http://tools.ietf.org/wg/ccamp/> "WG Web: <http://tools.ietf.org/wg/ccamp/>
WG List: <mailto:ccamp@ietf.org> WG List: <mailto:ccamp@ietf.org>
WG Chair: Daniele Ceccarelli WG Chair: Daniele Ceccarelli
<mailto:daniele.ceccarelli@ericsson.com> <mailto:daniele.ceccarelli@ericsson.com>
WG Chair: Fatai Zhang WG Chair: Fatai Zhang
<mailto:zhangfatai@huawei.com> <mailto:zhangfatai@huawei.com>
Editor: Jorge E. Lopez de Vergara <jorge.lopez_vergara@uam.es> Editor: Jorge E. Lopez de Vergara <jorge.lopez_vergara@uam.es>
Editor: Daniel Perdices Burrero <daniel.perdices@naudit.es> Editor: Daniel Perdices <daniel.perdices@naudit.es>
Editor: Victor Lopez Alvarez <victor.lopezalvarez@telefonica.com> Editor: Victor Lopez <victor.lopezalvarez@telefonica.com>
Editor: Young Lee <leeyoung@huawei.com>"; Editor: Young Lee <leeyoung@huawei.com>";
description description
"This module defines a model for Flex-grid Tunnel Services."; "This module defines a model for Flex-grid Media Channel
Services.";
revision "2018-10-22" { revision "2019-03-24" {
description description
"version 1"; "version 2";
reference "version 1"; reference "version 2";
} }
/* Groupings. */ /* Groupings. */
grouping flex-grid-tunnel-attributes { grouping flexi-grid-media-channel-attributes {
description "Parameters for flexgrid tunnel."; description "Parameters for flexi-grid media channel.";
leaf src-client-signal { leaf src-client-signal {
type identityref { type identityref {
base otn-types:client-signal; base otn-types:client-signal;
} }
description description
"Client signal at the source endpoint of "Client signal at the source endpoint of
the tunnel."; the media channel.";
} }
leaf dst-client-signal { leaf dst-client-signal {
type identityref { type identityref {
base otn-types:client-signal; base otn-types:client-signal;
} }
description description
"Client signal at the destination endpoint of "Client signal at the destination endpoint of
the tunnel."; the media channel.";
} }
leaf fec-type { leaf fec-type {
type identityref { type identityref {
base layer0-types:fec-type; base layer0-types:fec-type;
} }
description description
"FEC type."; "FEC type.";
} }
skipping to change at page 22, line 10 skipping to change at page 18, line 4
} }
description description
"Termination type."; "Termination type.";
} }
leaf bit-stuffing { leaf bit-stuffing {
type boolean; type boolean;
description description
"Bit stuffing enabled/disabled."; "Bit stuffing enabled/disabled.";
} }
} }
grouping flexi-grid-path-constraints {
grouping flex-grid-path-constraints {
description description
"Global named path constraints configuration "Global named path constraints configuration
grouping for flexi-grid tunnel"; grouping for flexi-grid media channel";
leaf wavelength-assignment { leaf wavelength-assignment {
type identityref { type identityref {
base layer0-types:wavelength-assignment; base layer0-types:wavelength-assignment;
} }
description "Wavelength Allocation Method"; description "Wavelength Allocation Method";
} }
} }
/* /*
* Data nodes * Data nodes
*/ */
augment "/te:te/te:tunnels/te:tunnel" { augment "/te:te/te:tunnels/te:tunnel" {
description description
"Augment with additional parameters required for flex-grid "Augment with additional parameters required for flexi-grid
tunnel."; media channel.";
uses flex-grid-tunnel-attributes; uses flexi-grid-media-channel-attributes;
} }
/* /*
* Augment TE bandwidth * Augment TE bandwidth
*/ */
/* Augment bandwidth of named-path-constraints */ /* Augment bandwidth of named-path-constraints */
augment "/te:te/te:globals/te:named-path-constraints/" augment "/te:te/te:globals/te:named-path-constraints/"
+ "te:named-path-constraint/" + "te:named-path-constraint/"
+ "te:te-bandwidth/te:technology" { + "te:te-bandwidth/te:technology" {
description "flex-grid bandwidth."; description "flexi-grid bandwidth.";
case flex-grid { case flexi-grid {
uses layer0-types:flex-grid-path-bandwidth; uses layer0-types:flexi-grid-path-bandwidth;
} }
} }
/* Augment bandwdith of tunnel */ /* Augment bandwdith of tunnel */
augment "/te:te/te:tunnels/te:tunnel/" augment "/te:te/te:tunnels/te:tunnel/"
+ "te:te-bandwidth/te:technology" { + "te:te-bandwidth/te:technology" {
description "flex-grid bandwidth."; description "flexi-grid bandwidth.";
case flex-grid { case flexi-grid {
uses layer0-types:flex-grid-path-bandwidth; uses layer0-types:flexi-grid-path-bandwidth;
} }
} }
/* Augment bandwidth of primary path */ /* Augment bandwidth of primary path */
augment "/te:te/te:tunnels/te:tunnel/" augment "/te:te/te:tunnels/te:tunnel/"
+ "te:p2p-primary-paths/te:p2p-primary-path/" + "te:p2p-primary-paths/te:p2p-primary-path/"
+ "te:te-bandwidth/te:technology" { + "te:te-bandwidth/te:technology" {
description "flex-grid bandwidth."; description "flexi-grid bandwidth.";
case flex-grid { case flexi-grid {
uses layer0-types:flex-grid-path-bandwidth; uses layer0-types:flexi-grid-path-bandwidth;
} }
} }
/* Augment bandwidth of reverse primary path */ /* Augment bandwidth of reverse primary path */
augment "/te:te/te:tunnels/te:tunnel/" augment "/te:te/te:tunnels/te:tunnel/"
+ "te:p2p-primary-paths/te:p2p-primary-path/" + "te:p2p-primary-paths/te:p2p-primary-path/"
+ "te:p2p-reverse-primary-path/" + "te:p2p-primary-reverse-path/"
+ "te:te-bandwidth/te:technology" { + "te:te-bandwidth/te:technology" {
description "flex-grid bandwidth."; description "flexi-grid bandwidth.";
case flex-grid { case flexi-grid {
uses layer0-types:flex-grid-path-bandwidth; uses layer0-types:flexi-grid-path-bandwidth;
} }
} }
/* Augment bandwidht of secondary path */ /* Augment bandwidht of secondary path */
augment "/te:te/te:tunnels/te:tunnel/" augment "/te:te/te:tunnels/te:tunnel/"
+ "te:p2p-secondary-paths/te:p2p-secondary-path/" + "te:p2p-secondary-paths/te:p2p-secondary-path/"
+ "te:te-bandwidth/te:technology" { + "te:te-bandwidth/te:technology" {
description "flex-grid bandwidth."; description "flexi-grid bandwidth.";
case flex-grid { case flexi-grid {
uses layer0-types:flex-grid-path-bandwidth; uses layer0-types:flexi-grid-path-bandwidth;
} }
} }
/* /*
* Augment TE label. * Augment TE label.
*/ */
/* Augment label hop of route-object-exclude-always of /* Augment label hop of route-object-exclude-always of
named-path-constraints */ named-path-constraints */
augment "/te:te/te:globals/te:named-path-constraints/" augment "/te:te/te:globals/te:named-path-constraints/"
+ "te:named-path-constraint/te:explicit-route-objects/" + "te:named-path-constraint/te:explicit-route-objects-always/"
+ "te:route-object-exclude-always/te:type/te:label/" + "te:route-object-exclude-always/te:type/te:label/"
+ "te:label-hop/te:te-label/te:technology" { + "te:label-hop/te:te-label/te:technology" {
description "flex-grid label."; description "flexi-grid label.";
case flex-grid { case flexi-grid {
uses layer0-types:flex-grid-path-label; uses layer0-types:flexi-grid-path-label;
} }
} }
/* Augment label hop of route-object-include-exclude of /* Augment label hop of route-object-include-exclude of
named-path-constraints */ named-path-constraints */
augment "/te:te/te:globals/te:named-path-constraints/" augment "/te:te/te:globals/te:named-path-constraints/"
+ "te:named-path-constraint/te:explicit-route-objects/" + "te:named-path-constraint/te:explicit-route-objects-always/"
+ "te:route-object-include-exclude/te:type/te:label/" + "te:route-object-include-exclude/te:type/te:label/"
+ "te:label-hop/te:te-label/te:technology" { + "te:label-hop/te:te-label/te:technology" {
description "flex-grid label."; description "flexi-grid label.";
case flex-grid { case flexi-grid {
uses layer0-types:flex-grid-path-label; uses layer0-types:flexi-grid-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 "flex-grid label.";
uses layer0-types:flex-grid-label-restriction;
}
/* 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 "flex-grid label.";
case flex-grid {
uses layer0-types:flex-grid-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 "flex-grid label.";
case flex-grid {
uses layer0-types:flex-grid-link-label;
} }
} }
/* Augment label restrictions for the reverse direction of /* Augment label restrictions for the path-in-segment of
path-in-segment of named-path-constraints */ named-path-constraints */
augment "/te:te/te:globals/te:named-path-constraints/" augment "/te:te/te:globals/te:named-path-constraints/"
+ "te:named-path-constraint/te:path-in-segment/" + "te:named-path-constraint/te:path-in-segment/"
+ "te:reverse/te:label-restrictions/" + "te:label-restrictions/"
+ "te:label-restriction" { + "te:label-restriction" {
description "flex-grid label."; description "flexi-grid label.";
uses layer0-types:flex-grid-label-restriction; uses layer0-types:flexi-grid-label-restriction;
} }
/* Augment label restrictions start for the reverse direction of /* Augment label restrictions start for the path-in-segment
path-in-segment of named-path-constraints */ of named-path-constraints */
augment "/te:te/te:globals/te:named-path-constraints/" augment "/te:te/te:globals/te:named-path-constraints/"
+ "te:named-path-constraint/te:path-in-segment/" + "te:named-path-constraint/te:path-in-segment/"
+ "te:reverse/te:label-restrictions/" + "te:label-restrictions/"
+ "te:label-restriction/te:label-start/" + "te:label-restriction/te:label-start/"
+ "te:te-label/te:technology" { + "te:te-label/te:technology" {
description "flex-grid label."; description "flexi-grid label.";
case flex-grid { case flexi-grid {
uses layer0-types:flex-grid-link-label; uses layer0-types:flexi-grid-link-label;
} }
} }
/* Augment label restrictions end for the path-in-segment of
/* Augment label restrictions end for the reverse direction of named-path-constraints */
path-in-segment of named-path-constraints */
augment "/te:te/te:globals/te:named-path-constraints/" augment "/te:te/te:globals/te:named-path-constraints/"
+ "te:named-path-constraint/te:path-in-segment/" + "te:named-path-constraint/te:path-in-segment/"
+ "te:reverse/te:label-restrictions/" + "te:label-restrictions/"
+ "te:label-restriction/te:label-end/"
+ "te:te-label/te:technology" {
description "flex-grid label.";
case flex-grid {
uses layer0-types:flex-grid-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 "flex-grid label.";
uses layer0-types:flex-grid-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 "flex-grid label.";
case flex-grid {
uses layer0-types:flex-grid-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/"
+ "te:forward/te:label-restrictions/"
+ "te:label-restriction/te:label-end/" + "te:label-restriction/te:label-end/"
+ "te:te-label/te:technology" { + "te:te-label/te:technology" {
description "flex-grid label."; description "flexi-grid label.";
case flex-grid { case flexi-grid {
uses layer0-types:flex-grid-link-label; uses layer0-types:flexi-grid-link-label;
} }
} }
/* Augment label restrictions for the reverse direction of /* Augment label restrictions for the path-out-segment of
path-out-segment of named-path-constraints */ named-path-constraints */
augment "/te:te/te:globals/te:named-path-constraints/" augment "/te:te/te:globals/te:named-path-constraints/"
+ "te:named-path-constraint/te:path-out-segment/" + "te:named-path-constraint/te:path-out-segment/"
+ "te:reverse/te:label-restrictions/" + "te:label-restrictions/"
+ "te:label-restriction" { + "te:label-restriction" {
description "flex-grid label."; description "flexi-grid label.";
uses layer0-types:flex-grid-label-restriction; uses layer0-types:flexi-grid-label-restriction;
} }
/* Augment label restrictions start for the reverse direction of /* Augment label restrictions start for the path-out-segment
path-out-segment of named-path-constraints */ of named-path-constraints */
augment "/te:te/te:globals/te:named-path-constraints/" augment "/te:te/te:globals/te:named-path-constraints/"
+ "te:named-path-constraint/te:path-out-segment/" + "te:named-path-constraint/te:path-out-segment/"
+ "te:reverse/te:label-restrictions/" + "te:label-restrictions/"
+ "te:label-restriction/te:label-start/" + "te:label-restriction/te:label-start/"
+ "te:te-label/te:technology" { + "te:te-label/te:technology" {
description "flex-grid label."; description "flexi-grid label.";
case flex-grid { case flexi-grid {
uses layer0-types:flex-grid-link-label; uses layer0-types:flexi-grid-link-label;
} }
} }
/* Augment label restrictions end for the reverse direction of /* Augment label restrictions end for the path-out-segment of
path-out-segment of named-path-constraints */ named-path-constraints */
augment "/te:te/te:globals/te:named-path-constraints/" augment "/te:te/te:globals/te:named-path-constraints/"
+ "te:named-path-constraint/te:path-out-segment/" + "te:named-path-constraint/te:path-out-segment/"
+ "te:reverse/te:label-restrictions/" + "te:label-restrictions/"
+ "te:label-restriction/te:label-end/" + "te:label-restriction/te:label-end/"
+ "te:te-label/te:technology" { + "te:te-label/te:technology" {
description "flex-grid label."; description "flexi-grid label.";
case flex-grid { case flexi-grid {
uses layer0-types:flex-grid-link-label; uses layer0-types:flexi-grid-link-label;
} }
} }
/* Augment label hop of route-exclude of primary path */ /* Augment label hop of route-exclude of primary path */
augment "/te:te/te:tunnels/te:tunnel/" augment "/te:te/te:tunnels/te:tunnel/"
+ "te:p2p-primary-paths/te:p2p-primary-path/" + "te:p2p-primary-paths/te:p2p-primary-path/"
+ "te:optimizations/te:algorithm/te:metric/" + "te:optimizations/te:algorithm/te:metric/"
+ "te:optimization-metric/te:explicit-route-exclude-objects/" + "te:optimization-metric/te:explicit-route-exclude-objects/"
+ "te:route-object-exclude-object/te:type/te:label/" + "te:route-object-exclude-object/te:type/te:label/"
+ "te:label-hop/te:te-label/te:technology" { + "te:label-hop/te:te-label/te:technology" {
description "flex-grid label."; description "flexi-grid label.";
case flex-grid { case flexi-grid {
uses layer0-types:flex-grid-path-label; uses layer0-types:flexi-grid-path-label;
} }
} }
/* Augment label hop of route-include of primary path */ /* Augment label hop of route-include of primary path */
augment "/te:te/te:tunnels/te:tunnel/" augment "/te:te/te:tunnels/te:tunnel/"
+ "te:p2p-primary-paths/te:p2p-primary-path/" + "te:p2p-primary-paths/te:p2p-primary-path/"
+ "te:optimizations/te:algorithm/te:metric/" + "te:optimizations/te:algorithm/te:metric/"
+ "te:optimization-metric/te:explicit-route-include-objects/" + "te:optimization-metric/te:explicit-route-include-objects/"
+ "te:route-object-include-object/te:type/te:label/" + "te:route-object-include-object/te:type/te:label/"
+ "te:label-hop/te:te-label/te:technology" { + "te:label-hop/te:te-label/te:technology" {
description "flex-grid label."; description "flexi-grid label.";
case flex-grid { case flexi-grid {
uses layer0-types:flex-grid-path-label; uses layer0-types:flexi-grid-path-label;
} }
} }
/* Augment label hop of route-object-exclude-always of primary path */ /* Augment label hop of route-object-exclude-always of primary path */
augment "/te:te/te:tunnels/te:tunnel/" augment "/te:te/te:tunnels/te:tunnel/"
+ "te:p2p-primary-paths/te:p2p-primary-path/" + "te:p2p-primary-paths/te:p2p-primary-path/"
+ "te:explicit-route-objects/" + "te:explicit-route-objects-always/"
+ "te:route-object-exclude-always/te:type/te:label/" + "te:route-object-exclude-always/te:type/te:label/"
+ "te:label-hop/te:te-label/te:technology" { + "te:label-hop/te:te-label/te:technology" {
description "flex-grid label."; description "flexi-grid label.";
case flex-grid { case flexi-grid {
uses layer0-types:flex-grid-path-label; uses layer0-types:flexi-grid-path-label;
} }
} }
/* Augment label hop of route-object-include-exclude of primary path /* Augment label hop of route-object-include-exclude of primary path
*/ */
augment "/te:te/te:tunnels/te:tunnel/" augment "/te:te/te:tunnels/te:tunnel/"
+ "te:p2p-primary-paths/te:p2p-primary-path/" + "te:p2p-primary-paths/te:p2p-primary-path/"
+ "te:explicit-route-objects/" + "te:explicit-route-objects-always/"
+ "te:route-object-include-exclude/te:type/te:label/" + "te:route-object-include-exclude/te:type/te:label/"
+ "te:label-hop/te:te-label/te:technology" { + "te:label-hop/te:te-label/te:technology" {
description "flex-grid label."; description "flexi-grid label.";
case flex-grid { case flexi-grid {
uses layer0-types:flex-grid-path-label; uses layer0-types:flexi-grid-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 "flex-grid label.";
uses layer0-types:flex-grid-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 "flex-grid label.";
case flex-grid {
uses layer0-types:flex-grid-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 "flex-grid label.";
case flex-grid {
uses layer0-types:flex-grid-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/"
+ "te:path-in-segment/te:reverse/te:label-restrictions/"
+ "te:label-restriction" {
description "flex-grid label.";
uses layer0-types:flex-grid-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 "flex-grid label.";
case flex-grid {
uses layer0-types:flex-grid-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 "flex-grid label.";
case flex-grid {
uses layer0-types:flex-grid-link-label;
} }
} }
/* Augment label restrictions for the forwarding direction of /* Augment label restrictions for the path-in-segment of
path-out-segment of primary path */ primary path */
augment "/te:te/te:tunnels/te:tunnel/" augment "/te:te/te:tunnels/te:tunnel/"
+ "te:p2p-primary-paths/te:p2p-primary-path/" + "te:p2p-primary-paths/te:p2p-primary-path/"
+ "te:path-out-segment/te:forward/te:label-restrictions/" + "te:path-in-segment/te:label-restrictions/"
+ "te:label-restriction" { + "te:label-restriction" {
description "flex-grid label."; description "flexi-grid label.";
uses layer0-types:flex-grid-label-restriction; uses layer0-types:flexi-grid-label-restriction;
} }
/* Augment label restrictions start for the forwarding direction of /* Augment label restrictions start for the path-in-segment
path-out-segment of primary path */ of primary path */
augment "/te:te/te:tunnels/te:tunnel/" augment "/te:te/te:tunnels/te:tunnel/"
+ "te:p2p-primary-paths/te:p2p-primary-path/" + "te:p2p-primary-paths/te:p2p-primary-path/"
+ "te:path-out-segment/te:forward/te:label-restrictions/" + "te:path-in-segment/te:label-restrictions/"
+ "te:label-restriction/te:label-start/" + "te:label-restriction/te:label-start/"
+ "te:te-label/te:technology" { + "te:te-label/te:technology" {
description "flex-grid label."; description "flexi-grid label.";
case flex-grid { case flexi-grid {
uses layer0-types:flex-grid-link-label; uses layer0-types:flexi-grid-link-label;
} }
} }
/* Augment label restrictions end for the forwarding direction of /* Augment label restrictions end for the path-in-segment
path-out-segment of primary path */ of primary path */
augment "/te:te/te:tunnels/te:tunnel/" augment "/te:te/te:tunnels/te:tunnel/"
+ "te:p2p-primary-paths/te:p2p-primary-path/" + "te:p2p-primary-paths/te:p2p-primary-path/"
+ "te:path-out-segment/te:forward/te:label-restrictions/" + "te:path-in-segment/te:label-restrictions/"
+ "te:label-restriction/te:label-end/" + "te:label-restriction/te:label-end/"
+ "te:te-label/te:technology" { + "te:te-label/te:technology" {
description "flex-grid label."; description "flexi-grid label.";
case flex-grid { case flexi-grid {
uses layer0-types:flex-grid-link-label; uses layer0-types:flexi-grid-link-label;
} }
} }
/* Augment label restrictions for the reverse direction of /* Augment label restrictions for the path-out-segment of
path-out-segment of primary path */ primary path */
augment "/te:te/te:tunnels/te:tunnel/" augment "/te:te/te:tunnels/te:tunnel/"
+ "te:p2p-primary-paths/te:p2p-primary-path/" + "te:p2p-primary-paths/te:p2p-primary-path/"
+ "te:path-out-segment/te:reverse/te:label-restrictions/" + "te:path-out-segment/te:label-restrictions/"
+ "te:label-restriction" { + "te:label-restriction" {
description "flex-grid label."; description "flexi-grid label.";
uses layer0-types:flex-grid-label-restriction; uses layer0-types:flexi-grid-label-restriction;
} }
/* Augment label restrictions start for the reverse direction of /* Augment label restrictions start for the path-out-segment
path-out-segment of primary path */ of primary path */
augment "/te:te/te:tunnels/te:tunnel/" augment "/te:te/te:tunnels/te:tunnel/"
+ "te:p2p-primary-paths/te:p2p-primary-path/" + "te:p2p-primary-paths/te:p2p-primary-path/"
+ "te:path-out-segment/te:reverse/te:label-restrictions/" + "te:path-out-segment/te:label-restrictions/"
+ "te:label-restriction/te:label-start/" + "te:label-restriction/te:label-start/"
+ "te:te-label/te:technology" { + "te:te-label/te:technology" {
description "flex-grid label."; description "flexi-grid label.";
case flex-grid { case flexi-grid {
uses layer0-types:flex-grid-link-label; uses layer0-types:flexi-grid-link-label;
} }
} }
/* Augment label restrictions end for the reverse direction of /* Augment label restrictions end for the path-out-segment
path-out-segment of primary path */ of primary path */
augment "/te:te/te:tunnels/te:tunnel/" augment "/te:te/te:tunnels/te:tunnel/"
+ "te:p2p-primary-paths/te:p2p-primary-path/" + "te:p2p-primary-paths/te:p2p-primary-path/"
+ "te:path-out-segment/te:reverse/te:label-restrictions/" + "te:path-out-segment/te:label-restrictions/"
+ "te:label-restriction/te:label-end/" + "te:label-restriction/te:label-end/"
+ "te:te-label/te:technology" { + "te:te-label/te:technology" {
description "flex-grid label."; description "flexi-grid label.";
case flex-grid { case flexi-grid {
uses layer0-types:flex-grid-link-label; uses layer0-types:flexi-grid-link-label;
} }
} }
/* Augment label hop of path-route of primary path */ /* Augment label hop of path-route of primary path */
augment "/te:te/te:tunnels/te:tunnel/" augment "/te:te/te:tunnels/te:tunnel/"
+ "te:p2p-primary-paths/te:p2p-primary-path/" + "te:p2p-primary-paths/te:p2p-primary-path/"
+ "te:state/te:path-properties/" + "te:computed-paths-properties/"
+ "te:computed-path-properties/te:path-properties/"
+ "te:path-route-objects/te:path-computed-route-object/" + "te:path-route-objects/te:path-computed-route-object/"
+ "te:state/te:type/te:label/" + "te:type/te:label/"
+ "te:label-hop/te:te-label/te:technology" { + "te:label-hop/te:te-label/te:technology" {
description "flex-grid label."; description "flexi-grid label.";
case flex-grid { case flexi-grid {
uses layer0-types:flex-grid-path-label; uses layer0-types:flexi-grid-path-label;
} }
} }
/* Augment label hop of record-route of primary LSP */ /* Augment label hop of record-route of primary LSP */
augment "/te:te/te:tunnels/te:tunnel/" augment "/te:te/te:tunnels/te:tunnel/"
+ "te:p2p-primary-paths/te:p2p-primary-path/" + "te:p2p-primary-paths/te:p2p-primary-path/"
+ "te:state/te:lsps/te:lsp/te:lsp-record-route-subobjects/" + "te:lsps/te:lsp/te:lsp-record-route-information/"
+ "te:record-route-subobject/te:type/te:label/" + "te:lsp-record-route-information/te:type/te:label/"
+ "te:label-hop/te:te-label/te:technology" { + "te:label-hop/te:te-label/te:technology" {
description "flex-grid label."; description "flexi-grid label.";
case flex-grid { case flexi-grid {
uses layer0-types:flex-grid-path-label; uses layer0-types:flexi-grid-path-label;
} }
} }
/* Augment label hop of path-route of primary LSP */ /* Augment label hop of path-route of primary LSP */
augment "/te:te/te:tunnels/te:tunnel/" augment "/te:te/te:tunnels/te:tunnel/"
+ "te:p2p-primary-paths/te:p2p-primary-path/" + "te:p2p-primary-paths/te:p2p-primary-path/"
+ "te:state/te:lsps/te:lsp/te:path-properties/" + "te:lsps/te:lsp/te:path-properties/"
+ "te:path-route-objects/te:path-computed-route-object/" + "te:path-route-objects/te:path-computed-route-object/"
+ "te:state/te:type/te:label/" + "te:type/te:label/"
+ "te:label-hop/te:te-label/te:technology" { + "te:label-hop/te:te-label/te:technology" {
description "flex-grid label."; description "flexi-grid label.";
case flex-grid { case flexi-grid {
uses layer0-types:flex-grid-path-label; uses layer0-types:flexi-grid-path-label;
} }
} }
/* Augment label hop of route-exclude of reverse primary path */ /* Augment label hop of route-exclude of reverse primary path */
augment "/te:te/te:tunnels/te:tunnel/" augment "/te:te/te:tunnels/te:tunnel/"
+ "te:p2p-primary-paths/te:p2p-primary-path/" + "te:p2p-primary-paths/te:p2p-primary-path/"
+ "te:p2p-reverse-primary-path/" + "te:p2p-primary-reverse-path/"
+ "te:optimizations/te:algorithm/te:metric/" + "te:optimizations/te:algorithm/te:metric/"
+ "te:optimization-metric/te:explicit-route-exclude-objects/" + "te:optimization-metric/te:explicit-route-exclude-objects/"
+ "te:route-object-exclude-object/te:type/te:label/" + "te:route-object-exclude-object/te:type/te:label/"
+ "te:label-hop/te:te-label/te:technology" { + "te:label-hop/te:te-label/te:technology" {
description "flex-grid label."; description "flexi-grid label.";
case flex-grid { case flexi-grid {
uses layer0-types:flex-grid-path-label; uses layer0-types:flexi-grid-path-label;
} }
} }
/* Augment label hop of route-include of reverse primary path */ /* Augment label hop of route-include of reverse primary path */
augment "/te:te/te:tunnels/te:tunnel/" augment "/te:te/te:tunnels/te:tunnel/"
+ "te:p2p-primary-paths/te:p2p-primary-path/" + "te:p2p-primary-paths/te:p2p-primary-path/"
+ "te:p2p-reverse-primary-path/" + "te:p2p-primary-reverse-path/"
+ "te:optimizations/te:algorithm/te:metric/" + "te:optimizations/te:algorithm/te:metric/"
+ "te:optimization-metric/te:explicit-route-include-objects/" + "te:optimization-metric/te:explicit-route-include-objects/"
+ "te:route-object-include-object/te:type/te:label/" + "te:route-object-include-object/te:type/te:label/"
+ "te:label-hop/te:te-label/te:technology" { + "te:label-hop/te:te-label/te:technology" {
description "flex-grid label."; description "flexi-grid label.";
case flex-grid { case flexi-grid {
uses layer0-types:flex-grid-path-label; uses layer0-types:flexi-grid-path-label;
} }
} }
/* Augment label hop of route-object-exclude-always of reverse /* Augment label hop of route-object-exclude-always of reverse
primary path */ primary path */
augment "/te:te/te:tunnels/te:tunnel/" augment "/te:te/te:tunnels/te:tunnel/"
+ "te:p2p-primary-paths/te:p2p-primary-path/" + "te:p2p-primary-paths/te:p2p-primary-path/"
+ "te:p2p-reverse-primary-path/" + "te:p2p-primary-reverse-path/"
+ "te:explicit-route-objects/" + "te:explicit-route-objects-always/"
+ "te:route-object-exclude-always/" + "te:route-object-exclude-always/"
+ "te:type/te:label/" + "te:type/te:label/"
+ "te:label-hop/te:te-label/te:technology" { + "te:label-hop/te:te-label/te:technology" {
description "flex-grid label."; description "flexi-grid label.";
case flex-grid { case flexi-grid {
uses layer0-types:flex-grid-path-label; uses layer0-types:flexi-grid-path-label;
} }
} }
/* Augment label hop of route-object-include-exclude of reverse /* Augment label hop of route-object-include-exclude of reverse
primary path */ primary path */
augment "/te:te/te:tunnels/te:tunnel/" augment "/te:te/te:tunnels/te:tunnel/"
+ "te:p2p-primary-paths/te:p2p-primary-path/" + "te:p2p-primary-paths/te:p2p-primary-path/"
+ "te:p2p-reverse-primary-path/" + "te:p2p-primary-reverse-path/"
+ "te:explicit-route-objects/" + "te:explicit-route-objects-always/"
+ "te:route-object-include-exclude/" + "te:route-object-include-exclude/"
+ "te:type/te:label/" + "te:type/te:label/"
+ "te:label-hop/te:te-label/te:technology" { + "te:label-hop/te:te-label/te:technology" {
description "flex-grid label."; description "flexi-grid label.";
case flex-grid { case flexi-grid {
uses layer0-types:flex-grid-path-label; uses layer0-types:flexi-grid-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 "flex-grid label.";
uses layer0-types:flex-grid-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 "flex-grid label.";
case flex-grid {
uses layer0-types:flex-grid-link-label;
}
}
/* 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 "flex-grid label.";
case flex-grid {
uses layer0-types:flex-grid-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 "flex-grid label.";
uses layer0-types:flex-grid-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 "flex-grid label.";
case flex-grid {
uses layer0-types:flex-grid-link-label;
} }
} }
/* Augment label restrictions end for the reverse direction of /* Augment label restrictions for the path-in-segment of
path-in-segment of reverse primary path */ 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-end/"
+ "te:te-label/te:technology" {
description "flex-grid label.";
case flex-grid {
uses layer0-types:flex-grid-link-label;
}
}
/* Augment label restrictions for the forwarding direction of
path-out-segment of reverse primary path */
augment "/te:te/te:tunnels/te:tunnel/" augment "/te:te/te:tunnels/te:tunnel/"
+ "te:p2p-primary-paths/te:p2p-primary-path/" + "te:p2p-primary-paths/te:p2p-primary-path/"
+ "te:p2p-reverse-primary-path/" + "te:p2p-primary-reverse-path/"
+ "te:path-out-segment/te:forward/te:label-restrictions/" + "te:path-in-segment/te:label-restrictions/"
+ "te:label-restriction" { + "te:label-restriction" {
description "flex-grid label."; description "flexi-grid label.";
uses layer0-types:flex-grid-label-restriction; uses layer0-types:flexi-grid-label-restriction;
} }
/* Augment label restrictions start for the forwarding direction of /* Augment label restrictions start for the path-in-segment
path-out-segment of reverse primary path */ of reverse primary path */
augment "/te:te/te:tunnels/te:tunnel/" augment "/te:te/te:tunnels/te:tunnel/"
+ "te:p2p-primary-paths/te:p2p-primary-path/" + "te:p2p-primary-paths/te:p2p-primary-path/"
+ "te:p2p-reverse-primary-path/" + "te:p2p-primary-reverse-path/"
+ "te:path-out-segment/te:forward/te:label-restrictions/" + "te:path-in-segment/te:label-restrictions/"
+ "te:label-restriction/te:label-start/" + "te:label-restriction/te:label-start/"
+ "te:te-label/te:technology" { + "te:te-label/te:technology" {
description "flex-grid label."; description "flexi-grid label.";
case flex-grid { case flexi-grid {
uses layer0-types:flex-grid-link-label; uses layer0-types:flexi-grid-link-label;
} }
} }
/* Augment label restrictions end for the forwarding direction of /* Augment label restrictions end for the path-in-segment
path-out-segment of reverse primary path */ of reverse primary path */
augment "/te:te/te:tunnels/te:tunnel/" augment "/te:te/te:tunnels/te:tunnel/"
+ "te:p2p-primary-paths/te:p2p-primary-path/" + "te:p2p-primary-paths/te:p2p-primary-path/"
+ "te:p2p-reverse-primary-path/" + "te:p2p-primary-reverse-path/"
+ "te:path-out-segment/te:forward/te:label-restrictions/" + "te:path-in-segment/te:label-restrictions/"
+ "te:label-restriction/te:label-end/" + "te:label-restriction/te:label-end/"
+ "te:te-label/te:technology" { + "te:te-label/te:technology" {
description "flex-grid label."; description "flexi-grid label.";
case flex-grid { case flexi-grid {
uses layer0-types:flex-grid-link-label; uses layer0-types:flexi-grid-link-label;
} }
} }
/* Augment label restrictions for the reverse direction of /* Augment label restrictions for the path-out-segment of
path-out-segment of reverse primary path */ reverse primary path */
augment "/te:te/te:tunnels/te:tunnel/" augment "/te:te/te:tunnels/te:tunnel/"
+ "te:p2p-primary-paths/te:p2p-primary-path/" + "te:p2p-primary-paths/te:p2p-primary-path/"
+ "te:p2p-reverse-primary-path/" + "te:p2p-primary-reverse-path/"
+ "te:path-out-segment/te:reverse/te:label-restrictions/" + "te:path-out-segment/te:label-restrictions/"
+ "te:label-restriction" { + "te:label-restriction" {
description "flex-grid label."; description "flexi-grid label.";
uses layer0-types:flex-grid-label-restriction; uses layer0-types:flexi-grid-label-restriction;
} }
/* Augment label restrictions start for the reverse direction of /* Augment label restrictions start for the path-out-segment
path-out-segment of reverse primary path */ of reverse primary path */
augment "/te:te/te:tunnels/te:tunnel/" augment "/te:te/te:tunnels/te:tunnel/"
+ "te:p2p-primary-paths/te:p2p-primary-path/" + "te:p2p-primary-paths/te:p2p-primary-path/"
+ "te:p2p-reverse-primary-path/" + "te:p2p-primary-reverse-path/"
+ "te:path-out-segment/te:reverse/te:label-restrictions/" + "te:path-out-segment/te:label-restrictions/"
+ "te:label-restriction/te:label-start/" + "te:label-restriction/te:label-start/"
+ "te:te-label/te:technology" { + "te:te-label/te:technology" {
description "flex-grid label."; description "flexi-grid label.";
case flex-grid { case flexi-grid {
uses layer0-types:flex-grid-link-label; uses layer0-types:flexi-grid-link-label;
} }
} }
/* Augment label restrictions end for the reverse direction of /* Augment label restrictions end for the path-out-segment of
path-out-segment of reverse primary path */ reverse primary path */
augment "/te:te/te:tunnels/te:tunnel/" augment "/te:te/te:tunnels/te:tunnel/"
+ "te:p2p-primary-paths/te:p2p-primary-path/" + "te:p2p-primary-paths/te:p2p-primary-path/"
+ "te:p2p-reverse-primary-path/" + "te:p2p-primary-reverse-path/"
+ "te:path-out-segment/te:reverse/te:label-restrictions/" + "te:path-out-segment/te:label-restrictions/"
+ "te:label-restriction/te:label-end/" + "te:label-restriction/te:label-end/"
+ "te:te-label/te:technology" { + "te:te-label/te:technology" {
description "flex-grid label."; description "flexi-grid label.";
case flex-grid { case flexi-grid {
uses layer0-types:flex-grid-link-label; uses layer0-types:flexi-grid-link-label;
} }
} }
/* Augment label hop of path-route of reverse primary path */ /* Augment label hop of path-route of reverse primary path */
augment "/te:te/te:tunnels/te:tunnel/" augment "/te:te/te:tunnels/te:tunnel/"
+ "te:p2p-primary-paths/te:p2p-primary-path/" + "te:p2p-primary-paths/te:p2p-primary-path/"
+ "te:p2p-reverse-primary-path/" + "te:p2p-primary-reverse-path/"
+ "te:state/te:path-properties/" + "te:computed-paths-properties/"
+ "te:computed-path-properties/te:path-properties/"
+ "te:path-route-objects/te:path-computed-route-object/" + "te:path-route-objects/te:path-computed-route-object/"
+ "te:state/te:type/te:label/" + "te:type/te:label/"
+ "te:label-hop/te:te-label/te:technology" { + "te:label-hop/te:te-label/te:technology" {
description "flex-grid label."; description "flexi-grid label.";
case flex-grid { case flexi-grid {
uses layer0-types:flex-grid-path-label; uses layer0-types:flexi-grid-path-label;
} }
} }
/* Augment label hop of record-route of reverse primary LSP */ /* Augment label hop of record-route of reverse primary LSP */
augment "/te:te/te:tunnels/te:tunnel/" augment "/te:te/te:tunnels/te:tunnel/"
+ "te:p2p-primary-paths/te:p2p-primary-path/" + "te:p2p-primary-paths/te:p2p-primary-path/"
+ "te:p2p-reverse-primary-path/" + "te:p2p-primary-reverse-path/"
+ "te:state/te:lsps/te:lsp/te:lsp-record-route-subobjects/" + "te:lsps/te:lsp/te:lsp-record-route-information/"
+ "te:record-route-subobject/te:type/te:label/" + "te:lsp-record-route-information/te:type/te:label/"
+ "te:label-hop/te:te-label/te:technology" { + "te:label-hop/te:te-label/te:technology" {
description "flex-grid label."; description "flexi-grid label.";
case flex-grid { case flexi-grid {
uses layer0-types:flex-grid-path-label; uses layer0-types:flexi-grid-path-label;
} }
} }
/* Augment label hop of path-route of reverse primary LSP */ /* Augment label hop of path-route of reverse primary LSP */
augment "/te:te/te:tunnels/te:tunnel/" augment "/te:te/te:tunnels/te:tunnel/"
+ "te:p2p-primary-paths/te:p2p-primary-path/" + "te:p2p-primary-paths/te:p2p-primary-path/"
+ "te:p2p-reverse-primary-path/" + "te:p2p-primary-reverse-path/"
+ "te:state/te:lsps/te:lsp/te:path-properties/" + "te:lsps/te:lsp/te:path-properties/"
+ "te:path-route-objects/te:path-computed-route-object/" + "te:path-route-objects/te:path-computed-route-object/"
+ "te:state/te:type/te:label/" + "te:type/te:label/"
+ "te:label-hop/te:te-label/te:technology" { + "te:label-hop/te:te-label/te:technology" {
description "flex-grid label."; description "flexi-grid label.";
case flex-grid { case flexi-grid {
uses layer0-types:flex-grid-path-label; uses layer0-types:flexi-grid-path-label;
} }
} }
/* Augment label hop of route-exclude of secondary path */ /* Augment label hop of route-exclude of secondary path */
augment "/te:te/te:tunnels/te:tunnel/" augment "/te:te/te:tunnels/te:tunnel/"
+ "te:p2p-secondary-paths/te:p2p-secondary-path/" + "te:p2p-secondary-paths/te:p2p-secondary-path/"
+ "te:optimizations/te:algorithm/te:metric/" + "te:optimizations/te:algorithm/te:metric/"
+ "te:optimization-metric/te:explicit-route-exclude-objects/" + "te:optimization-metric/te:explicit-route-exclude-objects/"
+ "te:route-object-exclude-object/te:type/te:label/" + "te:route-object-exclude-object/te:type/te:label/"
+ "te:label-hop/te:te-label/te:technology" { + "te:label-hop/te:te-label/te:technology" {
description "flex-grid label."; description "flexi-grid label.";
case flex-grid { case flexi-grid {
uses layer0-types:flex-grid-path-label; uses layer0-types:flexi-grid-path-label;
} }
} }
/* Augment label hop of route-include of secondary path */ /* Augment label hop of route-include of secondary path */
augment "/te:te/te:tunnels/te:tunnel/" augment "/te:te/te:tunnels/te:tunnel/"
+ "te:p2p-secondary-paths/te:p2p-secondary-path/" + "te:p2p-secondary-paths/te:p2p-secondary-path/"
+ "te:optimizations/te:algorithm/te:metric/" + "te:optimizations/te:algorithm/te:metric/"
+ "te:optimization-metric/te:explicit-route-include-objects/" + "te:optimization-metric/te:explicit-route-include-objects/"
+ "te:route-object-include-object/te:type/te:label/" + "te:route-object-include-object/te:type/te:label/"
+ "te:label-hop/te:te-label/te:technology" { + "te:label-hop/te:te-label/te:technology" {
description "flex-grid label."; description "flexi-grid label.";
case flex-grid { case flexi-grid {
uses layer0-types:flex-grid-path-label; uses layer0-types:flexi-grid-path-label;
} }
} }
/* Augment label hop of route-object-exclude-always of secondary path /* Augment label hop of route-object-exclude-always of secondary path
*/ */
augment "/te:te/te:tunnels/te:tunnel/" augment "/te:te/te:tunnels/te:tunnel/"
+ "te:p2p-secondary-paths/te:p2p-secondary-path/" + "te:p2p-secondary-paths/te:p2p-secondary-path/"
+ "te:explicit-route-objects/" + "te:explicit-route-objects-always/"
+ "te:route-object-exclude-always/te:type/te:label/" + "te:route-object-exclude-always/te:type/te:label/"
+ "te:label-hop/te:te-label/te:technology" { + "te:label-hop/te:te-label/te:technology" {
description "flex-grid label."; description "flexi-grid label.";
case flex-grid { case flexi-grid {
uses layer0-types:flex-grid-path-label; uses layer0-types:flexi-grid-path-label;
} }
} }
/* Augment label hop of route-object-include-exclude of secondary /* Augment label hop of route-object-include-exclude of secondary
path */ path */
augment "/te:te/te:tunnels/te:tunnel/" augment "/te:te/te:tunnels/te:tunnel/"
+ "te:p2p-secondary-paths/te:p2p-secondary-path/" + "te:p2p-secondary-paths/te:p2p-secondary-path/"
+ "te:explicit-route-objects/" + "te:explicit-route-objects-always/"
+ "te:route-object-include-exclude/te:type/te:label/" + "te:route-object-include-exclude/te:type/te:label/"
+ "te:label-hop/te:te-label/te:technology" { + "te:label-hop/te:te-label/te:technology" {
description "flex-grid label."; description "flexi-grid label.";
case flex-grid { case flexi-grid {
uses layer0-types:flex-grid-path-label; uses layer0-types:flexi-grid-path-label;
}
}
/* Augment label restrictions 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" {
description "flex-grid label.";
uses layer0-types:flex-grid-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 "flex-grid label.";
case flex-grid {
uses layer0-types:flex-grid-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 "flex-grid label.";
case flex-grid {
uses layer0-types:flex-grid-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 "flex-grid label.";
uses layer0-types:flex-grid-label-restriction;
}
/* Augment label restrictions start 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-start/"
+ "te:te-label/te:technology" {
description "flex-grid label.";
case flex-grid {
uses layer0-types:flex-grid-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 "flex-grid label.";
case flex-grid {
uses layer0-types:flex-grid-link-label;
} }
} }
/* Augment label restrictions for the forwarding direction of /* Augment label restrictions for the path-in-segment of
path-out-segment of secondary path */ secondary path */
augment "/te:te/te:tunnels/te:tunnel/" augment "/te:te/te:tunnels/te:tunnel/"
+ "te:p2p-secondary-paths/te:p2p-secondary-path/" + "te:p2p-secondary-paths/te:p2p-secondary-path/"
+ "te:path-out-segment/te:forward/te:label-restrictions/" + "te:path-in-segment/te:label-restrictions/"
+ "te:label-restriction" { + "te:label-restriction" {
description "flex-grid label."; description "flexi-grid label.";
uses layer0-types:flex-grid-label-restriction; uses layer0-types:flexi-grid-label-restriction;
} }
/* Augment label restrictions start for the forwarding direction of /* Augment label restrictions start for the path-in-segment
path-out-segment of secondary path */ of secondary path */
augment "/te:te/te:tunnels/te:tunnel/" augment "/te:te/te:tunnels/te:tunnel/"
+ "te:p2p-secondary-paths/te:p2p-secondary-path/" + "te:p2p-secondary-paths/te:p2p-secondary-path/"
+ "te:path-out-segment/te:forward/te:label-restrictions/" + "te:path-in-segment/te:label-restrictions/"
+ "te:label-restriction/te:label-start/" + "te:label-restriction/te:label-start/"
+ "te:te-label/te:technology" { + "te:te-label/te:technology" {
description "flex-grid label."; description "flexi-grid label.";
case flex-grid { case flexi-grid {
uses layer0-types:flex-grid-link-label; uses layer0-types:flexi-grid-link-label;
} }
} }
/* Augment label restrictions end for the forwarding direction of /* Augment label restrictions end for the path-in-segment
path-out-segment of secondary path */ of secondary path */
augment "/te:te/te:tunnels/te:tunnel/" augment "/te:te/te:tunnels/te:tunnel/"
+ "te:p2p-secondary-paths/te:p2p-secondary-path/" + "te:p2p-secondary-paths/te:p2p-secondary-path/"
+ "te:path-out-segment/te:forward/te:label-restrictions/" + "te:path-in-segment/te:label-restrictions/"
+ "te:label-restriction/te:label-end/" + "te:label-restriction/te:label-end/"
+ "te:te-label/te:technology" { + "te:te-label/te:technology" {
description "flex-grid label."; description "flexi-grid label.";
case flex-grid { case flexi-grid {
uses layer0-types:flex-grid-link-label; uses layer0-types:flexi-grid-link-label;
} }
} }
/* Augment label restrictions for the reverse direction of /* Augment label restrictions for the path-out-segment of
path-out-segment of secondary path */ secondary path */
augment "/te:te/te:tunnels/te:tunnel/" augment "/te:te/te:tunnels/te:tunnel/"
+ "te:p2p-secondary-paths/te:p2p-secondary-path/" + "te:p2p-secondary-paths/te:p2p-secondary-path/"
+ "te:path-out-segment/te:reverse/te:label-restrictions/" + "te:path-out-segment/te:label-restrictions/"
+ "te:label-restriction" { + "te:label-restriction" {
description "flex-grid label."; description "flexi-grid label.";
uses layer0-types:flex-grid-label-restriction; uses layer0-types:flexi-grid-label-restriction;
} }
/* Augment label restrictions start for the reverse direction of /* Augment label restrictions start for the path-out-segment
path-out-segment of secondary path */ of secondary path */
augment "/te:te/te:tunnels/te:tunnel/" augment "/te:te/te:tunnels/te:tunnel/"
+ "te:p2p-secondary-paths/te:p2p-secondary-path/" + "te:p2p-secondary-paths/te:p2p-secondary-path/"
+ "te:path-out-segment/te:reverse/te:label-restrictions/" + "te:path-out-segment/te:label-restrictions/"
+ "te:label-restriction/te:label-start/" + "te:label-restriction/te:label-start/"
+ "te:te-label/te:technology" { + "te:te-label/te:technology" {
description "flex-grid label."; description "flexi-grid label.";
case flex-grid { case flexi-grid {
uses layer0-types:flex-grid-link-label; uses layer0-types:flexi-grid-link-label;
} }
} }
/* Augment label restrictions end for the reverse direction of /* Augment label restrictions end for the path-out-segment of
path-out-segment of secondary path */ secondary path */
augment "/te:te/te:tunnels/te:tunnel/" augment "/te:te/te:tunnels/te:tunnel/"
+ "te:p2p-secondary-paths/te:p2p-secondary-path/" + "te:p2p-secondary-paths/te:p2p-secondary-path/"
+ "te:path-out-segment/te:reverse/te:label-restrictions/" + "te:path-out-segment/te:label-restrictions/"
+ "te:label-restriction/te:label-end/" + "te:label-restriction/te:label-end/"
+ "te:te-label/te:technology" { + "te:te-label/te:technology" {
description "flex-grid label."; description "flexi-grid label.";
case flex-grid { case flexi-grid {
uses layer0-types:flex-grid-link-label; uses layer0-types:flexi-grid-link-label;
} }
} }
/* Augment label hop of path-route of secondary path */ /* Augment label hop of path-route of secondary path */
augment "/te:te/te:tunnels/te:tunnel/" augment "/te:te/te:tunnels/te:tunnel/"
+ "te:p2p-secondary-paths/te:p2p-secondary-path/" + "te:p2p-secondary-paths/te:p2p-secondary-path/"
+ "te:state/te:path-properties/te:path-route-objects/" + "te:computed-paths-properties/"
+ "te:path-computed-route-object/te:state/te:type/te:label/" + "te:computed-path-properties/te:path-properties/"
+ "te:path-route-objects/"
+ "te:path-computed-route-object/te:type/te:label/"
+ "te:label-hop/te:te-label/te:technology" { + "te:label-hop/te:te-label/te:technology" {
description "flex-grid label."; description "flexi-grid label.";
case flex-grid { case flexi-grid {
uses layer0-types:flex-grid-path-label; uses layer0-types:flexi-grid-path-label;
} }
} }
/* Augment label hop of record-route of secondary LSP */ /* Augment label hop of record-route of secondary LSP */
augment "/te:te/te:tunnels/te:tunnel/" augment "/te:te/te:tunnels/te:tunnel/"
+ "te:p2p-secondary-paths/te:p2p-secondary-path/" + "te:p2p-secondary-paths/te:p2p-secondary-path/"
+ "te:state/te:lsps/te:lsp/te:lsp-record-route-subobjects/" + "te:lsps/te:lsp/te:lsp-record-route-information/"
+ "te:record-route-subobject/te:type/te:label/" + "te:lsp-record-route-information/te:type/te:label/"
+ "te:label-hop/te:te-label/te:technology" { + "te:label-hop/te:te-label/te:technology" {
description "flex-grid label."; description "flexi-grid label.";
case flex-grid { case flexi-grid {
uses layer0-types:flex-grid-path-label; uses layer0-types:flexi-grid-path-label;
} }
} }
/* Augment label hop of path-route of secondary LSP */ /* Augment label hop of path-route of secondary LSP */
augment "/te:te/te:tunnels/te:tunnel/" augment "/te:te/te:tunnels/te:tunnel/"
+ "te:p2p-secondary-paths/te:p2p-secondary-path/" + "te:p2p-secondary-paths/te:p2p-secondary-path/"
+ "te:state/te:lsps/te:lsp/te:path-properties/" + "te:lsps/te:lsp/te:path-properties/"
+ "te:path-route-objects/" + "te:path-route-objects/"
+ "te:path-computed-route-object/te:state/te:type/te:label/" + "te:path-computed-route-object/te:type/te:label/"
+ "te:label-hop/te:te-label/te:technology" { + "te:label-hop/te:te-label/te:technology" {
description "flex-grid label."; description "flexi-grid label.";
case flex-grid { case flexi-grid {
uses layer0-types:flex-grid-path-label; uses layer0-types:flexi-grid-path-label;
} }
} }
/* Augment label hop of record-route of LSP */ /* Augment label hop of record-route of LSP */
augment "/te:te/te:lsps-state/" augment "/te:te/te:lsps-state/"
+ "te:lsp/te:lsp-record-route-subobjects/" + "te:lsp/te:lsp-record-route-information/"
+ "te:record-route-subobject/te:type/te:label/" + "te:lsp-record-route-information/te:type/te:label/"
+ "te:label-hop/te:te-label/te:technology" { + "te:label-hop/te:te-label/te:technology" {
description "flex-grid label."; description "flexi-grid label.";
case flex-grid { case flexi-grid {
uses layer0-types:flex-grid-path-label; uses layer0-types:flexi-grid-path-label;
} }
} }
augment "/te:tunnels-rpc/te:input/te:tunnel-info/" augment "/te:tunnels-rpc/te:input/te:tunnel-info/"
+ "tepc:path-request" { + "tepc:path-request" {
description description
"Augment with additional constraints flex-grid "Augment with additional constraints flexi-grid
tunnel."; media channel.";
uses flex-grid-tunnel-attributes; uses flexi-grid-media-channel-attributes;
uses flex-grid-path-constraints; uses flexi-grid-path-constraints;
} }
} }
<CODE ENDS> <CODE ENDS>
5.3. License 5.3. License
Copyright (c) 2018 IETF Trust and the persons identified as authors Copyright (c) 2018 IETF Trust and the persons identified as authors
of the code. All rights reserved. of the code. All rights reserved.
Redistribution and use in source and binary forms, with or without Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions modification, are permitted provided that the following conditions
are met: are met:
o Redistributions of source code must retain the above copyright o Redistributions of source code must retain the above copyright
notice, this list of conditions and the following disclaimer. notice, this list of conditions and the following disclaimer.
o Redistributions in binary form must reproduce the above copyright o Redistributions in binary form must reproduce the above copyright
notice, this list of conditions and the following disclaimer in notice, this list of conditions and the following disclaimer in
the documentation and/or other materials provided with the the documentation and/or other materials provided with the
distribution. distribution.
o Neither the name of Internet Society, IETF or IETF Trust, nor the o Neither the name of Internet Society, IETF or IETF Trust, nor the
names of specific contributors, may be used to endorse or promote names of specific contributors, may be used to endorse or promote
products derived from this software without specific prior products derived from this software without specific prior
written permission. written permission.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
POSSIBILITY OF SUCH DAMAGE. POSSIBILITY OF SUCH DAMAGE.
6. Security Considerations 6. Security Considerations
The transport protocol used for sending the managed information MUST The YANG module specified in this document defines a schema for data
support authentication and SHOULD support encryption. 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 [RFC8446].
The defined data-model by itself does not create any security The NETCONF access control model [RFC8341] provides the means to
implications. restrict access for particular NETCONF users to a preconfigured
subset of all available NETCONF protocol operations and content. The
NETCONF Protocol over Secure Shell (SSH) [RFC6242] describes a
method for invoking and running NETCONF within a Secure Shell (SSH)
session as an SSH subsystem. The Network Configuration Access
Control Model (NACM) [RFC8341] 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.
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.
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.
7. IANA Considerations 7. IANA Considerations
The namespace used in the defined models is currently based on the The namespace used in the defined model has to register a URI in
METRO-HAUL project URI. Future versions of this document could the IETF XML registry [RFC3688], as well as in the YANG Module
register a URI in the IETF XML registry [RFC3688], as well as in the Names registry [RFC6020].
YANG Module Names registry [RFC6020].
8. References 8. References
8.1. Normative References 8.1. Normative References
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
Requirement Levels", BCP 14, RFC 2119, March 1997. Requirement Levels", BCP 14, RFC 2119, March 1997.
[RFC3688] Mealling, M., "The IETF XML Registry", BCP 81, RFC 3688,
January 2004.
[RFC6020] Bjorklund, M., Ed., "YANG - A Data Modeling Language for [RFC6020] Bjorklund, M., Ed., "YANG - A Data Modeling Language for
the Network Configuration Protocol (NETCONF)", RFC 6020, the Network Configuration Protocol (NETCONF)", RFC 6020,
October 2010. October 2010.
[RFC3688] Mealling, M., "The IETF XML Registry", BCP 81, RFC 3688, [RFC6241] R. Enns, Ed., M. Bjorklund, Ed., J. Schoenwaelder, Ed.,
January 2004. "Network Configuration Protocol (NETCONF)", RFC 6241, June
2011.
[RFC6242] M. Wasserman, "Using the NETCONF Protocol over Secure
Shell (SSH)", RFC 6242, June 2011.
[RFC7950] Bjorklund, M., Ed., "The YANG 1.1 Data Modeling
Language", RFC 7950, August 2016.
[RFC8040] A. Bierman, M. Bjorklund, K. Watsen, "RESTCONF Protocol",
RFC 8040, January 2017.
[RFC8341] A. Bierman, M. Bjorklund, "Network Configuration Access
Control Model", RFC 8341, March 2018.
[RFC8446] E. Rescorla, "The Transport Layer Security (TLS) Protocol
Version 1.3", RFC8446, August 2018.
8.2. Informative References 8.2. Informative References
[RFC7698] Gonzalez de Dios, O., Casellas, R., Eds. "Framework and [RFC7698] Gonzalez de Dios, O., Casellas, R., Eds. "Framework and
Requirements for GMPLS-Based Control of Flexi-Grid Dense Requirements for GMPLS-Based Control of Flexi-Grid Dense
Wavelength Division Multiplexing (DWDM) Networks", Wavelength Division Multiplexing (DWDM) Networks",
RFC7698, November 2015. RFC7698, November 2015.
[I-D.draft-ietf-ccamp-flexigrid-yang] Lopez de Vergara, J., [I-D.draft-ietf-ccamp-flexigrid-yang] Lopez de Vergara, J.,
Perdices, D., Lopez, V., Gonzalez de Dios, O., King, D., Perdices, D., Lopez, V., Gonzalez de Dios, O., King, D.,
Lee, Y., Galimberti, G., "YANG data model for Flexi-Grid Lee, Y., Galimberti, G., "YANG data model for Flexi-Grid
Optical Networks", Internet Draft, Optical Networks", Internet Draft,
draft-ietf-ccamp-flexigrid-yang-02, 2018. draft-ietf-ccamp-flexigrid-yang-03, 2019.
[I-D.draft-ietf-teas-yang-te] [I-D.draft-ietf-teas-yang-te]
Saad, T., Gandhi, R., Liu, X., Beeram, V., Shah, H., Saad, T., Gandhi, R., Liu, X., Beeram, V., Shah, H.,
Bryskin, I., Chen, X., Jones, R., and B. Wen, "A YANG Data Bryskin, I., Chen, X., Jones, R., and B. Wen, "A YANG Data
Model for Traffic Engineering Tunnels and Interfaces", Model for Traffic Engineering Tunnels and Interfaces",
draft-ietf-teas-yang-te-17, 2018. draft-ietf-teas-yang-te-19, 2019.
9. Contributors 9. Contributors
The model presented in this paper was contributed to by more people The model presented in this paper was contributed to by more people
than can be listed on the author list. Additional contributors than can be listed on the author list. Additional contributors
include: include:
o Zafar Ali, Cisco Systems o Zafar Ali, Cisco Systems
o Daniel Michaud Vallinoto, Universidad Autonoma de Madrid o Daniel Michaud Vallinoto, Universidad Autonoma de Madrid
 End of changes. 289 change blocks. 
1107 lines changed or deleted 710 lines changed or added

This html diff was produced by rfcdiff 1.47. The latest version is available from http://tools.ietf.org/tools/rfcdiff/