 1/draftietfccampflexigridyang06.txt 20200922 20:13:13.224924738 0700
+++ 2/draftietfccampflexigridyang07.txt 20200922 20:13:13.356928106 0700
@@ 1,97 +1,89 @@
CCAMP Working Group J.E. Lopez de Vergara
Internet Draft Universidad Autonoma de Madrid
Intended status: Standards Track D. Perdices
Expires: January 13, 2021 Naudit HPCN
+
+CCAMP Working Group J. Lopez de Vergara
+InternetDraft Universidad Autonoma de Madrid
+Intended status: Informational D. Perdices Burrero
+Expires: March 26, 2021 Naudit
D. King
 Lancaster University
+ Old Dog Consulting
Y. Lee
Samsung
H. Zheng
Huawei Technologies
 July 12, 2020
+ September 22, 2020
 YANG data model for FlexiGrid Optical Networks
 draftietfccampflexigridyang06.txt
+ A YANG Data Model for FlexiGrid Optical Networks
+ draftietfccampflexigridyang07
Abstract
This document defines a YANG module for managing flexigrid optical
networks. The model defined in this document specifies a flexigrid
traffic engineering database that is used to describe the topology of
a flexigrid network. It is based on and augments existing YANG
models that describe network and traffic engineering topologies.
A partner document defines a second YANG module for flexigrid media
channels, i.e., the paths from source to destination through a number
of intermediate nodes.
Status of this Memo
+Status of This Memo
This InternetDraft is submitted in full conformance with the
 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
 as an RFC and to translate it into languages other than English.
+ provisions of BCP 78 and BCP 79.
InternetDrafts are working documents of the Internet Engineering
 Task Force (IETF), its areas, and its working groups. Note that
 other groups may also distribute working documents as Internet
 Drafts.

 InternetDrafts are draft documents valid for a maximum of six
 months and may be updated, replaced, or obsoleted by other documents
 at any time. It is inappropriate to use InternetDrafts as
 reference material or to cite them other than as "work in progress."

 The list of current InternetDrafts can be accessed at
 http://www.ietf.org/ietf/1idabstracts.txt
+ Task Force (IETF). Note that other groups may also distribute
+ working documents as InternetDrafts. The list of current Internet
+ Drafts is at https://datatracker.ietf.org/drafts/current/.
 The list of InternetDraft Shadow Directories can be accessed at
 http://www.ietf.org/shadow.html
+ InternetDrafts are draft documents valid for a maximum of six months
+ and may be updated, replaced, or obsoleted by other documents at any
+ time. It is inappropriate to use InternetDrafts as reference
+ material or to cite them other than as "work in progress."
 This InternetDraft will expire on January 13, 2020.
+ This InternetDraft will expire on March 26, 2021.
Copyright Notice
Copyright (c) 2020 IETF Trust and the persons identified as the
document authors. All rights reserved.
This document is subject to BCP 78 and the IETF Trust's Legal
Provisions Relating to IETF Documents
 (http://trustee.ietf.org/licenseinfo) in effect on the date of
+ (https://trustee.ietf.org/licenseinfo) in effect on the date of
publication of this document. Please review these documents
 carefully, as they describe your rights and restrictions with
 respect to this document. Code Components extracted from this
 document must include Simplified BSD License text as described in
 Section 4.e of the Trust Legal Provisions and are provided without
 warranty as described in the Simplified BSD License.
+ carefully, as they describe your rights and restrictions with respect
+ to this document. Code Components extracted from this document must
+ include Simplified BSD License text as described in Section 4.e of
+ the Trust Legal Provisions and are provided without warranty as
+ described in the Simplified BSD License.
Table of Contents
 1. Introduction ..............................................2
 2. Conventions used in this document .........................3
 2.1. Terminology ..........................................3
 2.2. Tree diagram .........................................4
 2.3. Prefixes in Data Node Names ..........................4
 3. Main Building Blocks of the Flexigrid TED.................4
 4. Example of Use ............................................8
 5. Flexigrid Topology YANG Model.............................9
 5.1. YANG Model  Tree ....................................9
 5.2. YANG Model  Code ....................................30
 6. Security Considerations ...................................69
 7. IANA Considerations .......................................70
 8. References ................................................70
 8.1. Normative References .................................70
 8.2. Informative References ...............................71
 9. Contributors ..............................................72
 10. Acknowledgments ..........................................72
 Authors' Addresses ...........................................73
+ 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2
+ 2. Conventions . . . . . . . . . . . . . . . . . . . . . . . . . 3
+ 3. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 3
+ 4. Tree Diagram . . . . . . . . . . . . . . . . . . . . . . . . 4
+ 4.1. Prefixes in Data Node Names . . . . . . . . . . . . . . . 4
+ 5. Main Components of the Flexigrid Topology . . . . . . . . . 5
+ 6. Example of Use . . . . . . . . . . . . . . . . . . . . . . . 11
+ 7. YANG Model (Tree Structure) for Flexigrid topology . . . . . 13
+ 8. The YANG Code for Flexigrid topology . . . . . . . . . . . . 30
+ 9. Security Considerations . . . . . . . . . . . . . . . . . . . 64
+ 10. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 65
+ 11. Contributors . . . . . . . . . . . . . . . . . . . . . . . . 65
+ 12. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 66
+ 13. References . . . . . . . . . . . . . . . . . . . . . . . . . 67
+ 13.1. Normative References . . . . . . . . . . . . . . . . . . 67
+ 13.2. Informative References . . . . . . . . . . . . . . . . . 68
+ Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 69
1. Introduction
The flexible grid (flexigrid) optical network technology defined by
the International Telecommunication Union Telecommunication
Standardization Sector (ITUT) and documented in Recommendation
G.694.1 [G.694.1] and G.872 [G.872] provides an enhanced Dense
Wavelength Division Multiplexing (DWDM) grid by defining a set of
nominal central frequencies, channel spacings, and the concept of the
"frequency slot". In such an environment, a dataplane connection is
@@ 99,174 +91,180 @@
the optical spectrum, creating what is known as a flexible grid
(flexigrid). This technology increases both transport network
scalability and flexibility, allowing the optimization of bandwidth
usage.
[RFC7698] provides a framework GMPLSBased control of flexigrid DWDM
networks while [RFC7699] defines generalized labels for the use in
flexigrid in GMPLS networks.
This document presents a YANG [RFC7950] model for flexigrid objects
 in the dynamic optical network, including the nodes, transponders
 and links between them, as well as how such links interconnect nodes
 and transponders.
+ in the dynamic optical network, including the nodes, transponders and
+ links between them, as well as how such links interconnect nodes and
+ transponders.
The YANG model for flexigrid networks allows the representation of
the flexigrid optical layer of a network, combined with the
underlying physical layer.
This document identifies the flexigrid components, parameters and
their values, characterizes the features and the performances of the
flexigrid elements. An application example is provided towards the
end of the document to better understand their utility.
A partner document defines a second YANG module that described flexi
 grid media channels, i.e., the paths from source to destination
 through a number of intermediate nodes
 [ID.draftietfccampflexigridmediachannelyang].
+ grid tunnels, i.e., the paths from source to destination through a
+ number of intermediate nodes
+ [ID.ietfccampflexigridmediachannelyang].
2. Conventions used in this document
+2. Conventions
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
"SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and
"OPTIONAL" in this document are to be interpreted as described in BCP
14 [RFC2119] [RFC8174] when, and only when, they appear in all
capitals, as shown here.
2.1. Terminology
+3. Terminology
Refer to [RFC7446] and [RFC7581] for the key terms used in this
document.
The following terms are defined in [RFC7950] and are not redefined
here:
o client
+
o server
+
o augment
o data model
+
o data node
The following terms are defined in [RFC6241] and are not redefined
here:
o configuration data
+
o state data
The terminology for describing YANG data models is found in
[RFC7950].
2.2. Tree Diagram
+4. Tree Diagram
A simplified graphical representation of the data model is used in
 Section 5 of this this document. The meaning of the symbols in
 these diagrams is defined in [RFC8340].
+ this document. The meaning of the symbols in these diagrams is
+ defined in [RFC8340].
2.3. Prefixes in Data Node Names
+4.1. Prefixes in Data Node Names
In this document, names of data nodes and other data model objects
are prefixed using the standard prefix associated with the
 corresponding YANG imported modules, as shown in Table 1.
+ corresponding YANG imported modules, as shown in Figure 1. It uses
+ prefixes from [ID.ietfccamplayer0types], [RFC8345], and
+ [RFC8795].
++++
 Prefix  YANG module  Reference 
++++
  l0types  ietflayer0types  [Layer0Types] 
  flexigrid  ietfflexigridtopology [RFCXXXX] 
+  l0types  ietflayer0types  [RFCXXXX] 
+  flexigrid  ietfflexigridtopology [RFCYYYY] 
 nw  ietfnetwork  [RFC8345] 
 nt  ietfnetworktopology  [RFC8345] 
  tet  ietftetopology  [TETOPO] 
+  tet  ietftetopology  [RFC8795] 
++++
 Table 1: Prefixes and corresponding YANG modules
+ Figure 1: Prefixes and Corresponding YANG modules
 RFC Editor Note: Please replace XXXX with the RFC number assigned to
 this document when it is published. Please remove this note.
+ RFC Editor Note: Please replace XXXX with the RFC numbers assigned to
+ draftietfccamplayer0types. Please replace YYYY with the RFC
+ number assigned to this document. Please remove this note.
3. Main building Blocks of the Flexigrid Topology
+5. Main Components of the Flexigrid Topology
 This section describes the YANG module. It is specified in Section 5.
+ This section describes the YANG module. It is specified in
+ Section 8.
 The description of the three main components, flexigridnode,
 flexigridtransponder and flexigridlink is provided below.
 flexigridsliceabletransponders are also defined.
+ The description of the three main components, flexigridnode, flexi
+ gridtransponder and flexigridlink is provided below. flexigrid
+ sliceabletransponders are also defined.
 The syntax specification below uses the augmented BackusNaur
 Form (BNF) as described in [RFC5234].
+ The syntax specification below uses the augmented BackusNaur Form
+ (BNF) as described in [RFC5234].
::=
: This element designates a node in the
network.
::=
: Contains the configuration of a node.
::=
: Contains all the
 attributes related to the node configuration, such as
 its interfaces or its management addresses.
+ attributes related to the node configuration, such as its
+ interfaces or its management addresses.
+
::=
[ / ]
 : The list containing all the
 information of the interfaces.
+ : The list containing all the information of
+ the interfaces.
: Determines the interface name.
: Port number of the interface.
 : Boolean value that defines
 whether the interface is input or not.
+ : Boolean value that defines whether the interface
+ is input or not.
 : Boolean value that defines
 whether the interface is output or not.
+ : Boolean value that defines whether the interface
+ is output or not.
 : Description of the usage of
 the interface.
+ : Description of the usage of the interface.
 : Determines if the interface
 is numbered or unnumbered.
+ : Determines if the interface is numbered or
+ unnumbered.
::=
 : An interface with
 its own IP address.
 : Only available if
 is "numberedinterface".
 Determines the IP address of the interface.
+ : An interface with its own IP address.
 ::=

 : An interface that
 needs a label to be unique.
+ : Only available if is
+ "numberedinterface". Determines the IP address of the
+ interface.
 : Only available if
 is "numberedinterface".
 Determines the node IP address, which with
 the label defines the interface.
+ ::=
 : Label that determines the
 interface, joint with the node IP address.
+ : An interface that needs a label to be
+ unique.
+
+ : Only available if is
+ "numberedinterface". Determines the node IP address,
+ which with the label defines the interface.
+
+ : Label that determines the interface, joint with the
+ node IP address.
::=
 : Determines whether a
 connection port in/port out exists.
+ : Determines whether a connection port
+ in/port out exists.
 ::=

+ ::=
::=
: This item designates a transponder
of a node.
::=
: Contains the configuration of a transponder.
@@ 287,72 +285,225 @@
: Contains the state of a transponder.
: See above.
: Contains the
state of a transponder.
::=
 : This element describes all the information of a
+ : This element describes all the
+ information of a link.
+
+ ::=
+
+ : Contains the configuration of a link.
+
+ ::=
+
+
+
+
+ : Contains all the attributes
+ related to the link, such as its unique id, its N value,
+ its latency, etc.
+
+ : Unique id of the link.
+
+ : Array of bits that determines,
+ with each bit, the availability of each interface for
+ flexigrid technology.
+
+ : The max value of N in this link, being N the number
+ of slots.
+
+ : The default central frequency used in the
link.
+ : It is the spacing
+ between allowed nominal central frequencies and it is set
+ to 6.25 GHz (note: sometimes referred to as 0.00625 THz).
+
+ : 12.5 GHz, as defined in G.694.1.
+
+ ::=
+
+
+ : Contains the state of a link.
+
+ : See above.
+
+ : Contains all the
+ information related to the state of a link.
+
+ ::=
+
+ : This item designates a transponder
+ of a node.
+
+ ::=
+
+ : Contains the configuration of a transponder.
+
+ ::=
+
+
+ : Contains all the
+ attributes related to the transponder.
+
+ : It provides a list of the
+ operational modes available at this transponder.
+
+ : Determines the type of operational
+ mode in use.
+
+ ::=
+
+
+ : Contains the state of a transponder.
+
+ : See above.
+
+ : Contains the
+ state of a transponder.
+
+ ::=
+
+ : This element describes all the information
+ of a link.
+
+ ::=
+ : Contains the configuration of a link.
+
+ ::=
+
+
+
+
+ : Contains all the attributes
+ related to the link, such as its unique id, its N value,
+ its latency, etc.
+
+ : Unique id of the link.
+
+ : Array of bits that determines,
+ with each bit, the availability of each interface for
+ flexigrid technology.
+
+ : The max value of N in this link, being N the number
+ of slots.
+
+ : The default central frequency used in the
+ link.
+
+ : It is the spacing
+ between allowed nominal central frequencies and it is set
+ to 6.25 GHz (note: sometimes referred to as 0.00625 THz).
+
+ : 12.5 GHz, as defined in G.694.1.
+
+ ::=
+
+
+ : Contains the state of a link.
+
+ : See above.
+
+ : Contains all the
+ information related to the state of a link.
+
+ ::=
+
+ : This item designates a transponder
+ of a node.
+
+ ::=
+
+ : Contains the configuration of a transponder.
+
+ ::=
+
+
+ : Contains all the
+ attributes related to the transponder.
+
+ : It provides a list of the
+ operational modes available at this transponder.
+
+ : Determines the type of operational mode
+ in use.
+
+ ::=
+
+
+ : Contains the state of a transponder.
+
+ : See above.
+
+ : Contains the
+ state of a transponder.
+
+ ::=
+
+ : This element describes all the information
+ of a link.
+
::=
: Contains the configuration of a link.
::=
 : Contains all the
 attributes related to the link, such as its unique id,
 its N value, its latency, etc.
+ : Contains all the attributes
+ related to the link, such as its unique id, its N value,
+ its latency, etc.
: Unique id of the link.
 : Array of bits that
 determines, with each bit, the availability of each
 interface for flexigrid technology.
+ : Array of bits that determines,
+ with each bit, the availability of each interface for
+ flexigrid technology.
 : The max value of N in this link, being N
 the number of slots.
+ : The max value of N in this link, being N the number
+ of slots.
 : The default central frequency
 used in the link.
+ : The default central frequency used in the
+ link.
 : It is the
 spacing between allowed nominal central frequencies
 and it is set to 6.25 GHz (note: sometimes referred
 to as 0.00625 THz).
+ : It is the spacing
+ between allowed nominal central frequencies and it is set
+ to 6.25 GHz (note: sometimes referred to as 0.00625 THz).
+
+ : 12.5 GHz, as defined in G.694.1.
 : 12.5 GHz, as defined
 in G.694.1.
::=
: Contains the state of a link.
: See above.
: Contains all the
 the information related to the state of a link.
+ information related to the state of a link.
4. Example of Use
+6. Example of Use
In order to explain how this model is used, we provide the following
example. An optical network usually has multiple transponders,
switches (nodes) and links between them. Figure 1 shows a simple
topology, where two physical paths interconnect two optical
transponders.
+
Media channel
<==================================================>
Path x
<>
++ ++
Link 1 Flexigrid Link 2 Flexigrid Link 3
.> node <> node <.
  B   C  
 ++ ++ 
v v
@@ 363,1082 +514,895 @@
\/ \/
^ ^
 ++ 
 Link 4 Flexigrid Link 5 
'> node <'
 D 
++
<>
Path y
 Figure 1. Topology example.
+ Figure 3: Topology Example
In order to configure a media channel to interconnect transponders A
and E, first of all we have to populate the flexigrid topology YANG
model with all elements in the network:
 1. We define the transponders A and E, including their FEC type, if
+ o We define the transponders A and E, including their FEC type, if
enabled, and modulation type. We also provide node identifiers
 and addresses for the transponders, as well as interfaces
 included in the transponders. Sliceable transponders can also be
 defined if needed.
+ and addresses for the transponders, as well as interfaces included
+ in the transponders. Sliceable transponders can also be defined
+ if needed.
 2. We do the same for the nodes B, C and D, providing their
+ o We do the same for the nodes B, C and D, providing their
identifiers, addresses and interfaces, as well as the internal
connectivity matrix between interfaces.
 3. Then, we also define the links 1 to 5 that interconnect nodes and
+ o Then, we also define the links 1 to 5 that interconnect nodes and
transponders, indicating which flexigrid labels are available.
 Other information, such as the slot frequency and granularity are
+ o Other information, such as the slot frequency and granularity are
also provided.
 Next, we can configure the media channel from the information we
+ o Next, we can configure the media channel from the information we
have stored in the flexigrid TED, by querying which elements are
available, and planning the resources that have to be provided on
 each situation. Note that every element in the flexigrid TED has a
 reference, and this is the way in which they are called in the media
 channel. We refer to
 [ID.draftietfccampflexigridmediachannelyang] to complete
 this example.

5. Flexigrid Topology YANG Model
+ each situation. Note that every element in the flexigrid TED has
+ a reference, and this is the way in which they are called in the
+ media channel. We refer to
+ [ID.ietfccampflexigridmediachannelyang] to complete this
+ example.
5.1. Yang Model  Tree Structure
+7. YANG Model (Tree Structure) for Flexigrid topology
module: ietfflexigridtopology

augment /nw:networks/nw:network/nw:networktypes/tet:tetopology:
+rw flexigridtopology!

 augment /nw:networks/nw:network/nt:link/tet:te/
 tet:telinkattributes:

 augment /nw:networks/nw:network/nw:node/nt:terminationpoint/tet:te:
 +rw supportedpayloadtypes* [index]
  +rw index uint16
  +rw payloadtype? string
 +rw clientfacing? boolean

 augment /nw:networks/nw:network/nw:node/tet:te/tet:tenodeattributes:
 +rw flexigridnode
 +rw nodetype? identityref

 augment /nw:networks/nw:network/nw:node/tet:te/
 tet:tunnelterminationpoint:
 +rw supportedoperationalmodes* l0types:operationalmode
 +rw configuredoperationalmodes? l0types:operationalmode
 +rw supportedfectypes* identityref
 +rw supportedterminationtypes* identityref
 +rw supportsbitstuffing? boolean
 +rw istunable? boolean
 +rw maxsubcarrierchannelnum? uint8
 +rw supportsflexigrid? boolean

 augment /nw:networks/nw:network/nw:node/nt:terminationpoint/tet:te/
 tet:interfaceswitchingcapability/tet:maxlspbandwidth/
 tet:tebandwidth/tet:technology:

 +:(flexigrid)
 +rw bandwidthtype? identityref

 augment /nw:networks/nw:network/nw:node/tet:te/tet:tenodeattributes/
 tet:connectivitymatrices/tet:pathconstraints/tet:tebandwidth/
 tet:technology:
 +:(flexigrid)
 +rw supportedbandwidthlist* identityref

 augment /nw:networks/nw:network/nw:node/tet:te/tet:tenodeattributes/
 tet:connectivitymatrices/tet:connectivitymatrix/
 tet:pathconstraints/tet:tebandwidth/tet:technology:
 +:(flexigrid)
 +rw supportedbandwidthlist* identityref

 augment /nw:networks/nw:network/nw:node/tet:te/
 tet:informationsourceentry/tet:connectivitymatrices/
 tet:pathconstraints/tet:tebandwidth/tet:technology:
 +:(flexigrid)
 +ro supportedbandwidthlist* identityref

 augment /nw:networks/nw:network/nw:node/tet:te/
 tet:informationsourceentry/tet:connectivitymatrices/
 tet:connectivitymatrix/tet:pathconstraints/tet:tebandwidth/
 tet:technology:
 +:(flexigrid)
 +ro supportedbandwidthlist* identityref

 augment /nw:networks/nw:network/nw:node/tet:te/
 tet:tunnelterminationpoint/tet:clientlayeradaptation/
 tet:switchingcapability/tet:tebandwidth/tet:technology:
 +:(flexigrid)
 +rw supportedbandwidthlist* identityref

 augment /nw:networks/nw:network/nw:node/tet:te/
 tet:tunnelterminationpoint/tet:locallinkconnectivities/
 tet:pathconstraints/tet:tebandwidth/tet:technology:
 +:(flexigrid)
 +rw supportedbandwidthlist* identityref

 augment /nw:networks/nw:network/nw:node/tet:te/
 tet:tunnelterminationpoint/tet:locallinkconnectivities/
 tet:locallinkconnectivity/tet:pathconstraints/
 tet:tebandwidth/tet:technology:
 +:(flexigrid)
 +rw supportedbandwidthlist* identityref

 augment /nw:networks/nw:network/nt:link/tet:te/
 tet:telinkattributes/tet:interfaceswitchingcapability/
 tet:maxlspbandwidth/tet:tebandwidth/tet:technology:
 +:(flexigrid)
 +rw bandwidthtype? identityref

 augment /nw:networks/nw:network/nt:link/tet:te/
 tet:telinkattributes/tet:maxlinkbandwidth/tet:tebandwidth/
 tet:technology:
 +:(flexigrid)
 +rw supportedbandwidthlist* identityref

 augment /nw:networks/nw:network/nt:link/tet:te/
 tet:telinkattributes/tet:maxresvlinkbandwidth/
 tet:tebandwidth/tet:technology:
 +:(flexigrid)
 +rw supportedbandwidthlist* identityref

 augment /nw:networks/nw:network/nt:link/tet:te/
 tet:telinkattributes/tet:unreservedbandwidth/
 tet:tebandwidth/tet:technology:
 +:(flexigrid)
 +rw supportedbandwidthlist* identityref

 augment /nw:networks/nw:network/nt:link/tet:te/
 tet:informationsourceentry/tet:interfaceswitchingcapability/
 tet:maxlspbandwidth/tet:tebandwidth/tet:technology:
 +:(flexigrid)
 +ro bandwidthtype? identityref

 augment /nw:networks/nw:network/nt:link/tet:te/
 tet:informationsourceentry/tet:maxlinkbandwidth/
 tet:tebandwidth/tet:technology:
 +:(flexigrid)
 +ro supportedbandwidthlist* identityref

 augment /nw:networks/nw:network/nt:link/tet:te/
 tet:informationsourceentry/tet:maxresvlinkbandwidth/
 tet:tebandwidth/tet:technology:
 +:(flexigrid)
 +ro supportedbandwidthlist* identityref

 augment /nw:networks/nw:network/nt:link/tet:te/
 tet:informationsourceentry/tet:unreservedbandwidth/
 tet:tebandwidth/tet:technology:
 +:(flexigrid)
 +ro supportedbandwidthlist* identityref

 augment /nw:networks/tet:te/tet:templates/tet:linktemplate/
 tet:telinkattributes/tet:interfaceswitchingcapability/
 tet:maxlspbandwidth/tet:tebandwidth/tet:technology:

 +:(flexigrid)
 +rw bandwidthtype? identityref

 augment /nw:networks/tet:te/tet:templates/tet:linktemplate/
 tet:telinkattributes/tet:maxlinkbandwidth/tet:tebandwidth/
 tet:technology:
 +:(flexigrid)
 +rw supportedbandwidthlist* identityref

 augment /nw:networks/tet:te/tet:templates/tet:linktemplate/
 tet:telinkattributes/tet:maxresvlinkbandwidth/
 tet:tebandwidth/tet:technology:
 +:(flexigrid)
 +rw supportedbandwidthlist* identityref

 augment /nw:networks/tet:te/tet:templates/tet:linktemplate/
 tet:telinkattributes/tet:unreservedbandwidth/tet:tebandwidth/
 tet:technology:
 +:(flexigrid)
 +rw supportedbandwidthlist* identityref

 augment /nw:networks/nw:network/nw:node/tet:te/
 tet:tenodeattributes/tet:connectivitymatrices/
 tet:labelrestrictions/tet:labelrestriction:
+ augment /nw:networks/nw:network/nw:node/tet:te
+ /tet:tenodeattributes:
+ +rw flexigridnode!
+ augment /nw:networks/nw:network/nw:node/tet:te
+ /tet:tenodeattributes/tet:connectivitymatrices
+ /tet:labelrestrictions/tet:labelrestriction:
+rw gridtype? identityref
+rw priority? uint8
+rw flexigrid
 +rw nominalcentralfrequencygranularity? identityref
+rw slotwidthgranularity? identityref
+rw minslotwidthfactor? uint16
+rw maxslotwidthfactor? uint16

 augment /nw:networks/nw:network/nw:node/tet:te/
 tet:tenodeattributes/tet:connectivitymatrices/
 tet:labelrestrictions/tet:labelrestriction/tet:labelstart/
 tet:telabel/tet:technology:
+ augment /nw:networks/nw:network/nw:node/tet:te
+ /tet:tenodeattributes/tet:connectivitymatrices
+ /tet:connectivitymatrix/tet:from/tet:labelrestrictions
+ /tet:labelrestriction:
+ +rw gridtype? identityref
+ +rw priority? uint8
+ +rw flexigrid
+ +rw slotwidthgranularity? identityref
+ +rw minslotwidthfactor? uint16
+ +rw maxslotwidthfactor? uint16
+ augment /nw:networks/nw:network/nw:node/tet:te
+ /tet:tenodeattributes/tet:connectivitymatrices
+ /tet:connectivitymatrix/tet:to/tet:labelrestrictions
+ /tet:labelrestriction:
+ +rw gridtype? identityref
+ +rw priority? uint8
+ +rw flexigrid
+ +rw slotwidthgranularity? identityref
+ +rw minslotwidthfactor? uint16
+ +rw maxslotwidthfactor? uint16
+ augment /nw:networks/nw:network/nw:node/tet:te
+ /tet:informationsourceentry/tet:connectivitymatrices
+ /tet:labelrestrictions/tet:labelrestriction:
+ +ro gridtype? identityref
+ +ro priority? uint8
+ +ro flexigrid
+ +ro slotwidthgranularity? identityref
+ +ro minslotwidthfactor? uint16
+ +ro maxslotwidthfactor? uint16
+ augment /nw:networks/nw:network/nw:node/tet:te
+ /tet:informationsourceentry/tet:connectivitymatrices
+ /tet:connectivitymatrix/tet:from/tet:labelrestrictions
+ /tet:labelrestriction:
+ +ro gridtype? identityref
+ +ro priority? uint8
+ +ro flexigrid
+ +ro slotwidthgranularity? identityref
+ +ro minslotwidthfactor? uint16
+ +ro maxslotwidthfactor? uint16
+ augment /nw:networks/nw:network/nw:node/tet:te
+ /tet:informationsourceentry/tet:connectivitymatrices
+ /tet:connectivitymatrix/tet:to/tet:labelrestrictions
+ /tet:labelrestriction:
+ +ro gridtype? identityref
+ +ro priority? uint8
+ +ro flexigrid
+ +ro slotwidthgranularity? identityref
+ +ro minslotwidthfactor? uint16
+ +ro maxslotwidthfactor? uint16
+ augment /nw:networks/nw:network/nw:node/tet:te
+ /tet:tunnelterminationpoint
+ /tet:locallinkconnectivities/tet:labelrestrictions
+ /tet:labelrestriction:
+ +rw gridtype? identityref
+ +rw priority? uint8
+ +rw flexigrid
+ +rw slotwidthgranularity? identityref
+ +rw minslotwidthfactor? uint16
+ +rw maxslotwidthfactor? uint16
+ augment /nw:networks/nw:network/nw:node/tet:te
+ /tet:tunnelterminationpoint
+ /tet:locallinkconnectivities
+ /tet:locallinkconnectivity/tet:labelrestrictions
+ /tet:labelrestriction:
+ +rw gridtype? identityref
+ +rw priority? uint8
+ +rw flexigrid
+ +rw slotwidthgranularity? identityref
+ +rw minslotwidthfactor? uint16
+ +rw maxslotwidthfactor? uint16
+ augment /nw:networks/nw:network/nt:link/tet:te
+ /tet:telinkattributes/tet:labelrestrictions
+ /tet:labelrestriction:
+ +rw gridtype? identityref
+ +rw priority? uint8
+ +rw flexigrid
+ +rw slotwidthgranularity? identityref
+ +rw minslotwidthfactor? uint16
+ +rw maxslotwidthfactor? uint16
+ augment /nw:networks/nw:network/nt:link/tet:te
+ /tet:informationsourceentry/tet:labelrestrictions
+ /tet:labelrestriction:
+ +ro gridtype? identityref
+ +ro priority? uint8
+ +ro flexigrid
+ +ro slotwidthgranularity? identityref
+ +ro minslotwidthfactor? uint16
+ +ro maxslotwidthfactor? uint16
+ augment /nw:networks/tet:te/tet:templates/tet:linktemplate
+ /tet:telinkattributes/tet:labelrestrictions
+ /tet:labelrestriction:
+ +rw gridtype? identityref
+ +rw priority? uint8
+ +rw flexigrid
+ +rw slotwidthgranularity? identityref
+ +rw minslotwidthfactor? uint16
+ +rw maxslotwidthfactor? uint16
+ augment /nw:networks/nw:network/nw:node/tet:te
+ /tet:tenodeattributes/tet:connectivitymatrices
+ /tet:labelrestrictions/tet:labelrestriction
+ /tet:labelstart/tet:telabel/tet:technology:
+:(flexigrid)
 +rw flexin? uint16

 augment /nw:networks/nw:network/nw:node/tet:te/
 tet:tenodeattributes/tet:connectivitymatrices/
 tet:labelrestrictions/tet:labelrestriction/tet:labelend/
 tet:telabel/tet:technology:
+ +rw flexin? l0types:flexin
+ augment /nw:networks/nw:network/nw:node/tet:te
+ /tet:tenodeattributes/tet:connectivitymatrices
+ /tet:labelrestrictions/tet:labelrestriction
+ /tet:labelend/tet:telabel/tet:technology:
+:(flexigrid)
 +rw flexin? uint16

 augment /nw:networks/nw:network/nw:node/tet:te/
 tet:tenodeattributes/tet:connectivitymatrices/
 tet:labelrestrictions/tet:labelrestriction/tet:labelstep/
 tet:technology:
+ +rw flexin? l0types:flexin
+ augment /nw:networks/nw:network/nw:node/tet:te
+ /tet:tenodeattributes/tet:connectivitymatrices
+ /tet:labelrestrictions/tet:labelrestriction
+ /tet:labelstep/tet:technology:
+:(flexigrid)
 +rw flexi? identityref

 augment /nw:networks/nw:network/nw:node/tet:te/
 tet:tenodeattributes/tet:connectivitymatrices/tet:underlay/
 tet:primarypath/tet:pathelement/tet:type/tet:label/tet:labelhop/
 tet:telabel/tet:technology:
+ +rw flexigridchannelspacing? identityref
+ +rw flexinstep? uint8
+ augment /nw:networks/nw:network/nw:node/tet:te
+ /tet:tenodeattributes/tet:connectivitymatrices
+ /tet:underlay/tet:primarypath/tet:pathelement/tet:type
+ /tet:label/tet:labelhop/tet:telabel/tet:technology:
+:(flexigrid)
+rw (singleorsuperchannel)?
+:(single)
  +rw flexin? uint16
  +rw flexim? uint16
+  +rw flexin? l0types:flexin
+  +rw flexim? l0types:flexim
+:(super)
+rw subcarrierflexin* [flexin]
 +rw flexin uint16
 +rw flexim? uint16

 augment /nw:networks/nw:network/nw:node/tet:te/
 tet:tenodeattributes/tet:connectivitymatrices/tet:underlay/
 tet:backuppath/tet:pathelement/tet:type/tet:label/tet:labelhop/
 tet:telabel/tet:technology:
+ +rw flexin l0types:flexin
+ +rw flexim? l0types:flexim
+ augment /nw:networks/nw:network/nw:node/tet:te
+ /tet:tenodeattributes/tet:connectivitymatrices
+ /tet:underlay/tet:backuppath/tet:pathelement/tet:type
+ /tet:label/tet:labelhop/tet:telabel/tet:technology:
+:(flexigrid)
+rw (singleorsuperchannel)?
+:(single)
  +rw flexin? uint16
  +rw flexim? uint16
+  +rw flexin? l0types:flexin
+  +rw flexim? l0types:flexim
+:(super)
+rw subcarrierflexin* [flexin]
 +rw flexin uint16
 +rw flexim? uint16

 augment /nw:networks/nw:network/nw:node/tet:te/
 tet:tenodeattributes/tet:connectivitymatrices/tet:optimizations/
 tet:algorithm/tet:metric/tet:optimizationmetric/
 tet:explicitrouteexcludeobjects/tet:routeobjectexcludeobject/
 tet:type/tet:label/tet:labelhop/tet:telabel/tet:technology:
+ +rw flexin l0types:flexin
+ +rw flexim? l0types:flexim
+ augment /nw:networks/nw:network/nw:node/tet:te
+ /tet:tenodeattributes/tet:connectivitymatrices
+ /tet:optimizations/tet:algorithm/tet:metric
+ /tet:optimizationmetric
+ /tet:explicitrouteexcludeobjects
+ /tet:routeobjectexcludeobject/tet:type/tet:label
+ /tet:labelhop/tet:telabel/tet:technology:
+:(flexigrid)
+rw (singleorsuperchannel)?
+:(single)
  +rw flexin? uint16
  +rw flexim? uint16
+  +rw flexin? l0types:flexin
+  +rw flexim? l0types:flexim
+:(super)
+rw subcarrierflexin* [flexin]
 +rw flexin uint16
 +rw flexim? uint16
+ +rw flexin l0types:flexin
+ +rw flexim? l0types:flexim
+ augment /nw:networks/nw:network/nw:node/tet:te
+ /tet:tenodeattributes/tet:connectivitymatrices
+ /tet:optimizations/tet:algorithm/tet:metric
+ /tet:optimizationmetric
+ /tet:explicitrouteincludeobjects
+ /tet:routeobjectincludeobject/tet:type/tet:label
+ /tet:labelhop/tet:telabel/tet:technology:
 augment /nw:networks/nw:network/nw:node/tet:te/
 tet:tenodeattributes/tet:connectivitymatrices/
 tet:optimizations/tet:algorithm/tet:metric/tet:optimizationmetric/
 tet:explicitrouteincludeobjects/tet:routeobjectincludeobject/
 tet:type/tet:label/tet:labelhop/tet:telabel/tet:technology:
+:(flexigrid)
+rw (singleorsuperchannel)?
+:(single)
  +rw flexin? uint16
  +rw flexim? uint16
+  +rw flexin? l0types:flexin
+  +rw flexim? l0types:flexim
+:(super)
+rw subcarrierflexin* [flexin]
 +rw flexin uint16
 +rw flexim? uint16

 augment /nw:networks/nw:network/nw:node/tet:te/
 tet:tenodeattributes/tet:connectivitymatrices/
 tet:pathproperties/tet:pathrouteobjects/tet:pathrouteobject/
 tet:type/tet:label/tet:labelhop/tet:telabel/tet:technology:
+ +rw flexin l0types:flexin
+ +rw flexim? l0types:flexim
+ augment /nw:networks/nw:network/nw:node/tet:te
+ /tet:tenodeattributes/tet:connectivitymatrices
+ /tet:pathproperties/tet:pathrouteobjects
+ /tet:pathrouteobject/tet:type/tet:label/tet:labelhop
+ /tet:telabel/tet:technology:
+:(flexigrid)
+ro (singleorsuperchannel)?
+:(single)
  +ro flexin? uint16
  +ro flexim? uint16
+  +ro flexin? l0types:flexin
+  +ro flexim? l0types:flexim
+:(super)
+ro subcarrierflexin* [flexin]
 +ro flexin uint16
 +ro flexim? uint16

 augment /nw:networks/nw:network/nw:node/tet:te/
 tet:tenodeattributes/tet:connectivitymatrices/
 tet:connectivitymatrix/tet:from/tet:labelrestrictions/
 tet:labelrestriction:
 +rw gridtype? identityref
 +rw priority? uint8
 +rw flexigrid
 +rw nominalcentralfrequencygranularity? identityref
 +rw slotwidthgranularity? identityref
 +rw minslotwidthfactor? uint16
 +rw maxslotwidthfactor? uint16

 augment /nw:networks/nw:network/nw:node/tet:te/
 tet:tenodeattributes/tet:connectivitymatrices/
 tet:connectivitymatrix/tet:from/tet:labelrestrictions/
 tet:labelrestriction/tet:labelstart/tet:telabel/tet:technology:
+ +ro flexin l0types:flexin
+ +ro flexim? l0types:flexim
+ augment /nw:networks/nw:network/nw:node/tet:te
+ /tet:tenodeattributes/tet:connectivitymatrices
+ /tet:connectivitymatrix/tet:from/tet:labelrestrictions
+ /tet:labelrestriction/tet:labelstart/tet:telabel
+ /tet:technology:
+:(flexigrid)
 +rw flexin? uint16

 augment /nw:networks/nw:network/nw:node/tet:te/
 tet:tenodeattributes/tet:connectivitymatrices/
 tet:connectivitymatrix/tet:from/tet:labelrestrictions/
 tet:labelrestriction/tet:labelend/tet:telabel/tet:technology:
+ +rw flexin? l0types:flexin
+ augment /nw:networks/nw:network/nw:node/tet:te
+ /tet:tenodeattributes/tet:connectivitymatrices
+ /tet:connectivitymatrix/tet:from/tet:labelrestrictions
+ /tet:labelrestriction/tet:labelend/tet:telabel
+ /tet:technology:
+:(flexigrid)
 +rw flexin? uint16

 augment /nw:networks/nw:network/nw:node/tet:te/
 tet:tenodeattributes/tet:connectivitymatrices/
 tet:connectivitymatrix/tet:from/tet:labelrestrictions/
 tet:labelrestriction/tet:labelstep/tet:technology:
+ +rw flexin? l0types:flexin
+ augment /nw:networks/nw:network/nw:node/tet:te
+ /tet:tenodeattributes/tet:connectivitymatrices
+ /tet:connectivitymatrix/tet:from/tet:labelrestrictions
+ /tet:labelrestriction/tet:labelstep/tet:technology:
+:(flexigrid)
 +rw flexi? identityref

 augment /nw:networks/nw:network/nw:node/tet:te/
 tet:tenodeattributes/tet:connectivitymatrices/
 tet:connectivitymatrix/tet:to/tet:labelrestrictions/
 tet:labelrestriction:
 +rw gridtype? identityref
 +rw priority? uint8
 +rw flexigrid
 +rw nominalcentralfrequencygranularity? identityref
 +rw slotwidthgranularity? identityref
 +rw minslotwidthfactor? uint16
 +rw maxslotwidthfactor? uint16

 augment /nw:networks/nw:network/nw:node/tet:te/
 tet:tenodeattributes/tet:connectivitymatrices/
 tet:connectivitymatrix/tet:to/tet:labelrestrictions/
 tet:labelrestriction/tet:labelstart/tet:telabel/tet:technology:
+ +rw flexigridchannelspacing? identityref
+ +rw flexinstep? uint8
+ augment /nw:networks/nw:network/nw:node/tet:te
+ /tet:tenodeattributes/tet:connectivitymatrices
+ /tet:connectivitymatrix/tet:to/tet:labelrestrictions
+ /tet:labelrestriction/tet:labelstart/tet:telabel
+ /tet:technology:
+:(flexigrid)
 +rw flexin? uint16

 augment /nw:networks/nw:network/nw:node/tet:te/
 tet:tenodeattributes/tet:connectivitymatrices/
 tet:connectivitymatrix/tet:to/tet:labelrestrictions/
 tet:labelrestriction/tet:labelend/tet:telabel/tet:technology:
+ +rw flexin? l0types:flexin
+ augment /nw:networks/nw:network/nw:node/tet:te
+ /tet:tenodeattributes/tet:connectivitymatrices
+ /tet:connectivitymatrix/tet:to/tet:labelrestrictions
+ /tet:labelrestriction/tet:labelend/tet:telabel
+ /tet:technology:
+:(flexigrid)
 +rw flexin? uint16

 augment /nw:networks/nw:network/nw:node/tet:te/
 tet:tenodeattributes/tet:connectivitymatrices/
 tet:connectivitymatrix/tet:to/tet:labelrestrictions/
 tet:labelrestriction/tet:labelstep/tet:technology:
+ +rw flexin? l0types:flexin
+ augment /nw:networks/nw:network/nw:node/tet:te
+ /tet:tenodeattributes/tet:connectivitymatrices
+ /tet:connectivitymatrix/tet:to/tet:labelrestrictions
+ /tet:labelrestriction/tet:labelstep/tet:technology:
+:(flexigrid)
 +rw flexi? identityref

 augment /nw:networks/nw:network/nw:node/tet:te/
 tet:tenodeattributes/tet:connectivitymatrices/
 tet:connectivitymatrix/tet:underlay/tet:primarypath/
 tet:pathelement/tet:type/tet:label/tet:labelhop/tet:telabel/
 tet:technology:

+ +rw flexigridchannelspacing? identityref
+ +rw flexinstep? uint8
+ augment /nw:networks/nw:network/nw:node/tet:te
+ /tet:tenodeattributes/tet:connectivitymatrices
+ /tet:connectivitymatrix/tet:underlay/tet:primarypath
+ /tet:pathelement/tet:type/tet:label/tet:labelhop
+ /tet:telabel/tet:technology:
+:(flexigrid)
+rw (singleorsuperchannel)?
+:(single)
  +rw flexin? uint16
  +rw flexim? uint16
+  +rw flexin? l0types:flexin
+  +rw flexim? l0types:flexim
+:(super)
+rw subcarrierflexin* [flexin]
 +rw flexin uint16
 +rw flexim? uint16

 augment /nw:networks/nw:network/nw:node/tet:te/
 tet:tenodeattributes/tet:connectivitymatrices/
 tet:connectivitymatrix/tet:underlay/tet:backuppath/
 tet:pathelement/tet:type/tet:label/tet:labelhop/tet:telabel/
 tet:technology:
+ +rw flexin l0types:flexin
+ +rw flexim? l0types:flexim
+ augment /nw:networks/nw:network/nw:node/tet:te
+ /tet:tenodeattributes/tet:connectivitymatrices
+ /tet:connectivitymatrix/tet:underlay/tet:backuppath
+ /tet:pathelement/tet:type/tet:label/tet:labelhop
+ /tet:telabel/tet:technology:
+:(flexigrid)
+rw (singleorsuperchannel)?
+:(single)
  +rw flexin? uint16
  +rw flexim? uint16
+  +rw flexin? l0types:flexin
+  +rw flexim? l0types:flexim
+:(super)
+rw subcarrierflexin* [flexin]
 +rw flexin uint16
 +rw flexim? uint16

 augment /nw:networks/nw:network/nw:node/tet:te/
 tet:tenodeattributes/tet:connectivitymatrices/
 tet:connectivitymatrix/tet:optimizations/tet:algorithm/tet:metric/
 tet:optimizationmetric/tet:explicitrouteexcludeobjects/
 tet:routeobjectexcludeobject/tet:type/tet:label/tet:labelhop/
 tet:telabel/tet:technology:
+ +rw flexin l0types:flexin
+ +rw flexim? l0types:flexim
+ augment /nw:networks/nw:network/nw:node/tet:te
+ /tet:tenodeattributes/tet:connectivitymatrices
+ /tet:connectivitymatrix/tet:optimizations/tet:algorithm
+ /tet:metric/tet:optimizationmetric
+ /tet:explicitrouteexcludeobjects
+ /tet:routeobjectexcludeobject/tet:type/tet:label
+ /tet:labelhop/tet:telabel/tet:technology:
+:(flexigrid)
+rw (singleorsuperchannel)?
+:(single)
  +rw flexin? uint16
  +rw flexim? uint16
+  +rw flexin? l0types:flexin
+  +rw flexim? l0types:flexim
+:(super)
+rw subcarrierflexin* [flexin]
 +rw flexin uint16
 +rw flexim? uint16

 augment /nw:networks/nw:network/nw:node/tet:te/
 tet:tenodeattributes/tet:connectivitymatrices/
 tet:connectivitymatrix/tet:optimizations/tet:algorithm/
 tet:metric/tet:optimizationmetric/
 tet:explicitrouteincludeobjects/tet:routeobjectincludeobject/
 tet:type/tet:label/tet:labelhop/tet:telabel/tet:technology:
+ +rw flexin l0types:flexin
+ +rw flexim? l0types:flexim
+ augment /nw:networks/nw:network/nw:node/tet:te
+ /tet:tenodeattributes/tet:connectivitymatrices
+ /tet:connectivitymatrix/tet:optimizations/tet:algorithm
+ /tet:metric/tet:optimizationmetric
+ /tet:explicitrouteincludeobjects
+ /tet:routeobjectincludeobject/tet:type/tet:label
+ /tet:labelhop/tet:telabel/tet:technology:
+:(flexigrid)
+rw (singleorsuperchannel)?
+:(single)
  +rw flexin? uint16
  +rw flexim? uint16
+  +rw flexin? l0types:flexin
+  +rw flexim? l0types:flexim
+:(super)
+rw subcarrierflexin* [flexin]
 +rw flexin uint16
 +rw flexim? uint16

 augment /nw:networks/nw:network/nw:node/tet:te/
 tet:tenodeattributes/tet:connectivitymatrices/
 tet:connectivitymatrix/tet:pathproperties/
 tet:pathrouteobjects/tet:pathrouteobject/tet:type/tet:label/
 tet:labelhop/tet:telabel/tet:technology:
+ +rw flexin l0types:flexin
+ +rw flexim? l0types:flexim
+ augment /nw:networks/nw:network/nw:node/tet:te
+ /tet:tenodeattributes/tet:connectivitymatrices
+ /tet:connectivitymatrix/tet:pathproperties
+ /tet:pathrouteobjects/tet:pathrouteobject/tet:type
+ /tet:label/tet:labelhop/tet:telabel/tet:technology:
+:(flexigrid)
+ro (singleorsuperchannel)?
+:(single)
  +ro flexin? uint16
  +ro flexim? uint16
+  +ro flexin? l0types:flexin
+  +ro flexim? l0types:flexim
+:(super)
+ro subcarrierflexin* [flexin]
 +ro flexin uint16
 +ro flexim? uint16

 augment /nw:networks/nw:network/nw:node/tet:te/
 tet:informationsourceentry/tet:connectivitymatrices/
 tet:labelrestrictions/tet:labelrestriction:
 +ro gridtype? identityref
 +ro priority? uint8
 +ro flexigrid
 +ro nominalcentralfrequencygranularity? identityref
 +ro slotwidthgranularity? identityref
 +ro minslotwidthfactor? uint16
 +ro maxslotwidthfactor? uint16

 augment /nw:networks/nw:network/nw:node/tet:te/
 tet:informationsourceentry/tet:connectivitymatrices/
 tet:labelrestrictions/tet:labelrestriction/tet:labelstart/
 tet:telabel/tet:technology:
+ +ro flexin l0types:flexin
+ +ro flexim? l0types:flexim
+ augment /nw:networks/nw:network/nw:node/tet:te
+ /tet:informationsourceentry/tet:connectivitymatrices
+ /tet:labelrestrictions/tet:labelrestriction
+ /tet:labelstart/tet:telabel/tet:technology:
+:(flexigrid)
 +ro flexin? uint16

 augment /nw:networks/nw:network/nw:node/tet:te/
 tet:informationsourceentry/tet:connectivitymatrices/
 tet:labelrestrictions/tet:labelrestriction/tet:labelend/
 tet:telabel/tet:technology:
+ +ro flexin? l0types:flexin
+ augment /nw:networks/nw:network/nw:node/tet:te
+ /tet:informationsourceentry/tet:connectivitymatrices
+ /tet:labelrestrictions/tet:labelrestriction
+ /tet:labelend/tet:telabel/tet:technology:
+:(flexigrid)
 +ro flexin? uint16

 augment /nw:networks/nw:network/nw:node/tet:te/
 tet:informationsourceentry/tet:connectivitymatrices/
 tet:labelrestrictions/tet:labelrestriction/tet:labelstep/
 tet:technology:
+ +ro flexin? l0types:flexin
+ augment /nw:networks/nw:network/nw:node/tet:te
+ /tet:informationsourceentry/tet:connectivitymatrices
+ /tet:labelrestrictions/tet:labelrestriction
+ /tet:labelstep/tet:technology:
+:(flexigrid)
 +ro flexi? identityref

 augment /nw:networks/nw:network/nw:node/tet:te/
 tet:informationsourceentry/tet:connectivitymatrices/
 tet:underlay/tet:primarypath/tet:pathelement/tet:type/
 tet:label/tet:labelhop/tet:telabel/tet:technology:
+ +ro flexigridchannelspacing? identityref
+ +ro flexinstep? uint8
+ augment /nw:networks/nw:network/nw:node/tet:te
+ /tet:informationsourceentry/tet:connectivitymatrices
+ /tet:underlay/tet:primarypath/tet:pathelement/tet:type
+ /tet:label/tet:labelhop/tet:telabel/tet:technology:
+:(flexigrid)
+ro (singleorsuperchannel)?
+:(single)
  +ro flexin? uint16
  +ro flexim? uint16
+  +ro flexin? l0types:flexin
+  +ro flexim? l0types:flexim
+:(super)
+ro subcarrierflexin* [flexin]
 +ro flexin uint16
 +ro flexim? uint16

 augment /nw:networks/nw:network/nw:node/tet:te/
 tet:informationsourceentry/tet:connectivitymatrices/
 tet:underlay/tet:backuppath/tet:pathelement/tet:type/tet:label/
 tet:labelhop/tet:telabel/tet:technology:
+ +ro flexin l0types:flexin
+ +ro flexim? l0types:flexim
+ augment /nw:networks/nw:network/nw:node/tet:te
+ /tet:informationsourceentry/tet:connectivitymatrices
+ /tet:underlay/tet:backuppath/tet:pathelement/tet:type
+ /tet:label/tet:labelhop/tet:telabel/tet:technology:
+:(flexigrid)
+ro (singleorsuperchannel)?
+:(single)
  +ro flexin? uint16
  +ro flexim? uint16
+  +ro flexin? l0types:flexin
+  +ro flexim? l0types:flexim
+:(super)
+ro subcarrierflexin* [flexin]
 +ro flexin uint16
 +ro flexim? uint16

 augment /nw:networks/nw:network/nw:node/tet:te/
 tet:informationsourceentry/tet:connectivitymatrices/
 tet:optimizations/tet:algorithm/tet:metric/tet:optimizationmetric/
 tet:explicitrouteexcludeobjects/tet:routeobjectexcludeobject/
 tet:type/tet:label/tet:labelhop/tet:telabel/tet:technology:
+ +ro flexin l0types:flexin
+ +ro flexim? l0types:flexim
+ augment /nw:networks/nw:network/nw:node/tet:te
+ /tet:informationsourceentry/tet:connectivitymatrices
+ /tet:optimizations/tet:algorithm/tet:metric
+ /tet:optimizationmetric
+ /tet:explicitrouteexcludeobjects
+ /tet:routeobjectexcludeobject/tet:type/tet:label
+ /tet:labelhop/tet:telabel/tet:technology:
+:(flexigrid)
+ro (singleorsuperchannel)?
+:(single)
  +ro flexin? uint16
  +ro flexim? uint16
+  +ro flexin? l0types:flexin
+  +ro flexim? l0types:flexim
+:(super)
+ro subcarrierflexin* [flexin]
 +ro flexin uint16
 +ro flexim? uint16

 augment /nw:networks/nw:network/nw:node/tet:te/
 tet:informationsourceentry/tet:connectivitymatrices/
 tet:optimizations/tet:algorithm/tet:metric/tet:optimizationmetric/
 tet:explicitrouteincludeobjects/tet:routeobjectincludeobject/
 tet:type/tet:label/tet:labelhop/tet:telabel/tet:technology:
+ +ro flexin l0types:flexin
+ +ro flexim? l0types:flexim
+ augment /nw:networks/nw:network/nw:node/tet:te
+ /tet:informationsourceentry/tet:connectivitymatrices
+ /tet:optimizations/tet:algorithm/tet:metric
+ /tet:optimizationmetric
+ /tet:explicitrouteincludeobjects
+ /tet:routeobjectincludeobject/tet:type/tet:label
+ /tet:labelhop/tet:telabel/tet:technology:
+:(flexigrid)
+ro (singleorsuperchannel)?
+:(single)
  +ro flexin? uint16
  +ro flexim? uint16
+  +ro flexin? l0types:flexin
+  +ro flexim? l0types:flexim
+:(super)
+ro subcarrierflexin* [flexin]
 +ro flexin uint16
 +ro flexim? uint16

 augment /nw:networks/nw:network/nw:node/tet:te/
 tet:informationsourceentry/tet:connectivitymatrices/
 tet:pathproperties/tet:pathrouteobjects/tet:pathrouteobject/
 tet:type/tet:label/tet:labelhop/tet:telabel/tet:technology:
+ +ro flexin l0types:flexin
+ +ro flexim? l0types:flexim
+ augment /nw:networks/nw:network/nw:node/tet:te
+ /tet:informationsourceentry/tet:connectivitymatrices
+ /tet:pathproperties/tet:pathrouteobjects
+ /tet:pathrouteobject/tet:type/tet:label/tet:labelhop
+ /tet:telabel/tet:technology:
+:(flexigrid)
+ro (singleorsuperchannel)?
+:(single)
  +ro flexin? uint16
  +ro flexim? uint16
+  +ro flexin? l0types:flexin
+  +ro flexim? l0types:flexim
+:(super)
+ro subcarrierflexin* [flexin]
 +ro flexin uint16
 +ro flexim? uint16

 augment /nw:networks/nw:network/nw:node/tet:te/
 tet:informationsourceentry/tet:connectivitymatrices/
 tet:connectivitymatrix/tet:from/tet:labelrestrictions/
 tet:labelrestriction:
 +ro gridtype? identityref
 +ro priority? uint8
 +ro flexigrid
 +ro nominalcentralfrequencygranularity? identityref
 +ro slotwidthgranularity? identityref
 +ro minslotwidthfactor? uint16
 +ro maxslotwidthfactor? uint16

 augment /nw:networks/nw:network/nw:node/tet:te/
 tet:informationsourceentry/tet:connectivitymatrices/
 tet:connectivitymatrix/tet:from/tet:labelrestrictions/
 tet:labelrestriction/tet:labelstart/tet:telabel/tet:technology:
+ +ro flexin l0types:flexin
+ +ro flexim? l0types:flexim
+ augment /nw:networks/nw:network/nw:node/tet:te
+ /tet:informationsourceentry/tet:connectivitymatrices
+ /tet:connectivitymatrix/tet:from/tet:labelrestrictions
+ /tet:labelrestriction/tet:labelstart/tet:telabel
+ /tet:technology:
+:(flexigrid)
 +ro flexin? uint16

 augment /nw:networks/nw:network/nw:node/tet:te/
 tet:informationsourceentry/tet:connectivitymatrices/
 tet:connectivitymatrix/tet:from/tet:labelrestrictions/
 tet:labelrestriction/tet:labelend/tet:telabel/tet:technology:
+ +ro flexin? l0types:flexin
+ augment /nw:networks/nw:network/nw:node/tet:te
+ /tet:informationsourceentry/tet:connectivitymatrices
+ /tet:connectivitymatrix/tet:from/tet:labelrestrictions
+ /tet:labelrestriction/tet:labelend/tet:telabel
+ /tet:technology:
+:(flexigrid)
 +ro flexin? uint16

 augment /nw:networks/nw:network/nw:node/tet:te/
 tet:informationsourceentry/tet:connectivitymatrices/
 tet:connectivitymatrix/tet:from/tet:labelrestrictions/
 tet:labelrestriction/tet:labelstep/tet:technology:
+ +ro flexin? l0types:flexin
+ augment /nw:networks/nw:network/nw:node/tet:te
+ /tet:informationsourceentry/tet:connectivitymatrices
+ /tet:connectivitymatrix/tet:from/tet:labelrestrictions
+ /tet:labelrestriction/tet:labelstep/tet:technology:
+:(flexigrid)
 +ro flexi? identityref

 augment /nw:networks/nw:network/nw:node/tet:te/
 tet:informationsourceentry/tet:connectivitymatrices/
 tet:connectivitymatrix/tet:to/tet:labelrestrictions/
 tet:labelrestriction:
 +ro gridtype? identityref
 +ro priority? uint8
 +ro flexigrid
 +ro nominalcentralfrequencygranularity? identityref
 +ro slotwidthgranularity? identityref
 +ro minslotwidthfactor? uint16
 +ro maxslotwidthfactor? uint16

 augment /nw:networks/nw:network/nw:node/tet:te/
 tet:informationsourceentry/tet:connectivitymatrices/
 tet:connectivitymatrix/tet:to/tet:labelrestrictions/
 tet:labelrestriction/tet:labelstart/tet:telabel/tet:technology:
+ +ro flexigridchannelspacing? identityref
+ +ro flexinstep? uint8
+ augment /nw:networks/nw:network/nw:node/tet:te
+ /tet:informationsourceentry/tet:connectivitymatrices
+ /tet:connectivitymatrix/tet:to/tet:labelrestrictions
+ /tet:labelrestriction/tet:labelstart/tet:telabel
+ /tet:technology:
+:(flexigrid)
 +ro flexin? uint16

 augment /nw:networks/nw:network/nw:node/tet:te/
 tet:informationsourceentry/tet:connectivitymatrices/
 tet:connectivitymatrix/tet:to/tet:labelrestrictions/
 tet:labelrestriction/tet:labelend/tet:telabel/tet:technology:
+ +ro flexin? l0types:flexin
+ augment /nw:networks/nw:network/nw:node/tet:te
+ /tet:informationsourceentry/tet:connectivitymatrices
+ /tet:connectivitymatrix/tet:to/tet:labelrestrictions
+ /tet:labelrestriction/tet:labelend/tet:telabel
+ /tet:technology:
+:(flexigrid)
 +ro flexin? uint16

 augment /nw:networks/nw:network/nw:node/tet:te/
 tet:informationsourceentry/tet:connectivitymatrices/
 tet:connectivitymatrix/tet:to/tet:labelrestrictions/
 tet:labelrestriction/tet:labelstep/tet:technology:
+ +ro flexin? l0types:flexin
+ augment /nw:networks/nw:network/nw:node/tet:te
+ /tet:informationsourceentry/tet:connectivitymatrices
+ /tet:connectivitymatrix/tet:to/tet:labelrestrictions
+ /tet:labelrestriction/tet:labelstep/tet:technology:
+:(flexigrid)
 +ro flexi? identityref

 augment /nw:networks/nw:network/nw:node/tet:te/
 tet:informationsourceentry/tet:connectivitymatrices/
 tet:connectivitymatrix/tet:underlay/tet:primarypath/
 tet:pathelement/tet:type/tet:label/tet:labelhop/tet:telabel/
 tet:technology:
+ +ro flexigridchannelspacing? identityref
+ +ro flexinstep? uint8
+ augment /nw:networks/nw:network/nw:node/tet:te
+ /tet:informationsourceentry/tet:connectivitymatrices
+ /tet:connectivitymatrix/tet:underlay/tet:primarypath
+ /tet:pathelement/tet:type/tet:label/tet:labelhop
+ /tet:telabel/tet:technology:
+:(flexigrid)
+ro (singleorsuperchannel)?
+:(single)
  +ro flexin? uint16
  +ro flexim? uint16
+  +ro flexin? l0types:flexin
+  +ro flexim? l0types:flexim
+:(super)
+ro subcarrierflexin* [flexin]
 +ro flexin uint16
 +ro flexim? uint16

 augment /nw:networks/nw:network/nw:node/tet:te/
 tet:informationsourceentry/tet:connectivitymatrices/
 tet:connectivitymatrix/tet:underlay/tet:backuppath/
 tet:pathelement/tet:type/tet:label/tet:labelhop/tet:telabel/
 tet:technology:
+ +ro flexin l0types:flexin
+ +ro flexim? l0types:flexim
+ augment /nw:networks/nw:network/nw:node/tet:te
+ /tet:informationsourceentry/tet:connectivitymatrices
+ /tet:connectivitymatrix/tet:underlay/tet:backuppath
+ /tet:pathelement/tet:type/tet:label/tet:labelhop
+ /tet:telabel/tet:technology:
+:(flexigrid)
+ro (singleorsuperchannel)?
+:(single)
  +ro flexin? uint16
  +ro flexim? uint16
+  +ro flexin? l0types:flexin
+  +ro flexim? l0types:flexim
+:(super)
+ro subcarrierflexin* [flexin]
 +ro flexin uint16
 +ro flexim? uint16

 augment /nw:networks/nw:network/nw:node/tet:te/
 tet:informationsourceentry/tet:connectivitymatrices/
 tet:connectivitymatrix/tet:optimizations/tet:algorithm/
 tet:metric/tet:optimizationmetric/
 tet:explicitrouteexcludeobjects/
 tet:routeobjectexcludeobject/tet:type/tet:label/tet:labelhop/
 tet:telabel/tet:technology:
+ +ro flexin l0types:flexin
+ +ro flexim? l0types:flexim
+ augment /nw:networks/nw:network/nw:node/tet:te
+ /tet:informationsourceentry/tet:connectivitymatrices
+ /tet:connectivitymatrix/tet:optimizations/tet:algorithm
+ /tet:metric/tet:optimizationmetric
+ /tet:explicitrouteexcludeobjects
+ /tet:routeobjectexcludeobject/tet:type/tet:label
+ /tet:labelhop/tet:telabel/tet:technology:
+:(flexigrid)
+ro (singleorsuperchannel)?
+:(single)
  +ro flexin? uint16
  +ro flexim? uint16
+  +ro flexin? l0types:flexin
+  +ro flexim? l0types:flexim
+:(super)
+ro subcarrierflexin* [flexin]
 +ro flexin uint16
 +ro flexim? uint16

 augment /nw:networks/nw:network/nw:node/tet:te/
 tet:informationsourceentry/tet:connectivitymatrices/
 tet:connectivitymatrix/tet:optimizations/tet:algorithm/
 tet:metric/tet:optimizationmetric/
 tet:explicitrouteincludeobjects/
 tet:routeobjectincludeobject/tet:type/tet:label/tet:labelhop/
 tet:telabel/tet:technology:
+ +ro flexin l0types:flexin
+ +ro flexim? l0types:flexim
+ augment /nw:networks/nw:network/nw:node/tet:te
+ /tet:informationsourceentry/tet:connectivitymatrices
+ /tet:connectivitymatrix/tet:optimizations/tet:algorithm
+ /tet:metric/tet:optimizationmetric
+ /tet:explicitrouteincludeobjects
+ /tet:routeobjectincludeobject/tet:type/tet:label
+ /tet:labelhop/tet:telabel/tet:technology:
+:(flexigrid)
+ro (singleorsuperchannel)?
+:(single)
  +ro flexin? uint16
  +ro flexim? uint16
+  +ro flexin? l0types:flexin
+  +ro flexim? l0types:flexim
+:(super)
+ro subcarrierflexin* [flexin]
 +ro flexin uint16
 +ro flexim? uint16

 augment /nw:networks/nw:network/nw:node/tet:te/
 tet:informationsourceentry/tet:connectivitymatrices/
 tet:connectivitymatrix/tet:pathproperties/
 tet:pathrouteobjects/tet:pathrouteobject/tet:type/tet:label/
 tet:labelhop/tet:telabel/tet:technology:
+ +ro flexin l0types:flexin
+ +ro flexim? l0types:flexim
+ augment /nw:networks/nw:network/nw:node/tet:te
+ /tet:informationsourceentry/tet:connectivitymatrices
+ /tet:connectivitymatrix/tet:pathproperties
+ /tet:pathrouteobjects/tet:pathrouteobject/tet:type
+ /tet:label/tet:labelhop/tet:telabel/tet:technology:
+:(flexigrid)
+ro (singleorsuperchannel)?
+:(single)
  +ro flexin? uint16
  +ro flexim? uint16
+  +ro flexin? l0types:flexin
+  +ro flexim? l0types:flexim
+:(super)
+ro subcarrierflexin* [flexin]
 +ro flexin uint16
 +ro flexim? uint16

 augment /nw:networks/nw:network/nw:node/tet:te/
 tet:tunnelterminationpoint/tet:locallinkconnectivities/
 tet:labelrestrictions/tet:labelrestriction:
 +rw gridtype? identityref
 +rw priority? uint8
 +rw flexigrid
 +rw nominalcentralfrequencygranularity? identityref
 +rw slotwidthgranularity? identityref
 +rw minslotwidthfactor? uint16
 +rw maxslotwidthfactor? uint16

 augment /nw:networks/nw:network/nw:node/tet:te/
 tet:tunnelterminationpoint/tet:locallinkconnectivities/
 tet:labelrestrictions/tet:labelrestriction/tet:labelstart/
 tet:telabel/tet:technology:
+ +ro flexin l0types:flexin
+ +ro flexim? l0types:flexim
+ augment /nw:networks/nw:network/nw:node/tet:te
+ /tet:tunnelterminationpoint
+ /tet:locallinkconnectivities/tet:labelrestrictions
+ /tet:labelrestriction/tet:labelstart/tet:telabel
+ /tet:technology:
+:(flexigrid)
 +rw flexin? uint16

 augment /nw:networks/nw:network/nw:node/tet:te/
 tet:tunnelterminationpoint/tet:locallinkconnectivities/
 tet:labelrestrictions/tet:labelrestriction/tet:labelend/
 tet:telabel/tet:technology:
+ +rw flexin? l0types:flexin
+ augment /nw:networks/nw:network/nw:node/tet:te
+ /tet:tunnelterminationpoint
+ /tet:locallinkconnectivities/tet:labelrestrictions
+ /tet:labelrestriction/tet:labelend/tet:telabel
+ /tet:technology:
+:(flexigrid)
 +rw flexin? uint16

 augment /nw:networks/nw:network/nw:node/tet:te/
 tet:tunnelterminationpoint/tet:locallinkconnectivities/
 tet:labelrestrictions/tet:labelrestriction/tet:labelstep/
 tet:technology:
+ +rw flexin? l0types:flexin
+ augment /nw:networks/nw:network/nw:node/tet:te
+ /tet:tunnelterminationpoint
+ /tet:locallinkconnectivities/tet:labelrestrictions
+ /tet:labelrestriction/tet:labelstep/tet:technology:
+:(flexigrid)
 +rw flexi? identityref

 augment /nw:networks/nw:network/nw:node/tet:te/
 tet:tunnelterminationpoint/tet:locallinkconnectivities/
 tet:underlay/tet:primarypath/tet:pathelement/tet:type/tet:label/
 tet:labelhop/tet:telabel/tet:technology:
+ +rw flexigridchannelspacing? identityref
+ +rw flexinstep? uint8
+ augment /nw:networks/nw:network/nw:node/tet:te
+ /tet:tunnelterminationpoint
+ /tet:locallinkconnectivities/tet:underlay
+ /tet:primarypath/tet:pathelement/tet:type/tet:label
+ /tet:labelhop/tet:telabel/tet:technology:
+:(flexigrid)
+rw (singleorsuperchannel)?
+:(single)
  +rw flexin? uint16
  +rw flexim? uint16
+  +rw flexin? l0types:flexin
+  +rw flexim? l0types:flexim
+:(super)
+rw subcarrierflexin* [flexin]
 +rw flexin uint16
 +rw flexim? uint16

 augment /nw:networks/nw:network/nw:node/tet:te/
 tet:tunnelterminationpoint/tet:locallinkconnectivities/
 tet:underlay/tet:backuppath/tet:pathelement/tet:type/tet:label/
 tet:labelhop/tet:telabel/tet:technology:
+ +rw flexin l0types:flexin
+ +rw flexim? l0types:flexim
+ augment /nw:networks/nw:network/nw:node/tet:te
+ /tet:tunnelterminationpoint
+ /tet:locallinkconnectivities/tet:underlay
+ /tet:backuppath/tet:pathelement/tet:type/tet:label
+ /tet:labelhop/tet:telabel/tet:technology:
+:(flexigrid)
+rw (singleorsuperchannel)?
+:(single)
  +rw flexin? uint16
  +rw flexim? uint16
+  +rw flexin? l0types:flexin
+  +rw flexim? l0types:flexim
+:(super)
+rw subcarrierflexin* [flexin]
 +rw flexin uint16
 +rw flexim? uint16

 augment /nw:networks/nw:network/nw:node/tet:te/
 tet:tunnelterminationpoint/tet:locallinkconnectivities/
 tet:optimizations/tet:algorithm/tet:metric/
 tet:optimizationmetric/tet:explicitrouteexcludeobjects/
 tet:routeobjectexcludeobject/tet:type/tet:label/tet:labelhop/
 tet:telabel/tet:technology:
+ +rw flexin l0types:flexin
+ +rw flexim? l0types:flexim
+ augment /nw:networks/nw:network/nw:node/tet:te
+ /tet:tunnelterminationpoint
+ /tet:locallinkconnectivities/tet:optimizations
+ /tet:algorithm/tet:metric/tet:optimizationmetric
+ /tet:explicitrouteexcludeobjects
+ /tet:routeobjectexcludeobject/tet:type/tet:label
+ /tet:labelhop/tet:telabel/tet:technology:
+:(flexigrid)
+rw (singleorsuperchannel)?
+:(single)
  +rw flexin? uint16
  +rw flexim? uint16
+  +rw flexin? l0types:flexin
+  +rw flexim? l0types:flexim
+:(super)
+rw subcarrierflexin* [flexin]
 +rw flexin uint16
 +rw flexim? uint16

 augment /nw:networks/nw:network/nw:node/tet:te/
 tet:tunnelterminationpoint/tet:locallinkconnectivities/
 tet:optimizations/tet:algorithm/tet:metric/
 tet:optimizationmetric/tet:explicitrouteincludeobjects/
 tet:routeobjectincludeobject/tet:type/tet:label/tet:labelhop/
 tet:telabel/tet:technology:
+ +rw flexin l0types:flexin
+ +rw flexim? l0types:flexim
+ augment /nw:networks/nw:network/nw:node/tet:te
+ /tet:tunnelterminationpoint
+ /tet:locallinkconnectivities/tet:optimizations
+ /tet:algorithm/tet:metric/tet:optimizationmetric
+ /tet:explicitrouteincludeobjects
+ /tet:routeobjectincludeobject/tet:type/tet:label
+ /tet:labelhop/tet:telabel/tet:technology:
+:(flexigrid)
+rw (singleorsuperchannel)?
+:(single)
  +rw flexin? uint16
  +rw flexim? uint16
+  +rw flexin? l0types:flexin
+  +rw flexim? l0types:flexim
+:(super)
+rw subcarrierflexin* [flexin]
 +rw flexin uint16
 +rw flexim? uint16
+ +rw flexin l0types:flexin
+ +rw flexim? l0types:flexim
+ augment /nw:networks/nw:network/nw:node/tet:te
+ /tet:tunnelterminationpoint
+ /tet:locallinkconnectivities/tet:pathproperties
+ /tet:pathrouteobjects/tet:pathrouteobject/tet:type
+ /tet:label/tet:labelhop/tet:telabel/tet:technology:
 augment /nw:networks/nw:network/nw:node/tet:te/
 tet:tunnelterminationpoint/tet:locallinkconnectivities/
 tet:pathproperties/tet:pathrouteobjects/tet:pathrouteobject/
 tet:type/tet:label/tet:labelhop/tet:telabel/tet:technology:
+:(flexigrid)
+ro (singleorsuperchannel)?
+:(single)
  +ro flexin? uint16
  +ro flexim? uint16
+  +ro flexin? l0types:flexin
+  +ro flexim? l0types:flexim
+:(super)
+ro subcarrierflexin* [flexin]
 +ro flexin uint16
 +ro flexim? uint16

 augment /nw:networks/nw:network/nw:node/tet:te/
 tet:tunnelterminationpoint/tet:locallinkconnectivities/
 tet:locallinkconnectivity/tet:labelrestrictions/
 tet:labelrestriction:
 +rw gridtype? identityref
 +rw priority? uint8
 +rw flexigrid
 +rw nominalcentralfrequencygranularity? identityref
 +rw slotwidthgranularity? identityref
 +rw minslotwidthfactor? uint16
 +rw maxslotwidthfactor? uint16

 augment /nw:networks/nw:network/nw:node/tet:te/
 tet:tunnelterminationpoint/tet:locallinkconnectivities/
 tet:locallinkconnectivity/tet:labelrestrictions/
 tet:labelrestriction/tet:labelstart/tet:telabel/tet:technology:
+ +ro flexin l0types:flexin
+ +ro flexim? l0types:flexim
+ augment /nw:networks/nw:network/nw:node/tet:te
+ /tet:tunnelterminationpoint
+ /tet:locallinkconnectivities
+ /tet:locallinkconnectivity/tet:labelrestrictions
+ /tet:labelrestriction/tet:labelstart/tet:telabel
+ /tet:technology:
+:(flexigrid)
 +rw flexin? uint16

 augment /nw:networks/nw:network/nw:node/tet:te/
 tet:tunnelterminationpoint/tet:locallinkconnectivities/
 tet:locallinkconnectivity/tet:labelrestrictions/
 tet:labelrestriction/tet:labelend/tet:telabel/tet:technology:
+ +rw flexin? l0types:flexin
+ augment /nw:networks/nw:network/nw:node/tet:te
+ /tet:tunnelterminationpoint
+ /tet:locallinkconnectivities
+ /tet:locallinkconnectivity/tet:labelrestrictions
+ /tet:labelrestriction/tet:labelend/tet:telabel
+ /tet:technology:
+:(flexigrid)
 +rw flexin? uint16

 augment /nw:networks/nw:network/nw:node/tet:te/
 tet:tunnelterminationpoint/tet:locallinkconnectivities/
 tet:locallinkconnectivity/tet:labelrestrictions/
 tet:labelrestriction/tet:labelstep/tet:technology:
+ +rw flexin? l0types:flexin
+ augment /nw:networks/nw:network/nw:node/tet:te
+ /tet:tunnelterminationpoint
+ /tet:locallinkconnectivities
+ /tet:locallinkconnectivity/tet:labelrestrictions
+ /tet:labelrestriction/tet:labelstep/tet:technology:
+:(flexigrid)
 +rw flexi? identityref

 augment /nw:networks/nw:network/nw:node/tet:te/
 tet:tunnelterminationpoint/tet:locallinkconnectivities/
 tet:locallinkconnectivity/tet:underlay/tet:primarypath/
 tet:pathelement/tet:type/tet:label/tet:labelhop/tet:telabel/
 tet:technology:
+ +rw flexigridchannelspacing? identityref
+ +rw flexinstep? uint8
+ augment /nw:networks/nw:network/nw:node/tet:te
+ /tet:tunnelterminationpoint
+ /tet:locallinkconnectivities
+ /tet:locallinkconnectivity/tet:underlay
+ /tet:primarypath/tet:pathelement/tet:type/tet:label
+ /tet:labelhop/tet:telabel/tet:technology:
+:(flexigrid)
+rw (singleorsuperchannel)?
+:(single)
  +rw flexin? uint16
  +rw flexim? uint16
+  +rw flexin? l0types:flexin
+  +rw flexim? l0types:flexim
+:(super)
+rw subcarrierflexin* [flexin]
 +rw flexin uint16
 +rw flexim? uint16
+ +rw flexin l0types:flexin
+ +rw flexim? l0types:flexim
 augment /nw:networks/nw:network/nw:node/tet:te/
 tet:tunnelterminationpoint/tet:locallinkconnectivities/
 tet:locallinkconnectivity/tet:underlay/tet:backuppath/
 tet:pathelement/tet:type/tet:label/tet:labelhop/tet:telabel/
 tet:technology:
+ augment /nw:networks/nw:network/nw:node/tet:te
+ /tet:tunnelterminationpoint
+ /tet:locallinkconnectivities
+ /tet:locallinkconnectivity/tet:underlay/tet:backuppath
+ /tet:pathelement/tet:type/tet:label/tet:labelhop
+ /tet:telabel/tet:technology:
+:(flexigrid)
+rw (singleorsuperchannel)?
+:(single)
  +rw flexin? uint16
  +rw flexim? uint16
+  +rw flexin? l0types:flexin
+  +rw flexim? l0types:flexim
+:(super)
+rw subcarrierflexin* [flexin]
 +rw flexin uint16
 +rw flexim? uint16

 augment /nw:networks/nw:network/nw:node/tet:te/
 tet:tunnelterminationpoint/tet:locallinkconnectivities/
 tet:locallinkconnectivity/tet:optimizations/tet:algorithm/
 tet:metric/tet:optimizationmetric/
 tet:explicitrouteexcludeobjects/
 tet:routeobjectexcludeobject/tet:type/tet:label/tet:labelhop/
 tet:telabel/tet:technology:
+ +rw flexin l0types:flexin
+ +rw flexim? l0types:flexim
+ augment /nw:networks/nw:network/nw:node/tet:te
+ /tet:tunnelterminationpoint
+ /tet:locallinkconnectivities
+ /tet:locallinkconnectivity/tet:optimizations
+ /tet:algorithm/tet:metric/tet:optimizationmetric
+ /tet:explicitrouteexcludeobjects
+ /tet:routeobjectexcludeobject/tet:type/tet:label
+ /tet:labelhop/tet:telabel/tet:technology:
+:(flexigrid)
+rw (singleorsuperchannel)?
+:(single)
  +rw flexin? uint16
  +rw flexim? uint16
+  +rw flexin? l0types:flexin
+  +rw flexim? l0types:flexim
+:(super)
+rw subcarrierflexin* [flexin]
 +rw flexin uint16
 +rw flexim? uint16

 augment /nw:networks/nw:network/nw:node/tet:te/
 tet:tunnelterminationpoint/tet:locallinkconnectivities/
 tet:locallinkconnectivity/tet:optimizations/tet:algorithm/
 tet:metric/tet:optimizationmetric/
 tet:explicitrouteincludeobjects/
 tet:routeobjectincludeobject/tet:type/tet:label/tet:labelhop/
 tet:telabel/tet:technology:
+ +rw flexin l0types:flexin
+ +rw flexim? l0types:flexim
+ augment /nw:networks/nw:network/nw:node/tet:te
+ /tet:tunnelterminationpoint
+ /tet:locallinkconnectivities
+ /tet:locallinkconnectivity/tet:optimizations
+ /tet:algorithm/tet:metric/tet:optimizationmetric
+ /tet:explicitrouteincludeobjects
+ /tet:routeobjectincludeobject/tet:type/tet:label
+ /tet:labelhop/tet:telabel/tet:technology:
+:(flexigrid)
+rw (singleorsuperchannel)?
+:(single)
  +rw flexin? uint16
  +rw flexim? uint16
+  +rw flexin? l0types:flexin
+  +rw flexim? l0types:flexim
+:(super)
+rw subcarrierflexin* [flexin]
 +rw flexin uint16
 +rw flexim? uint16

 augment /nw:networks/nw:network/nw:node/tet:te/
 tet:tunnelterminationpoint/tet:locallinkconnectivities/
 tet:locallinkconnectivity/tet:pathproperties/
 tet:pathrouteobjects/tet:pathrouteobject/tet:type/tet:label/
 tet:labelhop/tet:telabel/tet:technology:
+ +rw flexin l0types:flexin
+ +rw flexim? l0types:flexim
+ augment /nw:networks/nw:network/nw:node/tet:te
+ /tet:tunnelterminationpoint
+ /tet:locallinkconnectivities
+ /tet:locallinkconnectivity/tet:pathproperties
+ /tet:pathrouteobjects/tet:pathrouteobject/tet:type
+ /tet:label/tet:labelhop/tet:telabel/tet:technology:
+:(flexigrid)
+ro (singleorsuperchannel)?
+:(single)
  +ro flexin? uint16
  +ro flexim? uint16

+  +ro flexin? l0types:flexin
+  +ro flexim? l0types:flexim
+:(super)
+ro subcarrierflexin* [flexin]
 +ro flexin uint16
 +ro flexim? uint16

 augment /nw:networks/nw:network/nt:link/tet:te/
 tet:telinkattributes/tet:underlay/tet:primarypath/
 tet:pathelement/tet:type/tet:label/tet:labelhop/tet:telabel/
 tet:technology:
+ +ro flexin l0types:flexin
+ +ro flexim? l0types:flexim
+ augment /nw:networks/nw:network/nt:link/tet:te
+ /tet:telinkattributes/tet:underlay/tet:primarypath
+ /tet:pathelement/tet:type/tet:label/tet:labelhop
+ /tet:telabel/tet:technology:
+:(flexigrid)
+rw (singleorsuperchannel)?
+:(single)
  +rw flexin? uint16
  +rw flexim? uint16
+  +rw flexin? l0types:flexin
+  +rw flexim? l0types:flexim
+:(super)
+rw subcarrierflexin* [flexin]
 +rw flexin uint16
 +rw flexim? uint16

 augment /nw:networks/nw:network/nt:link/tet:te/
 tet:telinkattributes/tet:underlay/tet:backuppath/
 tet:pathelement/tet:type/tet:label/tet:labelhop/tet:telabel/
 tet:technology:
+ +rw flexin l0types:flexin
+ +rw flexim? l0types:flexim
+ augment /nw:networks/nw:network/nt:link/tet:te
+ /tet:telinkattributes/tet:underlay/tet:backuppath
+ /tet:pathelement/tet:type/tet:label/tet:labelhop
+ /tet:telabel/tet:technology:
+:(flexigrid)
+rw (singleorsuperchannel)?
+:(single)
  +rw flexin? uint16
  +rw flexim? uint16
+  +rw flexin? l0types:flexin
+  +rw flexim? l0types:flexim
+:(super)
+rw subcarrierflexin* [flexin]
 +rw flexin uint16
 +rw flexim? uint16

 augment /nw:networks/nw:network/nt:link/tet:te/
 tet:telinkattributes/tet:labelrestrictions/
 tet:labelrestriction:
 +rw gridtype? identityref
 +rw priority? uint8
 +rw flexigrid
 +rw nominalcentralfrequencygranularity? identityref
 +rw slotwidthgranularity? identityref
 +rw minslotwidthfactor? uint16
 +rw maxslotwidthfactor? uint16

 augment /nw:networks/nw:network/nt:link/tet:te/
 tet:telinkattributes/tet:labelrestrictions/
 tet:labelrestriction/tet:labelstart/tet:telabel/tet:technology:
+ +rw flexin l0types:flexin
+ +rw flexim? l0types:flexim
+ augment /nw:networks/nw:network/nt:link/tet:te
+ /tet:telinkattributes/tet:labelrestrictions
+ /tet:labelrestriction/tet:labelstart/tet:telabel
+ /tet:technology:
+:(flexigrid)
 +rw flexin? uint16
+ +rw flexin? l0types:flexin
 augment /nw:networks/nw:network/nt:link/tet:te/
 tet:telinkattributes/tet:labelrestrictions/
 tet:labelrestriction/tet:labelend/tet:telabel/tet:technology:
+ augment /nw:networks/nw:network/nt:link/tet:te
+ /tet:telinkattributes/tet:labelrestrictions
+ /tet:labelrestriction/tet:labelend/tet:telabel
+ /tet:technology:
+:(flexigrid)
 +rw flexin? uint16

 augment /nw:networks/nw:network/nt:link/tet:te/
 tet:telinkattributes/tet:labelrestrictions/
 tet:labelrestriction/tet:labelstep/tet:technology:
+ +rw flexin? l0types:flexin
+ augment /nw:networks/nw:network/nt:link/tet:te
+ /tet:telinkattributes/tet:labelrestrictions
+ /tet:labelrestriction/tet:labelstep/tet:technology:
+:(flexigrid)
 +rw flexi? identityref

 augment /nw:networks/nw:network/nt:link/tet:te/
 tet:informationsourceentry/tet:labelrestrictions/
 tet:labelrestriction:
 +ro gridtype? identityref
 +ro priority? uint8
 +ro flexigrid
 +ro nominalcentralfrequencygranularity? identityref
 +ro slotwidthgranularity? identityref
 +ro minslotwidthfactor? uint16
 +ro maxslotwidthfactor? uint16

 augment /nw:networks/nw:network/nt:link/tet:te/
 tet:informationsourceentry/tet:labelrestrictions/
 tet:labelrestriction/tet:labelstart/tet:telabel/tet:technology:
+ +rw flexigridchannelspacing? identityref
+ +rw flexinstep? uint8
+ augment /nw:networks/nw:network/nt:link/tet:te
+ /tet:informationsourceentry/tet:labelrestrictions
+ /tet:labelrestriction/tet:labelstart/tet:telabel
+ /tet:technology:
+:(flexigrid)
 +ro flexin? uint16

 augment /nw:networks/nw:network/nt:link/tet:te/
 tet:informationsourceentry/tet:labelrestrictions/
 tet:labelrestriction/tet:labelend/tet:telabel/tet:technology:
+ +ro flexin? l0types:flexin
+ augment /nw:networks/nw:network/nt:link/tet:te
+ /tet:informationsourceentry/tet:labelrestrictions
+ /tet:labelrestriction/tet:labelend/tet:telabel
+ /tet:technology:
+:(flexigrid)
 +ro flexin? uint16

 augment /nw:networks/nw:network/nt:link/tet:te/
 tet:informationsourceentry/tet:labelrestrictions/
 tet:labelrestriction/tet:labelstep/tet:technology:
+ +ro flexin? l0types:flexin
+ augment /nw:networks/nw:network/nt:link/tet:te
+ /tet:informationsourceentry/tet:labelrestrictions
+ /tet:labelrestriction/tet:labelstep/tet:technology:
+:(flexigrid)
 +ro flexi? identityref

 augment /nw:networks/tet:te/tet:templates/tet:linktemplate/
 tet:telinkattributes/tet:underlay/tet:primarypath/
 tet:pathelement/tet:type/tet:label/tet:labelhop/tet:telabel/
 tet:technology:
+ +ro flexigridchannelspacing? identityref
+ +ro flexinstep? uint8
+ augment /nw:networks/tet:te/tet:templates/tet:linktemplate
+ /tet:telinkattributes/tet:underlay/tet:primarypath
+ /tet:pathelement/tet:type/tet:label/tet:labelhop
+ /tet:telabel/tet:technology:
+:(flexigrid)
+rw (singleorsuperchannel)?
+:(single)
  +rw flexin? uint16
  +rw flexim? uint16
+  +rw flexin? l0types:flexin
+  +rw flexim? l0types:flexim
+:(super)
+rw subcarrierflexin* [flexin]
 +rw flexin uint16
 +rw flexim? uint16

 augment /nw:networks/tet:te/tet:templates/tet:linktemplate/
 tet:telinkattributes/tet:underlay/tet:backuppath/
 tet:pathelement/tet:type/tet:label/tet:labelhop/tet:telabel/
 tet:technology:
+ +rw flexin l0types:flexin
+ +rw flexim? l0types:flexim
+ augment /nw:networks/tet:te/tet:templates/tet:linktemplate
+ /tet:telinkattributes/tet:underlay/tet:backuppath
+ /tet:pathelement/tet:type/tet:label/tet:labelhop
+ /tet:telabel/tet:technology:
+:(flexigrid)
+rw (singleorsuperchannel)?
+:(single)
  +rw flexin? uint16
  +rw flexim? uint16
+  +rw flexin? l0types:flexin
+  +rw flexim? l0types:flexim
+:(super)
+rw subcarrierflexin* [flexin]
 +rw flexin uint16
 +rw flexim? uint16

 augment /nw:networks/tet:te/tet:templates/tet:linktemplate/
 tet:telinkattributes/tet:labelrestrictions/
 tet:labelrestriction:
 +rw gridtype? identityref
 +rw priority? uint8
 +rw flexigrid
 +rw nominalcentralfrequencygranularity? identityref
 +rw slotwidthgranularity? identityref
 +rw minslotwidthfactor? uint16
 +rw maxslotwidthfactor? uint16

 augment /nw:networks/tet:te/tet:templates/tet:linktemplate/
 tet:telinkattributes/tet:labelrestrictions/
 tet:labelrestriction/tet:labelstart/tet:telabel/tet:technology:
+ +rw flexin l0types:flexin
+ +rw flexim? l0types:flexim
+ augment /nw:networks/tet:te/tet:templates/tet:linktemplate
+ /tet:telinkattributes/tet:labelrestrictions
+ /tet:labelrestriction/tet:labelstart/tet:telabel
+ /tet:technology:
+:(flexigrid)
 +rw flexin? uint16

 augment /nw:networks/tet:te/tet:templates/tet:linktemplate/
 tet:telinkattributes/tet:labelrestrictions/
 tet:labelrestriction/tet:labelend/tet:telabel/tet:technology:
+ +rw flexin? l0types:flexin
+ augment /nw:networks/tet:te/tet:templates/tet:linktemplate
+ /tet:telinkattributes/tet:labelrestrictions
+ /tet:labelrestriction/tet:labelend/tet:telabel
+ /tet:technology:
+:(flexigrid)
 +rw flexin? uint16

 augment /nw:networks/tet:te/tet:templates/tet:linktemplate/
 tet:telinkattributes/tet:labelrestrictions/
 tet:labelrestriction/tet:labelstep/tet:technology:
+ +rw flexin? l0types:flexin
+ augment /nw:networks/tet:te/tet:templates/tet:linktemplate
+ /tet:telinkattributes/tet:labelrestrictions
+ /tet:labelrestriction/tet:labelstep/tet:technology:
+:(flexigrid)
 +rw flexi? identityref

5.2. YANG Model  Code
+ +rw flexigridchannelspacing? identityref
+ +rw flexinstep? uint8
 RFC Editor Note: Please replace the string "ZZZZ" in the YANG model
 definition below with the RFC number assigned to
 draftietfccampwsonyang when it is published as an RFC. Please
 replace the string "YYYY" in the YANG model definition below with the
 RFC number assigned to draftietfteasyangtetopo when it is
 published as an RFC. Please also remove this note.
+8. The YANG Code for Flexigrid topology
 file "ietfflexigridtopology@20200712.yang"
+ file "ietfflexigridtopology@20200921.yang"
module ietfflexigridtopology {
yangversion 1.1;
namespace "urn:ietf:params:xml:ns:yang:ietfflexigridtopology";

 prefix "flexigridtopology";
+ prefix "flexigrid";
import ietfnetwork {
prefix "nw";
reference
"RFC 8345: A YANG Data Model for Network Topologies";
}
import ietfnetworktopology {
prefix "nt";
reference
@@ 1436,1918 +1400,1669 @@
import ietfnetwork {
prefix "nw";
reference
"RFC 8345: A YANG Data Model for Network Topologies";
}
import ietfnetworktopology {
prefix "nt";
reference
"RFC 8345: A YANG Data Model for Network Topologies";
+
}
import ietftetopology {
prefix "tet";
reference
 "RFC YYYY: YANG Data Model for
 Traffic Engineering (TE) Topologies";
+ "RFC 8795: YANG Data Model for Traffic Engineering
+ (TE) Topologies";
}
import ietflayer0types {
 prefix "layer0types";
+ prefix "l0types";
reference
 "RFC ZZZZ: A YANG Data Model for WSON
 (Wavelength Switched Optical Networks)";
+ "RFC XXXX: A YANG Data Model for Layer 0 Types";
}
+ /* Note: The RFC Editor will replace XXXX with the number assigned
+ to the RFC once draftietfccamplayer0types becomes an RFC.*/
+
organization
"IETF CCAMP Working Group";
contact
"WG Web:
WG List:
Editor: Jorge E. Lopez de Vergara

Editor: Daniel Perdices

Editor: Haomian Zheng

Editor: Daniel King
 ";

+
Editor: Young Lee

+ ";
description
 "This module defines a model for flexigrid topology

+ "This module defines a model for flexigrid topology.
Copyright (c) 2020 IETF Trust and the persons identified
as authors of the code. All rights reserved.

Redistribution and use in source and binary forms, with
or without modification, is permitted pursuant to, and
 subject to the license terms contained in, the Simplified BSD
 License set forth in Section 4.c of the IETF Trust's Legal
 Provisions Relating to IETF Documents
 (http://trustee.ietf.org/licenseinfo).";

 revision 20200712 {
 description
 "Initial Version";

 reference
 "RFC ZZZZ: A Yang Data Model for flexigrid Optical Networks ";
 }

 /*
 * Groupings
 */
 grouping flexigridnodeattributes {
 description "flexigrid node attributes.";

 container flexigridnode {
 description "flexigrid node attrtibutes.";
 leaf nodetype {
 type identityref {
 base l0types:layer0nodetype;
 }
 description "flexigrid node type.";
 }
 }
 }
+ subject to the license terms contained in, the Simplified
+ BSD License set forth in Section 4.c of the IETF Trust's
+ Legal Provisions Relating to IETF Documents
+ (http://trustee.ietf.org/licenseinfo).
 grouping flexigridlinkattributes {
 description
 "Future flexigrid link attributes extensions";
 }
 grouping flexigridtpattributes {
 description "flexigridtpattributes";
+ This version of this YANG module is part of RFC XXXX; see
+ the RFC itself for full legal notices.";
 list supportedpayloadtypes {
 key "index";
+ revision 20200921 {
description
 "Supported payload types of a TP. The payload type is defined
 as the generalized PIDs in GMPLS.";
 leaf index {
 type uint16;
 description "payload type index";
 }
 leaf payloadtype {
 type string;
 description "the payload type supported by this client tp";
+ "Initial Version";
reference
 "http://www.iana.org/assignments/gmplssigparameters
 /gmplssigparameters.xhtml";
 }
 }
 leaf clientfacing {
 type boolean;
 default 'false';
 description
 "Indicating if it is a clientfacing TP.";
 }
 }

 grouping flexigridttpattributes {
 description
 "flexigrid tunnel termination point (e.g.tranponder)
 attributes";
 leaflist supportedoperationalmodes {
 type l0types:operationalmode;
 description
 "List of all supported vendorspecific
 mode identifiers";
 }
 leaf configuredoperationalmodes {
 type l0types:operationalmode;
 description
 "Vendorspecific mode identifier configured
 on the TTP.";
 }

 leaflist supportedfectypes {
 type identityref {
 base l0types:fectype;
 }
 description
 "List of all supported FEC types by this TTP.";
 }

 leaflist supportedterminationtypes {
 type identityref {
 base l0types:termtype;
 }
 description
 "List of all supported termination types by this TTP.";
 }

 leaf supportsbitstuffing {
 type boolean;
 description
 "Indicate whether bit stuffing is supported by this TTP.";
 }

 leaf istunable {
 type boolean;
 description
 "Indicates if the TTP, or transponder, is tunable. Tunable
 transponders are assumed to be fully tunable to any of the
 96 channels within DWDM Cband.";
 }

 leaf maxsubcarrierchannelnum {
 type uint8 {
 range "1..max";
 }
 default 1;
 description
 "Indicate the maximum number of subcarrier channels for
 superchannel transponders. When the value equals 1 it
 represents regular singlechannel transponder.";
 }
 leaf supportsflexigrid {
 type boolean;
 description
 "Indicates if the TTP, or transponder, supports flex grid.";

 }
+ "RFC XXXX: A Yang Data Model for flexigrid Optical Networks";
+ // RFC Ed.: replace XXXX with actual RFC number, update date
+ // information and remove this note
}
/*
* Data nodes
*/
augment "/nw:networks/nw:network/nw:networktypes"
+ "/tet:tetopology" {
 description "flexigridtopology augmented";
+ description
+ "Augment network types to define Flexigrid topology type.";
container flexigridtopology {
 presence "indicates a topology of Flex Grid";
+ presence
+ "Its presence identifies the Flexigrid topology type.";
description
 "Container to identify flexigrid topology type";
 }
 }

 augment "/nw:networks/nw:network/nt:link/tet:te"
 + "/tet:telinkattributes" {
 when "/nw:networks/nw:network/nw:networktypes"
 +"/tet:tetopology/flexigrid:flexigridtopology" {
 description "This augment is only valid for flexigrid.";
+ "Introduce new network type for Flexigrid topology.";
}
 description "flexigrid Link augmentation.";
 uses flexigridlinkattributes;
 }

 augment "/nw:networks/nw:network/nw:node/nt:terminationpoint/"
 + "tet:te" {
 when "/nw:networks/nw:network/nw:networktypes"
 +"/tet:tetopology/flexigrid:flexigridtopology" {
 description "This augment is only valid for flexigrid.";
 }
 description "flexigrid TP attributes.";
 uses flexigridtpattributes;
}
augment "/nw:networks/nw:network/nw:node/tet:te"
+ "/tet:tenodeattributes" {
when "/nw:networks/nw:network/nw:networktypes"
+"/tet:tetopology/flexigrid:flexigridtopology" {
 description "This augment is only valid for flexigrid.";
 }
 description "flexigrid Node augmentation.";
 uses flexigridnodeattributes;
+ description
+ "Augmentation parameters apply only for networks with
+ Flexigrid topology type.";
}
 augment "/nw:networks/nw:network/nw:node/tet:te"
 + "/tet:tunnelterminationpoint" {
 when "/nw:networks/nw:network/nw:networktypes"
 +"/tet:tetopology/flexigrid:flexigridtopology" {
 description "This augment is only valid for flexigrid.";
+ description "Augment TE node attributes.";
+ container flexigridnode {
+ presence "The TE node is a Flexigrid node.";
+ description "Flexigrid node attributes";
}
 description "flexigrid tunnel termination point augmentation.";
 uses flexigridttpattributes;
}
/*
 * Augment TE bandwidth
+ * Augment TE label range information
*/
 /* Augment maximum LSP bandwidth of link terminationpoint (LTP) */
 augment "/nw:networks/nw:network/nw:node/nt:terminationpoint/"
 + "tet:te/"
 + "tet:interfaceswitchingcapability/tet:maxlspbandwidth/"
 + "tet:tebandwidth/tet:technology" {
+ augment "/nw:networks/nw:network/nw:node/tet:te/"
+ + "tet:tenodeattributes/tet:connectivitymatrices/"
+ + "tet:labelrestrictions/tet:labelrestriction" {
when "../../../../../../nw:networktypes/tet:tetopology/"
+ "flexigrid:flexigridtopology" {
 description "Augment flexigrid TE bandwidth";
 }
 description "flexigrid bandwidth.";
 case flexigrid {
 uses l0types:flexigridpathbandwidth;
+ description
+ "Augmentation parameters apply only for networks with
+ Flexigrid topology type.";
}
+ description
+ "Augment TE label range information for the TE node
+ connectivity matrices.";
+ uses l0types:flexigridlabelrangeinfo;
}
 /* Augment bandwidth path constraints of connectivitymatrices */
augment "/nw:networks/nw:network/nw:node/tet:te/"
+ "tet:tenodeattributes/tet:connectivitymatrices/"
 + "tet:pathconstraints/tet:tebandwidth/tet:technology" {
 when "../../../../../../nw:networktypes/tet:tetopology/"
+ + "tet:connectivitymatrix/tet:from/"
+ + "tet:labelrestrictions/tet:labelrestriction" {
+ when "../../../../../../../../nw:networktypes/tet:tetopology/"
+ "flexigrid:flexigridtopology" {
 description "Augment flexigrid TE bandwidth";
 }
 description "flexigrid bandwidth.";
 case flexigrid {
 uses l0types:flexigridlinkbandwidth;
+ description
+ "Augmentation parameters apply only for networks with
+ Flexigrid topology type.";
}
+ description
+ "Augment TE label range information for the source LTP
+ of the connectivity matrix entry.";
+ uses l0types:flexigridlabelrangeinfo;
}
 /* Augment bandwidth path constraints of connectivitymatrix */
+
augment "/nw:networks/nw:network/nw:node/tet:te/"
+ "tet:tenodeattributes/tet:connectivitymatrices/"
 + "tet:connectivitymatrix/"
 + "tet:pathconstraints/tet:tebandwidth/tet:technology" {
 when "../../../../../../../nw:networktypes/tet:tetopology/"
+ + "tet:connectivitymatrix/tet:to/"
+ + "tet:labelrestrictions/tet:labelrestriction" {
+ when "../../../../../../../../nw:networktypes/tet:tetopology/"
+ "flexigrid:flexigridtopology" {
 description "Augment flexigrid TE bandwidth";
 }
 description "flexigrid bandwidth.";
 case flexigrid {
 uses l0types:flexigridlinkbandwidth;
+ description
+ "Augmentation parameters apply only for networks with
+ Flexigrid topology type.";
}
+ description
+ "Augment TE label range information for the destination LTP
+ of the connectivity matrix entry.";
+ uses l0types:flexigridlabelrangeinfo;
}
 /* Augment bandwidth path constraints of connectivitymatrices
 informationsource */
augment "/nw:networks/nw:network/nw:node/tet:te/"
 + "tet:informationsourceentry/tet:connectivitymatrices/"
 + "tet:pathconstraints/tet:tebandwidth/tet:technology" {
+ + "tet:informationsourceentry/"
+ + "tet:connectivitymatrices/tet:labelrestrictions/"
+ + "tet:labelrestriction" {
when "../../../../../../nw:networktypes/tet:tetopology/"
+ "flexigrid:flexigridtopology" {
 description "Augment flexigrid TE bandwidth";
 }
 description "flexigrid bandwidth.";
 case flexigrid {
 uses l0types:flexigridlinkbandwidth;
+ description
+ "Augmentation parameters apply only for networks with
+ Flexigrid topology type.";
}
+ description
+ "Augment TE label range information for the TE node
+ connectivity matrices information source.";
+ uses l0types:flexigridlabelrangeinfo;
}
 /* Augment bandwidth path constraints of connectivitymatrix
 informationsource */
augment "/nw:networks/nw:network/nw:node/tet:te/"
+ "tet:informationsourceentry/tet:connectivitymatrices/"
+ "tet:connectivitymatrix/"
 + "tet:pathconstraints/tet:tebandwidth/tet:technology" {
 when "../../../../../../../nw:networktypes/tet:tetopology/"
+ + "tet:from/tet:labelrestrictions/tet:labelrestriction" {
+ when "../../../../../../../../nw:networktypes/tet:tetopology/"
+ "flexigrid:flexigridtopology" {
 description "Augment flexigrid TE bandwidth";
 }
 description "flexigrid bandwidth.";
 case flexigrid {
 uses l0types:flexigridlinkbandwidth;
+ description
+ "Augmentation parameters apply only for networks with
+ Flexigrid topology type.";
}
+ description
+ "Augment TE label range information for the source LTP
+ of the connectivity matrix entry information source.";
+ uses l0types:flexigridlabelrangeinfo;
}
 /* Augment client bandwidth of tunnel termination point (TTP) */
+
augment "/nw:networks/nw:network/nw:node/tet:te/"
 + "tet:tunnelterminationpoint/"
 + "tet:clientlayeradaptation/tet:switchingcapability/"
 + "tet:tebandwidth/tet:technology" {
 when "../../../../../../nw:networktypes/tet:tetopology/"
+ + "tet:informationsourceentry/tet:connectivitymatrices/"
+ + "tet:connectivitymatrix/"
+ + "tet:to/tet:labelrestrictions/tet:labelrestriction" {
+ when "../../../../../../../../nw:networktypes/tet:tetopology/"
+ "flexigrid:flexigridtopology" {
 description "Augment flexigrid TE bandwidth";
 }
 description "flexigrid bandwidth.";
 case flexigrid {
 uses l0types:flexigridlinkbandwidth;
+ description
+ "Augmentation parameters apply only for networks with
+ Flexigrid topology type.";
}
+ description
+ "Augment TE label range information for the destination LTP
+ of the connectivity matrix entry information source.";
+ uses l0types:flexigridlabelrangeinfo;
}
 /* Augment bandwidth path constraints of locallinkconnectivities */
augment "/nw:networks/nw:network/nw:node/tet:te/"
+ "tet:tunnelterminationpoint/"
 + "tet:locallinkconnectivities/tet:pathconstraints/"
 + "tet:tebandwidth/tet:technology" {
+ + "tet:locallinkconnectivities/"
+ + "tet:labelrestrictions/tet:labelrestriction" {
when "../../../../../../nw:networktypes/tet:tetopology/"
+ "flexigrid:flexigridtopology" {
 description "Augment flexigrid TE bandwidth";
 }
 description "flexigrid bandwidth.";
 case flexigrid {
 uses l0types:flexigridlinkbandwidth;
+ description
+ "Augmentation parameters apply only for networks with
+ Flexigrid topology type.";
}
+ description
+ "Augment TE label range information for the TTP
+ Local Link Connectivities.";
+ uses l0types:flexigridlabelrangeinfo;
}
 /* Augment bandwidth path constraints of locallinkconnectivity
 (LLC) */
augment "/nw:networks/nw:network/nw:node/tet:te/"
+ "tet:tunnelterminationpoint/"
+ "tet:locallinkconnectivities/"
 + "tet:locallinkconnectivity/tet:pathconstraints/"
 + "tet:tebandwidth/tet:technology" {
+ + "tet:locallinkconnectivity/"
+ + "tet:labelrestrictions/tet:labelrestriction" {
when "../../../../../../../nw:networktypes/tet:tetopology/"
+ "flexigrid:flexigridtopology" {
 description "Augment flexigrid TE bandwidth";
 }
 description "flexigrid bandwidth.";
 case flexigrid {
 uses l0types:flexigridlinkbandwidth;
 }
 }
 /* Augment maximum LSP bandwidth of TE link */
 augment "/nw:networks/nw:network/nt:link/tet:te/"
 + "tet:telinkattributes/"
 + "tet:interfaceswitchingcapability/tet:maxlspbandwidth/"
 + "tet:tebandwidth/tet:technology" {
 when "../../../../../../nw:networktypes/tet:tetopology/"
 + "flexigrid:flexigridtopology" {
 description "flexigrid TE bandwidth.";
 }
 description "flexigrid bandwidth.";
 case flexigrid {
 uses l0types:flexigridpathbandwidth;

 }
 }

 /* Augment maximum bandwidth of TE link */
 augment "/nw:networks/nw:network/nt:link/tet:te/"
 + "tet:telinkattributes/"
 + "tet:maxlinkbandwidth/"
 + "tet:tebandwidth/tet:technology" {
 when "../../../../../nw:networktypes/tet:tetopology/"
 + "flexigrid:flexigridtopology" {
 description "flexigrid TE bandwidth.";
 }
 description "flexigrid bandwidth.";
 case flexigrid {
 uses l0types:flexigridlinkbandwidth;
+ description
+ "Augmentation parameters apply only for networks with
+ Flexigrid topology type.";
}
+ description
+ "Augment TE label range information for the TTP
+ Local Link Connectivity entry.";
+ uses l0types:flexigridlabelrangeinfo;
}
 /* Augment maximum reservable bandwidth of TE link */
 augment "/nw:networks/nw:network/nt:link/tet:te/"
 + "tet:telinkattributes/"
 + "tet:maxresvlinkbandwidth/"
 + "tet:tebandwidth/tet:technology" {
 when "../../../../../nw:networktypes/tet:tetopology/"
 + "flexigrid:flexigridtopology" {
 description "flexigrid TE bandwidth.";
 }
 description "flexigrid bandwidth.";
 case flexigrid {
 uses l0types:flexigridlinkbandwidth;
 }
 }
 /* Augment unreserved bandwidth of TE Link */
augment "/nw:networks/nw:network/nt:link/tet:te/"
+ "tet:telinkattributes/"
 + "tet:unreservedbandwidth/"
 + "tet:tebandwidth/tet:technology" {
+ + "tet:labelrestrictions/tet:labelrestriction" {
when "../../../../../nw:networktypes/tet:tetopology/"
+ "flexigrid:flexigridtopology" {
 description "flexigrid TE bandwidth.";
 }
 description "flexigrid bandwidth.";
 case flexigrid {
 uses l0types:flexigridlinkbandwidth;
 }
 }
 /* Augment maximum LSP bandwidth of TE link informationsource */
 augment "/nw:networks/nw:network/nt:link/tet:te/"
 + "tet:informationsourceentry/"
 + "tet:interfaceswitchingcapability/"
 + "tet:maxlspbandwidth/"
 + "tet:tebandwidth/tet:technology" {
 when "../../../../../../nw:networktypes/tet:tetopology/"
 + "flexigrid:flexigridtopology" {
 description "flexigrid TE bandwidth.";
 }
 description "flexigrid bandwidth.";
 case flexigrid {
 uses l0types:flexigridpathbandwidth;
+ description
+ "Augmentation parameters apply only for networks with
+ Flexigrid topology type.";
}
+ description
+ "Augment TE label range information for the TE link.";
+ uses l0types:flexigridlabelrangeinfo;
}
 /* Augment maximum bandwidth of TE link informationsource */
augment "/nw:networks/nw:network/nt:link/tet:te/"
+ "tet:informationsourceentry/"
 + "tet:maxlinkbandwidth/"
 + "tet:tebandwidth/tet:technology" {
 when "../../../../../nw:networktypes/tet:tetopology/"
 + "flexigrid:flexigridtopology" {
 description "flexigrid TE bandwidth.";
 }
 description "flexigrid bandwidth.";
 case flexigrid {
 uses l0types:flexigridlinkbandwidth;
 }
 }
 /* Augment maximum reservable bandwidth of TE link informationsource
 */
 augment "/nw:networks/nw:network/nt:link/tet:te/"
 + "tet:informationsourceentry/"
 + "tet:maxresvlinkbandwidth/"
 + "tet:tebandwidth/tet:technology" {
 when "../../../../../nw:networktypes/tet:tetopology/"
 + "flexigrid:flexigridtopology" {
 description "flexigrid TE bandwidth.";
 }
 description "flexigrid bandwidth.";
 case flexigrid {
 uses l0types:flexigridlinkbandwidth;
 }
 }
 /* Augment unreserved bandwidth of TE link informationsource */
 augment "/nw:networks/nw:network/nt:link/tet:te/"
 + "tet:informationsourceentry/"
 + "tet:unreservedbandwidth/"
 + "tet:tebandwidth/tet:technology" {
 when "../../../../../nw:networktypes/tet:tetopology/"
 + "flexigrid:flexigridtopology" {
 description "flexigrid TE bandwidth.";
 }
 description "flexigrid bandwidth.";
 case flexigrid {
 uses l0types:flexigridlinkbandwidth;
 }
 }

 /* Augment maximum LSP bandwidth of TE link template */
 augment "/nw:networks/tet:te/tet:templates/"
 + "tet:linktemplate/tet:telinkattributes/"
 + "tet:interfaceswitchingcapability/"
 + "tet:maxlspbandwidth/"
 + "tet:tebandwidth/tet:technology" {
/*
 when "../../../../../../nw:networktypes/tet:tetopology/"
 + "flexigrid:flexigridtopology" {
 description "flexigrid TE bandwidth.";
 }
*/
 description "flexigrid bandwidth.";
 case flexigrid {
 uses l0types:flexigridpathbandwidth;
 }
 }
 /* Augment maximum bandwidth of TE link template */
 augment "/nw:networks/tet:te/tet:templates/"
 + "tet:linktemplate/tet:telinkattributes/"
 + "tet:maxlinkbandwidth/"
 + "tet:tebandwidth/tet:technology" {
/*
 when "../../../../../nw:networktypes/tet:tetopology/"
 + "flexigrid:flexigridtopology" {
 description "flexigrid TE bandwidth.";
 }
*/
 description "flexigrid bandwidth.";
 case flexigrid {
 uses l0types:flexigridlinkbandwidth;
 }
 }
 /* Augment maximum reservable bandwidth of TE link template */
 augment "/nw:networks/tet:te/tet:templates/"
 + "tet:linktemplate/tet:telinkattributes/"
 + "tet:maxresvlinkbandwidth/"
 + "tet:tebandwidth/tet:technology" {
/*
+ + "tet:labelrestrictions/tet:labelrestriction" {
when "../../../../../nw:networktypes/tet:tetopology/"
+ "flexigrid:flexigridtopology" {
 description "flexigrid TE bandwidth.";
 }
*/
 description "flexigrid bandwidth.";
 case flexigrid {
 uses l0types:flexigridlinkbandwidth;
+ description
+ "Augmentation parameters apply only for networks with
+ Flexigrid topology type.";
}
+ description
+ "Augment TE label range information for the TE link
+ information source.";
+ uses l0types:flexigridlabelrangeinfo;
}
 /* Augment unreserved bandwidth of TE link template */
augment "/nw:networks/tet:te/tet:templates/"
+ "tet:linktemplate/tet:telinkattributes/"
 + "tet:unreservedbandwidth/"
 + "tet:tebandwidth/tet:technology" {
/*
 when "../../../../../../nw:networktypes/tet:tetopology/"
 + "flexigrid:flexigridtopology" {
 description "flexigrid TE bandwidth.";
 }
*/
 description "flexigrid bandwidth.";
 case flexigrid {
 uses l0types:flexigridlinkbandwidth;
 }
+ + "tet:labelrestrictions/tet:labelrestriction" {
+ description
+ "Augment TE label range information for the TE link
+ template.";
+ uses l0types:flexigridlabelrangeinfo;
}
/*
 * Augment TE label.
+ * Augment TE label
*/
 /* Augment label restrictions of connectivitymatrices */
 augment "/nw:networks/nw:network/nw:node/tet:te/"
 + "tet:tenodeattributes/tet:connectivitymatrices/"
 + "tet:labelrestrictions/tet:labelrestriction" {
 when "../../../../../../nw:networktypes/tet:tetopology/"
 + "flexigrid:flexigridtopology" {
 description "Augment flexigrid TE label";
 }
 description "flexigrid label.";
 uses l0types:flexigridlabelrestriction;
 }
 /* Augment label restrictions start of connectivitymatrices */
augment "/nw:networks/nw:network/nw:node/tet:te/"
+ "tet:tenodeattributes/tet:connectivitymatrices/"
+ "tet:labelrestrictions/tet:labelrestriction/"
+ "tet:labelstart/"
+ "tet:telabel/tet:technology" {
when "../../../../../../../../nw:networktypes/tet:tetopology/"
+ "flexigrid:flexigridtopology" {
 description "Augment flexigrid TE label";
+ description
+ "Augmentation parameters apply only for networks with
+ Flexigrid topology type.";
}
 description "flexigrid label.";
+ description
+ "Augment TE label range start for the TE node
+ connectivity matrices";
case flexigrid {
 uses l0types:flexigridlinklabel;
+ uses l0types:flexigridlabelstartend;
}
}
 /* Augment label restrictions end of connectivitymatrices */
+
augment "/nw:networks/nw:network/nw:node/tet:te/"
+ "tet:tenodeattributes/tet:connectivitymatrices/"
+ "tet:labelrestrictions/"
+ "tet:labelrestriction/tet:labelend/"
+ "tet:telabel/tet:technology" {
 when "../../../../../../../../"
 + "nw:networktypes/tet:tetopology/"
+ when "../../../../../../../../nw:networktypes/tet:tetopology/"
+ "flexigrid:flexigridtopology" {
 description "Augment flexigrid TE label";
+
+ description
+ "Augmentation parameters apply only for networks with
+ Flexigrid topology type.";
}
 description "flexigrid label.";
+ description
+ "Augment TE label range end for the TE node
+ connectivity matrices";
case flexigrid {
 uses l0types:flexigridlinklabel;
+ uses l0types:flexigridlabelstartend;
}
}
 /* Augment label restrictions step of connectivitymatrices */
augment "/nw:networks/nw:network/nw:node/tet:te/"
+ "tet:tenodeattributes/tet:connectivitymatrices/"
+ "tet:labelrestrictions/"
+ "tet:labelrestriction/tet:labelstep/"
+ "tet:technology" {
 when "../../../../../../../"
 + "nw:networktypes/tet:tetopology/"
+ when "../../../../../../../nw:networktypes/tet:tetopology/"
+ "flexigrid:flexigridtopology" {
 description "Augment flexigrid TE label";
+ description
+ "Augmentation parameters apply only for networks with
+ Flexigrid topology type.";
}
 description "flexigrid label step.";
+ description
+ "Augment TE label range step for the TE node
+ connectivity matrices";
case flexigrid {
uses l0types:flexigridlabelstep;
}
}
 /* Augment label hop of underlay primary path of connectivitymatrices
 */
+
augment "/nw:networks/nw:network/nw:node/tet:te/"
+ "tet:tenodeattributes/tet:connectivitymatrices/"
+ "tet:underlay/tet:primarypath/tet:pathelement/"
+ "tet:type/tet:label/tet:labelhop/"
+ "tet:telabel/tet:technology" {
when "../../../../../../../../../"
+ "nw:networktypes/tet:tetopology/"
+ "flexigrid:flexigridtopology" {
 description "Augment flexigrid TE label";
+ description
+ "Augmentation parameters apply only for networks with
+ Flexigrid topology type.";
}
 description "flexigrid label.";
+ description
+ "Augment TE label hop for the underlay primary path of the
+ TE node connectivity matrices";
case flexigrid {
 uses l0types:flexigridpathlabel;
+ uses l0types:flexigridlabelhop;
+
}
}
 /* Augment label hop of underlay backup path of connectivitymatrices
 */
+
augment "/nw:networks/nw:network/nw:node/tet:te/"
+ "tet:tenodeattributes/tet:connectivitymatrices/"
+ "tet:underlay/tet:backuppath/tet:pathelement/"
+ "tet:type/tet:label/tet:labelhop/"
+ "tet:telabel/tet:technology" {
when "../../../../../../../../../"
+ "nw:networktypes/tet:tetopology/"
+ "flexigrid:flexigridtopology" {
 description "Augment flexigrid TE label";
+ description
+ "Augmentation parameters apply only for networks with
+ Flexigrid topology type.";
}
 description "flexigrid label.";
+ description
+ "Augment TE label hop for the underlay backup path of the
+ TE node connectivity matrices";
case flexigrid {
 uses l0types:flexigridpathlabel;
+ uses l0types:flexigridlabelhop;
}
}
 /* Augment label hop of routeexclude of connectivitymatrices */
+
augment "/nw:networks/nw:network/nw:node/tet:te/"
+ "tet:tenodeattributes/tet:connectivitymatrices/"
+ "tet:optimizations/tet:algorithm/tet:metric/"
+ "tet:optimizationmetric/"
+ "tet:explicitrouteexcludeobjects/"
+ "tet:routeobjectexcludeobject/"
+ "tet:type/tet:label/tet:labelhop/"
+ "tet:telabel/tet:technology" {
when "../../../../../../../../../../"
+ "nw:networktypes/tet:tetopology/"
+ "flexigrid:flexigridtopology" {
 description "Augment flexigrid TE label";
+ description
+ "Augmentation parameters apply only for networks with
+ Flexigrid topology type.";
}
 description "flexigrid label.";
+ description
+ "Augment TE label hop for the explicit route objects excluded
+ by the path computation of the TE node connectivity
+ matrices";
case flexigrid {
 uses l0types:flexigridpathlabel;
+ uses l0types:flexigridlabelhop;
}
}
 /* Augment label hop of routeinclude of connectivitymatrices (added)
 */
augment "/nw:networks/nw:network/nw:node/tet:te/"
+ "tet:tenodeattributes/tet:connectivitymatrices/"
+ "tet:optimizations/tet:algorithm/tet:metric/"
+ "tet:optimizationmetric/"
+ "tet:explicitrouteincludeobjects/"
+ "tet:routeobjectincludeobject/"
+ "tet:type/tet:label/tet:labelhop/"
+ "tet:telabel/tet:technology" {
when "../../../../../../../../../../"
+ "nw:networktypes/tet:tetopology/"
+ "flexigrid:flexigridtopology" {
 description "Augment flexigrid TE label";
+ description
+ "Augmentation parameters apply only for networks with
+ Flexigrid topology type.";
}
 description "flexigrid label.";
+ description
+ "Augment TE label hop for the explicit route objects included
+ by the path computation of the TE node connectivity
+ matrices";
case flexigrid {
 uses l0types:flexigridpathlabel;
+ uses l0types:flexigridlabelhop;
}
}
 /* Augment label hop of pathroute of connectivitymatrices */
+
augment "/nw:networks/nw:network/nw:node/tet:te/"
+ "tet:tenodeattributes/tet:connectivitymatrices/"
+ "tet:pathproperties/tet:pathrouteobjects/"
+ "tet:pathrouteobject/tet:type/tet:label/tet:labelhop/"
+ "tet:telabel/tet:technology"{
when "../../../../../../../../../"
+ "nw:networktypes/tet:tetopology/"
+ "flexigrid:flexigridtopology" {
 description "Augment flexigrid TE label";
+ description
+ "Augmentation parameters apply only for networks with
+ Flexigrid topology type.";
}
 description "flexigrid label.";
+ description
+ "Augment TE label hop for the computed path route objects
+ of the TE node connectivity matrices";
case flexigrid {
 uses l0types:flexigridpathlabel;
 }
 }

 /* Augment ingress label restrictions of connectivitymatrix */
 augment "/nw:networks/nw:network/nw:node/tet:te/"
 + "tet:tenodeattributes/tet:connectivitymatrices/"
 + "tet:connectivitymatrix/tet:from/"
 + "tet:labelrestrictions/tet:labelrestriction" {
 when "../../../../../../../../"
 + "nw:networktypes/tet:tetopology/"
 + "flexigrid:flexigridtopology" {
 description "Augment flexigrid TE label";
+ uses l0types:flexigridlabelhop;
}
 description "flexigrid label.";
 uses l0types:flexigridlabelrestriction;
}
 /* Augment ingress label restrictions start of connectivitymatrix */
augment "/nw:networks/nw:network/nw:node/tet:te/"
+ "tet:tenodeattributes/tet:connectivitymatrices/"
+ "tet:connectivitymatrix/tet:from/"
+ "tet:labelrestrictions/tet:labelrestriction/"
+ "tet:labelstart/"
+ "tet:telabel/tet:technology" {
when "../../../../../../../../../../"
+ "nw:networktypes/tet:tetopology/"
+ "flexigrid:flexigridtopology" {
 description "Augment flexigrid TE label";
+ description
+ "Augmentation parameters apply only for networks with
+ Flexigrid topology type.";
}
 description "flexigrid label.";
+ description
+ "Augment TE label range start for the source LTP
+ of the connectivity matrix entry.";
case flexigrid {
 uses l0types:flexigridlinklabel;
+ uses l0types:flexigridlabelstartend;
}
}
 /* Augment ingress label restrictions end of connectivitymatrix */
+
augment "/nw:networks/nw:network/nw:node/tet:te/"
+ "tet:tenodeattributes/tet:connectivitymatrices/"
+ "tet:connectivitymatrix/tet:from/"
+ "tet:labelrestrictions/tet:labelrestriction/"
+ "tet:labelend/"
+ "tet:telabel/tet:technology" {
when "../../../../../../../../../../"
+ "nw:networktypes/tet:tetopology/"
+ "flexigrid:flexigridtopology" {
 description "Augment flexigrid TE label";
+ description
+ "Augmentation parameters apply only for networks with
+ Flexigrid topology type.";
}
 description "flexigrid label.";
+ description
+ "Augment TE label range end for the source LTP
+ of the connectivity matrix entry.";
case flexigrid {
 uses l0types:flexigridlinklabel;
+ uses l0types:flexigridlabelstartend;
}
}
 /* Augment ingress label restrictions step of connectivitymatrix */
+
augment "/nw:networks/nw:network/nw:node/tet:te/"
+ "tet:tenodeattributes/tet:connectivitymatrices/"
+ "tet:connectivitymatrix/tet:from/"
+ "tet:labelrestrictions/tet:labelrestriction/"
+ "tet:labelstep/"
+ "tet:technology" {
when "../../../../../../../../../"
+ "nw:networktypes/tet:tetopology/"
+ "flexigrid:flexigridtopology" {
 description "Augment flexigrid TE label";
+ description
+ "Augmentation parameters apply only for networks with
+ Flexigrid topology type.";
}
 description "flexigrid label.";
+ description
+ "Augment TE label range step for the source LTP
+ of the connectivity matrix entry.";
case flexigrid {
uses l0types:flexigridlabelstep;
}
}
 /* Augment egress label restrictions of connectivitymatrix */
 augment "/nw:networks/nw:network/nw:node/tet:te/"
 + "tet:tenodeattributes/tet:connectivitymatrices/"
 + "tet:connectivitymatrix/tet:to/"
 + "tet:labelrestrictions/tet:labelrestriction" {
 when "../../../../../../../../"
 + "nw:networktypes/tet:tetopology/"
 + "flexigrid:flexigridtopology" {
 description "Augment flexigrid TE label";
 }
 description "flexigrid label.";
 uses l0types:flexigridlabelrestriction;
 }

 /* Augment egress label restrictions start of connectivitymatrix */
augment "/nw:networks/nw:network/nw:node/tet:te/"
+ "tet:tenodeattributes/tet:connectivitymatrices/"
+ "tet:connectivitymatrix/tet:to/"
+ "tet:labelrestrictions/tet:labelrestriction/"
+ "tet:labelstart/"
+ "tet:telabel/tet:technology" {
when "../../../../../../../../../../"
+ "nw:networktypes/tet:tetopology/"
+ "flexigrid:flexigridtopology" {
 description "Augment flexigrid TE label";
+ description
+ "Augmentation parameters apply only for networks with
+ Flexigrid topology type.";
}
 description "flexigrid label.";
+ description
+ "Augment TE label range start for the destination LTP
+ of the connectivity matrix entry.";
case flexigrid {
 uses l0types:flexigridlinklabel;
+ uses l0types:flexigridlabelstartend;
}
}
 /* Augment egress label restrictions end of connectivitymatrix */
+
augment "/nw:networks/nw:network/nw:node/tet:te/"
+ "tet:tenodeattributes/tet:connectivitymatrices/"
+ "tet:connectivitymatrix/tet:to/"
+ "tet:labelrestrictions/tet:labelrestriction/"
+ "tet:labelend/"
+ "tet:telabel/tet:technology" {
when "../../../../../../../../../../"
+ "nw:networktypes/tet:tetopology/"
+ "flexigrid:flexigridtopology" {
 description "Augment flexigrid TE label";
+ description
+ "Augmentation parameters apply only for networks with
+ Flexigrid topology type.";
}
 description "flexigrid label.";
+ description
+ "Augment TE label range end for the destination LTP
+ of the connectivity matrix entry.";
case flexigrid {
 uses l0types:flexigridlinklabel;
+ uses l0types:flexigridlabelstartend;
}
}
 /* Augment egress label restrictions step of connectivitymatrix */
augment "/nw:networks/nw:network/nw:node/tet:te/"
+ "tet:tenodeattributes/tet:connectivitymatrices/"
+ "tet:connectivitymatrix/tet:to/"
+ "tet:labelrestrictions/tet:labelrestriction/"
+ "tet:labelstep/"
+ "tet:technology" {
when "../../../../../../../../../"
+ "nw:networktypes/tet:tetopology/"
+ "flexigrid:flexigridtopology" {
 description "Augment flexigrid TE label";
+ description
+ "Augmentation parameters apply only for networks with
+ Flexigrid topology type.";
}
 description "flexigrid label.";
+ description
+ "Augment TE label range step for the destination LTP
+ of the connectivity matrix entry.";
case flexigrid {
uses l0types:flexigridlabelstep;
}
}
 /* Augment label hop of underlay primary path of connectivitymatrix
 */
+
augment "/nw:networks/nw:network/nw:node/tet:te/"
+ "tet:tenodeattributes/tet:connectivitymatrices/"
+ "tet:connectivitymatrix/"
+ "tet:underlay/tet:primarypath/tet:pathelement/"
+ "tet:type/tet:label/tet:labelhop/"
+ "tet:telabel/tet:technology" {
when "../../../../../../../../../../"
+ "nw:networktypes/tet:tetopology/"
+ "flexigrid:flexigridtopology" {
 description "Augment flexigrid TE label";
+ description
+ "Augmentation parameters apply only for networks with
+ Flexigrid topology type.";
}
 description "flexigrid label.";
+ description
+ "Augment TE label hop for the underlay primary path
+ of the connectivity matrix entry.";
case flexigrid {
 uses l0types:flexigridpathlabel;
+ uses l0types:flexigridlabelhop;
}
}
 /* Augment label hop of underlay backup path of connectivitymatrix */
+
augment "/nw:networks/nw:network/nw:node/tet:te/"
+ "tet:tenodeattributes/tet:connectivitymatrices/"
+ "tet:connectivitymatrix/"
+ "tet:underlay/tet:backuppath/tet:pathelement/"
+ "tet:type/tet:label/tet:labelhop/"
+ "tet:telabel/tet:technology" {
when "../../../../../../../../../../"
+ "nw:networktypes/tet:tetopology/"
+ "flexigrid:flexigridtopology" {
 description "Augment flexigrid TE label";
+ description
+ "Augmentation parameters apply only for networks with
+ Flexigrid topology type.";
}
 description "flexigrid label.";
+ description
+ "Augment TE label hop for the underlay backup path
+ of the connectivity matrix entry.";
case flexigrid {
 uses l0types:flexigridpathlabel;
+ uses l0types:flexigridlabelhop;
}
}
 /* Augment label hop of routeexclude of connectivitymatrix */
augment "/nw:networks/nw:network/nw:node/tet:te/"
+ "tet:tenodeattributes/tet:connectivitymatrices/"
+ "tet:connectivitymatrix/tet:optimizations/"
+ "tet:algorithm/tet:metric/tet:optimizationmetric/"
+ "tet:explicitrouteexcludeobjects/"
+ "tet:routeobjectexcludeobject/tet:type/"
+ "tet:label/tet:labelhop/tet:telabel/tet:technology" {
when "../../../../../../../../../../../"
+ "nw:networktypes/tet:tetopology/"
+ "flexigrid:flexigridtopology" {
 description "Augment flexigrid TE label";
+ description
+ "Augmentation parameters apply only for networks with
+ Flexigrid topology type.";
}
 description "flexigrid label.";
+ description
+ "Augment TE label hop for the explicit route objects excluded
+ by the path computation of the connectivity matrix entry.";
case flexigrid {
 uses l0types:flexigridpathlabel;
+ uses l0types:flexigridlabelhop;
}
}
 /* Augment label hop of routeinclude of connectivitymatrix */
+
augment "/nw:networks/nw:network/nw:node/tet:te/"
+ "tet:tenodeattributes/tet:connectivitymatrices/"
+ "tet:connectivitymatrix/tet:optimizations/"
+ "tet:algorithm/tet:metric/tet:optimizationmetric/"
+ "tet:explicitrouteincludeobjects/"
+ "tet:routeobjectincludeobject/tet:type/"
+ "tet:label/tet:labelhop/tet:telabel/tet:technology" {
+
when "../../../../../../../../../../../"
+ "nw:networktypes/tet:tetopology/"
+ "flexigrid:flexigridtopology" {

 description "Augment flexigrid TE label";
+ description
+ "Augmentation parameters apply only for networks with
+ Flexigrid topology type.";
}
 description "flexigrid label.";
+ description
+ "Augment TE label hop for the explicit route objects included
+ by the path computation of the connectivity matrix entry.";
case flexigrid {
 uses l0types:flexigridpathlabel;
+ uses l0types:flexigridlabelhop;
}
}
 /* Augment label hop of pathroute of connectivitymatrix */
+
augment "/nw:networks/nw:network/nw:node/tet:te/"
+ "tet:tenodeattributes/tet:connectivitymatrices/"
+ "tet:connectivitymatrix/"
+ "tet:pathproperties/tet:pathrouteobjects/"
+ "tet:pathrouteobject/tet:type/"
+ "tet:label/tet:labelhop/tet:telabel/tet:technology" {
when "../../../../../../../../../../"
+ "nw:networktypes/tet:tetopology/"
+ "flexigrid:flexigridtopology" {
 description "Augment flexigrid TE label";
+ description
+ "Augmentation parameters apply only for networks with
+ Flexigrid topology type.";
}
 description "flexigrid label.";
+ description
+ "Augment TE label hop for the computed path route objects
+ of the connectivity matrix entry.";
case flexigrid {
 uses l0types:flexigridpathlabel;
 }
 }

 /* Augment label restrictions of connectivitymatrices
 informationsource */
 augment "/nw:networks/nw:network/nw:node/tet:te/"
 + "tet:informationsourceentry/"
 + "tet:connectivitymatrices/tet:labelrestrictions/"
 + "tet:labelrestriction" {
 when "../../../../../../nw:networktypes/tet:tetopology/"
 + "flexigrid:flexigridtopology" {
 description "Augment flexigrid TE label";
+ uses l0types:flexigridlabelhop;
}
 description "flexigrid label.";
 uses l0types:flexigridlabelrestriction;
}
 /* Augment label restrictions start of connectivitymatrices
 informationsource */
augment "/nw:networks/nw:network/nw:node/tet:te/"
+ "tet:informationsourceentry/"
+ "tet:connectivitymatrices/tet:labelrestrictions/"
+ "tet:labelrestriction/"
+ "tet:labelstart/tet:telabel/tet:technology" {
when "../../../../../../../../"
+ "nw:networktypes/tet:tetopology/"
+ "flexigrid:flexigridtopology" {
 description "Augment flexigrid TE label";
+ description
+ "Augmentation parameters apply only for networks with
+ Flexigrid topology type.";
}
 description "flexigrid label.";
+ description
+ "Augment TE label range start for the TE node connectivity
+ matrices information source.";
case flexigrid {
 uses l0types:flexigridlinklabel;
+ uses l0types:flexigridlabelstartend;
}
}
 /* Augment label restrictions end of connectivitymatrices
 informationsource */
+
augment "/nw:networks/nw:network/nw:node/tet:te/"
+ "tet:informationsourceentry/"
+ "tet:connectivitymatrices/tet:labelrestrictions/"
+ "tet:labelrestriction/"
+ "tet:labelend/tet:telabel/tet:technology" {
when "../../../../../../../../"
+ "nw:networktypes/tet:tetopology/"
+ "flexigrid:flexigridtopology" {
 description "Augment flexigrid TE label";
+ description
+ "Augmentation parameters apply only for networks with
+ Flexigrid topology type.";
}
 description "flexigrid label.";
+ description
+ "Augment TE label range end for the TE node connectivity
+ matrices information source.";
case flexigrid {
 uses l0types:flexigridlinklabel;
+ uses l0types:flexigridlabelstartend;
}
}
 /* Augment label restrictions step of connectivitymatrices
 informationsource */
augment "/nw:networks/nw:network/nw:node/tet:te/"
+ "tet:informationsourceentry/"
+ "tet:connectivitymatrices/tet:labelrestrictions/"
+ "tet:labelrestriction/"
+ "tet:labelstep/tet:technology" {
when "../../../../../../../"
+ "nw:networktypes/tet:tetopology/"
+ "flexigrid:flexigridtopology" {
 description "Augment flexigrid TE label";
+ description
+ "Augmentation parameters apply only for networks with
+ Flexigrid topology type.";
}
 description "flexigrid label.";
+ description
+ "Augment TE label range step for the TE node connectivity
+ matrices information source.";
case flexigrid {
uses l0types:flexigridlabelstep;
}
}

 /* Augment label hop of underlay primary path of connectivitymatrices
informationsource */
augment "/nw:networks/nw:network/nw:node/tet:te/"
+ "tet:informationsourceentry/tet:connectivitymatrices/"
+ "tet:underlay/tet:primarypath/tet:pathelement/tet:type/"
+ "tet:label/tet:labelhop/tet:telabel/tet:technology" {
when "../../../../../../../../../"
+ "nw:networktypes/tet:tetopology/"
+ "flexigrid:flexigridtopology" {
 description "Augment flexigrid TE label";
+ description
+ "Augmentation parameters apply only for networks with
+ Flexigrid topology type.";
}
 description "flexigrid label.";
+ description
+ "Augment TE label hop for the underlay primary path
+ of the TE node connectivity matrices of the information
+ source entry.";
case flexigrid {
 uses l0types:flexigridpathlabel;
+ uses l0types:flexigridlabelhop;
}
}
 /* Augment label hop of underlay backup path of connectivitymatrices
informationsource */
augment "/nw:networks/nw:network/nw:node/tet:te/"
+ "tet:informationsourceentry/tet:connectivitymatrices/"
+ "tet:underlay/tet:backuppath/tet:pathelement/tet:type/"
+ "tet:label/tet:labelhop/tet:telabel/tet:technology" {
when "../../../../../../../../../"
+ "nw:networktypes/tet:tetopology/"
+ "flexigrid:flexigridtopology" {
 description "Augment flexigrid TE label";
+ description
+ "Augmentation parameters apply only for networks with
+ Flexigrid topology type.";
}
 description "flexigrid label.";
+ description
+ "Augment TE label hop for the underlay backup path
+ of the TE node connectivity matrices of the information
+ source entry.";
case flexigrid {
 uses l0types:flexigridpathlabel;
+ uses l0types:flexigridlabelhop;
}
}
 /* Augment label hop of routeexclude of connectivitymatrices
 informationsource */
augment "/nw:networks/nw:network/nw:node/tet:te/"
+ "tet:informationsourceentry/tet:connectivitymatrices/"
+ "tet:optimizations/tet:algorithm/tet:metric/"
+ "tet:optimizationmetric/"
+ "tet:explicitrouteexcludeobjects/"
+ "tet:routeobjectexcludeobject/tet:type/"
+ "tet:label/tet:labelhop/tet:telabel/tet:technology" {
when "../../../../../../../../../../"
+ "nw:networktypes/tet:tetopology/"
+ "flexigrid:flexigridtopology" {
 description "Augment flexigrid TE label";
+ description
+ "Augmentation parameters apply only for networks with
+ Flexigrid topology type.";
}
 description "flexigrid label.";
+ description
+ "Augment TE label hop for the explicit route objects excluded
+ by the path computation of the TE node connectivity matrices
+ information source.";
case flexigrid {
 uses l0types:flexigridpathlabel;
+ uses l0types:flexigridlabelhop;
}
}
 /* Augment label hop of routeinclude of connectivitymatrices
 informationsource */
+
augment "/nw:networks/nw:network/nw:node/tet:te/"
+ "tet:informationsourceentry/tet:connectivitymatrices/"
+ "tet:optimizations/tet:algorithm/tet:metric/"
+ "tet:optimizationmetric/"
+ "tet:explicitrouteincludeobjects/"
+ "tet:routeobjectincludeobject/tet:type/"
+ "tet:label/tet:labelhop/tet:telabel/tet:technology" {
when "../../../../../../../../../../"
+ "nw:networktypes/tet:tetopology/"
+ "flexigrid:flexigridtopology" {
 description "Augment flexigrid TE label";
+ description
+ "Augmentation parameters apply only for networks with
+ Flexigrid topology type.";
}
 description "flexigrid label.";
+ description
+ "Augment TE label hop for the explicit route objects included
+ by the path computation of the TE node connectivity matrices
+ information source.";
case flexigrid {
 uses l0types:flexigridpathlabel;
+ uses l0types:flexigridlabelhop;
}
}
 /* Augment label hop of pathroute of connectivitymatrices
 informationsource */
augment "/nw:networks/nw:network/nw:node/tet:te/"
+ "tet:informationsourceentry/tet:connectivitymatrices/"
+ "tet:pathproperties/tet:pathrouteobjects/"
+ "tet:pathrouteobject/tet:type/"
+ "tet:label/tet:labelhop/tet:telabel/tet:technology" {
when "../../../../../../../../../"
+ "nw:networktypes/tet:tetopology/"
+ "flexigrid:flexigridtopology" {
 description "Augment flexigrid TE label";
+ description
+ "Augmentation parameters apply only for networks with
+ Flexigrid topology type.";
}
 description "flexigrid label.";
+ description
+ "Augment TE label hop for the computed path route objects
+ of the TE node connectivity matrices information source.";
case flexigrid {
 uses l0types:flexigridpathlabel;
 }
 }

 /* Augment ingress label restrictions of connectivitymatrix
 informationsource */
 augment "/nw:networks/nw:network/nw:node/tet:te/"
 + "tet:informationsourceentry/tet:connectivitymatrices/"
 + "tet:connectivitymatrix/"
 + "tet:from/tet:labelrestrictions/tet:labelrestriction" {
 when "../../../../../../../../"
 + "nw:networktypes/tet:tetopology/"
 + "flexigrid:flexigridtopology" {
 description "Augment flexigrid TE label";

+ uses l0types:flexigridlabelhop;
}
 description "flexigrid label.";
 uses l0types:flexigridlabelrestriction;
}
 /* Augment ingress label restrictions start of connectivitymatrix
informationsource */
augment "/nw:networks/nw:network/nw:node/tet:te/"
+ "tet:informationsourceentry/tet:connectivitymatrices/"
+ "tet:connectivitymatrix/"
+ "tet:from/tet:labelrestrictions/"
+ "tet:labelrestriction/"
+ "tet:labelstart/tet:telabel/tet:technology" {
when "../../../../../../../../../../"
+ "nw:networktypes/tet:tetopology/"
+ "flexigrid:flexigridtopology" {
 description "Augment flexigrid TE label";
+ description
+ "Augmentation parameters apply only for networks with
+ Flexigrid topology type.";
}
 description "flexigrid label.";
+ description
+ "Augment TE label range start for the source LTP
+ of the connectivity matrix entry information source.";
case flexigrid {
 uses l0types:flexigridlinklabel;
+ uses l0types:flexigridlabelstartend;
}
}

 /* Augment ingress label restrictions end of connectivitymatrix
informationsource */
augment "/nw:networks/nw:network/nw:node/tet:te/"
+ "tet:informationsourceentry/tet:connectivitymatrices/"
+ "tet:connectivitymatrix/"
+ "tet:from/tet:labelrestrictions/"
+ "tet:labelrestriction/"
+ "tet:labelend/tet:telabel/tet:technology" {
when "../../../../../../../../../../"
+ "nw:networktypes/tet:tetopology/"
+ "flexigrid:flexigridtopology" {
 description "Augment flexigrid TE label";
+ description
+ "Augmentation parameters apply only for networks with
+ Flexigrid topology type.";
}
 description "flexigrid label.";
+ description
+ "Augment TE label range end for the source LTP
+ of the connectivity matrix entry information source.";
case flexigrid {
 uses l0types:flexigridlinklabel;
+ uses l0types:flexigridlabelstartend;
+
}
}
 /* Augment ingress label restrictions step of connectivitymatrix
informationsource */
+
augment "/nw:networks/nw:network/nw:node/tet:te/"
+ "tet:informationsourceentry/tet:connectivitymatrices/"
+ "tet:connectivitymatrix/"
+ "tet:from/tet:labelrestrictions/"
+ "tet:labelrestriction/"
+ "tet:labelstep/tet:technology" {
when "../../../../../../../../../"
+ "nw:networktypes/tet:tetopology/"
+ "flexigrid:flexigridtopology" {
 description "Augment flexigrid TE label";
+ description
+ "Augmentation parameters apply only for networks with
+ Flexigrid topology type.";
}
 description "flexigrid label.";
+ description
+ "Augment TE label range step for the source LTP
+ of the connectivity matrix entry information source.";
case flexigrid {
uses l0types:flexigridlabelstep;
}
}
 /* Augment egress label restrictions of connectivitymatrix
 informationsource */
 augment "/nw:networks/nw:network/nw:node/tet:te/"
 + "tet:informationsourceentry/tet:connectivitymatrices/"
 + "tet:connectivitymatrix/"
 + "tet:to/tet:labelrestrictions/tet:labelrestriction" {
 when "../../../../../../../../"
 + "nw:networktypes/tet:tetopology/"
 + "flexigrid:flexigridtopology" {
 description "Augment flexigrid TE label";
 }
 description "flexigrid label.";
 uses l0types:flexigridlabelrestriction;
 }
 /* Augment egress label restrictions start of connectivitymatrix
informationsource */
augment "/nw:networks/nw:network/nw:node/tet:te/"
+ "tet:informationsourceentry/tet:connectivitymatrices/"
+ "tet:connectivitymatrix/"
+ "tet:to/tet:labelrestrictions/tet:labelrestriction/"
+ "tet:labelstart/tet:telabel/tet:technology" {
when "../../../../../../../../../../"
+ "nw:networktypes/tet:tetopology/"
+ "flexigrid:flexigridtopology" {
 description "Augment flexigrid TE label";
+ description
+ "Augmentation parameters apply only for networks with
+ Flexigrid topology type.";
}
 description "flexigrid label.";
+ description
+ "Augment TE label range start for the destination LTP
+ of the connectivity matrix entry information source.";
case flexigrid {
 uses l0types:flexigridlinklabel;
+ uses l0types:flexigridlabelstartend;
}
}
 /* Augment egress label restrictions end of connectivitymatrix
 informationsource */
+
augment "/nw:networks/nw:network/nw:node/tet:te/"
+ "tet:informationsourceentry/tet:connectivitymatrices/"
+ "tet:connectivitymatrix/"
+ "tet:to/tet:labelrestrictions/tet:labelrestriction/"
+ "tet:labelend/tet:telabel/tet:technology" {
when "../../../../../../../../../../"
+ "nw:networktypes/tet:tetopology/"
+ "flexigrid:flexigridtopology" {
 description "Augment flexigrid TE label";
+ description
+ "Augmentation parameters apply only for networks with
+ Flexigrid topology type.";
}
 description "flexigrid label.";
+ description
+ "Augment TE label range end for the destination LTP
+ of the connectivity matrix entry information source.";
case flexigrid {
 uses l0types:flexigridlinklabel;
+ uses l0types:flexigridlabelstartend;
}
}
 /* Augment egress label restrictions step of connectivitymatrix
 informationsource */
augment "/nw:networks/nw:network/nw:node/tet:te/"
+ "tet:informationsourceentry/tet:connectivitymatrices/"
+ "tet:connectivitymatrix/"
+ "tet:to/tet:labelrestrictions/tet:labelrestriction/"
+ "tet:labelstep/tet:technology" {
when "../../../../../../../../../"
+ "nw:networktypes/tet:tetopology/"
+ "flexigrid:flexigridtopology" {
 description "Augment flexigrid TE label";
+ description
+ "Augmentation parameters apply only for networks with
+ Flexigrid topology type.";
}
 description "flexigrid label.";
+ description
+ "Augment TE label range step for the destination LTP
+ of the connectivity matrix entry information source.";
case flexigrid {
uses l0types:flexigridlabelstep;
}
}
 /* Augment label hop of underlay primary path of connectivitymatrix
 informationsource */
augment "/nw:networks/nw:network/nw:node/tet:te/"
+ "tet:informationsourceentry/tet:connectivitymatrices/"
+ "tet:connectivitymatrix/"
+ "tet:underlay/tet:primarypath/tet:pathelement/tet:type/"
+ "tet:label/tet:labelhop/tet:telabel/tet:technology" {
when "../../../../../../../../../../"
+ "nw:networktypes/tet:tetopology/"
+ "flexigrid:flexigridtopology" {
 description "Augment flexigrid TE label";
+ description
+ "Augmentation parameters apply only for networks with
+ Flexigrid topology type.";
}
 description "flexigrid label.";
+ description
+ "Augment TE label hop for the underlay primary path
+ of the connectivity matrix entry information source.";
case flexigrid {
 uses l0types:flexigridpathlabel;
+ uses l0types:flexigridlabelhop;
}
}
 /* Augment label hop of underlay backup path of connectivitymatrix
 informationsource */
+
augment "/nw:networks/nw:network/nw:node/tet:te/"
+ "tet:informationsourceentry/tet:connectivitymatrices/"
+ "tet:connectivitymatrix/"
+ "tet:underlay/tet:backuppath/tet:pathelement/tet:type/"
+ "tet:label/tet:labelhop/tet:telabel/tet:technology" {
when "../../../../../../../../../../"
+ "nw:networktypes/tet:tetopology/"
+ "flexigrid:flexigridtopology" {
 description "Augment flexigrid TE label";
+ description
+ "Augmentation parameters apply only for networks with
+ Flexigrid topology type.";
}
 description "flexigrid label.";
+ description
+ "Augment TE label hop for the underlay backup path
+ of the connectivity matrix entry information source.";
case flexigrid {
 uses l0types:flexigridpathlabel;
+ uses l0types:flexigridlabelhop;
}
}
 /* Augment label hop of routeexclude of connectivitymatrix
 informationsource */
augment "/nw:networks/nw:network/nw:node/tet:te/"
+ "tet:informationsourceentry/tet:connectivitymatrices/"
+ "tet:connectivitymatrix/"
+ "tet:optimizations/tet:algorithm/tet:metric/"
+ "tet:optimizationmetric/"
+ "tet:explicitrouteexcludeobjects/"
+ "tet:routeobjectexcludeobject/tet:type/"
+ "tet:label/tet:labelhop/tet:telabel/tet:technology" {
when "../../../../../../../../../../../"
+ "nw:networktypes/tet:tetopology/"
+ "flexigrid:flexigridtopology" {
 description "Augment flexigrid TE label";
+ description
+ "Augmentation parameters apply only for networks with
+ Flexigrid topology type.";
}
 description "flexigrid label.";
+ description
+ "Augment TE label hop for the explicit route objects excluded
+ by the path computation of the connectivity matrix entry
+ information source.";
case flexigrid {
 uses l0types:flexigridpathlabel;
+ uses l0types:flexigridlabelhop;
}
}
 /* Augment label hop of routeinclude of connectivitymatrix
 informationsource */
augment "/nw:networks/nw:network/nw:node/tet:te/"
+ "tet:informationsourceentry/tet:connectivitymatrices/"
+ "tet:connectivitymatrix/"
+ "tet:optimizations/tet:algorithm/tet:metric/"
+ "tet:optimizationmetric/"
+ "tet:explicitrouteincludeobjects/"
+ "tet:routeobjectincludeobject/tet:type/"
+ "tet:label/tet:labelhop/tet:telabel/tet:technology" {
when "../../../../../../../../../../../"
+ "nw:networktypes/tet:tetopology/"
+ "flexigrid:flexigridtopology" {
 description "Augment flexigrid TE label";
+ description
+ "Augmentation parameters apply only for networks with
+ Flexigrid topology type.";
}
 description "flexigrid label.";
+ description
+ "Augment TE label hop for the explicit route objects included
+ by the path computation of the connectivity matrix entry
+ information source.";
case flexigrid {
 uses l0types:flexigridpathlabel;
+ uses l0types:flexigridlabelhop;
}
}
 /* Augment label hop of pathroute of connectivitymatrix
 informationsource */
augment "/nw:networks/nw:network/nw:node/tet:te/"
+ "tet:informationsourceentry/tet:connectivitymatrices/"
+ "tet:connectivitymatrix/"
+ "tet:pathproperties/tet:pathrouteobjects/"
+ "tet:pathrouteobject/tet:type/"
+ "tet:label/tet:labelhop/tet:telabel/tet:technology" {
when "../../../../../../../../../../"
+ "nw:networktypes/tet:tetopology/"
+ "flexigrid:flexigridtopology" {
 description "Augment flexigrid TE label";
+ description
+ "Augmentation parameters apply only for networks with
+ Flexigrid topology type.";
}
 description "flexigrid label.";
+ description
+ "Augment TE label hop for the computed path route objects
+ of the connectivity matrix entry information source.";
case flexigrid {
 uses l0types:flexigridpathlabel;
+ uses l0types:flexigridlabelhop;
}
}

 /* Augment label restrictions of locallinkconnectivities */
 augment "/nw:networks/nw:network/nw:node/tet:te/"
 + "tet:tunnelterminationpoint/"
 + "tet:locallinkconnectivities/"
 + "tet:labelrestrictions/tet:labelrestriction" {
 when "../../../../../../nw:networktypes/tet:tetopology/"
 + "flexigrid:flexigridtopology" {
 description "Augment flexigrid TE label";
 }
 description "flexigrid label.";
 uses l0types:flexigridlabelrestriction;
 }

 /* Augment label restrictions start of locallinkconnectivities */
augment "/nw:networks/nw:network/nw:node/tet:te/"
+ "tet:tunnelterminationpoint/"
+ "tet:locallinkconnectivities/"
+ "tet:labelrestrictions/tet:labelrestriction/"
+ "tet:labelstart/"
+ "tet:telabel/tet:technology" {
when "../../../../../../../../"
+ "nw:networktypes/tet:tetopology/"
+ "flexigrid:flexigridtopology" {
 description "Augment flexigrid TE label";
+ description
+ "Augmentation parameters apply only for networks with
+ Flexigrid topology type.";
}
 description "flexigrid label.";
+ description
+ "Augment TE label range start for the TTP
+ Local Link Connectivities.";
case flexigrid {
 uses l0types:flexigridlinklabel;
+ uses l0types:flexigridlabelstartend;
}
}
 /* Augment label restrictions end of locallinkconnectivities */
augment "/nw:networks/nw:network/nw:node/tet:te/"
+ "tet:tunnelterminationpoint/"
+ "tet:locallinkconnectivities/"
+ "tet:labelrestrictions/tet:labelrestriction/"
+ "tet:labelend/"
+ "tet:telabel/tet:technology"{
when "../../../../../../../../"
+ "nw:networktypes/tet:tetopology/"
+ "flexigrid:flexigridtopology" {
 description "Augment flexigrid TE label";
+ description
+ "Augmentation parameters apply only for networks with
+ Flexigrid topology type.";
}
 description "flexigrid label.";
+ description
+ "Augment TE label range end for the TTP
+ Local Link Connectivities.";
case flexigrid {
 uses l0types:flexigridlinklabel;
+ uses l0types:flexigridlabelstartend;
}
}
 /* Augment label restrictions step of locallinkconnectivities */
+
augment "/nw:networks/nw:network/nw:node/tet:te/"
+ "tet:tunnelterminationpoint/"
+ "tet:locallinkconnectivities/"
+ "tet:labelrestrictions/tet:labelrestriction/"
+ "tet:labelstep/"
+ "tet:technology"{
+
when "../../../../../../../"
+ "nw:networktypes/tet:tetopology/"
+ "flexigrid:flexigridtopology" {
 description "Augment flexigrid TE label";
+ description
+ "Augmentation parameters apply only for networks with
+ Flexigrid topology type.";
}
 description "flexigrid label.";
+ description
+ "Augment TE label range step for the TTP
+ Local Link Connectivities.";
case flexigrid {
uses l0types:flexigridlabelstep;
}
}
 /* Augment label hop of underlay primary path of
 locallinkconnectivities */
+
augment "/nw:networks/nw:network/nw:node/tet:te/"
+ "tet:tunnelterminationpoint/"
+ "tet:locallinkconnectivities/"
+ "tet:underlay/tet:primarypath/tet:pathelement/tet:type/"
+ "tet:label/tet:labelhop/tet:telabel/tet:technology" {
when "../../../../../../../../../"
+ "nw:networktypes/tet:tetopology/"
+ "flexigrid:flexigridtopology" {
 description "Augment flexigrid TE label";
+ description
+ "Augmentation parameters apply only for networks with
+ Flexigrid topology type.";
}
 description "flexigrid label.";
+ description
+ "Augment TE label hop for the underlay primary path
+ of the TTP Local Link Connectivities.";
case flexigrid {
 uses l0types:flexigridpathlabel;
+ uses l0types:flexigridlabelhop;
}
}
 /* Augment label hop of underlay backup path of
 locallinkconnectivities */
augment "/nw:networks/nw:network/nw:node/tet:te/"
+ "tet:tunnelterminationpoint/"
+ "tet:locallinkconnectivities/"
+ "tet:underlay/tet:backuppath/tet:pathelement/tet:type/"
+ "tet:label/tet:labelhop/tet:telabel/tet:technology" {
when "../../../../../../../../../"
+ "nw:networktypes/tet:tetopology/"
+ "flexigrid:flexigridtopology" {
 description "Augment flexigrid TE label";
+ description
+ "Augmentation parameters apply only for networks with
+ Flexigrid topology type.";
}
 description "flexigrid label.";
+ description
+ "Augment TE label hop for the underlay backup path
+ of the TTP Local Link Connectivities.";
case flexigrid {
 uses l0types:flexigridpathlabel;
+ uses l0types:flexigridlabelhop;
}
}
 /* Augment label hop of routeexclude of locallinkconnectivities */
+
augment "/nw:networks/nw:network/nw:node/tet:te/"
+ "tet:tunnelterminationpoint/"
+ "tet:locallinkconnectivities/"
+ "tet:optimizations/tet:algorithm/tet:metric/"
+ "tet:optimizationmetric/"
+ "tet:explicitrouteexcludeobjects/"
+ "tet:routeobjectexcludeobject/tet:type/"
+ "tet:label/tet:labelhop/tet:telabel/tet:technology" {
when "../../../../../../../../../../"
+ "nw:networktypes/tet:tetopology/"
+ "flexigrid:flexigridtopology" {
 description "Augment flexigrid TE label";

+ description
+ "Augmentation parameters apply only for networks with
+ Flexigrid topology type.";
}
 description "flexigrid label.";
+ description
+ "Augment TE label hop for the explicit route objects excluded
+ by the path computation of the TTP Local Link
+ Connectivities.";
case flexigrid {
 uses l0types:flexigridpathlabel;
+ uses l0types:flexigridlabelhop;
}
}
 /* Augment label hop of routeinclude of locallinkconnectivities */
augment "/nw:networks/nw:network/nw:node/tet:te/"
+ "tet:tunnelterminationpoint/"
+ "tet:locallinkconnectivities/"
+ "tet:optimizations/tet:algorithm/tet:metric/"
+ "tet:optimizationmetric/"
+ "tet:explicitrouteincludeobjects/"
+ "tet:routeobjectincludeobject/tet:type/"
+ "tet:label/tet:labelhop/tet:telabel/tet:technology" {
when "../../../../../../../../../../"
+ "nw:networktypes/tet:tetopology/"
+ "flexigrid:flexigridtopology" {
 description "Augment flexigrid TE label";
+ description
+ "Augmentation parameters apply only for networks with
+ Flexigrid topology type.";
}
 description "flexigrid label.";
+ description
+ "Augment TE label hop for the explicit route objects included
+ by the path computation of the TTP Local Link
+ Connectivities.";
case flexigrid {
 uses l0types:flexigridpathlabel;
+ uses l0types:flexigridlabelhop;
}
}
 /* Augment label hop of pathroute of locallinkconnectivities */
+
augment "/nw:networks/nw:network/nw:node/tet:te/"
+ "tet:tunnelterminationpoint/"
+ "tet:locallinkconnectivities/"
+ "tet:pathproperties/tet:pathrouteobjects/"
+ "tet:pathrouteobject/tet:type/"
+ "tet:label/tet:labelhop/tet:telabel/tet:technology" {
when "../../../../../../../../../"
+ "nw:networktypes/tet:tetopology/"
+ "flexigrid:flexigridtopology" {
 description "Augment flexigrid TE label";
+ description
+ "Augmentation parameters apply only for networks with
+ Flexigrid topology type.";
}
 description "flexigrid label.";
+ description
+ "Augment TE label hop for the computed path route objects
+ of the TTP Local Link Connectivities.";
case flexigrid {
 uses l0types:flexigridpathlabel;
 }
 }
 /* Augment label restrictions of locallinkconnectivity (LLC) */
 augment "/nw:networks/nw:network/nw:node/tet:te/"
 + "tet:tunnelterminationpoint/"
 + "tet:locallinkconnectivities/"
 + "tet:locallinkconnectivity/"
 + "tet:labelrestrictions/tet:labelrestriction" {
 when "../../../../../../../nw:networktypes/tet:tetopology/"
 + "flexigrid:flexigridtopology" {
 description "Augment flexigrid TE label";
+ uses l0types:flexigridlabelhop;
}
 description "flexigrid label.";
 uses l0types:flexigridlabelrestriction;
}
 /* Augment label restrictions start of locallinkconnectivity (LLC)
 */
augment "/nw:networks/nw:network/nw:node/tet:te/"
+ "tet:tunnelterminationpoint/"
+ "tet:locallinkconnectivities/"
+ "tet:locallinkconnectivity/"
+ "tet:labelrestrictions/tet:labelrestriction/"
+ "tet:labelstart/tet:telabel/tet:technology" {
when "../../../../../../../../../"
+ "nw:networktypes/tet:tetopology/"
+ "flexigrid:flexigridtopology" {
 description "Augment flexigrid TE label";
+ description
+ "Augmentation parameters apply only for networks with
+ Flexigrid topology type.";
}
 description "flexigrid label.";
+ description
+ "Augment TE label range start for the TTP
+ Local Link Connectivity entry.";
case flexigrid {
 uses l0types:flexigridlinklabel;
+ uses l0types:flexigridlabelstartend;
}
}
 /* Augment label restrictions end of locallinkconnectivity (LLC) */
augment "/nw:networks/nw:network/nw:node/tet:te/"
+ "tet:tunnelterminationpoint/"
+ "tet:locallinkconnectivities/"
+ "tet:locallinkconnectivity/"
+ "tet:labelrestrictions/tet:labelrestriction/"
+ "tet:labelend/tet:telabel/tet:technology" {
when "../../../../../../../../../"
+ "nw:networktypes/tet:tetopology/"
+ "flexigrid:flexigridtopology" {
 description "Augment flexigrid TE label";
+ description
+ "Augmentation parameters apply only for networks with
+ Flexigrid topology type.";
}
 description "flexigrid label.";
+ description
+ "Augment TE label range end for the TTP
+ Local Link Connectivity entry.";
case flexigrid {
 uses l0types:flexigridlinklabel;
+ uses l0types:flexigridlabelstartend;
}
}
 /* Augment label restrictions step of locallinkconnectivity (LLC) */
+
augment "/nw:networks/nw:network/nw:node/tet:te/"
+ "tet:tunnelterminationpoint/"
+ "tet:locallinkconnectivities/"
+ "tet:locallinkconnectivity/"
+ "tet:labelrestrictions/tet:labelrestriction/"
+ "tet:labelstep/tet:technology" {
when "../../../../../../../../"
+ "nw:networktypes/tet:tetopology/"
+ "flexigrid:flexigridtopology" {
 description "Augment flexigrid TE label";
+ description
+ "Augmentation parameters apply only for networks with
+ Flexigrid topology type.";
}
 description "flexigrid label.";
+ description
+ "Augment TE label range step for the TTP
+ Local Link Connectivity entry.";
case flexigrid {
uses l0types:flexigridlabelstep;
}
}
 /* Augment label hop of underlay primary path of
 locallinkconnectivity (LLC) */
augment "/nw:networks/nw:network/nw:node/tet:te/"
+ "tet:tunnelterminationpoint/"
+ "tet:locallinkconnectivities/"
+ "tet:locallinkconnectivity/"
+ "tet:underlay/tet:primarypath/tet:pathelement/tet:type/"
+ "tet:label/tet:labelhop/tet:telabel/tet:technology" {
+
when "../../../../../../../../../../"
+ "nw:networktypes/tet:tetopology/"
+ "flexigrid:flexigridtopology" {
 description "Augment flexigrid TE label";
+ description
+ "Augmentation parameters apply only for networks with
+ Flexigrid topology type.";
}
 description "flexigrid label.";
+ description
+ "Augment TE label hop for the underlay primary path
+ of the TTP Local Link Connectivity entry.";
case flexigrid {
 uses l0types:flexigridpathlabel;
+ uses l0types:flexigridlabelhop;
}
}
 /* Augment label hop of underlay backup path of
 locallinkconnectivity (LLC) */
+
augment "/nw:networks/nw:network/nw:node/tet:te/"
+ "tet:tunnelterminationpoint/"
+ "tet:locallinkconnectivities/"
+ "tet:locallinkconnectivity/"
+ "tet:underlay/tet:backuppath/tet:pathelement/tet:type/"
+ "tet:label/tet:labelhop/tet:telabel/tet:technology" {
when "../../../../../../../../../../"
+ "nw:networktypes/tet:tetopology/"
+ "flexigrid:flexigridtopology" {
 description "Augment flexigrid TE label";
+ description
+ "Augmentation parameters apply only for networks with
+ Flexigrid topology type.";
}
 description "flexigrid label.";
+ description
+ "Augment TE label hop for the underlay backup path
+ of the TTP Local Link Connectivity entry.";
case flexigrid {
 uses l0types:flexigridpathlabel;

+ uses l0types:flexigridlabelhop;
}
}
 /* Augment label hop of routeexclude of locallinkconnectivity (LLC)
 */
augment "/nw:networks/nw:network/nw:node/tet:te/"
+ "tet:tunnelterminationpoint/"
+ "tet:locallinkconnectivities/"
+ "tet:locallinkconnectivity/"
+ "tet:optimizations/tet:algorithm/tet:metric/"
+ "tet:optimizationmetric/"
+ "tet:explicitrouteexcludeobjects/"
+ "tet:routeobjectexcludeobject/tet:type/"
+ "tet:label/tet:labelhop/tet:telabel/tet:technology" {
when "../../../../../../../../../../../"
+ "nw:networktypes/tet:tetopology/"
+ "flexigrid:flexigridtopology" {
 description "Augment flexigrid TE label";
+
+ description
+ "Augmentation parameters apply only for networks with
+ Flexigrid topology type.";
}
 description "flexigrid label.";
+ description
+ "Augment TE label hop for the explicit route objects excluded
+ by the path computation of the TTP Local Link
+ Connectivity entry.";
case flexigrid {
 uses l0types:flexigridpathlabel;
+ uses l0types:flexigridlabelhop;
}
}
 /* Augment label hop of routeinclude of locallinkconnectivity (LLC)
 */
+
augment "/nw:networks/nw:network/nw:node/tet:te/"
+ "tet:tunnelterminationpoint/"
+ "tet:locallinkconnectivities/"
+ "tet:locallinkconnectivity/"
+ "tet:optimizations/tet:algorithm/tet:metric/"
+ "tet:optimizationmetric/"
+ "tet:explicitrouteincludeobjects/"
+ "tet:routeobjectincludeobject/tet:type/"
+ "tet:label/tet:labelhop/tet:telabel/tet:technology" {
when "../../../../../../../../../../../"
+ "nw:networktypes/tet:tetopology/"
+ "flexigrid:flexigridtopology" {
 description "Augment flexigrid TE label";
+ description
+ "Augmentation parameters apply only for networks with
+ Flexigrid topology type.";
}
 description "flexigrid label.";
+ description
+ "Augment TE label hop for the explicit route objects included
+ by the path computation of the TTP Local Link
+ Connectivity entry.";
case flexigrid {
 uses l0types:flexigridpathlabel;
+ uses l0types:flexigridlabelhop;
}
}
 /* Augment label hop of pathroute of locallinkconnectivity (LLC)
 */
+
augment "/nw:networks/nw:network/nw:node/tet:te/"
+ "tet:tunnelterminationpoint/"
+ "tet:locallinkconnectivities/"
+ "tet:locallinkconnectivity/"
+ "tet:pathproperties/tet:pathrouteobjects/"
+ "tet:pathrouteobject/tet:type/"
+ "tet:label/tet:labelhop/tet:telabel/tet:technology" {
when "../../../../../../../../../../"
+ "nw:networktypes/tet:tetopology/"
+ "flexigrid:flexigridtopology" {
 description "Augment flexigrid TE label";
+
+ description
+ "Augmentation parameters apply only for networks with
+ Flexigrid topology type.";
}
 description "flexigrid label.";
+ description
+ "Augment TE label hop for the computed path route objects
+ of the TTP Local Link Connectivity entry.";
case flexigrid {
 uses l0types:flexigridpathlabel;
+ uses l0types:flexigridlabelhop;
}
}
 /* Augment label hop of underlay primary path of TE link */
augment "/nw:networks/nw:network/nt:link/tet:te/"
+ "tet:telinkattributes/"
+ "tet:underlay/tet:primarypath/tet:pathelement/tet:type/"
+ "tet:label/tet:labelhop/tet:telabel/tet:technology" {
when "../../../../../../../../"
+ "nw:networktypes/tet:tetopology/"
+ "flexigrid:flexigridtopology" {
 description "Augment flexigrid TE label";
+ description
+ "Augmentation parameters apply only for networks with
+ Flexigrid topology type.";
}
 description "flexigrid label.";
+ description
+ "Augment TE label hop for the underlay primary path
+ of the TE link.";
case flexigrid {
 uses l0types:flexigridpathlabel;
+ uses l0types:flexigridlabelhop;
}
}
 /* Augment label hop of underlay backup path of TE link */
+
augment "/nw:networks/nw:network/nt:link/tet:te/"
+ "tet:telinkattributes/"
+ "tet:underlay/tet:backuppath/tet:pathelement/tet:type/"
+ "tet:label/tet:labelhop/tet:telabel/tet:technology" {
when "../../../../../../../../"
+ "nw:networktypes/tet:tetopology/"
+ "flexigrid:flexigridtopology" {
 description "Augment flexigrid TE label";
+ description
+ "Augmentation parameters apply only for networks with
+ Flexigrid topology type.";
}
 description "flexigrid label.";
+ description
+ "Augment TE label hop for the underlay backup path
+ of the TE link.";
case flexigrid {
 uses l0types:flexigridpathlabel;
 }
 }
 /* Augment label restrictions of TE link */
 augment "/nw:networks/nw:network/nt:link/tet:te/"
 + "tet:telinkattributes/"
 + "tet:labelrestrictions/tet:labelrestriction" {
 when "../../../../../nw:networktypes/tet:tetopology/"
 + "flexigrid:flexigridtopology" {
 description "Augment flexigrid TE label";
+ uses l0types:flexigridlabelhop;
}
 description "flexigrid label.";
 uses l0types:flexigridlabelrestriction;
}
 /* Augment label restrictions start of TE link */
augment "/nw:networks/nw:network/nt:link/tet:te/"
+ "tet:telinkattributes/"
+ "tet:labelrestrictions/tet:labelrestriction/"
+ "tet:labelstart/tet:telabel/tet:technology" {
when "../../../../../../../nw:networktypes/tet:tetopology/"
+ "flexigrid:flexigridtopology" {
 description "Augment flexigrid TE label";
+ description
+ "Augmentation parameters apply only for networks with
+ Flexigrid topology type.";
}
 description "flexigrid label.";
+ description
+ "Augment TE label range start for the TE link.";
case flexigrid {
 uses l0types:flexigridlinklabel;
+ uses l0types:flexigridlabelstartend;
}
}
 /* Augment label restrictions end of TE link */
+
augment "/nw:networks/nw:network/nt:link/tet:te/"
+ "tet:telinkattributes/"
+ "tet:labelrestrictions/tet:labelrestriction/"
+ "tet:labelend/tet:telabel/tet:technology" {
when "../../../../../../../nw:networktypes/tet:tetopology/"
+ "flexigrid:flexigridtopology" {
 description "Augment flexigrid TE label";
+ description
+ "Augmentation parameters apply only for networks with
+ Flexigrid topology type.";
}
 description "flexigrid label.";
+ description
+ "Augment TE label range end for the TE link.";
case flexigrid {
 uses l0types:flexigridlinklabel;
+ uses l0types:flexigridlabelstartend;
}
}
 /* Augment label restrictions step of TE link */
+
augment "/nw:networks/nw:network/nt:link/tet:te/"
+ "tet:telinkattributes/"
+ "tet:labelrestrictions/tet:labelrestriction/"
+ "tet:labelstep/tet:technology" {
when "../../../../../../nw:networktypes/tet:tetopology/"
+ "flexigrid:flexigridtopology" {
 description "Augment flexigrid TE label";
+ description
+ "Augmentation parameters apply only for networks with
+ Flexigrid topology type.";
}
 description "flexigrid label.";
+ description
+ "Augment TE label range step for the TE link.";
case flexigrid {
uses l0types:flexigridlabelstep;
 }
 }
 /* Augment label restrictions of TE link informationsource */
 augment "/nw:networks/nw:network/nt:link/tet:te/"
 + "tet:informationsourceentry/"
 + "tet:labelrestrictions/tet:labelrestriction" {
 when "../../../../../nw:networktypes/tet:tetopology/"
 + "flexigrid:flexigridtopology" {
 description "Augment flexigrid TE label";
}
 description "flexigrid label.";
 uses l0types:flexigridlabelrestriction;
}
 /* Augment label restrictions start of TE link informationsource */
+
augment "/nw:networks/nw:network/nt:link/tet:te/"
+ "tet:informationsourceentry/"
+ "tet:labelrestrictions/tet:labelrestriction/"
+ "tet:labelstart/tet:telabel/tet:technology" {
when "../../../../../../../nw:networktypes/tet:tetopology/"
+ "flexigrid:flexigridtopology" {
 description "Augment flexigrid TE label";
+ description
+ "Augmentation parameters apply only for networks with
+ Flexigrid topology type.";
}
 description "flexigrid label.";
+ description
+ "Augment TE label range start for the TE link
+ information source.";
case flexigrid {
 uses l0types:flexigridlinklabel;
+ uses l0types:flexigridlabelstartend;
}
}
 /* Augment label restrictions end of TE link informationsource */
+
augment "/nw:networks/nw:network/nt:link/tet:te/"
+ "tet:informationsourceentry/"
+ "tet:labelrestrictions/tet:labelrestriction/"
+ "tet:labelend/tet:telabel/tet:technology" {
when "../../../../../../../nw:networktypes/tet:tetopology/"
+ "flexigrid:flexigridtopology" {
 description "Augment flexigrid TE label";
+ description
+ "Augmentation parameters apply only for networks with
+ Flexigrid topology type.";
}
 description "flexigrid label.";
+ description
+ "Augment TE label range end for the TE link
+ information source.";
case flexigrid {
 uses l0types:flexigridlinklabel;
+ uses l0types:flexigridlabelstartend;
}
}
 /* Augment label restrictions step of TE link informationsource */
+
augment "/nw:networks/nw:network/nt:link/tet:te/"
+ "tet:informationsourceentry/"
+ "tet:labelrestrictions/tet:labelrestriction/"
+ "tet:labelstep/tet:technology" {
when "../../../../../../nw:networktypes/tet:tetopology/"
+ "flexigrid:flexigridtopology" {
 description "Augment flexigrid TE label";
+ description
+ "Augmentation parameters apply only for networks with
+ Flexigrid topology type.";
+
}
 description "flexigrid label.";
+ description
+ "Augment TE label range step for the TE link
+ information source.";
case flexigrid {
uses l0types:flexigridlabelstep;
}
}
 /* Augment label hop of underlay primary path of TE link template */
augment "/nw:networks/tet:te/tet:templates/"
+ "tet:linktemplate/tet:telinkattributes/"
+ "tet:underlay/tet:primarypath/tet:pathelement/tet:type/"
+ "tet:label/tet:labelhop/tet:telabel/tet:technology" {
/*
 when "../../../../../../../../../"
 + "nw:networktypes/tet:tetopology/"
 + "flexigrid:flexigridtopology" {
 description "Augment flexigrid TE label";
 }
*/
 description "flexigrid label.";
+ description
+ "Augment TE label hop for the underlay primary path
+ of the TE link template.";
case flexigrid {
 uses l0types:flexigridpathlabel;
+ uses l0types:flexigridlabelhop;
}
}
 /* Augment label hop of underlay backup path of TE link template */
+
augment "/nw:networks/tet:te/tet:templates/"
+ "tet:linktemplate/tet:telinkattributes/"
+ "tet:underlay/tet:backuppath/tet:pathelement/tet:type/"
+ "tet:label/tet:labelhop/tet:telabel/tet:technology" {
/*
 when "../../../../../../../../../"
 + "nw:networktypes/tet:tetopology/"
 + "flexigrid:flexigridtopology" {
 description "Augment flexigrid TE label";
 }
*/
 description "flexigrid label.";
+ description
+ "Augment TE label hop for the underlay backup path
+ of the TE link template.";
case flexigrid {
 uses l0types:flexigridpathlabel;
 }
 }
 /* Augment label restrictions of TE link template */
 augment "/nw:networks/tet:te/tet:templates/"
 + "tet:linktemplate/tet:telinkattributes/"
 + "tet:labelrestrictions/tet:labelrestriction" {
/*
 when "../../../../../nw:networktypes/tet:tetopology/"
 + "flexigrid:flexigridtopology" {
 description "Augment flexigrid TE label";
+ uses l0types:flexigridlabelhop;
}
*/
 description "flexigrid label.";
 uses l0types:flexigridlabelrestriction;
}
 /* Augment label restrictions start of TE link template */
augment "/nw:networks/tet:te/tet:templates/"
+ "tet:linktemplate/tet:telinkattributes/"
+ "tet:labelrestrictions/tet:labelrestriction/"
+ "tet:labelstart/tet:telabel/tet:technology" {
/*
 when "../../../../../../../nw:networktypes/tet:tetopology/"
 + "flexigrid:flexigridtopology" {
 description "Augment flexigrid TE label";
 }
*/
 description "flexigrid label.";
+ description
+ "Augment TE label range start for the TE link template.";
case flexigrid {
 uses l0types:flexigridlinklabel;
+ uses l0types:flexigridlabelstartend;
}
}
 /* Augment label restrictions end of TE link template */
+
augment "/nw:networks/tet:te/tet:templates/"
+ "tet:linktemplate/tet:telinkattributes/"
+ "tet:labelrestrictions/tet:labelrestriction/"
+ "tet:labelend/tet:telabel/tet:technology" {
/*
 when "../../../../../../../nw:networktypes/tet:tetopology/"
 + "flexigrid:flexigridtopology" {
 description "Augment flexigrid TE label";
 }
*/
 description "flexigrid label.";
+
+ description
+ "Augment TE label range end for the TE link template.";
case flexigrid {
 uses l0types:flexigridlinklabel;
+ uses l0types:flexigridlabelstartend;
}
}
 /* Augment label restrictions step of TE link template */
augment "/nw:networks/tet:te/tet:templates/"
+ "tet:linktemplate/tet:telinkattributes/"
+ "tet:labelrestrictions/tet:labelrestriction/"
+ "tet:labelstep/tet:technology" {
/*
 when "../../../../../../nw:networktypes/tet:tetopology/"
 + "flexigrid:flexigridtopology" {
 description "Augment flexigrid TE label";
 }
*/
 description "flexigrid label.";
+ description
+ "Augment TE label range step for the TE link template.";
case flexigrid {
uses l0types:flexigridlabelstep;
}
}
}
6. Security Considerations
+9. Security Considerations
The YANG module specified in this document defines a schema for data
 that is designed to be accessed via network management protocols
 such as NETCONF [RFC6241] or RESTCONF [RFC8040]. The lowest NETCONF
 layer is the secure transport layer, and the mandatorytoimplement
 secure transport is Secure Shell (SSH) [RFC6242]. The lowest
 RESTCONF layer is HTTPS, and the mandatorytoimplement secure
 transport is TLS [RFC8446].
+ 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 mandatorytoimplement secure
+ transport is Secure Shell (SSH) [RFC6242]. The lowest RESTCONF layer
+ is HTTPS, and the mandatorytoimplement secure transport is TLS
+ [RFC8446].
The NETCONF access control model [RFC8341] provides the means to
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.
+ 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.,
 editconfig) to these data nodes without proper protection can have
 a negative effect on network operations. These are the subtrees and
 data nodes and their sensitivity/vulnerability:
+ 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., editconfig)
+ to these data nodes without proper protection can have a negative
+ effect on network operations. These are the subtrees and data nodes
+ and their sensitivity/vulnerability:
/nw:networks/nw:network/nw:networktypes/tet:tetopology
+
/nw:networks/nw:network/nt:link/tet:te/tet:telinkattributes
/nw:networks/nw:network/nw:node/nt:terminationpoint/tet:te
/nw:networks/nw:network/nw:node/tet:te/tet:tenodeattributes
/teconnectivitymatrices/teconnectivitymatrix/tet:path
constraints/tet:tebandwidth/tet:technology
/nw:networks/nw:network/nw:node/tet:te
/tet:tunnelterminationpoint/tet:locallinkconnectivities
@@ 3346,177 +3061,215 @@
/nw:networks/nw:network/nw:node/nt:terminationpoint/tet:te
/nw:networks/nw:network/nw:node/tet:te/tet:tenodeattributes
/teconnectivitymatrices/teconnectivitymatrix/tet:path
constraints/tet:tebandwidth/tet:technology
/nw:networks/nw:network/nw:node/tet:te
/tet:tunnelterminationpoint/tet:locallinkconnectivities
/tet:labelrestrictions/tet:labelrestriction
7. IANA Considerations
+10. IANA Considerations
IANA is requested to assigned a new URI from the "IETF XML Registry"
[RFC3688] as follows:
URI: urn:ietf:params:xml:ns:yang:ietfflexigridtopology
Registrant Contact: The IESG
XML: N/A; the requested URI is an XML namespace.
IANA is requested to assign a new YANG module name in the "YANG
Module Names" registry [RFC6020] as follows:
Name: ietfflexigridtopology
Namespace: urn:ietf:params:xml:ns:yang:ietfflexigridtopology
Prefix: flexigridtopology
Reference: [This.ID]
8. References
+11. Contributors
8.1. Normative References
+ The model presented in this documentr was contributed to by more
+ people than can be listed in the author list. Additional
+ contributors include:
+
+ Oscar Gonzalez de Dios
+ Telefonica I+D/GCTO
+ Email: oscar.gonzalezdedios@telefonica.com
+
+ Gabriele Galimberti
+ Cisco
+ Email: ggalimbe@cisco.com
+
+ Zafar Ali
+ Cisco
+ Email: zali@cisco.com
+
+ Daniel Michaud Vallinoto
+ Universidad Autonoma de Madrid
+ Email: TBD
+
+ Steven Hill,
+ MTN Group Technology
+ Email: Steven.Hill@mtn.com
+
+ Victor Lopez
+ Telefonica I+D/GCTO
+ Email: victor.lopezalvarez@telefonica.com
+
+ Italo Busi
+ Huawei
+ Email: Italo.Busi@huawei.com
+
+ Aihua Guo
+ Futurewei
+ Email: aihuaguo.ietf@gmail.com
+
+12. Acknowledgments
+
+ The work presented in this document has been partially funded by the
+ European Commission under the project H2020 METROHAUL (Metro High
+ bandwidth, 5G Applicationaware optical network, with edge storage,
+ compUte and low Latency), Grant Agreement number: 761727, and by the
+ Spanish Ministry of Economy and Competitiveness under the project
+ TRAFICA, MINECO/FEDER TEC201569417C21R.
+
+ Thanks to Adrian Farrel for reviewing this document and assisting
+ with conversion to XML.
+
+13. References
+
+13.1. Normative References
+
+ [ID.ietfccamplayer0types]
+ Zheng, H., Lee, Y., Guo, A., Lopez, V., and D. King, "A
+ YANG Data Model for Layer 0 Types", draftietfccamp
+ layer0types07 (work in progress), September 2020.
[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,
+ DOI 10.17487/RFC2119, March 1997,
+ .
[RFC3688] Mealling, M., "The IETF XML Registry", BCP 81, RFC 3688,
 January 2004.
+ DOI 10.17487/RFC3688, January 2004,
+ .
 [RFC5234] Crocker, D. and P. Overell, "Augmented BNF for Syntax
 Specifications: ABNF", STD 68, RFC 5234, January 2008,
 .
+ [RFC5234] Crocker, D., Ed. and P. Overell, "Augmented BNF for Syntax
+ Specifications: ABNF", STD 68, RFC 5234,
+ DOI 10.17487/RFC5234, January 2008,
+ .
[RFC6020] Bjorklund, M., Ed., "YANG  A Data Modeling Language for
the Network Configuration Protocol (NETCONF)", RFC 6020,
 October 2010.
+ DOI 10.17487/RFC6020, October 2010,
+ .
 [RFC6241] R. Enns, Ed., M. Bjorklund, Ed., J. Schoenwaelder, Ed.,
 "Network Configuration Protocol (NETCONF)", RFC 6241, June
 2011.
+ [RFC6241] Enns, R., Ed., Bjorklund, M., Ed., Schoenwaelder, J., Ed.,
+ and A. Bierman, Ed., "Network Configuration Protocol
+ (NETCONF)", RFC 6241, DOI 10.17487/RFC6241, June 2011,
+ .
 [RFC6242] M. Wasserman, "Using the NETCONF Protocol over Secure
 Shell (SSH)", RFC 6242, June 2011.
+ [RFC6242] Wasserman, M., "Using the NETCONF Protocol over Secure
+ Shell (SSH)", RFC 6242, DOI 10.17487/RFC6242, June 2011,
+ .
 [RFC7950] M. Bjorklund, Ed., "The YANG 1.1 Data Modeling
 Language", RFC 7950, August 2016.
+ [RFC7446] Lee, Y., Ed., Bernstein, G., Ed., Li, D., and W. Imajuku,
+ "Routing and Wavelength Assignment Information Model for
+ Wavelength Switched Optical Networks", RFC 7446,
+ DOI 10.17487/RFC7446, February 2015,
+ .
 [RFC8040] A. Bierman, M. Bjorklund, K. Watsen, "RESTCONF Protocol",
 RFC 8040, January 2017.
+ [RFC7581] Bernstein, G., Ed., Lee, Y., Ed., Li, D., Imajuku, W., and
+ J. Han, "Routing and Wavelength Assignment Information
+ Encoding for Wavelength Switched Optical Networks",
+ RFC 7581, DOI 10.17487/RFC7581, June 2015,
+ .
 [RFC8341] A. Bierman, M. Bjorklund, "Network Configuration Access
 Control Model", RFC 8341, July 2019.
+ [RFC7950] Bjorklund, M., Ed., "The YANG 1.1 Data Modeling Language",
+ RFC 7950, DOI 10.17487/RFC7950, August 2016,
+ .
 [RFC8446] E. Rescorla, "The Transport Layer Security (TLS) Protocol
 Version 1.3", RFC8446, August 2018.
+ [RFC8040] Bierman, A., Bjorklund, M., and K. Watsen, "RESTCONF
+ Protocol", RFC 8040, DOI 10.17487/RFC8040, January 2017,
+ .
[RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC
2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174,
May 2017, .
 [Layer0Types] Y. Lee, D. Dhody, A. Guo, V. Lopez, D. King,
 "YANG Data Model for Layer 0 Types", work in progress,
 draftietfccamplayer0types03, 2020.
+ [RFC8341] Bierman, A. and M. Bjorklund, "Network Configuration
+ Access Control Model", STD 91, RFC 8341,
+ DOI 10.17487/RFC8341, March 2018,
+ .
 [TETOPO] X. Liu, I. Bryskin, V. Pavan Beeram, T. Saad, H. Shah,
 O. Gonzalez De Dios, "YANG Data Model for TE Topologies",
 work in progress, draftietfteasyangtetopo22.txt,
 2019.
+ [RFC8345] Clemm, A., Medved, J., Varga, R., Bahadur, N.,
+ Ananthakrishnan, H., and X. Liu, "A YANG Data Model for
+ Network Topologies", RFC 8345, DOI 10.17487/RFC8345, March
+ 2018, .
8.2. Informative References
+ [RFC8446] Rescorla, E., "The Transport Layer Security (TLS) Protocol
+ Version 1.3", RFC 8446, DOI 10.17487/RFC8446, August 2018,
+ .
 [G.694.1] International Telecommunication Union, "Spectral grids for
 WDM applications: DWDM frequency grid", ITUT
 Recommendation G.694.1, February 2012,
 .
+ [RFC8795] Liu, X., Bryskin, I., Beeram, V., Saad, T., Shah, H., and
+ O. Gonzalez de Dios, "YANG Data Model for Traffic
+ Engineering (TE) Topologies", RFC 8795,
+ DOI 10.17487/RFC8795, August 2020,
+ .
 [G.872] International Telecommunications Union,
 "Architecture of optical transport networks", ITU
 T Recommendation G.872, November 2001.
 .
+13.2. Informative References
 [RFC7446] Y. Lee, G. Bernstein, D. Li, W. Imajuku, "Routing and
 Wavelength Assignment Information Model for Wavelength
 Switched Optical Networks", RFC 7446, Feburary 2015.
+ [G.694.1] International Telecommunication Union, "Spectral grids for
+ WDM applications: DWDM frequency grid", ITUT G.872,
+ February 2012.
 [RFC7581] G. Bernstein, Y. Lee, D. Li, W. Imajuku, "Routing and
 Wavelength Assignment Information Encoding for Wavelength
 Switched Optical Networks", RFC 7581, June 2015.
+ [G.872] International Telecommunication Union, "Architecture of
+ optical transport networks", ITUT G.872, November 2010.
 [RFC7698] O. Gonzalez de Dios, R. Casellas, Eds. "Framework and
+ [ID.ietfccampflexigridmediachannelyang]
+ Madrid, U., Perdices, D., Lopezalvarez, V., Dios, O.,
+ King, D., Lee, Y., and G. Galimberti, "YANG data model for
+ FlexiGrid mediachannels", draftietfccampflexigrid
+ mediachannelyang02 (work in progress), March 2019.
+
+ [RFC7698] Gonzalez de Dios, O., Ed., Casellas, R., Ed., Zhang, F.,
+ Fu, X., Ceccarelli, D., and I. Hussain, "Framework and
Requirements for GMPLSBased Control of FlexiGrid Dense
Wavelength Division Multiplexing (DWDM) Networks",
 RFC7698, November 2015.
+ RFC 7698, DOI 10.17487/RFC7698, November 2015,
+ .
[RFC7699] Farrel, A., King, D., Li, Y., and F. Zhang, "Generalized
Labels for the FlexiGrid in Lambda Switch Capable (LSC)
Label Switching Routers", RFC 7699, DOI 10.17487/RFC7699,
November 2015, .
 [RFC8340] M. Bjorklund and L. Berger, Ed., "YANG Tree Diagrams", RFC
 8340, March 2018.

 [RFC8345] A. Clemm, J. Medved, R. Varga, N. Bahadur, H.
 Ananthakrishnan, X. Liu, "A Data Model for Network
 Topologies", RFC 8345, July 2019.

 [ID.draftietfccampflexigridmediachannelyang] Lopez de
 Vergara, J., Perdices, D., Lopez, V., Gonzalez de Dios, O.,
 King, D., Lee, Y., Galimberti, G., "YANG data model for
 FlexiGrid mediachannels", Internet Draft,
 draftietfccampflexigridmediachannelyang02, 2019.

9. Contributors

 The model presented in this paper was contributed to by more people
 than can be listed on the author list. Additional contributors
 include:

 o Oscar Gonzalez de Dios, Telefonica I+D/GCTO
 o Gabriele Galimberti, Cisco Photonics Srl
 o Zafar Ali, Cisco Systems
 o Daniel Michaud Vallinoto, Universidad Autonoma de Madrid
 o Steven Hill, MTN Group Technology
 o Victor Lopex, Telefonica I+D/GCTO

10. Acknowledgments

 The work presented in this InternetDraft has been partially funded
 by the European Commission under the project H2020 METROHAUL
 (Metro High bandwidth, 5G Applicationaware optical network, with
 edge storage, compUte and low Latency), Grant Agreement number:
 761727, and by the Spanish Ministry of Economy and Competitiveness
 under the project TRAFICA, MINECO/FEDER TEC201569417C21R.
+ [RFC8340] Bjorklund, M. and L. Berger, Ed., "YANG Tree Diagrams",
+ BCP 215, RFC 8340, DOI 10.17487/RFC8340, March 2018,
+ .
Authors' Addresses
Jorge E. Lopez de Vergara Mendez
Universidad Autonoma de Madrid
 Escuela Politecnica Superior
 C/Francisco Tomas y Valiente, 11
 E28049 Madrid, Spain
Email: jorge.lopez_vergara@uam.es
Daniel Perdices Burrero
 Naudit High Performance Computing and Networking, S.L.
 C/Faraday, 7
 E28049 Madrid, Spain
+ Naudit
Email: daniel.perdices@naudit.es
Daniel King
 Lancaster University
+ Old Dog Consulting
 Email: d.king@lancaster.ac.uk
+ Email: daniel@olddog.co.uk
Young Lee
Samsung
 South Korea
Email: younglee.tx@gmail.co
Haomian Zheng
Huawei Technologies
 H11A043S Huawei Industrial Base, Songshanhu
 Dongguan, Guangdong 523808
 China
Email: zhenghaomian@huawei.com