draft-ietf-ccamp-flexigrid-yang-06.txt   draft-ietf-ccamp-flexigrid-yang-07.txt 
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
D. King
Lancaster University
Y. Lee
Samsung
H. Zheng
Huawei Technologies
July 12, 2020
YANG data model for Flexi-Grid Optical Networks CCAMP Working Group J. Lopez de Vergara
draft-ietf-ccamp-flexigrid-yang-06.txt Internet-Draft Universidad Autonoma de Madrid
Intended status: Informational D. Perdices Burrero
Expires: March 26, 2021 Naudit
D. King
Old Dog Consulting
Y. Lee
Samsung
H. Zheng
Huawei Technologies
September 22, 2020
A YANG Data Model for Flexi-Grid Optical Networks
draft-ietf-ccamp-flexigrid-yang-07
Abstract Abstract
This document defines a YANG module for managing flexi-grid optical This document defines a YANG module for managing flexi-grid optical
networks. The model defined in this document specifies a flexi-grid networks. The model defined in this document specifies a flexi-grid
traffic engineering database that is used to describe the topology of traffic engineering database that is used to describe the topology of
a flexi-grid network. It is based on and augments existing YANG a flexi-grid network. It is based on and augments existing YANG
models that describe network and traffic engineering topologies. models that describe network and traffic engineering topologies.
A partner document defines a second YANG module for flexi-grid media A partner document defines a second YANG module for flexi-grid media
channels, i.e., the paths from source to destination through a number channels, i.e., the paths from source to destination through a number
of intermediate nodes. of intermediate nodes.
Status of this Memo Status of This Memo
This Internet-Draft is submitted in full conformance with the This Internet-Draft is submitted in full conformance with the
provisions of BCP 78 and BCP 79. This document may not be modified, provisions of BCP 78 and BCP 79.
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.
Internet-Drafts are working documents of the Internet Engineering Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF), its areas, and its working groups. Note that Task Force (IETF). Note that other groups may also distribute
other groups may also distribute working documents as Internet- working documents as Internet-Drafts. The list of current Internet-
Drafts. Drafts is at https://datatracker.ietf.org/drafts/current/.
Internet-Drafts are draft documents valid for a maximum of six
months and may be updated, replaced, or obsoleted by other documents
at any time. It is inappropriate to use Internet-Drafts as
reference material or to cite them other than as "work in progress."
The list of current Internet-Drafts can be accessed at
http://www.ietf.org/ietf/1id-abstracts.txt
The list of Internet-Draft Shadow Directories can be accessed at Internet-Drafts are draft documents valid for a maximum of six months
http://www.ietf.org/shadow.html and may be updated, replaced, or obsoleted by other documents at any
time. It is inappropriate to use Internet-Drafts as reference
material or to cite them other than as "work in progress."
This Internet-Draft will expire on January 13, 2020. This Internet-Draft will expire on March 26, 2021.
Copyright Notice Copyright Notice
Copyright (c) 2020 IETF Trust and the persons identified as the Copyright (c) 2020 IETF Trust and the persons identified as the
document authors. All rights reserved. document authors. All rights reserved.
This document is subject to BCP 78 and the IETF Trust's Legal This document is subject to BCP 78 and the IETF Trust's Legal
Provisions Relating to IETF Documents Provisions Relating to IETF Documents
(http://trustee.ietf.org/license-info) in effect on the date of (https://trustee.ietf.org/license-info) in effect on the date of
publication of this document. Please review these documents publication of this document. Please review these documents
carefully, as they describe your rights and restrictions with carefully, as they describe your rights and restrictions with respect
respect to this document. Code Components extracted from this to this document. Code Components extracted from this document must
document must include Simplified BSD License text as described in include Simplified BSD License text as described in Section 4.e of
Section 4.e of the Trust Legal Provisions and are provided without the Trust Legal Provisions and are provided without warranty as
warranty as described in the Simplified BSD License. described in the Simplified BSD License.
Table of Contents Table of Contents
1. Introduction ..............................................2 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2
2. Conventions used in this document .........................3 2. Conventions . . . . . . . . . . . . . . . . . . . . . . . . . 3
2.1. Terminology ..........................................3 3. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 3
2.2. Tree diagram .........................................4 4. Tree Diagram . . . . . . . . . . . . . . . . . . . . . . . . 4
2.3. Prefixes in Data Node Names ..........................4 4.1. Prefixes in Data Node Names . . . . . . . . . . . . . . . 4
3. Main Building Blocks of the Flexi-grid TED.................4 5. Main Components of the Flexi-grid Topology . . . . . . . . . 5
4. Example of Use ............................................8 6. Example of Use . . . . . . . . . . . . . . . . . . . . . . . 11
5. Flexi-grid Topology YANG Model.............................9 7. YANG Model (Tree Structure) for Flexi-grid topology . . . . . 13
5.1. YANG Model - Tree ....................................9 8. The YANG Code for Flexi-grid topology . . . . . . . . . . . . 30
5.2. YANG Model - Code ....................................30 9. Security Considerations . . . . . . . . . . . . . . . . . . . 64
6. Security Considerations ...................................69 10. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 65
7. IANA Considerations .......................................70 11. Contributors . . . . . . . . . . . . . . . . . . . . . . . . 65
8. References ................................................70 12. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 66
8.1. Normative References .................................70 13. References . . . . . . . . . . . . . . . . . . . . . . . . . 67
8.2. Informative References ...............................71 13.1. Normative References . . . . . . . . . . . . . . . . . . 67
9. Contributors ..............................................72 13.2. Informative References . . . . . . . . . . . . . . . . . 68
10. Acknowledgments ..........................................72 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 69
Authors' Addresses ...........................................73
1. Introduction 1. Introduction
The flexible grid (flexi-grid) optical network technology defined by The flexible grid (flexi-grid) optical network technology defined by
the International Telecommunication Union Telecommunication the International Telecommunication Union Telecommunication
Standardization Sector (ITU-T) and documented in Recommendation Standardization Sector (ITU-T) and documented in Recommendation
G.694.1 [G.694.1] and G.872 [G.872] provides an enhanced Dense 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 Wavelength Division Multiplexing (DWDM) grid by defining a set of
nominal central frequencies, channel spacings, and the concept of the nominal central frequencies, channel spacings, and the concept of the
"frequency slot". In such an environment, a data-plane connection is "frequency slot". In such an environment, a data-plane connection is
switched based on allocated, variable-sized frequency ranges within switched based on allocated, variable-sized frequency ranges within
the optical spectrum, creating what is known as a flexible grid the optical spectrum, creating what is known as a flexible grid
(flexi-grid). This technology increases both transport network (flexi-grid). This technology increases both transport network
scalability and flexibility, allowing the optimization of bandwidth scalability and flexibility, allowing the optimization of bandwidth
usage. usage.
[RFC7698] provides a framework GMPLS-Based control of flexi-grid DWDM [RFC7698] provides a framework GMPLS-Based control of flexi-grid DWDM
networks while [RFC7699] defines generalized labels for the use in networks while [RFC7699] defines generalized labels for the use in
flexi-grid in GMPLS networks. flexi-grid in GMPLS networks.
This document presents a YANG [RFC7950] model for flexi-grid objects This document presents a YANG [RFC7950] model for flexi-grid objects
in the dynamic optical network, including the nodes, transponders in the dynamic optical network, including the nodes, transponders and
and links between them, as well as how such links interconnect nodes links between them, as well as how such links interconnect nodes and
and transponders. transponders.
The YANG model for flexi-grid networks allows the representation of The YANG model for flexi-grid networks allows the representation of
the flexi-grid optical layer of a network, combined with the the flexi-grid optical layer of a network, combined with the
underlying physical layer. underlying physical layer.
This document identifies the flexi-grid components, parameters and This document identifies the flexi-grid components, parameters and
their values, characterizes the features and the performances of the their values, characterizes the features and the performances of the
flexi-grid elements. An application example is provided towards the flexi-grid elements. An application example is provided towards the
end of the document to better understand their utility. end of the document to better understand their utility.
A partner document defines a second YANG module that described flexi- A partner document defines a second YANG module that described flexi-
grid media channels, i.e., the paths from source to destination grid tunnels, i.e., the paths from source to destination through a
through a number of intermediate nodes number of intermediate nodes
[I-D.draft-ietf-ccamp-flexigrid-media-channel-yang]. [I-D.ietf-ccamp-flexigrid-media-channel-yang].
2. Conventions used in this document 2. Conventions
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
"SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and
"OPTIONAL" in this document are to be interpreted as described in BCP "OPTIONAL" in this document are to be interpreted as described in BCP
14 [RFC2119] [RFC8174] when, and only when, they appear in all 14 [RFC2119] [RFC8174] when, and only when, they appear in all
capitals, as shown here. capitals, as shown here.
2.1. Terminology 3. Terminology
Refer to [RFC7446] and [RFC7581] for the key terms used in this Refer to [RFC7446] and [RFC7581] for the key terms used in this
document. document.
The following terms are defined in [RFC7950] and are not redefined The following terms are defined in [RFC7950] and are not redefined
here: here:
o client o client
o server
o augment o server
o data model
o data node o augment
o data model
o data node
The following terms are defined in [RFC6241] and are not redefined The following terms are defined in [RFC6241] and are not redefined
here: here:
o configuration data o configuration data
o state data o state data
The terminology for describing YANG data models is found in The terminology for describing YANG data models is found in
[RFC7950]. [RFC7950].
2.2. Tree Diagram 4. Tree Diagram
A simplified graphical representation of the data model is used in A simplified graphical representation of the data model is used in
Section 5 of this this document. The meaning of the symbols in this document. The meaning of the symbols in these diagrams is
these diagrams is defined in [RFC8340]. 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 In this document, names of data nodes and other data model objects
are prefixed using the standard prefix associated with the 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 [I-D.ietf-ccamp-layer0-types], [RFC8345], and
[RFC8795].
+-------------+-------------------------+-----------------+ +-------------+-------------------------+-----------------+
| Prefix | YANG module | Reference | | Prefix | YANG module | Reference |
+-------------+-------------------------+-----------------+ +-------------+-------------------------+-----------------+
| l0-types | ietf-layer0-types | [Layer0-Types] | | l0-types | ietf-layer0-types | [RFCXXXX] |
| flexi-grid | ietf-flexi-grid-topology| [RFCXXXX] | | flexi-grid | ietf-flexi-grid-topology| [RFCYYYY] |
| nw | ietf-network | [RFC8345] | | nw | ietf-network | [RFC8345] |
| nt | ietf-network-topology | [RFC8345] | | nt | ietf-network-topology | [RFC8345] |
| tet | ietf-te-topology | [TE-TOPO] | | tet | ietf-te-topology | [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 RFC Editor Note: Please replace XXXX with the RFC numbers assigned to
this document when it is published. Please remove this note. draft-ietf-ccamp-layer0-types. Please replace YYYY with the RFC
number assigned to this document. Please remove this note.
3. Main building Blocks of the Flexi-grid Topology 5. Main Components of the Flexi-grid 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, flexi-grid-node, The description of the three main components, flexi-grid-node, flexi-
flexi-grid-transponder and flexi-grid-link is provided below. grid-transponder and flexi-grid-link is provided below. flexi-grid-
flexi-grid-sliceable-transponders are also defined. sliceable-transponders are also defined.
The syntax specification below uses the augmented Backus-Naur The syntax specification below uses the augmented Backus-Naur Form
Form (BNF) as described in [RFC5234]. (BNF) as described in [RFC5234].
<flexi-grid-node> ::= <config> <state> <flexi-grid-node> ::= <config> <state>
<flexi-grid-node>: This element designates a node in the <flexi-grid-node>: This element designates a node in the
network. network.
<config> ::= <flexi-grid-node-attributes-config> <config> ::= <flexi-grid-node-attributes-config>
<config>: Contains the configuration of a node. <config>: Contains the configuration of a node.
<flexi-grid-node-attributes-config> ::= <list-interface> <flexi-grid-node-attributes-config> ::= <list-interface>
<connectivity_matrix> <connectivity_matrix>
<flexi-grid-node-attributes-config>: Contains all the <flexi-grid-node-attributes-config>: Contains all the
attributes related to the node configuration, such as attributes related to the node configuration, such as its
its interfaces or its management addresses. interfaces or its management addresses.
<list-interface> ::= <name> <port-number>
<input-port> <output-port> <description>
<interface-type>
[<numbered-interface> / <unnumbered-interface>]
<list-interface>: The list containing all the <list-interface> ::= <name> <port-number>
information of the interfaces. <input-port> <output-port> <description>
<interface-type>
[<numbered-interface> / <unnumbered-interface>]
<name>: Determines the interface name. <list-interface>: The list containing all the information of
the interfaces.
<port-number>: Port number of the interface. <name>: Determines the interface name.
<input-port>: Boolean value that defines <port-number>: Port number of the interface.
whether the interface is input or not.
<output-port>: Boolean value that defines <input-port>: Boolean value that defines whether the interface
whether the interface is output or not. is input or not.
<description>: Description of the usage of <output-port>: Boolean value that defines whether the interface
the interface. is output or not.
<interface-type>: Determines if the interface <description>: Description of the usage of the interface.
is numbered or unnumbered.
<numbered-interface> ::= <n-i-ip-address> <interface-type>: Determines if the interface is numbered or
<numbered-interface>: An interface with unnumbered.
its own IP address.
<n-i-ip-address>: Only available if <numbered-interface> ::= <n-i-ip-address>
<interface-type> is "numbered-interface".
Determines the IP address of the interface.
<unnumbered-interface> ::= <u-i-ip-address> <numbered-interface>: An interface with its own IP address.
<label>
<unnumbered-interface>: An interface that
needs a label to be unique.
<u-i-ip-address>: Only available if <n-i-ip-address>: Only available if <interface-type> is
<interface-type> is "numbered-interface". "numbered-interface". Determines the IP address of the
Determines the node IP address, which with interface.
the label defines the interface.
<label>: Label that determines the <unnumbered-interface> ::= <u-i-ip-address> <label>
interface, joint with the node IP address.
<connectivity-matrix> ::= <connections> <unnumbered-interface>: An interface that needs a label to be
unique.
<connectivity-matrix>: Determines whether a <u-i-ip-address>: Only available if <interface-type> is
connection port in/port out exists. "numbered-interface". Determines the node IP address,
which with the label defines the interface.
<connections> ::= <input-port-id> <label>: Label that determines the interface, joint with the
<output-port-id> node IP address.
<flexi-grid-transponder> ::= <transponder-type> <config> <state> <connectivity-matrix> ::= <connections>
<flexi-grid-transponder>: This item designates a transponder <connectivity-matrix>: Determines whether a connection port
of a node. in/port out exists.
<config> ::= <flexi-grid-transponder-attributes-config> <connections> ::= <input-port-id> <output-port-id>
<config>: Contains the configuration of a transponder. <flexi-grid-transponder> ::= <transponder-type> <config> <state>
<flexi-grid-transponder-attributes-config> ::= <flexi-grid-transponder>: This item designates a transponder
<available-operational-mode> <operational-mode> of a node.
<flexi-grid-transponder-attributes>: Contains all the <config> ::= <flexi-grid-transponder-attributes-config>
attributes related to the transponder.
<available-operational-mode>: It provides a list of the <config>: Contains the configuration of a transponder.
operational modes available at this transponder.
<operational-mode>: Determines the type of operational <flexi-grid-transponder-attributes-config> ::=
mode in use. <available-operational-mode> <operational-mode>
<state> ::= <flexi-grid-transponder-attributes-config> <flexi-grid-transponder-attributes>: Contains all the
<flexi-grid-transponder-attributes-state> attributes related to the transponder.
<available-operational-mode>: It provides a list of the
operational modes available at this transponder.
<operational-mode>: Determines the type of operational
mode in use.
<state> ::= <flexi-grid-transponder-attributes-config>
<flexi-grid-transponder-attributes-state>
<state>: Contains the state of a transponder. <state>: Contains the state of a transponder.
<flexi-grid-transponder-attributes-config>: See above. <flexi-grid-transponder-attributes-config>: See above.
<flexi-grid-transponder-attributes-state>: Contains the <flexi-grid-transponder-attributes-state>: Contains the
state of a transponder. state of a transponder.
<flexi-grid-link> ::= <config> <state> <flexi-grid-link> ::= <config> <state>
<flexi-grid-link>: This element describes all the information of a <flexi-grid-link>: This element describes all the
link. information of a link.
<config> ::= <flexi-grid-link-attributes-config> <config> ::= <flexi-grid-link-attributes-config>
<config>: Contains the configuration of a link. <config>: Contains the configuration of a link.
<flexi-grid-link-attributes-config> ::= <technology-type> <flexi-grid-link-attributes-config> ::= <technology-type>
<available-label-flexi-grid> <N-max> <base-frequency> <available-label-flexi-grid> <N-max> <base-frequency>
<nominal-central-frequency-granularity> <nominal-central-frequency-granularity>
<slot-width-granularity> <slot-width-granularity>
<flexi-grid-link-attributes>: Contains all the
attributes related to the link, such as its unique id,
its N value, its latency, etc.
<link-id>: Unique id of the link.
<available-label-flexi-grid>: Array of bits that
determines, with each bit, the availability of each
interface for flexi-grid technology.
<N-max>: The max value of N in this link, being N
the number of slots.
<base-frequency>: The default central frequency
used in the link.
<nominal-central-frequency-granularity>: 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).
<slot-width-granularity>: 12.5 GHz, as defined
in G.694.1.
<state> ::= <flexi-grid-link-attributes-config>
<flexi-grid-link-attributes-state>
<state>: Contains the state of a link.
<flexi-grid-link-attributes-config>: See above.
<flexi-grid-link-attributes-state>: Contains all the
the information related to the state of a link.
4. 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 |Flexi-grid| Link 2 |Flexi-grid| Link 3
.--->| node |<-------->| node |<---.
| | B | | C | |
| +----------+ +----------+ |
v v
/-----------\ /-----------\
/ Flexi-grid \ / Flexi-grid \
| transponder | | transponder |
\ A / \ E /
\-----------/ \-----------/
^ ^
| +----------+ |
| Link 4 |Flexi-grid| Link 5 |
'------------>| node |<-----------'
| D |
+----------+
<-------------------------------------------------->
Path y
Figure 1. Topology example.
In order to configure a media channel to interconnect transponders A
and E, first of all we have to populate the flexi-grid topology YANG
model with all elements in the network:
1. 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.
2. 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
transponders, indicating which flexi-grid labels are available.
Other information, such as the slot frequency and granularity are
also provided.
Next, we can configure the media channel from the information we
have stored in the flexi-grid 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 flexi-grid TED has a
reference, and this is the way in which they are called in the media
channel. We refer to
[I-D.draft-ietf-ccamp-flexigrid-media-channel-yang] to complete
this example.
5. Flexi-grid Topology YANG Model
5.1. Yang Model - Tree Structure <flexi-grid-link-attributes>: Contains all the attributes
related to the link, such as its unique id, its N value,
its latency, etc.
module: ietf-flexi-grid-topology <link-id>: Unique id of the link.
augment /nw:networks/nw:network/nw:network-types/tet:te-topology: <available-label-flexi-grid>: Array of bits that determines,
+--rw flexi-grid-topology! with each bit, the availability of each interface for
flexi-grid technology.
augment /nw:networks/nw:network/nt:link/tet:te/ <N-max>: The max value of N in this link, being N the number
tet:te-link-attributes: of slots.
augment /nw:networks/nw:network/nw:node/nt:termination-point/tet:te: <base-frequency>: The default central frequency used in the
+--rw supported-payload-types* [index] link.
| +--rw index uint16
| +--rw payload-type? string
+--rw client-facing? boolean
augment /nw:networks/nw:network/nw:node/tet:te/tet:te-node-attributes: <nominal-central-frequency-granularity>: It is the spacing
+--rw flexi-grid-node between allowed nominal central frequencies and it is set
+--rw node-type? identityref to 6.25 GHz (note: sometimes referred to as 0.00625 THz).
augment /nw:networks/nw:network/nw:node/tet:te/ <slot-width-granularity>: 12.5 GHz, as defined in G.694.1.
tet:tunnel-termination-point:
+--rw supported-operational-modes* l0-types:operational-mode
+--rw configured-operational-modes? l0-types:operational-mode
+--rw supported-fec-types* identityref
+--rw supported-termination-types* identityref
+--rw supports-bit-stuffing? boolean
+--rw is-tunable? boolean
+--rw max-subcarrier-channel-num? uint8
+--rw supports-flexi-grid? boolean
augment /nw:networks/nw:network/nw:node/nt:termination-point/tet:te/ <state> ::= <flexi-grid-link-attributes-config>
tet:interface-switching-capability/tet:max-lsp-bandwidth/ <flexi-grid-link-attributes-state>
tet:te-bandwidth/tet:technology:
+--:(flexi-grid) <state>: Contains the state of a link.
+--rw bandwidth-type? identityref
augment /nw:networks/nw:network/nw:node/tet:te/tet:te-node-attributes/ <flexi-grid-link-attributes-config>: See above.
tet:connectivity-matrices/tet:path-constraints/tet:te-bandwidth/
tet:technology:
+--:(flexi-grid)
+--rw supported-bandwidth-list* identityref
augment /nw:networks/nw:network/nw:node/tet:te/tet:te-node-attributes/ <flexi-grid-link-attributes-state>: Contains all the
tet:connectivity-matrices/tet:connectivity-matrix/ information related to the state of a link.
tet:path-constraints/tet:te-bandwidth/tet:technology:
+--:(flexi-grid)
+--rw supported-bandwidth-list* identityref
augment /nw:networks/nw:network/nw:node/tet:te/ <flexi-grid-transponder> ::= <transponder-type> <config> <state>
tet:information-source-entry/tet:connectivity-matrices/
tet:path-constraints/tet:te-bandwidth/tet:technology:
+--:(flexi-grid)
+--ro supported-bandwidth-list* identityref
augment /nw:networks/nw:network/nw:node/tet:te/ <flexi-grid-transponder>: This item designates a transponder
tet:information-source-entry/tet:connectivity-matrices/ of a node.
tet:connectivity-matrix/tet:path-constraints/tet:te-bandwidth/
tet:technology:
+--:(flexi-grid)
+--ro supported-bandwidth-list* identityref
augment /nw:networks/nw:network/nw:node/tet:te/ <config> ::= <flexi-grid-transponder-attributes-config>
tet:tunnel-termination-point/tet:client-layer-adaptation/
tet:switching-capability/tet:te-bandwidth/tet:technology:
+--:(flexi-grid)
+--rw supported-bandwidth-list* identityref
augment /nw:networks/nw:network/nw:node/tet:te/ <config>: Contains the configuration of a transponder.
tet:tunnel-termination-point/tet:local-link-connectivities/
tet:path-constraints/tet:te-bandwidth/tet:technology:
+--:(flexi-grid)
+--rw supported-bandwidth-list* identityref
augment /nw:networks/nw:network/nw:node/tet:te/ <flexi-grid-transponder-attributes-config> ::=
tet:tunnel-termination-point/tet:local-link-connectivities/ <available-operational-mode> <operational-mode>
tet:local-link-connectivity/tet:path-constraints/
tet:te-bandwidth/tet:technology:
+--:(flexi-grid)
+--rw supported-bandwidth-list* identityref
augment /nw:networks/nw:network/nt:link/tet:te/ <flexi-grid-transponder-attributes>: Contains all the
tet:te-link-attributes/tet:interface-switching-capability/ attributes related to the transponder.
tet:max-lsp-bandwidth/tet:te-bandwidth/tet:technology:
+--:(flexi-grid)
+--rw bandwidth-type? identityref
augment /nw:networks/nw:network/nt:link/tet:te/ <available-operational-mode>: It provides a list of the
tet:te-link-attributes/tet:max-link-bandwidth/tet:te-bandwidth/ operational modes available at this transponder.
tet:technology:
+--:(flexi-grid)
+--rw supported-bandwidth-list* identityref
augment /nw:networks/nw:network/nt:link/tet:te/ <operational-mode>: Determines the type of operational
tet:te-link-attributes/tet:max-resv-link-bandwidth/ mode in use.
tet:te-bandwidth/tet:technology:
+--:(flexi-grid)
+--rw supported-bandwidth-list* identityref
augment /nw:networks/nw:network/nt:link/tet:te/ <state> ::= <flexi-grid-transponder-attributes-config>
tet:te-link-attributes/tet:unreserved-bandwidth/ <flexi-grid-transponder-attributes-state>
tet:te-bandwidth/tet:technology:
+--:(flexi-grid)
+--rw supported-bandwidth-list* identityref
augment /nw:networks/nw:network/nt:link/tet:te/ <state>: Contains the state of a transponder.
tet:information-source-entry/tet:interface-switching-capability/
tet:max-lsp-bandwidth/tet:te-bandwidth/tet:technology:
+--:(flexi-grid)
+--ro bandwidth-type? identityref
augment /nw:networks/nw:network/nt:link/tet:te/ <flexi-grid-transponder-attributes-config>: See above.
tet:information-source-entry/tet:max-link-bandwidth/
tet:te-bandwidth/tet:technology:
+--:(flexi-grid)
+--ro supported-bandwidth-list* identityref
augment /nw:networks/nw:network/nt:link/tet:te/ <flexi-grid-transponder-attributes-state>: Contains the
tet:information-source-entry/tet:max-resv-link-bandwidth/ state of a transponder.
tet:te-bandwidth/tet:technology:
+--:(flexi-grid)
+--ro supported-bandwidth-list* identityref
augment /nw:networks/nw:network/nt:link/tet:te/ <flexi-grid-link> ::= <config> <state>
tet:information-source-entry/tet:unreserved-bandwidth/
tet:te-bandwidth/tet:technology:
+--:(flexi-grid)
+--ro supported-bandwidth-list* identityref
augment /nw:networks/tet:te/tet:templates/tet:link-template/ <flexi-grid-link>: This element describes all the information
tet:te-link-attributes/tet:interface-switching-capability/ of a link.
tet:max-lsp-bandwidth/tet:te-bandwidth/tet:technology:
+--:(flexi-grid) <config> ::= <flexi-grid-link-attributes-config>
+--rw bandwidth-type? identityref <config>: Contains the configuration of a link.
augment /nw:networks/tet:te/tet:templates/tet:link-template/ <flexi-grid-link-attributes-config> ::= <technology-type>
tet:te-link-attributes/tet:max-link-bandwidth/tet:te-bandwidth/ <available-label-flexi-grid> <N-max> <base-frequency>
tet:technology: <nominal-central-frequency-granularity>
+--:(flexi-grid) <slot-width-granularity>
+--rw supported-bandwidth-list* identityref
augment /nw:networks/tet:te/tet:templates/tet:link-template/ <flexi-grid-link-attributes>: Contains all the attributes
tet:te-link-attributes/tet:max-resv-link-bandwidth/ related to the link, such as its unique id, its N value,
tet:te-bandwidth/tet:technology: its latency, etc.
+--:(flexi-grid)
+--rw supported-bandwidth-list* identityref
augment /nw:networks/tet:te/tet:templates/tet:link-template/ <link-id>: Unique id of the link.
tet:te-link-attributes/tet:unreserved-bandwidth/tet:te-bandwidth/
tet:technology:
+--:(flexi-grid)
+--rw supported-bandwidth-list* identityref
augment /nw:networks/nw:network/nw:node/tet:te/ <available-label-flexi-grid>: Array of bits that determines,
tet:te-node-attributes/tet:connectivity-matrices/ with each bit, the availability of each interface for
tet:label-restrictions/tet:label-restriction: flexi-grid technology.
+--rw grid-type? identityref
+--rw priority? uint8
+--rw flexi-grid
+--rw nominal-central-frequency-granularity? identityref
+--rw slot-width-granularity? identityref
+--rw min-slot-width-factor? uint16
+--rw max-slot-width-factor? uint16
augment /nw:networks/nw:network/nw:node/tet:te/ <N-max>: The max value of N in this link, being N the number
tet:te-node-attributes/tet:connectivity-matrices/ of slots.
tet:label-restrictions/tet:label-restriction/tet:label-start/
tet:te-label/tet:technology:
+--:(flexi-grid)
+--rw flexi-n? uint16
augment /nw:networks/nw:network/nw:node/tet:te/ <base-frequency>: The default central frequency used in the
tet:te-node-attributes/tet:connectivity-matrices/ link.
tet:label-restrictions/tet:label-restriction/tet:label-end/
tet:te-label/tet:technology:
+--:(flexi-grid)
+--rw flexi-n? uint16
augment /nw:networks/nw:network/nw:node/tet:te/ <nominal-central-frequency-granularity>: It is the spacing
tet:te-node-attributes/tet:connectivity-matrices/ between allowed nominal central frequencies and it is set
tet:label-restrictions/tet:label-restriction/tet:label-step/ to 6.25 GHz (note: sometimes referred to as 0.00625 THz).
tet:technology:
+--:(flexi-grid)
+--rw flexi? identityref
augment /nw:networks/nw:network/nw:node/tet:te/ <slot-width-granularity>: 12.5 GHz, as defined in G.694.1.
tet:te-node-attributes/tet:connectivity-matrices/tet:underlay/
tet:primary-path/tet:path-element/tet:type/tet:label/tet:label-hop/
tet:te-label/tet:technology:
+--:(flexi-grid)
+--rw (single-or-super-channel)?
+--:(single)
| +--rw flexi-n? uint16
| +--rw flexi-m? uint16
+--:(super)
+--rw subcarrier-flexi-n* [flexi-n]
+--rw flexi-n uint16
+--rw flexi-m? uint16
augment /nw:networks/nw:network/nw:node/tet:te/ <state> ::= <flexi-grid-link-attributes-config>
tet:te-node-attributes/tet:connectivity-matrices/tet:underlay/ <flexi-grid-link-attributes-state>
tet:backup-path/tet:path-element/tet:type/tet:label/tet:label-hop/
tet:te-label/tet:technology:
+--:(flexi-grid)
+--rw (single-or-super-channel)?
+--:(single)
| +--rw flexi-n? uint16
| +--rw flexi-m? uint16
+--:(super)
+--rw subcarrier-flexi-n* [flexi-n]
+--rw flexi-n uint16
+--rw flexi-m? uint16
augment /nw:networks/nw:network/nw:node/tet:te/ <state>: Contains the state of a link.
tet:te-node-attributes/tet:connectivity-matrices/tet:optimizations/
tet:algorithm/tet:metric/tet:optimization-metric/
tet:explicit-route-exclude-objects/tet:route-object-exclude-object/
tet:type/tet:label/tet:label-hop/tet:te-label/tet:technology:
+--:(flexi-grid)
+--rw (single-or-super-channel)?
+--:(single)
| +--rw flexi-n? uint16
| +--rw flexi-m? uint16
+--:(super)
+--rw subcarrier-flexi-n* [flexi-n]
+--rw flexi-n uint16
+--rw flexi-m? uint16
augment /nw:networks/nw:network/nw:node/tet:te/ <flexi-grid-link-attributes-config>: See above.
tet:te-node-attributes/tet:connectivity-matrices/
tet:optimizations/tet:algorithm/tet:metric/tet:optimization-metric/
tet:explicit-route-include-objects/tet:route-object-include-object/
tet:type/tet:label/tet:label-hop/tet:te-label/tet:technology:
+--:(flexi-grid)
+--rw (single-or-super-channel)?
+--:(single)
| +--rw flexi-n? uint16
| +--rw flexi-m? uint16
+--:(super)
+--rw subcarrier-flexi-n* [flexi-n]
+--rw flexi-n uint16
+--rw flexi-m? uint16
augment /nw:networks/nw:network/nw:node/tet:te/ <flexi-grid-link-attributes-state>: Contains all the
tet:te-node-attributes/tet:connectivity-matrices/ information related to the state of a link.
tet:path-properties/tet:path-route-objects/tet:path-route-object/
tet:type/tet:label/tet:label-hop/tet:te-label/tet:technology:
+--:(flexi-grid)
+--ro (single-or-super-channel)?
+--:(single)
| +--ro flexi-n? uint16
| +--ro flexi-m? uint16
+--:(super)
+--ro subcarrier-flexi-n* [flexi-n]
+--ro flexi-n uint16
+--ro flexi-m? uint16
augment /nw:networks/nw:network/nw:node/tet:te/ <flexi-grid-transponder> ::= <transponder-type> <config> <state>
tet:te-node-attributes/tet:connectivity-matrices/
tet:connectivity-matrix/tet:from/tet:label-restrictions/
tet:label-restriction:
+--rw grid-type? identityref
+--rw priority? uint8
+--rw flexi-grid
+--rw nominal-central-frequency-granularity? identityref
+--rw slot-width-granularity? identityref
+--rw min-slot-width-factor? uint16
+--rw max-slot-width-factor? uint16
augment /nw:networks/nw:network/nw:node/tet:te/ <flexi-grid-transponder>: This item designates a transponder
tet:te-node-attributes/tet:connectivity-matrices/ of a node.
tet:connectivity-matrix/tet:from/tet:label-restrictions/
tet:label-restriction/tet:label-start/tet:te-label/tet:technology:
+--:(flexi-grid)
+--rw flexi-n? uint16
augment /nw:networks/nw:network/nw:node/tet:te/ <config> ::= <flexi-grid-transponder-attributes-config>
tet:te-node-attributes/tet:connectivity-matrices/
tet:connectivity-matrix/tet:from/tet:label-restrictions/
tet:label-restriction/tet:label-end/tet:te-label/tet:technology:
+--:(flexi-grid)
+--rw flexi-n? uint16
augment /nw:networks/nw:network/nw:node/tet:te/ <config>: Contains the configuration of a transponder.
tet:te-node-attributes/tet:connectivity-matrices/
tet:connectivity-matrix/tet:from/tet:label-restrictions/
tet:label-restriction/tet:label-step/tet:technology:
+--:(flexi-grid)
+--rw flexi? identityref
augment /nw:networks/nw:network/nw:node/tet:te/ <flexi-grid-transponder-attributes-config> ::=
tet:te-node-attributes/tet:connectivity-matrices/ <available-operational-mode> <operational-mode>
tet:connectivity-matrix/tet:to/tet:label-restrictions/
tet:label-restriction:
+--rw grid-type? identityref
+--rw priority? uint8
+--rw flexi-grid
+--rw nominal-central-frequency-granularity? identityref
+--rw slot-width-granularity? identityref
+--rw min-slot-width-factor? uint16
+--rw max-slot-width-factor? uint16
augment /nw:networks/nw:network/nw:node/tet:te/ <flexi-grid-transponder-attributes>: Contains all the
tet:te-node-attributes/tet:connectivity-matrices/ attributes related to the transponder.
tet:connectivity-matrix/tet:to/tet:label-restrictions/
tet:label-restriction/tet:label-start/tet:te-label/tet:technology:
+--:(flexi-grid)
+--rw flexi-n? uint16
augment /nw:networks/nw:network/nw:node/tet:te/ <available-operational-mode>: It provides a list of the
tet:te-node-attributes/tet:connectivity-matrices/ operational modes available at this transponder.
tet:connectivity-matrix/tet:to/tet:label-restrictions/
tet:label-restriction/tet:label-end/tet:te-label/tet:technology:
+--:(flexi-grid)
+--rw flexi-n? uint16
augment /nw:networks/nw:network/nw:node/tet:te/ <operational-mode>: Determines the type of operational mode
tet:te-node-attributes/tet:connectivity-matrices/ in use.
tet:connectivity-matrix/tet:to/tet:label-restrictions/
tet:label-restriction/tet:label-step/tet:technology:
+--:(flexi-grid)
+--rw flexi? identityref
augment /nw:networks/nw:network/nw:node/tet:te/ <state> ::= <flexi-grid-transponder-attributes-config>
tet:te-node-attributes/tet:connectivity-matrices/ <flexi-grid-transponder-attributes-state>
tet:connectivity-matrix/tet:underlay/tet:primary-path/
tet:path-element/tet:type/tet:label/tet:label-hop/tet:te-label/
tet:technology:
+--:(flexi-grid) <state>: Contains the state of a transponder.
+--rw (single-or-super-channel)?
+--:(single)
| +--rw flexi-n? uint16
| +--rw flexi-m? uint16
+--:(super)
+--rw subcarrier-flexi-n* [flexi-n]
+--rw flexi-n uint16
+--rw flexi-m? uint16
augment /nw:networks/nw:network/nw:node/tet:te/ <flexi-grid-transponder-attributes-config>: See above.
tet:te-node-attributes/tet:connectivity-matrices/
tet:connectivity-matrix/tet:underlay/tet:backup-path/
tet:path-element/tet:type/tet:label/tet:label-hop/tet:te-label/
tet:technology:
+--:(flexi-grid)
+--rw (single-or-super-channel)?
+--:(single)
| +--rw flexi-n? uint16
| +--rw flexi-m? uint16
+--:(super)
+--rw subcarrier-flexi-n* [flexi-n]
+--rw flexi-n uint16
+--rw flexi-m? uint16
augment /nw:networks/nw:network/nw:node/tet:te/ <flexi-grid-transponder-attributes-state>: Contains the
tet:te-node-attributes/tet:connectivity-matrices/ state of a transponder.
tet:connectivity-matrix/tet:optimizations/tet:algorithm/tet:metric/
tet:optimization-metric/tet:explicit-route-exclude-objects/
tet:route-object-exclude-object/tet:type/tet:label/tet:label-hop/
tet:te-label/tet:technology:
+--:(flexi-grid)
+--rw (single-or-super-channel)?
+--:(single)
| +--rw flexi-n? uint16
| +--rw flexi-m? uint16
+--:(super)
+--rw subcarrier-flexi-n* [flexi-n]
+--rw flexi-n uint16
+--rw flexi-m? uint16
augment /nw:networks/nw:network/nw:node/tet:te/ <flexi-grid-link> ::= <config> <state>
tet:te-node-attributes/tet:connectivity-matrices/
tet:connectivity-matrix/tet:optimizations/tet:algorithm/
tet:metric/tet:optimization-metric/
tet:explicit-route-include-objects/tet:route-object-include-object/
tet:type/tet:label/tet:label-hop/tet:te-label/tet:technology:
+--:(flexi-grid)
+--rw (single-or-super-channel)?
+--:(single)
| +--rw flexi-n? uint16
| +--rw flexi-m? uint16
+--:(super)
+--rw subcarrier-flexi-n* [flexi-n]
+--rw flexi-n uint16
+--rw flexi-m? uint16
augment /nw:networks/nw:network/nw:node/tet:te/ <flexi-grid-link>: This element describes all the information
tet:te-node-attributes/tet:connectivity-matrices/ of a link.
tet:connectivity-matrix/tet:path-properties/
tet:path-route-objects/tet:path-route-object/tet:type/tet:label/
tet:label-hop/tet:te-label/tet:technology:
+--:(flexi-grid)
+--ro (single-or-super-channel)?
+--:(single)
| +--ro flexi-n? uint16
| +--ro flexi-m? uint16
+--:(super)
+--ro subcarrier-flexi-n* [flexi-n]
+--ro flexi-n uint16
+--ro flexi-m? uint16
augment /nw:networks/nw:network/nw:node/tet:te/ <config> ::= <flexi-grid-link-attributes-config>
tet:information-source-entry/tet:connectivity-matrices/
tet:label-restrictions/tet:label-restriction:
+--ro grid-type? identityref
+--ro priority? uint8
+--ro flexi-grid
+--ro nominal-central-frequency-granularity? identityref
+--ro slot-width-granularity? identityref
+--ro min-slot-width-factor? uint16
+--ro max-slot-width-factor? uint16
augment /nw:networks/nw:network/nw:node/tet:te/ <config>: Contains the configuration of a link.
tet:information-source-entry/tet:connectivity-matrices/
tet:label-restrictions/tet:label-restriction/tet:label-start/
tet:te-label/tet:technology:
+--:(flexi-grid)
+--ro flexi-n? uint16
augment /nw:networks/nw:network/nw:node/tet:te/ <flexi-grid-link-attributes-config> ::= <technology-type>
tet:information-source-entry/tet:connectivity-matrices/ <available-label-flexi-grid> <N-max> <base-frequency>
tet:label-restrictions/tet:label-restriction/tet:label-end/ <nominal-central-frequency-granularity>
tet:te-label/tet:technology: <slot-width-granularity>
+--:(flexi-grid)
+--ro flexi-n? uint16
augment /nw:networks/nw:network/nw:node/tet:te/ <flexi-grid-link-attributes>: Contains all the attributes
tet:information-source-entry/tet:connectivity-matrices/ related to the link, such as its unique id, its N value,
tet:label-restrictions/tet:label-restriction/tet:label-step/ its latency, etc.
tet:technology:
+--:(flexi-grid)
+--ro flexi? identityref
augment /nw:networks/nw:network/nw:node/tet:te/ <link-id>: Unique id of the link.
tet:information-source-entry/tet:connectivity-matrices/
tet:underlay/tet:primary-path/tet:path-element/tet:type/
tet:label/tet:label-hop/tet:te-label/tet:technology:
+--:(flexi-grid)
+--ro (single-or-super-channel)?
+--:(single)
| +--ro flexi-n? uint16
| +--ro flexi-m? uint16
+--:(super)
+--ro subcarrier-flexi-n* [flexi-n]
+--ro flexi-n uint16
+--ro flexi-m? uint16
augment /nw:networks/nw:network/nw:node/tet:te/ <available-label-flexi-grid>: Array of bits that determines,
tet:information-source-entry/tet:connectivity-matrices/ with each bit, the availability of each interface for
tet:underlay/tet:backup-path/tet:path-element/tet:type/tet:label/ flexi-grid technology.
tet:label-hop/tet:te-label/tet:technology:
+--:(flexi-grid)
+--ro (single-or-super-channel)?
+--:(single)
| +--ro flexi-n? uint16
| +--ro flexi-m? uint16
+--:(super)
+--ro subcarrier-flexi-n* [flexi-n]
+--ro flexi-n uint16
+--ro flexi-m? uint16
augment /nw:networks/nw:network/nw:node/tet:te/ <N-max>: The max value of N in this link, being N the number
tet:information-source-entry/tet:connectivity-matrices/ of slots.
tet:optimizations/tet:algorithm/tet:metric/tet:optimization-metric/
tet:explicit-route-exclude-objects/tet:route-object-exclude-object/
tet:type/tet:label/tet:label-hop/tet:te-label/tet:technology:
+--:(flexi-grid)
+--ro (single-or-super-channel)?
+--:(single)
| +--ro flexi-n? uint16
| +--ro flexi-m? uint16
+--:(super)
+--ro subcarrier-flexi-n* [flexi-n]
+--ro flexi-n uint16
+--ro flexi-m? uint16
augment /nw:networks/nw:network/nw:node/tet:te/ <base-frequency>: The default central frequency used in the
tet:information-source-entry/tet:connectivity-matrices/ link.
tet:optimizations/tet:algorithm/tet:metric/tet:optimization-metric/
tet:explicit-route-include-objects/tet:route-object-include-object/
tet:type/tet:label/tet:label-hop/tet:te-label/tet:technology:
+--:(flexi-grid)
+--ro (single-or-super-channel)?
+--:(single)
| +--ro flexi-n? uint16
| +--ro flexi-m? uint16
+--:(super)
+--ro subcarrier-flexi-n* [flexi-n]
+--ro flexi-n uint16
+--ro flexi-m? uint16
augment /nw:networks/nw:network/nw:node/tet:te/ <nominal-central-frequency-granularity>: It is the spacing
tet:information-source-entry/tet:connectivity-matrices/ between allowed nominal central frequencies and it is set
tet:path-properties/tet:path-route-objects/tet:path-route-object/ to 6.25 GHz (note: sometimes referred to as 0.00625 THz).
tet:type/tet:label/tet:label-hop/tet:te-label/tet:technology:
+--:(flexi-grid)
+--ro (single-or-super-channel)?
+--:(single)
| +--ro flexi-n? uint16
| +--ro flexi-m? uint16
+--:(super)
+--ro subcarrier-flexi-n* [flexi-n]
+--ro flexi-n uint16
+--ro flexi-m? uint16
augment /nw:networks/nw:network/nw:node/tet:te/ <slot-width-granularity>: 12.5 GHz, as defined in G.694.1.
tet:information-source-entry/tet:connectivity-matrices/
tet:connectivity-matrix/tet:from/tet:label-restrictions/
tet:label-restriction:
+--ro grid-type? identityref
+--ro priority? uint8
+--ro flexi-grid
+--ro nominal-central-frequency-granularity? identityref
+--ro slot-width-granularity? identityref
+--ro min-slot-width-factor? uint16
+--ro max-slot-width-factor? uint16
augment /nw:networks/nw:network/nw:node/tet:te/ <state> ::= <flexi-grid-link-attributes-config>
tet:information-source-entry/tet:connectivity-matrices/ <flexi-grid-link-attributes-state>
tet:connectivity-matrix/tet:from/tet:label-restrictions/
tet:label-restriction/tet:label-start/tet:te-label/tet:technology:
+--:(flexi-grid)
+--ro flexi-n? uint16
augment /nw:networks/nw:network/nw:node/tet:te/ <state>: Contains the state of a link.
tet:information-source-entry/tet:connectivity-matrices/
tet:connectivity-matrix/tet:from/tet:label-restrictions/
tet:label-restriction/tet:label-end/tet:te-label/tet:technology:
+--:(flexi-grid)
+--ro flexi-n? uint16
augment /nw:networks/nw:network/nw:node/tet:te/ <flexi-grid-link-attributes-config>: See above.
tet:information-source-entry/tet:connectivity-matrices/
tet:connectivity-matrix/tet:from/tet:label-restrictions/
tet:label-restriction/tet:label-step/tet:technology:
+--:(flexi-grid)
+--ro flexi? identityref
augment /nw:networks/nw:network/nw:node/tet:te/ <flexi-grid-link-attributes-state>: Contains all the
tet:information-source-entry/tet:connectivity-matrices/ information related to the state of a link.
tet:connectivity-matrix/tet:to/tet:label-restrictions/
tet:label-restriction:
+--ro grid-type? identityref
+--ro priority? uint8
+--ro flexi-grid
+--ro nominal-central-frequency-granularity? identityref
+--ro slot-width-granularity? identityref
+--ro min-slot-width-factor? uint16
+--ro max-slot-width-factor? uint16
augment /nw:networks/nw:network/nw:node/tet:te/ 6. Example of Use
tet:information-source-entry/tet:connectivity-matrices/
tet:connectivity-matrix/tet:to/tet:label-restrictions/
tet:label-restriction/tet:label-start/tet:te-label/tet:technology:
+--:(flexi-grid)
+--ro flexi-n? uint16
augment /nw:networks/nw:network/nw:node/tet:te/ In order to explain how this model is used, we provide the following
tet:information-source-entry/tet:connectivity-matrices/ example. An optical network usually has multiple transponders,
tet:connectivity-matrix/tet:to/tet:label-restrictions/ switches (nodes) and links between them. Figure 1 shows a simple
tet:label-restriction/tet:label-end/tet:te-label/tet:technology: topology, where two physical paths interconnect two optical
+--:(flexi-grid) transponders.
+--ro flexi-n? uint16
augment /nw:networks/nw:network/nw:node/tet:te/ Media channel
tet:information-source-entry/tet:connectivity-matrices/ <==================================================>
tet:connectivity-matrix/tet:to/tet:label-restrictions/ Path x
tet:label-restriction/tet:label-step/tet:technology: <-------------------------------------------------->
+--:(flexi-grid) +----------+ +----------+
+--ro flexi? identityref Link 1 |Flexi-grid| Link 2 |Flexi-grid| Link 3
.--->| node |<-------->| node |<---.
| | B | | C | |
| +----------+ +----------+ |
v v
/-----------\ /-----------\
/ Flexi-grid \ / Flexi-grid \
| transponder | | transponder |
\ A / \ E /
\-----------/ \-----------/
^ ^
| +----------+ |
| Link 4 |Flexi-grid| Link 5 |
'------------>| node |<-----------'
| D |
+----------+
<-------------------------------------------------->
Path y
augment /nw:networks/nw:network/nw:node/tet:te/ Figure 3: Topology Example
tet:information-source-entry/tet:connectivity-matrices/
tet:connectivity-matrix/tet:underlay/tet:primary-path/
tet:path-element/tet:type/tet:label/tet:label-hop/tet:te-label/
tet:technology:
+--:(flexi-grid)
+--ro (single-or-super-channel)?
+--:(single)
| +--ro flexi-n? uint16
| +--ro flexi-m? uint16
+--:(super)
+--ro subcarrier-flexi-n* [flexi-n]
+--ro flexi-n uint16
+--ro flexi-m? uint16
augment /nw:networks/nw:network/nw:node/tet:te/ In order to configure a media channel to interconnect transponders A
tet:information-source-entry/tet:connectivity-matrices/ and E, first of all we have to populate the flexi-grid topology YANG
tet:connectivity-matrix/tet:underlay/tet:backup-path/ model with all elements in the network:
tet:path-element/tet:type/tet:label/tet:label-hop/tet:te-label/
tet:technology:
+--:(flexi-grid)
+--ro (single-or-super-channel)?
+--:(single)
| +--ro flexi-n? uint16
| +--ro flexi-m? uint16
+--:(super)
+--ro subcarrier-flexi-n* [flexi-n]
+--ro flexi-n uint16
+--ro flexi-m? uint16
augment /nw:networks/nw:network/nw:node/tet:te/ o We define the transponders A and E, including their FEC type, if
tet:information-source-entry/tet:connectivity-matrices/ enabled, and modulation type. We also provide node identifiers
tet:connectivity-matrix/tet:optimizations/tet:algorithm/ and addresses for the transponders, as well as interfaces included
tet:metric/tet:optimization-metric/ in the transponders. Sliceable transponders can also be defined
tet:explicit-route-exclude-objects/ if needed.
tet:route-object-exclude-object/tet:type/tet:label/tet:label-hop/
tet:te-label/tet:technology:
+--:(flexi-grid)
+--ro (single-or-super-channel)?
+--:(single)
| +--ro flexi-n? uint16
| +--ro flexi-m? uint16
+--:(super)
+--ro subcarrier-flexi-n* [flexi-n]
+--ro flexi-n uint16
+--ro flexi-m? uint16
augment /nw:networks/nw:network/nw:node/tet:te/ o We do the same for the nodes B, C and D, providing their
tet:information-source-entry/tet:connectivity-matrices/ identifiers, addresses and interfaces, as well as the internal
tet:connectivity-matrix/tet:optimizations/tet:algorithm/ connectivity matrix between interfaces.
tet:metric/tet:optimization-metric/
tet:explicit-route-include-objects/
tet:route-object-include-object/tet:type/tet:label/tet:label-hop/
tet:te-label/tet:technology:
+--:(flexi-grid)
+--ro (single-or-super-channel)?
+--:(single)
| +--ro flexi-n? uint16
| +--ro flexi-m? uint16
+--:(super)
+--ro subcarrier-flexi-n* [flexi-n]
+--ro flexi-n uint16
+--ro flexi-m? uint16
augment /nw:networks/nw:network/nw:node/tet:te/ o Then, we also define the links 1 to 5 that interconnect nodes and
tet:information-source-entry/tet:connectivity-matrices/ transponders, indicating which flexi-grid labels are available.
tet:connectivity-matrix/tet:path-properties/
tet:path-route-objects/tet:path-route-object/tet:type/tet:label/
tet:label-hop/tet:te-label/tet:technology:
+--:(flexi-grid)
+--ro (single-or-super-channel)?
+--:(single)
| +--ro flexi-n? uint16
| +--ro flexi-m? uint16
+--:(super)
+--ro subcarrier-flexi-n* [flexi-n]
+--ro flexi-n uint16
+--ro flexi-m? uint16
augment /nw:networks/nw:network/nw:node/tet:te/ o Other information, such as the slot frequency and granularity are
tet:tunnel-termination-point/tet:local-link-connectivities/ also provided.
tet:label-restrictions/tet:label-restriction:
+--rw grid-type? identityref
+--rw priority? uint8
+--rw flexi-grid
+--rw nominal-central-frequency-granularity? identityref
+--rw slot-width-granularity? identityref
+--rw min-slot-width-factor? uint16
+--rw max-slot-width-factor? uint16
augment /nw:networks/nw:network/nw:node/tet:te/ o Next, we can configure the media channel from the information we
tet:tunnel-termination-point/tet:local-link-connectivities/ have stored in the flexi-grid TED, by querying which elements are
tet:label-restrictions/tet:label-restriction/tet:label-start/ available, and planning the resources that have to be provided on
tet:te-label/tet:technology: each situation. Note that every element in the flexi-grid TED has
+--:(flexi-grid) a reference, and this is the way in which they are called in the
+--rw flexi-n? uint16 media channel. We refer to
[I-D.ietf-ccamp-flexigrid-media-channel-yang] to complete this
example.
augment /nw:networks/nw:network/nw:node/tet:te/ 7. YANG Model (Tree Structure) for Flexi-grid topology
tet:tunnel-termination-point/tet:local-link-connectivities/
tet:label-restrictions/tet:label-restriction/tet:label-end/
tet:te-label/tet:technology:
+--:(flexi-grid)
+--rw flexi-n? uint16
augment /nw:networks/nw:network/nw:node/tet:te/ module: ietf-flexi-grid-topology
tet:tunnel-termination-point/tet:local-link-connectivities/ augment /nw:networks/nw:network/nw:network-types/tet:te-topology:
tet:label-restrictions/tet:label-restriction/tet:label-step/ +--rw flexi-grid-topology!
tet:technology: augment /nw:networks/nw:network/nw:node/tet:te
+--:(flexi-grid) /tet:te-node-attributes:
+--rw flexi? identityref +--rw flexi-grid-node!
augment /nw:networks/nw:network/nw:node/tet:te
/tet:te-node-attributes/tet:connectivity-matrices
/tet:label-restrictions/tet:label-restriction:
+--rw grid-type? identityref
+--rw priority? uint8
+--rw flexi-grid
+--rw slot-width-granularity? identityref
+--rw min-slot-width-factor? uint16
+--rw max-slot-width-factor? uint16
augment /nw:networks/nw:network/nw:node/tet:te
/tet:te-node-attributes/tet:connectivity-matrices
/tet:connectivity-matrix/tet:from/tet:label-restrictions
/tet:label-restriction:
+--rw grid-type? identityref
+--rw priority? uint8
+--rw flexi-grid
+--rw slot-width-granularity? identityref
+--rw min-slot-width-factor? uint16
+--rw max-slot-width-factor? uint16
augment /nw:networks/nw:network/nw:node/tet:te
/tet:te-node-attributes/tet:connectivity-matrices
/tet:connectivity-matrix/tet:to/tet:label-restrictions
/tet:label-restriction:
+--rw grid-type? identityref
+--rw priority? uint8
+--rw flexi-grid
+--rw slot-width-granularity? identityref
+--rw min-slot-width-factor? uint16
+--rw max-slot-width-factor? uint16
augment /nw:networks/nw:network/nw:node/tet:te
/tet:information-source-entry/tet:connectivity-matrices
/tet:label-restrictions/tet:label-restriction:
+--ro grid-type? identityref
+--ro priority? uint8
+--ro flexi-grid
+--ro slot-width-granularity? identityref
+--ro min-slot-width-factor? uint16
+--ro max-slot-width-factor? uint16
augment /nw:networks/nw:network/nw:node/tet:te
/tet:information-source-entry/tet:connectivity-matrices
/tet:connectivity-matrix/tet:from/tet:label-restrictions
/tet:label-restriction:
+--ro grid-type? identityref
+--ro priority? uint8
+--ro flexi-grid
+--ro slot-width-granularity? identityref
+--ro min-slot-width-factor? uint16
+--ro max-slot-width-factor? uint16
augment /nw:networks/nw:network/nw:node/tet:te
/tet:information-source-entry/tet:connectivity-matrices
/tet:connectivity-matrix/tet:to/tet:label-restrictions
/tet:label-restriction:
+--ro grid-type? identityref
+--ro priority? uint8
+--ro flexi-grid
+--ro slot-width-granularity? identityref
+--ro min-slot-width-factor? uint16
+--ro max-slot-width-factor? uint16
augment /nw:networks/nw:network/nw:node/tet:te
/tet:tunnel-termination-point
/tet:local-link-connectivities/tet:label-restrictions
/tet:label-restriction:
+--rw grid-type? identityref
+--rw priority? uint8
+--rw flexi-grid
+--rw slot-width-granularity? identityref
+--rw min-slot-width-factor? uint16
+--rw max-slot-width-factor? uint16
augment /nw:networks/nw:network/nw:node/tet:te
/tet:tunnel-termination-point
/tet:local-link-connectivities
/tet:local-link-connectivity/tet:label-restrictions
/tet:label-restriction:
+--rw grid-type? identityref
+--rw priority? uint8
+--rw flexi-grid
+--rw slot-width-granularity? identityref
+--rw min-slot-width-factor? uint16
+--rw max-slot-width-factor? uint16
augment /nw:networks/nw:network/nt:link/tet:te
/tet:te-link-attributes/tet:label-restrictions
/tet:label-restriction:
+--rw grid-type? identityref
+--rw priority? uint8
+--rw flexi-grid
+--rw slot-width-granularity? identityref
+--rw min-slot-width-factor? uint16
+--rw max-slot-width-factor? uint16
augment /nw:networks/nw:network/nt:link/tet:te
/tet:information-source-entry/tet:label-restrictions
/tet:label-restriction:
+--ro grid-type? identityref
+--ro priority? uint8
+--ro flexi-grid
+--ro slot-width-granularity? identityref
+--ro min-slot-width-factor? uint16
+--ro max-slot-width-factor? uint16
augment /nw:networks/tet:te/tet:templates/tet:link-template
/tet:te-link-attributes/tet:label-restrictions
/tet:label-restriction:
+--rw grid-type? identityref
+--rw priority? uint8
+--rw flexi-grid
+--rw slot-width-granularity? identityref
+--rw min-slot-width-factor? uint16
+--rw max-slot-width-factor? uint16
augment /nw:networks/nw:network/nw:node/tet:te
/tet:te-node-attributes/tet:connectivity-matrices
/tet:label-restrictions/tet:label-restriction
/tet:label-start/tet:te-label/tet:technology:
+--:(flexi-grid)
+--rw flexi-n? l0-types:flexi-n
augment /nw:networks/nw:network/nw:node/tet:te
/tet:te-node-attributes/tet:connectivity-matrices
/tet:label-restrictions/tet:label-restriction
/tet:label-end/tet:te-label/tet:technology:
+--:(flexi-grid)
+--rw flexi-n? l0-types:flexi-n
augment /nw:networks/nw:network/nw:node/tet:te
/tet:te-node-attributes/tet:connectivity-matrices
/tet:label-restrictions/tet:label-restriction
/tet:label-step/tet:technology:
+--:(flexi-grid)
+--rw flexi-grid-channel-spacing? identityref
+--rw flexi-n-step? uint8
augment /nw:networks/nw:network/nw:node/tet:te
/tet:te-node-attributes/tet:connectivity-matrices
/tet:underlay/tet:primary-path/tet:path-element/tet:type
/tet:label/tet:label-hop/tet:te-label/tet:technology:
+--:(flexi-grid)
+--rw (single-or-super-channel)?
+--:(single)
| +--rw flexi-n? l0-types:flexi-n
| +--rw flexi-m? l0-types:flexi-m
+--:(super)
+--rw subcarrier-flexi-n* [flexi-n]
+--rw flexi-n l0-types:flexi-n
+--rw flexi-m? l0-types:flexi-m
augment /nw:networks/nw:network/nw:node/tet:te
/tet:te-node-attributes/tet:connectivity-matrices
/tet:underlay/tet:backup-path/tet:path-element/tet:type
/tet:label/tet:label-hop/tet:te-label/tet:technology:
+--:(flexi-grid)
+--rw (single-or-super-channel)?
+--:(single)
| +--rw flexi-n? l0-types:flexi-n
| +--rw flexi-m? l0-types:flexi-m
+--:(super)
+--rw subcarrier-flexi-n* [flexi-n]
+--rw flexi-n l0-types:flexi-n
+--rw flexi-m? l0-types:flexi-m
augment /nw:networks/nw:network/nw:node/tet:te
/tet:te-node-attributes/tet:connectivity-matrices
/tet:optimizations/tet:algorithm/tet:metric
/tet:optimization-metric
/tet:explicit-route-exclude-objects
/tet:route-object-exclude-object/tet:type/tet:label
/tet:label-hop/tet:te-label/tet:technology:
+--:(flexi-grid)
+--rw (single-or-super-channel)?
+--:(single)
| +--rw flexi-n? l0-types:flexi-n
| +--rw flexi-m? l0-types:flexi-m
+--:(super)
+--rw subcarrier-flexi-n* [flexi-n]
+--rw flexi-n l0-types:flexi-n
+--rw flexi-m? l0-types:flexi-m
augment /nw:networks/nw:network/nw:node/tet:te
/tet:te-node-attributes/tet:connectivity-matrices
/tet:optimizations/tet:algorithm/tet:metric
/tet:optimization-metric
/tet:explicit-route-include-objects
/tet:route-object-include-object/tet:type/tet:label
/tet:label-hop/tet:te-label/tet:technology:
augment /nw:networks/nw:network/nw:node/tet:te/ +--:(flexi-grid)
tet:tunnel-termination-point/tet:local-link-connectivities/ +--rw (single-or-super-channel)?
tet:underlay/tet:primary-path/tet:path-element/tet:type/tet:label/ +--:(single)
tet:label-hop/tet:te-label/tet:technology: | +--rw flexi-n? l0-types:flexi-n
+--:(flexi-grid) | +--rw flexi-m? l0-types:flexi-m
+--rw (single-or-super-channel)? +--:(super)
+--:(single) +--rw subcarrier-flexi-n* [flexi-n]
| +--rw flexi-n? uint16 +--rw flexi-n l0-types:flexi-n
| +--rw flexi-m? uint16 +--rw flexi-m? l0-types:flexi-m
+--:(super) augment /nw:networks/nw:network/nw:node/tet:te
+--rw subcarrier-flexi-n* [flexi-n] /tet:te-node-attributes/tet:connectivity-matrices
+--rw flexi-n uint16 /tet:path-properties/tet:path-route-objects
+--rw flexi-m? uint16 /tet:path-route-object/tet:type/tet:label/tet:label-hop
/tet:te-label/tet:technology:
+--:(flexi-grid)
+--ro (single-or-super-channel)?
+--:(single)
| +--ro flexi-n? l0-types:flexi-n
| +--ro flexi-m? l0-types:flexi-m
+--:(super)
+--ro subcarrier-flexi-n* [flexi-n]
+--ro flexi-n l0-types:flexi-n
+--ro flexi-m? l0-types:flexi-m
augment /nw:networks/nw:network/nw:node/tet:te
/tet:te-node-attributes/tet:connectivity-matrices
/tet:connectivity-matrix/tet:from/tet:label-restrictions
/tet:label-restriction/tet:label-start/tet:te-label
/tet:technology:
+--:(flexi-grid)
+--rw flexi-n? l0-types:flexi-n
augment /nw:networks/nw:network/nw:node/tet:te
/tet:te-node-attributes/tet:connectivity-matrices
/tet:connectivity-matrix/tet:from/tet:label-restrictions
/tet:label-restriction/tet:label-end/tet:te-label
/tet:technology:
+--:(flexi-grid)
+--rw flexi-n? l0-types:flexi-n
augment /nw:networks/nw:network/nw:node/tet:te
/tet:te-node-attributes/tet:connectivity-matrices
/tet:connectivity-matrix/tet:from/tet:label-restrictions
/tet:label-restriction/tet:label-step/tet:technology:
+--:(flexi-grid)
+--rw flexi-grid-channel-spacing? identityref
+--rw flexi-n-step? uint8
augment /nw:networks/nw:network/nw:node/tet:te
/tet:te-node-attributes/tet:connectivity-matrices
/tet:connectivity-matrix/tet:to/tet:label-restrictions
/tet:label-restriction/tet:label-start/tet:te-label
/tet:technology:
+--:(flexi-grid)
+--rw flexi-n? l0-types:flexi-n
augment /nw:networks/nw:network/nw:node/tet:te
/tet:te-node-attributes/tet:connectivity-matrices
/tet:connectivity-matrix/tet:to/tet:label-restrictions
/tet:label-restriction/tet:label-end/tet:te-label
/tet:technology:
+--:(flexi-grid)
+--rw flexi-n? l0-types:flexi-n
augment /nw:networks/nw:network/nw:node/tet:te
/tet:te-node-attributes/tet:connectivity-matrices
/tet:connectivity-matrix/tet:to/tet:label-restrictions
/tet:label-restriction/tet:label-step/tet:technology:
+--:(flexi-grid)
+--rw flexi-grid-channel-spacing? identityref
+--rw flexi-n-step? uint8
augment /nw:networks/nw:network/nw:node/tet:te
/tet:te-node-attributes/tet:connectivity-matrices
/tet:connectivity-matrix/tet:underlay/tet:primary-path
/tet:path-element/tet:type/tet:label/tet:label-hop
/tet:te-label/tet:technology:
+--:(flexi-grid)
+--rw (single-or-super-channel)?
+--:(single)
| +--rw flexi-n? l0-types:flexi-n
| +--rw flexi-m? l0-types:flexi-m
+--:(super)
+--rw subcarrier-flexi-n* [flexi-n]
+--rw flexi-n l0-types:flexi-n
+--rw flexi-m? l0-types:flexi-m
augment /nw:networks/nw:network/nw:node/tet:te
/tet:te-node-attributes/tet:connectivity-matrices
/tet:connectivity-matrix/tet:underlay/tet:backup-path
/tet:path-element/tet:type/tet:label/tet:label-hop
/tet:te-label/tet:technology:
+--:(flexi-grid)
+--rw (single-or-super-channel)?
+--:(single)
| +--rw flexi-n? l0-types:flexi-n
| +--rw flexi-m? l0-types:flexi-m
+--:(super)
+--rw subcarrier-flexi-n* [flexi-n]
+--rw flexi-n l0-types:flexi-n
+--rw flexi-m? l0-types:flexi-m
augment /nw:networks/nw:network/nw:node/tet:te
/tet:te-node-attributes/tet:connectivity-matrices
/tet:connectivity-matrix/tet:optimizations/tet:algorithm
/tet:metric/tet:optimization-metric
/tet:explicit-route-exclude-objects
/tet:route-object-exclude-object/tet:type/tet:label
/tet:label-hop/tet:te-label/tet:technology:
+--:(flexi-grid)
+--rw (single-or-super-channel)?
+--:(single)
| +--rw flexi-n? l0-types:flexi-n
| +--rw flexi-m? l0-types:flexi-m
+--:(super)
+--rw subcarrier-flexi-n* [flexi-n]
+--rw flexi-n l0-types:flexi-n
+--rw flexi-m? l0-types:flexi-m
augment /nw:networks/nw:network/nw:node/tet:te
/tet:te-node-attributes/tet:connectivity-matrices
/tet:connectivity-matrix/tet:optimizations/tet:algorithm
/tet:metric/tet:optimization-metric
/tet:explicit-route-include-objects
/tet:route-object-include-object/tet:type/tet:label
/tet:label-hop/tet:te-label/tet:technology:
+--:(flexi-grid)
+--rw (single-or-super-channel)?
+--:(single)
| +--rw flexi-n? l0-types:flexi-n
| +--rw flexi-m? l0-types:flexi-m
+--:(super)
+--rw subcarrier-flexi-n* [flexi-n]
+--rw flexi-n l0-types:flexi-n
+--rw flexi-m? l0-types:flexi-m
augment /nw:networks/nw:network/nw:node/tet:te
/tet:te-node-attributes/tet:connectivity-matrices
/tet:connectivity-matrix/tet:path-properties
/tet:path-route-objects/tet:path-route-object/tet:type
/tet:label/tet:label-hop/tet:te-label/tet:technology:
+--:(flexi-grid)
+--ro (single-or-super-channel)?
+--:(single)
| +--ro flexi-n? l0-types:flexi-n
| +--ro flexi-m? l0-types:flexi-m
+--:(super)
+--ro subcarrier-flexi-n* [flexi-n]
+--ro flexi-n l0-types:flexi-n
+--ro flexi-m? l0-types:flexi-m
augment /nw:networks/nw:network/nw:node/tet:te
/tet:information-source-entry/tet:connectivity-matrices
/tet:label-restrictions/tet:label-restriction
/tet:label-start/tet:te-label/tet:technology:
+--:(flexi-grid)
+--ro flexi-n? l0-types:flexi-n
augment /nw:networks/nw:network/nw:node/tet:te
/tet:information-source-entry/tet:connectivity-matrices
/tet:label-restrictions/tet:label-restriction
/tet:label-end/tet:te-label/tet:technology:
+--:(flexi-grid)
+--ro flexi-n? l0-types:flexi-n
augment /nw:networks/nw:network/nw:node/tet:te
/tet:information-source-entry/tet:connectivity-matrices
/tet:label-restrictions/tet:label-restriction
/tet:label-step/tet:technology:
+--:(flexi-grid)
+--ro flexi-grid-channel-spacing? identityref
+--ro flexi-n-step? uint8
augment /nw:networks/nw:network/nw:node/tet:te
/tet:information-source-entry/tet:connectivity-matrices
/tet:underlay/tet:primary-path/tet:path-element/tet:type
/tet:label/tet:label-hop/tet:te-label/tet:technology:
+--:(flexi-grid)
+--ro (single-or-super-channel)?
+--:(single)
| +--ro flexi-n? l0-types:flexi-n
| +--ro flexi-m? l0-types:flexi-m
+--:(super)
+--ro subcarrier-flexi-n* [flexi-n]
+--ro flexi-n l0-types:flexi-n
+--ro flexi-m? l0-types:flexi-m
augment /nw:networks/nw:network/nw:node/tet:te
/tet:information-source-entry/tet:connectivity-matrices
/tet:underlay/tet:backup-path/tet:path-element/tet:type
/tet:label/tet:label-hop/tet:te-label/tet:technology:
+--:(flexi-grid)
+--ro (single-or-super-channel)?
+--:(single)
| +--ro flexi-n? l0-types:flexi-n
| +--ro flexi-m? l0-types:flexi-m
+--:(super)
+--ro subcarrier-flexi-n* [flexi-n]
+--ro flexi-n l0-types:flexi-n
+--ro flexi-m? l0-types:flexi-m
augment /nw:networks/nw:network/nw:node/tet:te
/tet:information-source-entry/tet:connectivity-matrices
/tet:optimizations/tet:algorithm/tet:metric
/tet:optimization-metric
/tet:explicit-route-exclude-objects
/tet:route-object-exclude-object/tet:type/tet:label
/tet:label-hop/tet:te-label/tet:technology:
+--:(flexi-grid)
+--ro (single-or-super-channel)?
+--:(single)
| +--ro flexi-n? l0-types:flexi-n
| +--ro flexi-m? l0-types:flexi-m
+--:(super)
+--ro subcarrier-flexi-n* [flexi-n]
+--ro flexi-n l0-types:flexi-n
+--ro flexi-m? l0-types:flexi-m
augment /nw:networks/nw:network/nw:node/tet:te
/tet:information-source-entry/tet:connectivity-matrices
/tet:optimizations/tet:algorithm/tet:metric
/tet:optimization-metric
/tet:explicit-route-include-objects
/tet:route-object-include-object/tet:type/tet:label
/tet:label-hop/tet:te-label/tet:technology:
+--:(flexi-grid)
+--ro (single-or-super-channel)?
+--:(single)
| +--ro flexi-n? l0-types:flexi-n
| +--ro flexi-m? l0-types:flexi-m
+--:(super)
+--ro subcarrier-flexi-n* [flexi-n]
+--ro flexi-n l0-types:flexi-n
+--ro flexi-m? l0-types:flexi-m
augment /nw:networks/nw:network/nw:node/tet:te
/tet:information-source-entry/tet:connectivity-matrices
/tet:path-properties/tet:path-route-objects
/tet:path-route-object/tet:type/tet:label/tet:label-hop
/tet:te-label/tet:technology:
+--:(flexi-grid)
+--ro (single-or-super-channel)?
+--:(single)
| +--ro flexi-n? l0-types:flexi-n
| +--ro flexi-m? l0-types:flexi-m
+--:(super)
+--ro subcarrier-flexi-n* [flexi-n]
+--ro flexi-n l0-types:flexi-n
+--ro flexi-m? l0-types:flexi-m
augment /nw:networks/nw:network/nw:node/tet:te
/tet:information-source-entry/tet:connectivity-matrices
/tet:connectivity-matrix/tet:from/tet:label-restrictions
/tet:label-restriction/tet:label-start/tet:te-label
/tet:technology:
+--:(flexi-grid)
+--ro flexi-n? l0-types:flexi-n
augment /nw:networks/nw:network/nw:node/tet:te
/tet:information-source-entry/tet:connectivity-matrices
/tet:connectivity-matrix/tet:from/tet:label-restrictions
/tet:label-restriction/tet:label-end/tet:te-label
/tet:technology:
+--:(flexi-grid)
+--ro flexi-n? l0-types:flexi-n
augment /nw:networks/nw:network/nw:node/tet:te
/tet:information-source-entry/tet:connectivity-matrices
/tet:connectivity-matrix/tet:from/tet:label-restrictions
/tet:label-restriction/tet:label-step/tet:technology:
+--:(flexi-grid)
+--ro flexi-grid-channel-spacing? identityref
+--ro flexi-n-step? uint8
augment /nw:networks/nw:network/nw:node/tet:te
/tet:information-source-entry/tet:connectivity-matrices
/tet:connectivity-matrix/tet:to/tet:label-restrictions
/tet:label-restriction/tet:label-start/tet:te-label
/tet:technology:
+--:(flexi-grid)
+--ro flexi-n? l0-types:flexi-n
augment /nw:networks/nw:network/nw:node/tet:te
/tet:information-source-entry/tet:connectivity-matrices
/tet:connectivity-matrix/tet:to/tet:label-restrictions
/tet:label-restriction/tet:label-end/tet:te-label
/tet:technology:
+--:(flexi-grid)
+--ro flexi-n? l0-types:flexi-n
augment /nw:networks/nw:network/nw:node/tet:te
/tet:information-source-entry/tet:connectivity-matrices
/tet:connectivity-matrix/tet:to/tet:label-restrictions
/tet:label-restriction/tet:label-step/tet:technology:
+--:(flexi-grid)
+--ro flexi-grid-channel-spacing? identityref
+--ro flexi-n-step? uint8
augment /nw:networks/nw:network/nw:node/tet:te
/tet:information-source-entry/tet:connectivity-matrices
/tet:connectivity-matrix/tet:underlay/tet:primary-path
/tet:path-element/tet:type/tet:label/tet:label-hop
/tet:te-label/tet:technology:
+--:(flexi-grid)
+--ro (single-or-super-channel)?
+--:(single)
| +--ro flexi-n? l0-types:flexi-n
| +--ro flexi-m? l0-types:flexi-m
+--:(super)
+--ro subcarrier-flexi-n* [flexi-n]
+--ro flexi-n l0-types:flexi-n
+--ro flexi-m? l0-types:flexi-m
augment /nw:networks/nw:network/nw:node/tet:te
/tet:information-source-entry/tet:connectivity-matrices
/tet:connectivity-matrix/tet:underlay/tet:backup-path
/tet:path-element/tet:type/tet:label/tet:label-hop
/tet:te-label/tet:technology:
+--:(flexi-grid)
+--ro (single-or-super-channel)?
+--:(single)
| +--ro flexi-n? l0-types:flexi-n
| +--ro flexi-m? l0-types:flexi-m
+--:(super)
+--ro subcarrier-flexi-n* [flexi-n]
+--ro flexi-n l0-types:flexi-n
+--ro flexi-m? l0-types:flexi-m
augment /nw:networks/nw:network/nw:node/tet:te
/tet:information-source-entry/tet:connectivity-matrices
/tet:connectivity-matrix/tet:optimizations/tet:algorithm
/tet:metric/tet:optimization-metric
/tet:explicit-route-exclude-objects
/tet:route-object-exclude-object/tet:type/tet:label
/tet:label-hop/tet:te-label/tet:technology:
+--:(flexi-grid)
+--ro (single-or-super-channel)?
+--:(single)
| +--ro flexi-n? l0-types:flexi-n
| +--ro flexi-m? l0-types:flexi-m
+--:(super)
+--ro subcarrier-flexi-n* [flexi-n]
+--ro flexi-n l0-types:flexi-n
+--ro flexi-m? l0-types:flexi-m
augment /nw:networks/nw:network/nw:node/tet:te
/tet:information-source-entry/tet:connectivity-matrices
/tet:connectivity-matrix/tet:optimizations/tet:algorithm
/tet:metric/tet:optimization-metric
/tet:explicit-route-include-objects
/tet:route-object-include-object/tet:type/tet:label
/tet:label-hop/tet:te-label/tet:technology:
+--:(flexi-grid)
+--ro (single-or-super-channel)?
+--:(single)
| +--ro flexi-n? l0-types:flexi-n
| +--ro flexi-m? l0-types:flexi-m
+--:(super)
+--ro subcarrier-flexi-n* [flexi-n]
+--ro flexi-n l0-types:flexi-n
+--ro flexi-m? l0-types:flexi-m
augment /nw:networks/nw:network/nw:node/tet:te
/tet:information-source-entry/tet:connectivity-matrices
/tet:connectivity-matrix/tet:path-properties
/tet:path-route-objects/tet:path-route-object/tet:type
/tet:label/tet:label-hop/tet:te-label/tet:technology:
+--:(flexi-grid)
+--ro (single-or-super-channel)?
+--:(single)
| +--ro flexi-n? l0-types:flexi-n
| +--ro flexi-m? l0-types:flexi-m
+--:(super)
+--ro subcarrier-flexi-n* [flexi-n]
+--ro flexi-n l0-types:flexi-n
+--ro flexi-m? l0-types:flexi-m
augment /nw:networks/nw:network/nw:node/tet:te
/tet:tunnel-termination-point
/tet:local-link-connectivities/tet:label-restrictions
/tet:label-restriction/tet:label-start/tet:te-label
/tet:technology:
+--:(flexi-grid)
+--rw flexi-n? l0-types:flexi-n
augment /nw:networks/nw:network/nw:node/tet:te
/tet:tunnel-termination-point
/tet:local-link-connectivities/tet:label-restrictions
/tet:label-restriction/tet:label-end/tet:te-label
/tet:technology:
+--:(flexi-grid)
+--rw flexi-n? l0-types:flexi-n
augment /nw:networks/nw:network/nw:node/tet:te
/tet:tunnel-termination-point
/tet:local-link-connectivities/tet:label-restrictions
/tet:label-restriction/tet:label-step/tet:technology:
+--:(flexi-grid)
+--rw flexi-grid-channel-spacing? identityref
+--rw flexi-n-step? uint8
augment /nw:networks/nw:network/nw:node/tet:te
/tet:tunnel-termination-point
/tet:local-link-connectivities/tet:underlay
/tet:primary-path/tet:path-element/tet:type/tet:label
/tet:label-hop/tet:te-label/tet:technology:
+--:(flexi-grid)
+--rw (single-or-super-channel)?
+--:(single)
| +--rw flexi-n? l0-types:flexi-n
| +--rw flexi-m? l0-types:flexi-m
+--:(super)
+--rw subcarrier-flexi-n* [flexi-n]
+--rw flexi-n l0-types:flexi-n
+--rw flexi-m? l0-types:flexi-m
augment /nw:networks/nw:network/nw:node/tet:te
/tet:tunnel-termination-point
/tet:local-link-connectivities/tet:underlay
/tet:backup-path/tet:path-element/tet:type/tet:label
/tet:label-hop/tet:te-label/tet:technology:
+--:(flexi-grid)
+--rw (single-or-super-channel)?
+--:(single)
| +--rw flexi-n? l0-types:flexi-n
| +--rw flexi-m? l0-types:flexi-m
+--:(super)
+--rw subcarrier-flexi-n* [flexi-n]
+--rw flexi-n l0-types:flexi-n
+--rw flexi-m? l0-types:flexi-m
augment /nw:networks/nw:network/nw:node/tet:te
/tet:tunnel-termination-point
/tet:local-link-connectivities/tet:optimizations
/tet:algorithm/tet:metric/tet:optimization-metric
/tet:explicit-route-exclude-objects
/tet:route-object-exclude-object/tet:type/tet:label
/tet:label-hop/tet:te-label/tet:technology:
+--:(flexi-grid)
+--rw (single-or-super-channel)?
+--:(single)
| +--rw flexi-n? l0-types:flexi-n
| +--rw flexi-m? l0-types:flexi-m
+--:(super)
+--rw subcarrier-flexi-n* [flexi-n]
+--rw flexi-n l0-types:flexi-n
+--rw flexi-m? l0-types:flexi-m
augment /nw:networks/nw:network/nw:node/tet:te
/tet:tunnel-termination-point
/tet:local-link-connectivities/tet:optimizations
/tet:algorithm/tet:metric/tet:optimization-metric
/tet:explicit-route-include-objects
/tet:route-object-include-object/tet:type/tet:label
/tet:label-hop/tet:te-label/tet:technology:
+--:(flexi-grid)
+--rw (single-or-super-channel)?
+--:(single)
| +--rw flexi-n? l0-types:flexi-n
| +--rw flexi-m? l0-types:flexi-m
+--:(super)
+--rw subcarrier-flexi-n* [flexi-n]
+--rw flexi-n l0-types:flexi-n
+--rw flexi-m? l0-types:flexi-m
augment /nw:networks/nw:network/nw:node/tet:te
/tet:tunnel-termination-point
/tet:local-link-connectivities/tet:path-properties
/tet:path-route-objects/tet:path-route-object/tet:type
/tet:label/tet:label-hop/tet:te-label/tet:technology:
augment /nw:networks/nw:network/nw:node/tet:te/ +--:(flexi-grid)
tet:tunnel-termination-point/tet:local-link-connectivities/ +--ro (single-or-super-channel)?
tet:underlay/tet:backup-path/tet:path-element/tet:type/tet:label/ +--:(single)
tet:label-hop/tet:te-label/tet:technology: | +--ro flexi-n? l0-types:flexi-n
+--:(flexi-grid) | +--ro flexi-m? l0-types:flexi-m
+--rw (single-or-super-channel)? +--:(super)
+--:(single) +--ro subcarrier-flexi-n* [flexi-n]
| +--rw flexi-n? uint16 +--ro flexi-n l0-types:flexi-n
| +--rw flexi-m? uint16 +--ro flexi-m? l0-types:flexi-m
+--:(super) augment /nw:networks/nw:network/nw:node/tet:te
+--rw subcarrier-flexi-n* [flexi-n] /tet:tunnel-termination-point
+--rw flexi-n uint16 /tet:local-link-connectivities
+--rw flexi-m? uint16 /tet:local-link-connectivity/tet:label-restrictions
/tet:label-restriction/tet:label-start/tet:te-label
/tet:technology:
+--:(flexi-grid)
+--rw flexi-n? l0-types:flexi-n
augment /nw:networks/nw:network/nw:node/tet:te
/tet:tunnel-termination-point
/tet:local-link-connectivities
/tet:local-link-connectivity/tet:label-restrictions
/tet:label-restriction/tet:label-end/tet:te-label
/tet:technology:
+--:(flexi-grid)
+--rw flexi-n? l0-types:flexi-n
augment /nw:networks/nw:network/nw:node/tet:te
/tet:tunnel-termination-point
/tet:local-link-connectivities
/tet:local-link-connectivity/tet:label-restrictions
/tet:label-restriction/tet:label-step/tet:technology:
+--:(flexi-grid)
+--rw flexi-grid-channel-spacing? identityref
+--rw flexi-n-step? uint8
augment /nw:networks/nw:network/nw:node/tet:te
/tet:tunnel-termination-point
/tet:local-link-connectivities
/tet:local-link-connectivity/tet:underlay
/tet:primary-path/tet:path-element/tet:type/tet:label
/tet:label-hop/tet:te-label/tet:technology:
+--:(flexi-grid)
+--rw (single-or-super-channel)?
+--:(single)
| +--rw flexi-n? l0-types:flexi-n
| +--rw flexi-m? l0-types:flexi-m
+--:(super)
+--rw subcarrier-flexi-n* [flexi-n]
+--rw flexi-n l0-types:flexi-n
+--rw flexi-m? l0-types:flexi-m
augment /nw:networks/nw:network/nw:node/tet:te/ augment /nw:networks/nw:network/nw:node/tet:te
tet:tunnel-termination-point/tet:local-link-connectivities/ /tet:tunnel-termination-point
tet:optimizations/tet:algorithm/tet:metric/ /tet:local-link-connectivities
tet:optimization-metric/tet:explicit-route-exclude-objects/ /tet:local-link-connectivity/tet:underlay/tet:backup-path
tet:route-object-exclude-object/tet:type/tet:label/tet:label-hop/ /tet:path-element/tet:type/tet:label/tet:label-hop
tet:te-label/tet:technology: /tet:te-label/tet:technology:
+--:(flexi-grid) +--:(flexi-grid)
+--rw (single-or-super-channel)? +--rw (single-or-super-channel)?
+--:(single) +--:(single)
| +--rw flexi-n? uint16 | +--rw flexi-n? l0-types:flexi-n
| +--rw flexi-m? uint16 | +--rw flexi-m? l0-types:flexi-m
+--:(super) +--:(super)
+--rw subcarrier-flexi-n* [flexi-n] +--rw subcarrier-flexi-n* [flexi-n]
+--rw flexi-n uint16 +--rw flexi-n l0-types:flexi-n
+--rw flexi-m? uint16 +--rw flexi-m? l0-types:flexi-m
augment /nw:networks/nw:network/nw:node/tet:te
/tet:tunnel-termination-point
/tet:local-link-connectivities
/tet:local-link-connectivity/tet:optimizations
/tet:algorithm/tet:metric/tet:optimization-metric
/tet:explicit-route-exclude-objects
/tet:route-object-exclude-object/tet:type/tet:label
/tet:label-hop/tet:te-label/tet:technology:
+--:(flexi-grid)
+--rw (single-or-super-channel)?
+--:(single)
| +--rw flexi-n? l0-types:flexi-n
| +--rw flexi-m? l0-types:flexi-m
+--:(super)
+--rw subcarrier-flexi-n* [flexi-n]
+--rw flexi-n l0-types:flexi-n
+--rw flexi-m? l0-types:flexi-m
augment /nw:networks/nw:network/nw:node/tet:te
/tet:tunnel-termination-point
/tet:local-link-connectivities
/tet:local-link-connectivity/tet:optimizations
/tet:algorithm/tet:metric/tet:optimization-metric
/tet:explicit-route-include-objects
/tet:route-object-include-object/tet:type/tet:label
/tet:label-hop/tet:te-label/tet:technology:
+--:(flexi-grid)
+--rw (single-or-super-channel)?
+--:(single)
| +--rw flexi-n? l0-types:flexi-n
| +--rw flexi-m? l0-types:flexi-m
+--:(super)
+--rw subcarrier-flexi-n* [flexi-n]
+--rw flexi-n l0-types:flexi-n
+--rw flexi-m? l0-types:flexi-m
augment /nw:networks/nw:network/nw:node/tet:te
/tet:tunnel-termination-point
/tet:local-link-connectivities
/tet:local-link-connectivity/tet:path-properties
/tet:path-route-objects/tet:path-route-object/tet:type
/tet:label/tet:label-hop/tet:te-label/tet:technology:
+--:(flexi-grid)
+--ro (single-or-super-channel)?
+--:(single)
| +--ro flexi-n? l0-types:flexi-n
| +--ro flexi-m? l0-types:flexi-m
+--:(super)
+--ro subcarrier-flexi-n* [flexi-n]
+--ro flexi-n l0-types:flexi-n
+--ro flexi-m? l0-types:flexi-m
augment /nw:networks/nw:network/nt:link/tet:te
/tet:te-link-attributes/tet:underlay/tet:primary-path
/tet:path-element/tet:type/tet:label/tet:label-hop
/tet:te-label/tet:technology:
+--:(flexi-grid)
+--rw (single-or-super-channel)?
+--:(single)
| +--rw flexi-n? l0-types:flexi-n
| +--rw flexi-m? l0-types:flexi-m
+--:(super)
+--rw subcarrier-flexi-n* [flexi-n]
+--rw flexi-n l0-types:flexi-n
+--rw flexi-m? l0-types:flexi-m
augment /nw:networks/nw:network/nt:link/tet:te
/tet:te-link-attributes/tet:underlay/tet:backup-path
/tet:path-element/tet:type/tet:label/tet:label-hop
/tet:te-label/tet:technology:
+--:(flexi-grid)
+--rw (single-or-super-channel)?
+--:(single)
| +--rw flexi-n? l0-types:flexi-n
| +--rw flexi-m? l0-types:flexi-m
+--:(super)
+--rw subcarrier-flexi-n* [flexi-n]
+--rw flexi-n l0-types:flexi-n
+--rw flexi-m? l0-types:flexi-m
augment /nw:networks/nw:network/nt:link/tet:te
/tet:te-link-attributes/tet:label-restrictions
/tet:label-restriction/tet:label-start/tet:te-label
/tet:technology:
+--:(flexi-grid)
+--rw flexi-n? l0-types:flexi-n
augment /nw:networks/nw:network/nw:node/tet:te/ augment /nw:networks/nw:network/nt:link/tet:te
tet:tunnel-termination-point/tet:local-link-connectivities/ /tet:te-link-attributes/tet:label-restrictions
tet:optimizations/tet:algorithm/tet:metric/ /tet:label-restriction/tet:label-end/tet:te-label
tet:optimization-metric/tet:explicit-route-include-objects/ /tet:technology:
tet:route-object-include-object/tet:type/tet:label/tet:label-hop/ +--:(flexi-grid)
tet:te-label/tet:technology: +--rw flexi-n? l0-types:flexi-n
+--:(flexi-grid) augment /nw:networks/nw:network/nt:link/tet:te
+--rw (single-or-super-channel)? /tet:te-link-attributes/tet:label-restrictions
+--:(single) /tet:label-restriction/tet:label-step/tet:technology:
| +--rw flexi-n? uint16 +--:(flexi-grid)
| +--rw flexi-m? uint16 +--rw flexi-grid-channel-spacing? identityref
+--:(super) +--rw flexi-n-step? uint8
+--rw subcarrier-flexi-n* [flexi-n] augment /nw:networks/nw:network/nt:link/tet:te
+--rw flexi-n uint16 /tet:information-source-entry/tet:label-restrictions
+--rw flexi-m? uint16 /tet:label-restriction/tet:label-start/tet:te-label
/tet:technology:
+--:(flexi-grid)
+--ro flexi-n? l0-types:flexi-n
augment /nw:networks/nw:network/nt:link/tet:te
/tet:information-source-entry/tet:label-restrictions
/tet:label-restriction/tet:label-end/tet:te-label
/tet:technology:
+--:(flexi-grid)
+--ro flexi-n? l0-types:flexi-n
augment /nw:networks/nw:network/nt:link/tet:te
/tet:information-source-entry/tet:label-restrictions
/tet:label-restriction/tet:label-step/tet:technology:
+--:(flexi-grid)
+--ro flexi-grid-channel-spacing? identityref
+--ro flexi-n-step? uint8
augment /nw:networks/tet:te/tet:templates/tet:link-template
/tet:te-link-attributes/tet:underlay/tet:primary-path
/tet:path-element/tet:type/tet:label/tet:label-hop
/tet:te-label/tet:technology:
+--:(flexi-grid)
+--rw (single-or-super-channel)?
+--:(single)
| +--rw flexi-n? l0-types:flexi-n
| +--rw flexi-m? l0-types:flexi-m
+--:(super)
+--rw subcarrier-flexi-n* [flexi-n]
+--rw flexi-n l0-types:flexi-n
+--rw flexi-m? l0-types:flexi-m
augment /nw:networks/tet:te/tet:templates/tet:link-template
/tet:te-link-attributes/tet:underlay/tet:backup-path
/tet:path-element/tet:type/tet:label/tet:label-hop
/tet:te-label/tet:technology:
+--:(flexi-grid)
+--rw (single-or-super-channel)?
+--:(single)
| +--rw flexi-n? l0-types:flexi-n
| +--rw flexi-m? l0-types:flexi-m
+--:(super)
+--rw subcarrier-flexi-n* [flexi-n]
+--rw flexi-n l0-types:flexi-n
+--rw flexi-m? l0-types:flexi-m
augment /nw:networks/tet:te/tet:templates/tet:link-template
/tet:te-link-attributes/tet:label-restrictions
/tet:label-restriction/tet:label-start/tet:te-label
/tet:technology:
+--:(flexi-grid)
+--rw flexi-n? l0-types:flexi-n
augment /nw:networks/tet:te/tet:templates/tet:link-template
/tet:te-link-attributes/tet:label-restrictions
/tet:label-restriction/tet:label-end/tet:te-label
/tet:technology:
+--:(flexi-grid)
+--rw flexi-n? l0-types:flexi-n
augment /nw:networks/tet:te/tet:templates/tet:link-template
/tet:te-link-attributes/tet:label-restrictions
/tet:label-restriction/tet:label-step/tet:technology:
+--:(flexi-grid)
+--rw flexi-grid-channel-spacing? identityref
+--rw flexi-n-step? uint8
augment /nw:networks/nw:network/nw:node/tet:te/ 8. The YANG Code for Flexi-grid topology
tet:tunnel-termination-point/tet:local-link-connectivities/
tet:path-properties/tet:path-route-objects/tet:path-route-object/
tet:type/tet:label/tet:label-hop/tet:te-label/tet:technology:
+--:(flexi-grid)
+--ro (single-or-super-channel)?
+--:(single)
| +--ro flexi-n? uint16
| +--ro flexi-m? uint16
+--:(super)
+--ro subcarrier-flexi-n* [flexi-n]
+--ro flexi-n uint16
+--ro flexi-m? uint16
augment /nw:networks/nw:network/nw:node/tet:te/ <CODE BEGINS> file "ietf-flexi-grid-topology@2020-09-21.yang"
tet:tunnel-termination-point/tet:local-link-connectivities/ module ietf-flexi-grid-topology {
tet:local-link-connectivity/tet:label-restrictions/ yang-version 1.1;
tet:label-restriction: namespace "urn:ietf:params:xml:ns:yang:ietf-flexi-grid-topology";
+--rw grid-type? identityref prefix "flexi-grid";
+--rw priority? uint8
+--rw flexi-grid
+--rw nominal-central-frequency-granularity? identityref
+--rw slot-width-granularity? identityref
+--rw min-slot-width-factor? uint16
+--rw max-slot-width-factor? uint16
augment /nw:networks/nw:network/nw:node/tet:te/ import ietf-network {
tet:tunnel-termination-point/tet:local-link-connectivities/ prefix "nw";
tet:local-link-connectivity/tet:label-restrictions/ reference
tet:label-restriction/tet:label-start/tet:te-label/tet:technology: "RFC 8345: A YANG Data Model for Network Topologies";
+--:(flexi-grid) }
+--rw flexi-n? uint16
augment /nw:networks/nw:network/nw:node/tet:te/ import ietf-network-topology {
tet:tunnel-termination-point/tet:local-link-connectivities/ prefix "nt";
tet:local-link-connectivity/tet:label-restrictions/ reference
tet:label-restriction/tet:label-end/tet:te-label/tet:technology: "RFC 8345: A YANG Data Model for Network Topologies";
+--:(flexi-grid)
+--rw flexi-n? uint16
augment /nw:networks/nw:network/nw:node/tet:te/ }
tet:tunnel-termination-point/tet:local-link-connectivities/
tet:local-link-connectivity/tet:label-restrictions/
tet:label-restriction/tet:label-step/tet:technology:
+--:(flexi-grid)
+--rw flexi? identityref
augment /nw:networks/nw:network/nw:node/tet:te/ import ietf-te-topology {
tet:tunnel-termination-point/tet:local-link-connectivities/ prefix "tet";
tet:local-link-connectivity/tet:underlay/tet:primary-path/ reference
tet:path-element/tet:type/tet:label/tet:label-hop/tet:te-label/ "RFC 8795: YANG Data Model for Traffic Engineering
tet:technology: (TE) Topologies";
+--:(flexi-grid) }
+--rw (single-or-super-channel)?
+--:(single)
| +--rw flexi-n? uint16
| +--rw flexi-m? uint16
+--:(super)
+--rw subcarrier-flexi-n* [flexi-n]
+--rw flexi-n uint16
+--rw flexi-m? uint16
augment /nw:networks/nw:network/nw:node/tet:te/ import ietf-layer0-types {
tet:tunnel-termination-point/tet:local-link-connectivities/ prefix "l0-types";
tet:local-link-connectivity/tet:underlay/tet:backup-path/ reference
tet:path-element/tet:type/tet:label/tet:label-hop/tet:te-label/ "RFC XXXX: A YANG Data Model for Layer 0 Types";
tet:technology: }
+--:(flexi-grid)
+--rw (single-or-super-channel)?
+--:(single)
| +--rw flexi-n? uint16
| +--rw flexi-m? uint16
+--:(super)
+--rw subcarrier-flexi-n* [flexi-n]
+--rw flexi-n uint16
+--rw flexi-m? uint16
augment /nw:networks/nw:network/nw:node/tet:te/ /* Note: The RFC Editor will replace XXXX with the number assigned
tet:tunnel-termination-point/tet:local-link-connectivities/ to the RFC once draft-ietf-ccamp-layer0-types becomes an RFC.*/
tet:local-link-connectivity/tet:optimizations/tet:algorithm/
tet:metric/tet:optimization-metric/
tet:explicit-route-exclude-objects/
tet:route-object-exclude-object/tet:type/tet:label/tet:label-hop/
tet:te-label/tet:technology:
+--:(flexi-grid)
+--rw (single-or-super-channel)?
+--:(single)
| +--rw flexi-n? uint16
| +--rw flexi-m? uint16
+--:(super)
+--rw subcarrier-flexi-n* [flexi-n]
+--rw flexi-n uint16
+--rw flexi-m? uint16
augment /nw:networks/nw:network/nw:node/tet:te/ organization
tet:tunnel-termination-point/tet:local-link-connectivities/ "IETF CCAMP Working Group";
tet:local-link-connectivity/tet:optimizations/tet:algorithm/ contact
tet:metric/tet:optimization-metric/ "WG Web: <http://tools.ietf.org/wg/ccamp/>
tet:explicit-route-include-objects/ WG List: <mailto:ccamp@ietf.org>
tet:route-object-include-object/tet:type/tet:label/tet:label-hop/ Editor: Jorge E. Lopez de Vergara
tet:te-label/tet:technology: <mailtojorge.lopez_vergara@uam.es>
+--:(flexi-grid) Editor: Daniel Perdices
+--rw (single-or-super-channel)? <mailto:daniel.perdices@naudit.es>
+--:(single) Editor: Haomian Zheng
| +--rw flexi-n? uint16 <mailto:zhenghaomian@huawei.com>
| +--rw flexi-m? uint16 Editor: Daniel King
+--:(super) <mailto:d.king@lancaster.ac.uk>
+--rw subcarrier-flexi-n* [flexi-n] Editor: Young Lee
+--rw flexi-n uint16 <mailto:younglee.tx@gmail.com>";
+--rw flexi-m? uint16
augment /nw:networks/nw:network/nw:node/tet:te/ description
tet:tunnel-termination-point/tet:local-link-connectivities/ "This module defines a model for flexi-grid topology.
tet:local-link-connectivity/tet:path-properties/ Copyright (c) 2020 IETF Trust and the persons identified
tet:path-route-objects/tet:path-route-object/tet:type/tet:label/ as authors of the code. All rights reserved.
tet:label-hop/tet:te-label/tet:technology: Redistribution and use in source and binary forms, with
+--:(flexi-grid) or without modification, is permitted pursuant to, and
+--ro (single-or-super-channel)? subject to the license terms contained in, the Simplified
+--:(single) BSD License set forth in Section 4.c of the IETF Trust's
| +--ro flexi-n? uint16 Legal Provisions Relating to IETF Documents
| +--ro flexi-m? uint16 (http://trustee.ietf.org/license-info).
+--:(super) This version of this YANG module is part of RFC XXXX; see
+--ro subcarrier-flexi-n* [flexi-n] the RFC itself for full legal notices.";
+--ro flexi-n uint16
+--ro flexi-m? uint16
augment /nw:networks/nw:network/nt:link/tet:te/ revision 2020-09-21 {
tet:te-link-attributes/tet:underlay/tet:primary-path/ description
tet:path-element/tet:type/tet:label/tet:label-hop/tet:te-label/ "Initial Version";
tet:technology: reference
+--:(flexi-grid) "RFC XXXX: A Yang Data Model for flexi-grid Optical Networks";
+--rw (single-or-super-channel)? // RFC Ed.: replace XXXX with actual RFC number, update date
+--:(single) // information and remove this note
| +--rw flexi-n? uint16 }
| +--rw flexi-m? uint16
+--:(super)
+--rw subcarrier-flexi-n* [flexi-n]
+--rw flexi-n uint16
+--rw flexi-m? uint16
augment /nw:networks/nw:network/nt:link/tet:te/ /*
tet:te-link-attributes/tet:underlay/tet:backup-path/ * Data nodes
tet:path-element/tet:type/tet:label/tet:label-hop/tet:te-label/ */
tet:technology:
+--:(flexi-grid)
+--rw (single-or-super-channel)?
+--:(single)
| +--rw flexi-n? uint16
| +--rw flexi-m? uint16
+--:(super)
+--rw subcarrier-flexi-n* [flexi-n]
+--rw flexi-n uint16
+--rw flexi-m? uint16
augment /nw:networks/nw:network/nt:link/tet:te/ augment "/nw:networks/nw:network/nw:network-types"
tet:te-link-attributes/tet:label-restrictions/ + "/tet:te-topology" {
tet:label-restriction: description
+--rw grid-type? identityref "Augment network types to define Flexi-grid topology type.";
+--rw priority? uint8 container flexi-grid-topology {
+--rw flexi-grid presence
+--rw nominal-central-frequency-granularity? identityref "Its presence identifies the Flexi-grid topology type.";
+--rw slot-width-granularity? identityref description
+--rw min-slot-width-factor? uint16 "Introduce new network type for Flexi-grid topology.";
+--rw max-slot-width-factor? uint16 }
}
augment /nw:networks/nw:network/nt:link/tet:te/ augment "/nw:networks/nw:network/nw:node/tet:te"
tet:te-link-attributes/tet:label-restrictions/ + "/tet:te-node-attributes" {
tet:label-restriction/tet:label-start/tet:te-label/tet:technology: when "/nw:networks/nw:network/nw:network-types"
+--:(flexi-grid) + "/tet:te-topology/flexi-grid:flexi-grid-topology" {
+--rw flexi-n? uint16 description
"Augmentation parameters apply only for networks with
Flexi-grid topology type.";
}
description "Augment TE node attributes.";
container flexi-grid-node {
presence "The TE node is a Flexi-grid node.";
description "Flexi-grid node attributes";
}
}
augment /nw:networks/nw:network/nt:link/tet:te/ /*
tet:te-link-attributes/tet:label-restrictions/ * Augment TE label range information
tet:label-restriction/tet:label-end/tet:te-label/tet:technology: */
+--:(flexi-grid)
+--rw flexi-n? uint16
augment /nw:networks/nw:network/nt:link/tet:te/ augment "/nw:networks/nw:network/nw:node/tet:te/"
tet:te-link-attributes/tet:label-restrictions/ + "tet:te-node-attributes/tet:connectivity-matrices/"
tet:label-restriction/tet:label-step/tet:technology: + "tet:label-restrictions/tet:label-restriction" {
+--:(flexi-grid) when "../../../../../../nw:network-types/tet:te-topology/"
+--rw flexi? identityref + "flexi-grid:flexi-grid-topology" {
description
"Augmentation parameters apply only for networks with
Flexi-grid topology type.";
}
description
"Augment TE label range information for the TE node
connectivity matrices.";
uses l0-types:flexi-grid-label-range-info;
}
augment /nw:networks/nw:network/nt:link/tet:te/ augment "/nw:networks/nw:network/nw:node/tet:te/"
tet:information-source-entry/tet:label-restrictions/ + "tet:te-node-attributes/tet:connectivity-matrices/"
tet:label-restriction: + "tet:connectivity-matrix/tet:from/"
+--ro grid-type? identityref + "tet:label-restrictions/tet:label-restriction" {
+--ro priority? uint8 when "../../../../../../../../nw:network-types/tet:te-topology/"
+--ro flexi-grid + "flexi-grid:flexi-grid-topology" {
+--ro nominal-central-frequency-granularity? identityref description
+--ro slot-width-granularity? identityref "Augmentation parameters apply only for networks with
+--ro min-slot-width-factor? uint16 Flexi-grid topology type.";
+--ro max-slot-width-factor? uint16 }
description
"Augment TE label range information for the source LTP
of the connectivity matrix entry.";
uses l0-types:flexi-grid-label-range-info;
}
augment /nw:networks/nw:network/nt:link/tet:te/ augment "/nw:networks/nw:network/nw:node/tet:te/"
tet:information-source-entry/tet:label-restrictions/ + "tet:te-node-attributes/tet:connectivity-matrices/"
tet:label-restriction/tet:label-start/tet:te-label/tet:technology: + "tet:connectivity-matrix/tet:to/"
+--:(flexi-grid) + "tet:label-restrictions/tet:label-restriction" {
+--ro flexi-n? uint16 when "../../../../../../../../nw:network-types/tet:te-topology/"
+ "flexi-grid:flexi-grid-topology" {
description
"Augmentation parameters apply only for networks with
Flexi-grid topology type.";
}
description
"Augment TE label range information for the destination LTP
of the connectivity matrix entry.";
uses l0-types:flexi-grid-label-range-info;
}
augment /nw:networks/nw:network/nt:link/tet:te/ augment "/nw:networks/nw:network/nw:node/tet:te/"
tet:information-source-entry/tet:label-restrictions/ + "tet:information-source-entry/"
tet:label-restriction/tet:label-end/tet:te-label/tet:technology: + "tet:connectivity-matrices/tet:label-restrictions/"
+--:(flexi-grid) + "tet:label-restriction" {
+--ro flexi-n? uint16 when "../../../../../../nw:network-types/tet:te-topology/"
+ "flexi-grid:flexi-grid-topology" {
description
"Augmentation parameters apply only for networks with
Flexi-grid topology type.";
}
description
"Augment TE label range information for the TE node
connectivity matrices information source.";
uses l0-types:flexi-grid-label-range-info;
}
augment /nw:networks/nw:network/nt:link/tet:te/ augment "/nw:networks/nw:network/nw:node/tet:te/"
tet:information-source-entry/tet:label-restrictions/ + "tet:information-source-entry/tet:connectivity-matrices/"
tet:label-restriction/tet:label-step/tet:technology: + "tet:connectivity-matrix/"
+--:(flexi-grid) + "tet:from/tet:label-restrictions/tet:label-restriction" {
+--ro flexi? identityref when "../../../../../../../../nw:network-types/tet:te-topology/"
+ "flexi-grid:flexi-grid-topology" {
description
"Augmentation parameters apply only for networks with
Flexi-grid topology type.";
}
description
"Augment TE label range information for the source LTP
of the connectivity matrix entry information source.";
uses l0-types:flexi-grid-label-range-info;
}
augment /nw:networks/tet:te/tet:templates/tet:link-template/ augment "/nw:networks/nw:network/nw:node/tet:te/"
tet:te-link-attributes/tet:underlay/tet:primary-path/ + "tet:information-source-entry/tet:connectivity-matrices/"
tet:path-element/tet:type/tet:label/tet:label-hop/tet:te-label/ + "tet:connectivity-matrix/"
tet:technology: + "tet:to/tet:label-restrictions/tet:label-restriction" {
+--:(flexi-grid) when "../../../../../../../../nw:network-types/tet:te-topology/"
+--rw (single-or-super-channel)? + "flexi-grid:flexi-grid-topology" {
+--:(single) description
| +--rw flexi-n? uint16 "Augmentation parameters apply only for networks with
| +--rw flexi-m? uint16 Flexi-grid topology type.";
+--:(super) }
+--rw subcarrier-flexi-n* [flexi-n] description
+--rw flexi-n uint16 "Augment TE label range information for the destination LTP
+--rw flexi-m? uint16 of the connectivity matrix entry information source.";
uses l0-types:flexi-grid-label-range-info;
}
augment /nw:networks/tet:te/tet:templates/tet:link-template/ augment "/nw:networks/nw:network/nw:node/tet:te/"
tet:te-link-attributes/tet:underlay/tet:backup-path/ + "tet:tunnel-termination-point/"
tet:path-element/tet:type/tet:label/tet:label-hop/tet:te-label/ + "tet:local-link-connectivities/"
tet:technology: + "tet:label-restrictions/tet:label-restriction" {
+--:(flexi-grid) when "../../../../../../nw:network-types/tet:te-topology/"
+--rw (single-or-super-channel)? + "flexi-grid:flexi-grid-topology" {
+--:(single) description
| +--rw flexi-n? uint16 "Augmentation parameters apply only for networks with
| +--rw flexi-m? uint16 Flexi-grid topology type.";
+--:(super) }
+--rw subcarrier-flexi-n* [flexi-n] description
+--rw flexi-n uint16 "Augment TE label range information for the TTP
+--rw flexi-m? uint16 Local Link Connectivities.";
uses l0-types:flexi-grid-label-range-info;
}
augment /nw:networks/tet:te/tet:templates/tet:link-template/ augment "/nw:networks/nw:network/nw:node/tet:te/"
tet:te-link-attributes/tet:label-restrictions/ + "tet:tunnel-termination-point/"
tet:label-restriction: + "tet:local-link-connectivities/"
+--rw grid-type? identityref + "tet:local-link-connectivity/"
+--rw priority? uint8 + "tet:label-restrictions/tet:label-restriction" {
+--rw flexi-grid when "../../../../../../../nw:network-types/tet:te-topology/"
+--rw nominal-central-frequency-granularity? identityref + "flexi-grid:flexi-grid-topology" {
+--rw slot-width-granularity? identityref description
+--rw min-slot-width-factor? uint16 "Augmentation parameters apply only for networks with
+--rw max-slot-width-factor? uint16 Flexi-grid topology type.";
}
description
"Augment TE label range information for the TTP
Local Link Connectivity entry.";
uses l0-types:flexi-grid-label-range-info;
}
augment /nw:networks/tet:te/tet:templates/tet:link-template/ augment "/nw:networks/nw:network/nt:link/tet:te/"
tet:te-link-attributes/tet:label-restrictions/ + "tet:te-link-attributes/"
tet:label-restriction/tet:label-start/tet:te-label/tet:technology: + "tet:label-restrictions/tet:label-restriction" {
+--:(flexi-grid) when "../../../../../nw:network-types/tet:te-topology/"
+--rw flexi-n? uint16 + "flexi-grid:flexi-grid-topology" {
description
"Augmentation parameters apply only for networks with
Flexi-grid topology type.";
}
description
"Augment TE label range information for the TE link.";
uses l0-types:flexi-grid-label-range-info;
}
augment /nw:networks/tet:te/tet:templates/tet:link-template/ augment "/nw:networks/nw:network/nt:link/tet:te/"
tet:te-link-attributes/tet:label-restrictions/ + "tet:information-source-entry/"
tet:label-restriction/tet:label-end/tet:te-label/tet:technology: + "tet:label-restrictions/tet:label-restriction" {
+--:(flexi-grid) when "../../../../../nw:network-types/tet:te-topology/"
+--rw flexi-n? uint16 + "flexi-grid:flexi-grid-topology" {
description
"Augmentation parameters apply only for networks with
Flexi-grid topology type.";
}
description
"Augment TE label range information for the TE link
information source.";
uses l0-types:flexi-grid-label-range-info;
}
augment /nw:networks/tet:te/tet:templates/tet:link-template/ augment "/nw:networks/tet:te/tet:templates/"
tet:te-link-attributes/tet:label-restrictions/ + "tet:link-template/tet:te-link-attributes/"
tet:label-restriction/tet:label-step/tet:technology: + "tet:label-restrictions/tet:label-restriction" {
+--:(flexi-grid) description
+--rw flexi? identityref "Augment TE label range information for the TE link
template.";
uses l0-types:flexi-grid-label-range-info;
}
5.2. YANG Model - Code /*
* Augment TE label
*/
RFC Editor Note: Please replace the string "ZZZZ" in the YANG model augment "/nw:networks/nw:network/nw:node/tet:te/"
definition below with the RFC number assigned to + "tet:te-node-attributes/tet:connectivity-matrices/"
draft-ietf-ccamp-wson-yang when it is published as an RFC. Please + "tet:label-restrictions/tet:label-restriction/"
replace the string "YYYY" in the YANG model definition below with the + "tet:label-start/"
RFC number assigned to draft-ietf-teas-yang-te-topo when it is + "tet:te-label/tet:technology" {
published as an RFC. Please also remove this note. when "../../../../../../../../nw:network-types/tet:te-topology/"
+ "flexi-grid:flexi-grid-topology" {
description
"Augmentation parameters apply only for networks with
Flexi-grid topology type.";
}
description
"Augment TE label range start for the TE node
connectivity matrices";
case flexi-grid {
uses l0-types:flexi-grid-label-start-end;
}
}
<CODE BEGINS>file "ietf-flexi-grid-topology@2020-07-12.yang" augment "/nw:networks/nw:network/nw:node/tet:te/"
module ietf-flexi-grid-topology { + "tet:te-node-attributes/tet:connectivity-matrices/"
yang-version 1.1; + "tet:label-restrictions/"
namespace "urn:ietf:params:xml:ns:yang:ietf-flexi-grid-topology"; + "tet:label-restriction/tet:label-end/"
+ "tet:te-label/tet:technology" {
when "../../../../../../../../nw:network-types/tet:te-topology/"
+ "flexi-grid:flexi-grid-topology" {
prefix "flexi-grid-topology"; description
"Augmentation parameters apply only for networks with
Flexi-grid topology type.";
}
description
"Augment TE label range end for the TE node
connectivity matrices";
case flexi-grid {
uses l0-types:flexi-grid-label-start-end;
}
}
import ietf-network { augment "/nw:networks/nw:network/nw:node/tet:te/"
prefix "nw"; + "tet:te-node-attributes/tet:connectivity-matrices/"
reference + "tet:label-restrictions/"
"RFC 8345: A YANG Data Model for Network Topologies"; + "tet:label-restriction/tet:label-step/"
} + "tet:technology" {
when "../../../../../../../nw:network-types/tet:te-topology/"
+ "flexi-grid:flexi-grid-topology" {
description
"Augmentation parameters apply only for networks with
Flexi-grid topology type.";
}
description
"Augment TE label range step for the TE node
connectivity matrices";
case flexi-grid {
uses l0-types:flexi-grid-label-step;
}
}
import ietf-network-topology { augment "/nw:networks/nw:network/nw:node/tet:te/"
prefix "nt"; + "tet:te-node-attributes/tet:connectivity-matrices/"
reference + "tet:underlay/tet:primary-path/tet:path-element/"
"RFC 8345: A YANG Data Model for Network Topologies"; + "tet:type/tet:label/tet:label-hop/"
} + "tet:te-label/tet:technology" {
when "../../../../../../../../../"
+ "nw:network-types/tet:te-topology/"
+ "flexi-grid:flexi-grid-topology" {
description
"Augmentation parameters apply only for networks with
Flexi-grid topology type.";
}
description
"Augment TE label hop for the underlay primary path of the
TE node connectivity matrices";
case flexi-grid {
uses l0-types:flexi-grid-label-hop;
import ietf-te-topology { }
prefix "tet"; }
reference
"RFC YYYY: YANG Data Model for
Traffic Engineering (TE) Topologies";
}
import ietf-layer0-types { augment "/nw:networks/nw:network/nw:node/tet:te/"
prefix "layer0-types"; + "tet:te-node-attributes/tet:connectivity-matrices/"
reference + "tet:underlay/tet:backup-path/tet:path-element/"
"RFC ZZZZ: A YANG Data Model for WSON + "tet:type/tet:label/tet:label-hop/"
(Wavelength Switched Optical Networks)"; + "tet:te-label/tet:technology" {
} when "../../../../../../../../../"
+ "nw:network-types/tet:te-topology/"
+ "flexi-grid:flexi-grid-topology" {
description
"Augmentation parameters apply only for networks with
Flexi-grid topology type.";
}
description
"Augment TE label hop for the underlay backup path of the
TE node connectivity matrices";
case flexi-grid {
uses l0-types:flexi-grid-label-hop;
}
}
organization augment "/nw:networks/nw:network/nw:node/tet:te/"
"IETF CCAMP Working Group"; + "tet:te-node-attributes/tet:connectivity-matrices/"
contact + "tet:optimizations/tet:algorithm/tet:metric/"
"WG Web: <http://tools.ietf.org/wg/ccamp/> + "tet:optimization-metric/"
WG List: <mailto:ccamp@ietf.org> + "tet:explicit-route-exclude-objects/"
Editor: Jorge E. Lopez de Vergara + "tet:route-object-exclude-object/"
<mailtojorge.lopez_vergara@uam.es> + "tet:type/tet:label/tet:label-hop/"
+ "tet:te-label/tet:technology" {
when "../../../../../../../../../../"
+ "nw:network-types/tet:te-topology/"
+ "flexi-grid:flexi-grid-topology" {
description
"Augmentation parameters apply only for networks with
Flexi-grid topology type.";
}
description
"Augment TE label hop for the explicit route objects excluded
by the path computation of the TE node connectivity
matrices";
case flexi-grid {
uses l0-types:flexi-grid-label-hop;
}
}
Editor: Daniel Perdices augment "/nw:networks/nw:network/nw:node/tet:te/"
<mailto:daniel.perdices@naudit.es> + "tet:te-node-attributes/tet:connectivity-matrices/"
+ "tet:optimizations/tet:algorithm/tet:metric/"
+ "tet:optimization-metric/"
+ "tet:explicit-route-include-objects/"
+ "tet:route-object-include-object/"
+ "tet:type/tet:label/tet:label-hop/"
+ "tet:te-label/tet:technology" {
when "../../../../../../../../../../"
+ "nw:network-types/tet:te-topology/"
+ "flexi-grid:flexi-grid-topology" {
description
"Augmentation parameters apply only for networks with
Flexi-grid topology type.";
}
description
"Augment TE label hop for the explicit route objects included
by the path computation of the TE node connectivity
matrices";
case flexi-grid {
uses l0-types:flexi-grid-label-hop;
}
}
Editor: Haomian Zheng augment "/nw:networks/nw:network/nw:node/tet:te/"
<mailto:zhenghaomian@huawei.com> + "tet:te-node-attributes/tet:connectivity-matrices/"
+ "tet:path-properties/tet:path-route-objects/"
+ "tet:path-route-object/tet:type/tet:label/tet:label-hop/"
+ "tet:te-label/tet:technology" {
when "../../../../../../../../../"
+ "nw:network-types/tet:te-topology/"
+ "flexi-grid:flexi-grid-topology" {
description
"Augmentation parameters apply only for networks with
Flexi-grid topology type.";
}
description
"Augment TE label hop for the computed path route objects
of the TE node connectivity matrices";
case flexi-grid {
uses l0-types:flexi-grid-label-hop;
}
}
Editor: Daniel King augment "/nw:networks/nw:network/nw:node/tet:te/"
<mailto:d.king@lancaster.ac.uk>"; + "tet:te-node-attributes/tet:connectivity-matrices/"
+ "tet:connectivity-matrix/tet:from/"
+ "tet:label-restrictions/tet:label-restriction/"
+ "tet:label-start/"
+ "tet:te-label/tet:technology" {
when "../../../../../../../../../../"
+ "nw:network-types/tet:te-topology/"
+ "flexi-grid:flexi-grid-topology" {
description
"Augmentation parameters apply only for networks with
Flexi-grid topology type.";
}
description
"Augment TE label range start for the source LTP
of the connectivity matrix entry.";
case flexi-grid {
uses l0-types:flexi-grid-label-start-end;
}
}
Editor: Young Lee augment "/nw:networks/nw:network/nw:node/tet:te/"
<mailto:younglee.tx@gmail.com> + "tet:te-node-attributes/tet:connectivity-matrices/"
+ "tet:connectivity-matrix/tet:from/"
+ "tet:label-restrictions/tet:label-restriction/"
+ "tet:label-end/"
+ "tet:te-label/tet:technology" {
when "../../../../../../../../../../"
+ "nw:network-types/tet:te-topology/"
+ "flexi-grid:flexi-grid-topology" {
description
"Augmentation parameters apply only for networks with
Flexi-grid topology type.";
}
description
"Augment TE label range end for the source LTP
of the connectivity matrix entry.";
case flexi-grid {
uses l0-types:flexi-grid-label-start-end;
}
}
description augment "/nw:networks/nw:network/nw:node/tet:te/"
"This module defines a model for flexi-grid topology + "tet:te-node-attributes/tet:connectivity-matrices/"
+ "tet:connectivity-matrix/tet:from/"
+ "tet:label-restrictions/tet:label-restriction/"
+ "tet:label-step/"
+ "tet:technology" {
when "../../../../../../../../../"
+ "nw:network-types/tet:te-topology/"
+ "flexi-grid:flexi-grid-topology" {
description
"Augmentation parameters apply only for networks with
Flexi-grid topology type.";
}
description
"Augment TE label range step for the source LTP
of the connectivity matrix entry.";
case flexi-grid {
uses l0-types:flexi-grid-label-step;
}
}
Copyright (c) 2020 IETF Trust and the persons identified augment "/nw:networks/nw:network/nw:node/tet:te/"
as authors of the code. All rights reserved. + "tet:te-node-attributes/tet:connectivity-matrices/"
+ "tet:connectivity-matrix/tet:to/"
+ "tet:label-restrictions/tet:label-restriction/"
+ "tet:label-start/"
+ "tet:te-label/tet:technology" {
when "../../../../../../../../../../"
+ "nw:network-types/tet:te-topology/"
+ "flexi-grid:flexi-grid-topology" {
description
"Augmentation parameters apply only for networks with
Flexi-grid topology type.";
}
description
"Augment TE label range start for the destination LTP
of the connectivity matrix entry.";
case flexi-grid {
uses l0-types:flexi-grid-label-start-end;
}
}
Redistribution and use in source and binary forms, with augment "/nw:networks/nw:network/nw:node/tet:te/"
or without modification, is permitted pursuant to, and + "tet:te-node-attributes/tet:connectivity-matrices/"
subject to the license terms contained in, the Simplified BSD + "tet:connectivity-matrix/tet:to/"
License set forth in Section 4.c of the IETF Trust's Legal + "tet:label-restrictions/tet:label-restriction/"
Provisions Relating to IETF Documents + "tet:label-end/"
(http://trustee.ietf.org/license-info)."; + "tet:te-label/tet:technology" {
when "../../../../../../../../../../"
+ "nw:network-types/tet:te-topology/"
+ "flexi-grid:flexi-grid-topology" {
description
"Augmentation parameters apply only for networks with
Flexi-grid topology type.";
}
description
"Augment TE label range end for the destination LTP
of the connectivity matrix entry.";
case flexi-grid {
uses l0-types:flexi-grid-label-start-end;
}
}
revision 2020-07-12 { augment "/nw:networks/nw:network/nw:node/tet:te/"
description + "tet:te-node-attributes/tet:connectivity-matrices/"
"Initial Version"; + "tet:connectivity-matrix/tet:to/"
+ "tet:label-restrictions/tet:label-restriction/"
+ "tet:label-step/"
+ "tet:technology" {
when "../../../../../../../../../"
+ "nw:network-types/tet:te-topology/"
+ "flexi-grid:flexi-grid-topology" {
description
"Augmentation parameters apply only for networks with
Flexi-grid topology type.";
}
description
"Augment TE label range step for the destination LTP
of the connectivity matrix entry.";
case flexi-grid {
uses l0-types:flexi-grid-label-step;
}
}
reference augment "/nw:networks/nw:network/nw:node/tet:te/"
"RFC ZZZZ: A Yang Data Model for flexi-grid Optical Networks "; + "tet:te-node-attributes/tet:connectivity-matrices/"
} + "tet:connectivity-matrix/"
+ "tet:underlay/tet:primary-path/tet:path-element/"
+ "tet:type/tet:label/tet:label-hop/"
+ "tet:te-label/tet:technology" {
when "../../../../../../../../../../"
+ "nw:network-types/tet:te-topology/"
+ "flexi-grid:flexi-grid-topology" {
description
"Augmentation parameters apply only for networks with
Flexi-grid topology type.";
}
description
"Augment TE label hop for the underlay primary path
of the connectivity matrix entry.";
case flexi-grid {
uses l0-types:flexi-grid-label-hop;
}
}
/* augment "/nw:networks/nw:network/nw:node/tet:te/"
* Groupings + "tet:te-node-attributes/tet:connectivity-matrices/"
*/ + "tet:connectivity-matrix/"
grouping flexi-grid-node-attributes { + "tet:underlay/tet:backup-path/tet:path-element/"
description "flexi-grid node attributes."; + "tet:type/tet:label/tet:label-hop/"
+ "tet:te-label/tet:technology" {
when "../../../../../../../../../../"
+ "nw:network-types/tet:te-topology/"
+ "flexi-grid:flexi-grid-topology" {
description
"Augmentation parameters apply only for networks with
Flexi-grid topology type.";
}
description
"Augment TE label hop for the underlay backup path
of the connectivity matrix entry.";
case flexi-grid {
uses l0-types:flexi-grid-label-hop;
}
}
container flexi-grid-node { augment "/nw:networks/nw:network/nw:node/tet:te/"
description "flexi-grid node attrtibutes."; + "tet:te-node-attributes/tet:connectivity-matrices/"
leaf node-type { + "tet:connectivity-matrix/tet:optimizations/"
type identityref { + "tet:algorithm/tet:metric/tet:optimization-metric/"
base l0-types:layer0-node-type; + "tet:explicit-route-exclude-objects/"
+ "tet:route-object-exclude-object/tet:type/"
+ "tet:label/tet:label-hop/tet:te-label/tet:technology" {
when "../../../../../../../../../../../"
+ "nw:network-types/tet:te-topology/"
+ "flexi-grid:flexi-grid-topology" {
description
"Augmentation parameters apply only for networks with
Flexi-grid topology type.";
}
description
"Augment TE label hop for the explicit route objects excluded
by the path computation of the connectivity matrix entry.";
case flexi-grid {
uses l0-types:flexi-grid-label-hop;
} }
description "flexi-grid node type.";
} }
}
}
grouping flexi-grid-link-attributes { augment "/nw:networks/nw:network/nw:node/tet:te/"
description + "tet:te-node-attributes/tet:connectivity-matrices/"
"Future flexi-grid link attributes extensions"; + "tet:connectivity-matrix/tet:optimizations/"
} + "tet:algorithm/tet:metric/tet:optimization-metric/"
grouping flexi-grid-tp-attributes { + "tet:explicit-route-include-objects/"
description "flexi-grid-tp-attributes"; + "tet:route-object-include-object/tet:type/"
+ "tet:label/tet:label-hop/tet:te-label/tet:technology" {
list supported-payload-types { when "../../../../../../../../../../../"
key "index"; + "nw:network-types/tet:te-topology/"
description + "flexi-grid:flexi-grid-topology" {
"Supported payload types of a TP. The payload type is defined description
as the generalized PIDs in GMPLS."; "Augmentation parameters apply only for networks with
leaf index { Flexi-grid topology type.";
type uint16; }
description "payload type index"; description
"Augment TE label hop for the explicit route objects included
by the path computation of the connectivity matrix entry.";
case flexi-grid {
uses l0-types:flexi-grid-label-hop;
}
} }
leaf payload-type {
type string; augment "/nw:networks/nw:network/nw:node/tet:te/"
description "the payload type supported by this client tp"; + "tet:te-node-attributes/tet:connectivity-matrices/"
reference + "tet:connectivity-matrix/"
"http://www.iana.org/assignments/gmpls-sig-parameters + "tet:path-properties/tet:path-route-objects/"
/gmpls-sig-parameters.xhtml"; + "tet:path-route-object/tet:type/"
+ "tet:label/tet:label-hop/tet:te-label/tet:technology" {
when "../../../../../../../../../../"
+ "nw:network-types/tet:te-topology/"
+ "flexi-grid:flexi-grid-topology" {
description
"Augmentation parameters apply only for networks with
Flexi-grid topology type.";
}
description
"Augment TE label hop for the computed path route objects
of the connectivity matrix entry.";
case flexi-grid {
uses l0-types:flexi-grid-label-hop;
}
} }
}
leaf client-facing {
type boolean;
default 'false';
description
"Indicating if it is a client-facing TP.";
}
}
grouping flexi-grid-ttp-attributes { augment "/nw:networks/nw:network/nw:node/tet:te/"
description + "tet:information-source-entry/"
"flexi-grid tunnel termination point (e.g.tranponder) + "tet:connectivity-matrices/tet:label-restrictions/"
attributes"; + "tet:label-restriction/"
leaf-list supported-operational-modes { + "tet:label-start/tet:te-label/tet:technology" {
type l0-types:operational-mode; when "../../../../../../../../"
description + "nw:network-types/tet:te-topology/"
"List of all supported vendor-specific + "flexi-grid:flexi-grid-topology" {
mode identifiers"; description
} "Augmentation parameters apply only for networks with
leaf configured-operational-modes { Flexi-grid topology type.";
type l0-types:operational-mode; }
description description
"Vendor-specific mode identifier configured "Augment TE label range start for the TE node connectivity
on the TTP."; matrices information source.";
} case flexi-grid {
uses l0-types:flexi-grid-label-start-end;
}
}
leaf-list supported-fec-types { augment "/nw:networks/nw:network/nw:node/tet:te/"
type identityref { + "tet:information-source-entry/"
base l0-types:fec-type; + "tet:connectivity-matrices/tet:label-restrictions/"
+ "tet:label-restriction/"
+ "tet:label-end/tet:te-label/tet:technology" {
when "../../../../../../../../"
+ "nw:network-types/tet:te-topology/"
+ "flexi-grid:flexi-grid-topology" {
description
"Augmentation parameters apply only for networks with
Flexi-grid topology type.";
}
description
"Augment TE label range end for the TE node connectivity
matrices information source.";
case flexi-grid {
uses l0-types:flexi-grid-label-start-end;
}
} }
description
"List of all supported FEC types by this TTP.";
}
leaf-list supported-termination-types { augment "/nw:networks/nw:network/nw:node/tet:te/"
type identityref { + "tet:information-source-entry/"
base l0-types:term-type; + "tet:connectivity-matrices/tet:label-restrictions/"
+ "tet:label-restriction/"
+ "tet:label-step/tet:technology" {
when "../../../../../../../"
+ "nw:network-types/tet:te-topology/"
+ "flexi-grid:flexi-grid-topology" {
description
"Augmentation parameters apply only for networks with
Flexi-grid topology type.";
}
description
"Augment TE label range step for the TE node connectivity
matrices information source.";
case flexi-grid {
uses l0-types:flexi-grid-label-step;
}
} }
augment "/nw:networks/nw:network/nw:node/tet:te/"
+ "tet:information-source-entry/tet:connectivity-matrices/"
+ "tet:underlay/tet:primary-path/tet:path-element/tet:type/"
+ "tet:label/tet:label-hop/tet:te-label/tet:technology" {
when "../../../../../../../../../"
+ "nw:network-types/tet:te-topology/"
+ "flexi-grid:flexi-grid-topology" {
description
"Augmentation parameters apply only for networks with
Flexi-grid topology type.";
}
description description
"List of all supported termination types by this TTP."; "Augment TE label hop for the underlay primary path
} of the TE node connectivity matrices of the information
source entry.";
leaf supports-bit-stuffing { case flexi-grid {
type boolean; uses l0-types:flexi-grid-label-hop;
description }
"Indicate whether bit stuffing is supported by this TTP."; }
}
leaf is-tunable {
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 C-band.";
}
leaf max-subcarrier-channel-num { augment "/nw:networks/nw:network/nw:node/tet:te/"
type uint8 { + "tet:information-source-entry/tet:connectivity-matrices/"
range "1..max"; + "tet:underlay/tet:backup-path/tet:path-element/tet:type/"
+ "tet:label/tet:label-hop/tet:te-label/tet:technology" {
when "../../../../../../../../../"
+ "nw:network-types/tet:te-topology/"
+ "flexi-grid:flexi-grid-topology" {
description
"Augmentation parameters apply only for networks with
Flexi-grid topology type.";
}
description
"Augment TE label hop for the underlay backup path
of the TE node connectivity matrices of the information
source entry.";
case flexi-grid {
uses l0-types:flexi-grid-label-hop;
}
} }
default 1;
description
"Indicate the maximum number of subcarrier channels for
super-channel transponders. When the value equals 1 it
represents regular single-channel transponder.";
}
leaf supports-flexi-grid {
type boolean;
description
"Indicates if the TTP, or transponder, supports flex grid.";
} augment "/nw:networks/nw:network/nw:node/tet:te/"
} + "tet:information-source-entry/tet:connectivity-matrices/"
+ "tet:optimizations/tet:algorithm/tet:metric/"
+ "tet:optimization-metric/"
+ "tet:explicit-route-exclude-objects/"
+ "tet:route-object-exclude-object/tet:type/"
+ "tet:label/tet:label-hop/tet:te-label/tet:technology" {
when "../../../../../../../../../../"
+ "nw:network-types/tet:te-topology/"
+ "flexi-grid:flexi-grid-topology" {
description
"Augmentation parameters apply only for networks with
Flexi-grid topology type.";
}
description
"Augment TE label hop for the explicit route objects excluded
by the path computation of the TE node connectivity matrices
information source.";
case flexi-grid {
uses l0-types:flexi-grid-label-hop;
}
}
/* augment "/nw:networks/nw:network/nw:node/tet:te/"
* Data nodes + "tet:information-source-entry/tet:connectivity-matrices/"
*/ + "tet:optimizations/tet:algorithm/tet:metric/"
+ "tet:optimization-metric/"
+ "tet:explicit-route-include-objects/"
+ "tet:route-object-include-object/tet:type/"
+ "tet:label/tet:label-hop/tet:te-label/tet:technology" {
when "../../../../../../../../../../"
+ "nw:network-types/tet:te-topology/"
+ "flexi-grid:flexi-grid-topology" {
description
"Augmentation parameters apply only for networks with
Flexi-grid topology type.";
}
description
"Augment TE label hop for the explicit route objects included
by the path computation of the TE node connectivity matrices
information source.";
case flexi-grid {
uses l0-types:flexi-grid-label-hop;
}
}
augment "/nw:networks/nw:network/nw:network-types" augment "/nw:networks/nw:network/nw:node/tet:te/"
+ "/tet:te-topology" { + "tet:information-source-entry/tet:connectivity-matrices/"
description "flexi-grid-topology augmented"; + "tet:path-properties/tet:path-route-objects/"
container flexi-grid-topology { + "tet:path-route-object/tet:type/"
presence "indicates a topology of Flex Grid"; + "tet:label/tet:label-hop/tet:te-label/tet:technology" {
when "../../../../../../../../../"
+ "nw:network-types/tet:te-topology/"
+ "flexi-grid:flexi-grid-topology" {
description
"Augmentation parameters apply only for networks with
Flexi-grid topology type.";
}
description description
"Container to identify flexi-grid topology type"; "Augment TE label hop for the computed path route objects
of the TE node connectivity matrices information source.";
case flexi-grid {
uses l0-types:flexi-grid-label-hop;
}
} }
}
augment "/nw:networks/nw:network/nt:link/tet:te" augment "/nw:networks/nw:network/nw:node/tet:te/"
+ "/tet:te-link-attributes" { + "tet:information-source-entry/tet:connectivity-matrices/"
when "/nw:networks/nw:network/nw:network-types" + "tet:connectivity-matrix/"
+"/tet:te-topology/flexi-grid:flexi-grid-topology" { + "tet:from/tet:label-restrictions/"
description "This augment is only valid for flexi-grid."; + "tet:label-restriction/"
} + "tet:label-start/tet:te-label/tet:technology" {
description "flexi-grid Link augmentation."; when "../../../../../../../../../../"
uses flexi-grid-link-attributes; + "nw:network-types/tet:te-topology/"
} + "flexi-grid:flexi-grid-topology" {
description
"Augmentation parameters apply only for networks with
Flexi-grid topology type.";
}
description
"Augment TE label range start for the source LTP
of the connectivity matrix entry information source.";
case flexi-grid {
uses l0-types:flexi-grid-label-start-end;
}
}
augment "/nw:networks/nw:network/nw:node/tet:te/"
+ "tet:information-source-entry/tet:connectivity-matrices/"
+ "tet:connectivity-matrix/"
+ "tet:from/tet:label-restrictions/"
+ "tet:label-restriction/"
+ "tet:label-end/tet:te-label/tet:technology" {
when "../../../../../../../../../../"
+ "nw:network-types/tet:te-topology/"
+ "flexi-grid:flexi-grid-topology" {
description
"Augmentation parameters apply only for networks with
Flexi-grid topology type.";
}
description
"Augment TE label range end for the source LTP
of the connectivity matrix entry information source.";
case flexi-grid {
uses l0-types:flexi-grid-label-start-end;
augment "/nw:networks/nw:network/nw:node/nt:termination-point/" }
+ "tet:te" { }
when "/nw:networks/nw:network/nw:network-types"
+"/tet:te-topology/flexi-grid:flexi-grid-topology" {
description "This augment is only valid for flexi-grid.";
}
description "flexi-grid TP attributes.";
uses flexi-grid-tp-attributes;
}
augment "/nw:networks/nw:network/nw:node/tet:te" augment "/nw:networks/nw:network/nw:node/tet:te/"
+ "/tet:te-node-attributes" { + "tet:information-source-entry/tet:connectivity-matrices/"
when "/nw:networks/nw:network/nw:network-types" + "tet:connectivity-matrix/"
+"/tet:te-topology/flexi-grid:flexi-grid-topology" { + "tet:from/tet:label-restrictions/"
description "This augment is only valid for flexi-grid."; + "tet:label-restriction/"
} + "tet:label-step/tet:technology" {
description "flexi-grid Node augmentation."; when "../../../../../../../../../"
uses flexi-grid-node-attributes; + "nw:network-types/tet:te-topology/"
} + "flexi-grid:flexi-grid-topology" {
augment "/nw:networks/nw:network/nw:node/tet:te" description
+ "/tet:tunnel-termination-point" { "Augmentation parameters apply only for networks with
when "/nw:networks/nw:network/nw:network-types" Flexi-grid topology type.";
+"/tet:te-topology/flexi-grid:flexi-grid-topology" { }
description "This augment is only valid for flexi-grid."; description
} "Augment TE label range step for the source LTP
description "flexi-grid tunnel termination point augmentation."; of the connectivity matrix entry information source.";
uses flexi-grid-ttp-attributes; case flexi-grid {
} uses l0-types:flexi-grid-label-step;
}
}
/* augment "/nw:networks/nw:network/nw:node/tet:te/"
* Augment TE bandwidth + "tet:information-source-entry/tet:connectivity-matrices/"
*/ + "tet:connectivity-matrix/"
+ "tet:to/tet:label-restrictions/tet:label-restriction/"
+ "tet:label-start/tet:te-label/tet:technology" {
when "../../../../../../../../../../"
+ "nw:network-types/tet:te-topology/"
+ "flexi-grid:flexi-grid-topology" {
description
"Augmentation parameters apply only for networks with
Flexi-grid topology type.";
}
description
"Augment TE label range start for the destination LTP
of the connectivity matrix entry information source.";
case flexi-grid {
uses l0-types:flexi-grid-label-start-end;
}
}
/* Augment maximum LSP bandwidth of link terminationpoint (LTP) */ augment "/nw:networks/nw:network/nw:node/tet:te/"
augment "/nw:networks/nw:network/nw:node/nt:termination-point/" + "tet:information-source-entry/tet:connectivity-matrices/"
+ "tet:te/" + "tet:connectivity-matrix/"
+ "tet:interface-switching-capability/tet:max-lsp-bandwidth/" + "tet:to/tet:label-restrictions/tet:label-restriction/"
+ "tet:te-bandwidth/tet:technology" { + "tet:label-end/tet:te-label/tet:technology" {
when "../../../../../../nw:network-types/tet:te-topology/" when "../../../../../../../../../../"
+ "flexi-grid:flexi-grid-topology" { + "nw:network-types/tet:te-topology/"
description "Augment flexi-grid TE bandwidth"; + "flexi-grid:flexi-grid-topology" {
} description
description "flexi-grid bandwidth."; "Augmentation parameters apply only for networks with
case flexi-grid { Flexi-grid topology type.";
uses l0-types:flexi-grid-path-bandwidth; }
} description
} "Augment TE label range end for the destination LTP
of the connectivity matrix entry information source.";
case flexi-grid {
uses l0-types:flexi-grid-label-start-end;
}
}
/* Augment bandwidth path constraints of connectivity-matrices */ augment "/nw:networks/nw:network/nw:node/tet:te/"
augment "/nw:networks/nw:network/nw:node/tet:te/" + "tet:information-source-entry/tet:connectivity-matrices/"
+ "tet:te-node-attributes/tet:connectivity-matrices/" + "tet:connectivity-matrix/"
+ "tet:path-constraints/tet:te-bandwidth/tet:technology" { + "tet:to/tet:label-restrictions/tet:label-restriction/"
when "../../../../../../nw:network-types/tet:te-topology/" + "tet:label-step/tet:technology" {
+ "flexi-grid:flexi-grid-topology" { when "../../../../../../../../../"
description "Augment flexi-grid TE bandwidth"; + "nw:network-types/tet:te-topology/"
} + "flexi-grid:flexi-grid-topology" {
description "flexi-grid bandwidth."; description
case flexi-grid { "Augmentation parameters apply only for networks with
uses l0-types:flexi-grid-link-bandwidth; Flexi-grid topology type.";
} }
} description
/* Augment bandwidth path constraints of connectivity-matrix */ "Augment TE label range step for the destination LTP
augment "/nw:networks/nw:network/nw:node/tet:te/" of the connectivity matrix entry information source.";
+ "tet:te-node-attributes/tet:connectivity-matrices/" case flexi-grid {
+ "tet:connectivity-matrix/" uses l0-types:flexi-grid-label-step;
+ "tet:path-constraints/tet:te-bandwidth/tet:technology" { }
when "../../../../../../../nw:network-types/tet:te-topology/" }
+ "flexi-grid:flexi-grid-topology" {
description "Augment flexi-grid TE bandwidth";
}
description "flexi-grid bandwidth.";
case flexi-grid {
uses l0-types:flexi-grid-link-bandwidth;
}
}
/* Augment bandwidth path constraints of connectivity-matrices augment "/nw:networks/nw:network/nw:node/tet:te/"
information-source */ + "tet:information-source-entry/tet:connectivity-matrices/"
augment "/nw:networks/nw:network/nw:node/tet:te/" + "tet:connectivity-matrix/"
+ "tet:information-source-entry/tet:connectivity-matrices/" + "tet:underlay/tet:primary-path/tet:path-element/tet:type/"
+ "tet:path-constraints/tet:te-bandwidth/tet:technology" { + "tet:label/tet:label-hop/tet:te-label/tet:technology" {
when "../../../../../../nw:network-types/tet:te-topology/" when "../../../../../../../../../../"
+ "flexi-grid:flexi-grid-topology" { + "nw:network-types/tet:te-topology/"
description "Augment flexi-grid TE bandwidth"; + "flexi-grid:flexi-grid-topology" {
} description
description "flexi-grid bandwidth."; "Augmentation parameters apply only for networks with
case flexi-grid { Flexi-grid topology type.";
uses l0-types:flexi-grid-link-bandwidth; }
} description
} "Augment TE label hop for the underlay primary path
of the connectivity matrix entry information source.";
case flexi-grid {
uses l0-types:flexi-grid-label-hop;
}
}
/* Augment bandwidth path constraints of connectivity-matrix augment "/nw:networks/nw:network/nw:node/tet:te/"
information-source */ + "tet:information-source-entry/tet:connectivity-matrices/"
augment "/nw:networks/nw:network/nw:node/tet:te/" + "tet:connectivity-matrix/"
+ "tet:information-source-entry/tet:connectivity-matrices/" + "tet:underlay/tet:backup-path/tet:path-element/tet:type/"
+ "tet:connectivity-matrix/" + "tet:label/tet:label-hop/tet:te-label/tet:technology" {
+ "tet:path-constraints/tet:te-bandwidth/tet:technology" { when "../../../../../../../../../../"
when "../../../../../../../nw:network-types/tet:te-topology/" + "nw:network-types/tet:te-topology/"
+ "flexi-grid:flexi-grid-topology" { + "flexi-grid:flexi-grid-topology" {
description "Augment flexi-grid TE bandwidth"; description
} "Augmentation parameters apply only for networks with
description "flexi-grid bandwidth."; Flexi-grid topology type.";
case flexi-grid { }
uses l0-types:flexi-grid-link-bandwidth; description
} "Augment TE label hop for the underlay backup path
} of the connectivity matrix entry information source.";
/* Augment client bandwidth of tunnel termination point (TTP) */ case flexi-grid {
augment "/nw:networks/nw:network/nw:node/tet:te/" uses l0-types:flexi-grid-label-hop;
+ "tet:tunnel-termination-point/" }
+ "tet:client-layer-adaptation/tet:switching-capability/" }
+ "tet:te-bandwidth/tet:technology" {
when "../../../../../../nw:network-types/tet:te-topology/"
+ "flexi-grid:flexi-grid-topology" {
description "Augment flexi-grid TE bandwidth";
}
description "flexi-grid bandwidth.";
case flexi-grid {
uses l0-types:flexi-grid-link-bandwidth;
}
}
/* Augment bandwidth path constraints of local-link-connectivities */ augment "/nw:networks/nw:network/nw:node/tet:te/"
augment "/nw:networks/nw:network/nw:node/tet:te/" + "tet:information-source-entry/tet:connectivity-matrices/"
+ "tet:tunnel-termination-point/" + "tet:connectivity-matrix/"
+ "tet:local-link-connectivities/tet:path-constraints/" + "tet:optimizations/tet:algorithm/tet:metric/"
+ "tet:te-bandwidth/tet:technology" { + "tet:optimization-metric/"
when "../../../../../../nw:network-types/tet:te-topology/" + "tet:explicit-route-exclude-objects/"
+ "flexi-grid:flexi-grid-topology" { + "tet:route-object-exclude-object/tet:type/"
description "Augment flexi-grid TE bandwidth"; + "tet:label/tet:label-hop/tet:te-label/tet:technology" {
} when "../../../../../../../../../../../"
description "flexi-grid bandwidth."; + "nw:network-types/tet:te-topology/"
case flexi-grid { + "flexi-grid:flexi-grid-topology" {
uses l0-types:flexi-grid-link-bandwidth; description
} "Augmentation parameters apply only for networks with
} Flexi-grid topology type.";
}
description
"Augment TE label hop for the explicit route objects excluded
by the path computation of the connectivity matrix entry
information source.";
case flexi-grid {
uses l0-types:flexi-grid-label-hop;
}
}
/* Augment bandwidth path constraints of local-link-connectivity augment "/nw:networks/nw:network/nw:node/tet:te/"
(LLC) */ + "tet:information-source-entry/tet:connectivity-matrices/"
augment "/nw:networks/nw:network/nw:node/tet:te/" + "tet:connectivity-matrix/"
+ "tet:tunnel-termination-point/" + "tet:optimizations/tet:algorithm/tet:metric/"
+ "tet:local-link-connectivities/" + "tet:optimization-metric/"
+ "tet:local-link-connectivity/tet:path-constraints/" + "tet:explicit-route-include-objects/"
+ "tet:te-bandwidth/tet:technology" { + "tet:route-object-include-object/tet:type/"
when "../../../../../../../nw:network-types/tet:te-topology/" + "tet:label/tet:label-hop/tet:te-label/tet:technology" {
+ "flexi-grid:flexi-grid-topology" { when "../../../../../../../../../../../"
description "Augment flexi-grid TE bandwidth"; + "nw:network-types/tet:te-topology/"
} + "flexi-grid:flexi-grid-topology" {
description "flexi-grid bandwidth."; description
case flexi-grid { "Augmentation parameters apply only for networks with
uses l0-types:flexi-grid-link-bandwidth; Flexi-grid topology type.";
} }
} description
/* Augment maximum LSP bandwidth of TE link */ "Augment TE label hop for the explicit route objects included
augment "/nw:networks/nw:network/nt:link/tet:te/" by the path computation of the connectivity matrix entry
+ "tet:te-link-attributes/" information source.";
+ "tet:interface-switching-capability/tet:max-lsp-bandwidth/" case flexi-grid {
+ "tet:te-bandwidth/tet:technology" { uses l0-types:flexi-grid-label-hop;
when "../../../../../../nw:network-types/tet:te-topology/" }
+ "flexi-grid:flexi-grid-topology" { }
description "flexi-grid TE bandwidth.";
}
description "flexi-grid bandwidth.";
case flexi-grid {
uses l0-types:flexi-grid-path-bandwidth;
} augment "/nw:networks/nw:network/nw:node/tet:te/"
} + "tet:information-source-entry/tet:connectivity-matrices/"
+ "tet:connectivity-matrix/"
+ "tet:path-properties/tet:path-route-objects/"
+ "tet:path-route-object/tet:type/"
+ "tet:label/tet:label-hop/tet:te-label/tet:technology" {
when "../../../../../../../../../../"
+ "nw:network-types/tet:te-topology/"
+ "flexi-grid:flexi-grid-topology" {
description
"Augmentation parameters apply only for networks with
Flexi-grid topology type.";
}
description
"Augment TE label hop for the computed path route objects
of the connectivity matrix entry information source.";
case flexi-grid {
uses l0-types:flexi-grid-label-hop;
}
}
augment "/nw:networks/nw:network/nw:node/tet:te/"
+ "tet:tunnel-termination-point/"
+ "tet:local-link-connectivities/"
+ "tet:label-restrictions/tet:label-restriction/"
+ "tet:label-start/"
+ "tet:te-label/tet:technology" {
when "../../../../../../../../"
+ "nw:network-types/tet:te-topology/"
+ "flexi-grid:flexi-grid-topology" {
description
"Augmentation parameters apply only for networks with
Flexi-grid topology type.";
}
description
"Augment TE label range start for the TTP
Local Link Connectivities.";
case flexi-grid {
uses l0-types:flexi-grid-label-start-end;
}
}
/* Augment maximum bandwidth of TE link */ augment "/nw:networks/nw:network/nw:node/tet:te/"
augment "/nw:networks/nw:network/nt:link/tet:te/" + "tet:tunnel-termination-point/"
+ "tet:te-link-attributes/" + "tet:local-link-connectivities/"
+ "tet:max-link-bandwidth/" + "tet:label-restrictions/tet:label-restriction/"
+ "tet:te-bandwidth/tet:technology" { + "tet:label-end/"
when "../../../../../nw:network-types/tet:te-topology/" + "tet:te-label/tet:technology"{
+ "flexi-grid:flexi-grid-topology" { when "../../../../../../../../"
description "flexi-grid TE bandwidth."; + "nw:network-types/tet:te-topology/"
} + "flexi-grid:flexi-grid-topology" {
description "flexi-grid bandwidth."; description
case flexi-grid { "Augmentation parameters apply only for networks with
uses l0-types:flexi-grid-link-bandwidth; Flexi-grid topology type.";
} }
} description
"Augment TE label range end for the TTP
Local Link Connectivities.";
case flexi-grid {
uses l0-types:flexi-grid-label-start-end;
}
}
/* Augment maximum reservable bandwidth of TE link */ augment "/nw:networks/nw:network/nw:node/tet:te/"
augment "/nw:networks/nw:network/nt:link/tet:te/" + "tet:tunnel-termination-point/"
+ "tet:te-link-attributes/" + "tet:local-link-connectivities/"
+ "tet:max-resv-link-bandwidth/" + "tet:label-restrictions/tet:label-restriction/"
+ "tet:te-bandwidth/tet:technology" { + "tet:label-step/"
when "../../../../../nw:network-types/tet:te-topology/" + "tet:technology"{
+ "flexi-grid:flexi-grid-topology" {
description "flexi-grid TE bandwidth.";
}
description "flexi-grid bandwidth.";
case flexi-grid {
uses l0-types:flexi-grid-link-bandwidth;
}
}
/* Augment unreserved bandwidth of TE Link */
augment "/nw:networks/nw:network/nt:link/tet:te/"
+ "tet:te-link-attributes/"
+ "tet:unreserved-bandwidth/"
+ "tet:te-bandwidth/tet:technology" {
when "../../../../../nw:network-types/tet:te-topology/"
+ "flexi-grid:flexi-grid-topology" {
description "flexi-grid TE bandwidth.";
}
description "flexi-grid bandwidth.";
case flexi-grid {
uses l0-types:flexi-grid-link-bandwidth;
}
}
/* Augment maximum LSP bandwidth of TE link information-source */
augment "/nw:networks/nw:network/nt:link/tet:te/"
+ "tet:information-source-entry/"
+ "tet:interface-switching-capability/"
+ "tet:max-lsp-bandwidth/"
+ "tet:te-bandwidth/tet:technology" {
when "../../../../../../nw:network-types/tet:te-topology/"
+ "flexi-grid:flexi-grid-topology" {
description "flexi-grid TE bandwidth.";
}
description "flexi-grid bandwidth.";
case flexi-grid {
uses l0-types:flexi-grid-path-bandwidth;
}
}
/* Augment maximum bandwidth of TE link information-source */ when "../../../../../../../"
augment "/nw:networks/nw:network/nt:link/tet:te/" + "nw:network-types/tet:te-topology/"
+ "tet:information-source-entry/" + "flexi-grid:flexi-grid-topology" {
+ "tet:max-link-bandwidth/" description
+ "tet:te-bandwidth/tet:technology" { "Augmentation parameters apply only for networks with
when "../../../../../nw:network-types/tet:te-topology/" Flexi-grid topology type.";
+ "flexi-grid:flexi-grid-topology" { }
description "flexi-grid TE bandwidth."; description
} "Augment TE label range step for the TTP
description "flexi-grid bandwidth."; Local Link Connectivities.";
case flexi-grid { case flexi-grid {
uses l0-types:flexi-grid-link-bandwidth; uses l0-types:flexi-grid-label-step;
} }
} }
/* Augment maximum reservable bandwidth of TE link information-source
*/
augment "/nw:networks/nw:network/nt:link/tet:te/"
+ "tet:information-source-entry/"
+ "tet:max-resv-link-bandwidth/"
+ "tet:te-bandwidth/tet:technology" {
when "../../../../../nw:network-types/tet:te-topology/"
+ "flexi-grid:flexi-grid-topology" {
description "flexi-grid TE bandwidth.";
}
description "flexi-grid bandwidth.";
case flexi-grid {
uses l0-types:flexi-grid-link-bandwidth;
}
}
/* Augment unreserved bandwidth of TE link information-source */
augment "/nw:networks/nw:network/nt:link/tet:te/"
+ "tet:information-source-entry/"
+ "tet:unreserved-bandwidth/"
+ "tet:te-bandwidth/tet:technology" {
when "../../../../../nw:network-types/tet:te-topology/"
+ "flexi-grid:flexi-grid-topology" {
description "flexi-grid TE bandwidth.";
}
description "flexi-grid bandwidth.";
case flexi-grid {
uses l0-types:flexi-grid-link-bandwidth;
}
}
/* Augment maximum LSP bandwidth of TE link template */ augment "/nw:networks/nw:network/nw:node/tet:te/"
augment "/nw:networks/tet:te/tet:templates/" + "tet:tunnel-termination-point/"
+ "tet:link-template/tet:te-link-attributes/" + "tet:local-link-connectivities/"
+ "tet:interface-switching-capability/" + "tet:underlay/tet:primary-path/tet:path-element/tet:type/"
+ "tet:max-lsp-bandwidth/" + "tet:label/tet:label-hop/tet:te-label/tet:technology" {
+ "tet:te-bandwidth/tet:technology" { when "../../../../../../../../../"
/* + "nw:network-types/tet:te-topology/"
when "../../../../../../nw:network-types/tet:te-topology/" + "flexi-grid:flexi-grid-topology" {
+ "flexi-grid:flexi-grid-topology" { description
description "flexi-grid TE bandwidth."; "Augmentation parameters apply only for networks with
} Flexi-grid topology type.";
*/ }
description "flexi-grid bandwidth."; description
case flexi-grid { "Augment TE label hop for the underlay primary path
uses l0-types:flexi-grid-path-bandwidth; of the TTP Local Link Connectivities.";
} case flexi-grid {
} uses l0-types:flexi-grid-label-hop;
/* Augment maximum bandwidth of TE link template */ }
augment "/nw:networks/tet:te/tet:templates/" }
+ "tet:link-template/tet:te-link-attributes/"
+ "tet:max-link-bandwidth/"
+ "tet:te-bandwidth/tet:technology" {
/*
when "../../../../../nw:network-types/tet:te-topology/"
+ "flexi-grid:flexi-grid-topology" {
description "flexi-grid TE bandwidth.";
}
*/
description "flexi-grid bandwidth.";
case flexi-grid {
uses l0-types:flexi-grid-link-bandwidth;
}
}
/* Augment maximum reservable bandwidth of TE link template */
augment "/nw:networks/tet:te/tet:templates/"
+ "tet:link-template/tet:te-link-attributes/"
+ "tet:max-resv-link-bandwidth/"
+ "tet:te-bandwidth/tet:technology" {
/*
when "../../../../../nw:network-types/tet:te-topology/"
+ "flexi-grid:flexi-grid-topology" {
description "flexi-grid TE bandwidth.";
}
*/
description "flexi-grid bandwidth.";
case flexi-grid {
uses l0-types:flexi-grid-link-bandwidth;
}
}
/* Augment unreserved bandwidth of TE link template */ augment "/nw:networks/nw:network/nw:node/tet:te/"
augment "/nw:networks/tet:te/tet:templates/" + "tet:tunnel-termination-point/"
+ "tet:link-template/tet:te-link-attributes/" + "tet:local-link-connectivities/"
+ "tet:unreserved-bandwidth/" + "tet:underlay/tet:backup-path/tet:path-element/tet:type/"
+ "tet:te-bandwidth/tet:technology" { + "tet:label/tet:label-hop/tet:te-label/tet:technology" {
/* when "../../../../../../../../../"
when "../../../../../../nw:network-types/tet:te-topology/" + "nw:network-types/tet:te-topology/"
+ "flexi-grid:flexi-grid-topology" { + "flexi-grid:flexi-grid-topology" {
description "flexi-grid TE bandwidth."; description
} "Augmentation parameters apply only for networks with
*/ Flexi-grid topology type.";
description "flexi-grid bandwidth."; }
case flexi-grid { description
uses l0-types:flexi-grid-link-bandwidth; "Augment TE label hop for the underlay backup path
} of the TTP Local Link Connectivities.";
} case flexi-grid {
uses l0-types:flexi-grid-label-hop;
}
}
/* augment "/nw:networks/nw:network/nw:node/tet:te/"
* Augment TE label. + "tet:tunnel-termination-point/"
*/ + "tet:local-link-connectivities/"
+ "tet:optimizations/tet:algorithm/tet:metric/"
+ "tet:optimization-metric/"
+ "tet:explicit-route-exclude-objects/"
+ "tet:route-object-exclude-object/tet:type/"
+ "tet:label/tet:label-hop/tet:te-label/tet:technology" {
when "../../../../../../../../../../"
+ "nw:network-types/tet:te-topology/"
+ "flexi-grid:flexi-grid-topology" {
description
"Augmentation parameters apply only for networks with
Flexi-grid topology type.";
}
description
"Augment TE label hop for the explicit route objects excluded
by the path computation of the TTP Local Link
Connectivities.";
case flexi-grid {
uses l0-types:flexi-grid-label-hop;
}
}
/* Augment label restrictions of connectivity-matrices */ augment "/nw:networks/nw:network/nw:node/tet:te/"
augment "/nw:networks/nw:network/nw:node/tet:te/" + "tet:tunnel-termination-point/"
+ "tet:te-node-attributes/tet:connectivity-matrices/" + "tet:local-link-connectivities/"
+ "tet:label-restrictions/tet:label-restriction" { + "tet:optimizations/tet:algorithm/tet:metric/"
when "../../../../../../nw:network-types/tet:te-topology/" + "tet:optimization-metric/"
+ "flexi-grid:flexi-grid-topology" { + "tet:explicit-route-include-objects/"
description "Augment flexi-grid TE label"; + "tet:route-object-include-object/tet:type/"
} + "tet:label/tet:label-hop/tet:te-label/tet:technology" {
description "flexi-grid label."; when "../../../../../../../../../../"
uses l0-types:flexi-grid-label-restriction; + "nw:network-types/tet:te-topology/"
} + "flexi-grid:flexi-grid-topology" {
/* Augment label restrictions start of connectivity-matrices */ description
augment "/nw:networks/nw:network/nw:node/tet:te/" "Augmentation parameters apply only for networks with
+ "tet:te-node-attributes/tet:connectivity-matrices/" Flexi-grid topology type.";
+ "tet:label-restrictions/tet:label-restriction/" }
+ "tet:label-start/" description
+ "tet:te-label/tet:technology" { "Augment TE label hop for the explicit route objects included
when "../../../../../../../../nw:network-types/tet:te-topology/" by the path computation of the TTP Local Link
+ "flexi-grid:flexi-grid-topology" { Connectivities.";
description "Augment flexi-grid TE label"; case flexi-grid {
} uses l0-types:flexi-grid-label-hop;
description "flexi-grid label."; }
case flexi-grid { }
uses l0-types:flexi-grid-link-label;
}
}
/* Augment label restrictions end of connectivity-matrices */
augment "/nw:networks/nw:network/nw:node/tet:te/"
+ "tet:te-node-attributes/tet:connectivity-matrices/"
+ "tet:label-restrictions/"
+ "tet:label-restriction/tet:label-end/"
+ "tet:te-label/tet:technology" {
when "../../../../../../../../"
+ "nw:network-types/tet:te-topology/"
+ "flexi-grid:flexi-grid-topology" {
description "Augment flexi-grid TE label";
}
description "flexi-grid label.";
case flexi-grid {
uses l0-types:flexi-grid-link-label;
}
}
/* Augment label restrictions step of connectivity-matrices */ augment "/nw:networks/nw:network/nw:node/tet:te/"
augment "/nw:networks/nw:network/nw:node/tet:te/" + "tet:tunnel-termination-point/"
+ "tet:te-node-attributes/tet:connectivity-matrices/" + "tet:local-link-connectivities/"
+ "tet:label-restrictions/" + "tet:path-properties/tet:path-route-objects/"
+ "tet:label-restriction/tet:label-step/" + "tet:path-route-object/tet:type/"
+ "tet:technology" { + "tet:label/tet:label-hop/tet:te-label/tet:technology" {
when "../../../../../../../" when "../../../../../../../../../"
+ "nw:network-types/tet:te-topology/" + "nw:network-types/tet:te-topology/"
+ "flexi-grid:flexi-grid-topology" { + "flexi-grid:flexi-grid-topology" {
description "Augment flexi-grid TE label"; description
} "Augmentation parameters apply only for networks with
description "flexi-grid label step."; Flexi-grid topology type.";
case flexi-grid { }
uses l0-types:flexi-grid-label-step; description
} "Augment TE label hop for the computed path route objects
} of the TTP Local Link Connectivities.";
/* Augment label hop of underlay primary path of connectivity-matrices case flexi-grid {
*/ uses l0-types:flexi-grid-label-hop;
augment "/nw:networks/nw:network/nw:node/tet:te/" }
+ "tet:te-node-attributes/tet:connectivity-matrices/" }
+ "tet:underlay/tet:primary-path/tet:path-element/"
+ "tet:type/tet:label/tet:label-hop/"
+ "tet:te-label/tet:technology" {
when "../../../../../../../../../"
+ "nw:network-types/tet:te-topology/"
+ "flexi-grid:flexi-grid-topology" {
description "Augment flexi-grid TE label";
}
description "flexi-grid label.";
case flexi-grid {
uses l0-types:flexi-grid-path-label;
}
}
/* Augment label hop of underlay backup path of connectivity-matrices
*/
augment "/nw:networks/nw:network/nw:node/tet:te/"
+ "tet:te-node-attributes/tet:connectivity-matrices/"
+ "tet:underlay/tet:backup-path/tet:path-element/"
+ "tet:type/tet:label/tet:label-hop/"
+ "tet:te-label/tet:technology" {
when "../../../../../../../../../"
+ "nw:network-types/tet:te-topology/"
+ "flexi-grid:flexi-grid-topology" {
description "Augment flexi-grid TE label";
}
description "flexi-grid label.";
case flexi-grid {
uses l0-types:flexi-grid-path-label;
}
}
/* Augment label hop of route-exclude of connectivity-matrices */
augment "/nw:networks/nw:network/nw:node/tet:te/"
+ "tet:te-node-attributes/tet:connectivity-matrices/"
+ "tet:optimizations/tet:algorithm/tet:metric/"
+ "tet:optimization-metric/"
+ "tet:explicit-route-exclude-objects/"
+ "tet:route-object-exclude-object/"
+ "tet:type/tet:label/tet:label-hop/"
+ "tet:te-label/tet:technology" {
when "../../../../../../../../../../"
+ "nw:network-types/tet:te-topology/"
+ "flexi-grid:flexi-grid-topology" {
description "Augment flexi-grid TE label";
}
description "flexi-grid label.";
case flexi-grid {
uses l0-types:flexi-grid-path-label;
}
}
/* Augment label hop of route-include of connectivity-matrices (added) augment "/nw:networks/nw:network/nw:node/tet:te/"
*/ + "tet:tunnel-termination-point/"
augment "/nw:networks/nw:network/nw:node/tet:te/" + "tet:local-link-connectivities/"
+ "tet:te-node-attributes/tet:connectivity-matrices/" + "tet:local-link-connectivity/"
+ "tet:optimizations/tet:algorithm/tet:metric/" + "tet:label-restrictions/tet:label-restriction/"
+ "tet:optimization-metric/" + "tet:label-start/tet:te-label/tet:technology" {
+ "tet:explicit-route-include-objects/" when "../../../../../../../../../"
+ "tet:route-object-include-object/" + "nw:network-types/tet:te-topology/"
+ "tet:type/tet:label/tet:label-hop/" + "flexi-grid:flexi-grid-topology" {
+ "tet:te-label/tet:technology" { description
when "../../../../../../../../../../" "Augmentation parameters apply only for networks with
+ "nw:network-types/tet:te-topology/" Flexi-grid topology type.";
+ "flexi-grid:flexi-grid-topology" { }
description "Augment flexi-grid TE label"; description
} "Augment TE label range start for the TTP
description "flexi-grid label."; Local Link Connectivity entry.";
case flexi-grid { case flexi-grid {
uses l0-types:flexi-grid-path-label; uses l0-types:flexi-grid-label-start-end;
} }
} }
/* Augment label hop of path-route of connectivity-matrices */ augment "/nw:networks/nw:network/nw:node/tet:te/"
augment "/nw:networks/nw:network/nw:node/tet:te/" + "tet:tunnel-termination-point/"
+ "tet:te-node-attributes/tet:connectivity-matrices/" + "tet:local-link-connectivities/"
+ "tet:path-properties/tet:path-route-objects/" + "tet:local-link-connectivity/"
+ "tet:path-route-object/tet:type/tet:label/tet:label-hop/" + "tet:label-restrictions/tet:label-restriction/"
+ "tet:te-label/tet:technology"{ + "tet:label-end/tet:te-label/tet:technology" {
when "../../../../../../../../../" when "../../../../../../../../../"
+ "nw:network-types/tet:te-topology/" + "nw:network-types/tet:te-topology/"
+ "flexi-grid:flexi-grid-topology" { + "flexi-grid:flexi-grid-topology" {
description "Augment flexi-grid TE label"; description
} "Augmentation parameters apply only for networks with
description "flexi-grid label."; Flexi-grid topology type.";
case flexi-grid { }
uses l0-types:flexi-grid-path-label; description
} "Augment TE label range end for the TTP
} Local Link Connectivity entry.";
case flexi-grid {
uses l0-types:flexi-grid-label-start-end;
}
}
/* Augment ingress label restrictions of connectivity-matrix */ augment "/nw:networks/nw:network/nw:node/tet:te/"
augment "/nw:networks/nw:network/nw:node/tet:te/" + "tet:tunnel-termination-point/"
+ "tet:te-node-attributes/tet:connectivity-matrices/" + "tet:local-link-connectivities/"
+ "tet:connectivity-matrix/tet:from/" + "tet:local-link-connectivity/"
+ "tet:label-restrictions/tet:label-restriction" { + "tet:label-restrictions/tet:label-restriction/"
when "../../../../../../../../" + "tet:label-step/tet:technology" {
+ "nw:network-types/tet:te-topology/" when "../../../../../../../../"
+ "flexi-grid:flexi-grid-topology" { + "nw:network-types/tet:te-topology/"
description "Augment flexi-grid TE label"; + "flexi-grid:flexi-grid-topology" {
} description
description "flexi-grid label."; "Augmentation parameters apply only for networks with
uses l0-types:flexi-grid-label-restriction; Flexi-grid topology type.";
} }
description
"Augment TE label range step for the TTP
Local Link Connectivity entry.";
case flexi-grid {
uses l0-types:flexi-grid-label-step;
}
}
/* Augment ingress label restrictions start of connectivity-matrix */ augment "/nw:networks/nw:network/nw:node/tet:te/"
augment "/nw:networks/nw:network/nw:node/tet:te/" + "tet:tunnel-termination-point/"
+ "tet:te-node-attributes/tet:connectivity-matrices/" + "tet:local-link-connectivities/"
+ "tet:connectivity-matrix/tet:from/" + "tet:local-link-connectivity/"
+ "tet:label-restrictions/tet:label-restriction/" + "tet:underlay/tet:primary-path/tet:path-element/tet:type/"
+ "tet:label-start/" + "tet:label/tet:label-hop/tet:te-label/tet:technology" {
+ "tet:te-label/tet:technology" {
when "../../../../../../../../../../"
+ "nw:network-types/tet:te-topology/"
+ "flexi-grid:flexi-grid-topology" {
description "Augment flexi-grid TE label";
}
description "flexi-grid label.";
case flexi-grid {
uses l0-types:flexi-grid-link-label;
}
}
/* Augment ingress label restrictions end of connectivity-matrix */
augment "/nw:networks/nw:network/nw:node/tet:te/"
+ "tet:te-node-attributes/tet:connectivity-matrices/"
+ "tet:connectivity-matrix/tet:from/"
+ "tet:label-restrictions/tet:label-restriction/"
+ "tet:label-end/"
+ "tet:te-label/tet:technology" {
when "../../../../../../../../../../"
+ "nw:network-types/tet:te-topology/"
+ "flexi-grid:flexi-grid-topology" {
description "Augment flexi-grid TE label";
}
description "flexi-grid label.";
case flexi-grid {
uses l0-types:flexi-grid-link-label;
}
}
/* Augment ingress label restrictions step of connectivity-matrix */
augment "/nw:networks/nw:network/nw:node/tet:te/"
+ "tet:te-node-attributes/tet:connectivity-matrices/"
+ "tet:connectivity-matrix/tet:from/"
+ "tet:label-restrictions/tet:label-restriction/"
+ "tet:label-step/"
+ "tet:technology" {
when "../../../../../../../../../"
+ "nw:network-types/tet:te-topology/"
+ "flexi-grid:flexi-grid-topology" {
description "Augment flexi-grid TE label";
}
description "flexi-grid label.";
case flexi-grid {
uses l0-types:flexi-grid-label-step;
}
}
/* Augment egress label restrictions of connectivity-matrix */ when "../../../../../../../../../../"
augment "/nw:networks/nw:network/nw:node/tet:te/" + "nw:network-types/tet:te-topology/"
+ "tet:te-node-attributes/tet:connectivity-matrices/" + "flexi-grid:flexi-grid-topology" {
+ "tet:connectivity-matrix/tet:to/" description
+ "tet:label-restrictions/tet:label-restriction" { "Augmentation parameters apply only for networks with
when "../../../../../../../../" Flexi-grid topology type.";
+ "nw:network-types/tet:te-topology/" }
+ "flexi-grid:flexi-grid-topology" { description
description "Augment flexi-grid TE label"; "Augment TE label hop for the underlay primary path
} of the TTP Local Link Connectivity entry.";
description "flexi-grid label."; case flexi-grid {
uses l0-types:flexi-grid-label-restriction; uses l0-types:flexi-grid-label-hop;
} }
}
/* Augment egress label restrictions start of connectivity-matrix */ augment "/nw:networks/nw:network/nw:node/tet:te/"
augment "/nw:networks/nw:network/nw:node/tet:te/" + "tet:tunnel-termination-point/"
+ "tet:te-node-attributes/tet:connectivity-matrices/" + "tet:local-link-connectivities/"
+ "tet:connectivity-matrix/tet:to/" + "tet:local-link-connectivity/"
+ "tet:label-restrictions/tet:label-restriction/" + "tet:underlay/tet:backup-path/tet:path-element/tet:type/"
+ "tet:label-start/" + "tet:label/tet:label-hop/tet:te-label/tet:technology" {
+ "tet:te-label/tet:technology" { when "../../../../../../../../../../"
when "../../../../../../../../../../" + "nw:network-types/tet:te-topology/"
+ "nw:network-types/tet:te-topology/" + "flexi-grid:flexi-grid-topology" {
+ "flexi-grid:flexi-grid-topology" { description
description "Augment flexi-grid TE label"; "Augmentation parameters apply only for networks with
} Flexi-grid topology type.";
description "flexi-grid label."; }
case flexi-grid { description
uses l0-types:flexi-grid-link-label; "Augment TE label hop for the underlay backup path
} of the TTP Local Link Connectivity entry.";
} case flexi-grid {
/* Augment egress label restrictions end of connectivity-matrix */ uses l0-types:flexi-grid-label-hop;
augment "/nw:networks/nw:network/nw:node/tet:te/" }
+ "tet:te-node-attributes/tet:connectivity-matrices/" }
+ "tet:connectivity-matrix/tet:to/"
+ "tet:label-restrictions/tet:label-restriction/"
+ "tet:label-end/"
+ "tet:te-label/tet:technology" {
when "../../../../../../../../../../"
+ "nw:network-types/tet:te-topology/"
+ "flexi-grid:flexi-grid-topology" {
description "Augment flexi-grid TE label";
}
description "flexi-grid label.";
case flexi-grid {
uses l0-types:flexi-grid-link-label;
}
}
/* Augment egress label restrictions step of connectivity-matrix */ augment "/nw:networks/nw:network/nw:node/tet:te/"
augment "/nw:networks/nw:network/nw:node/tet:te/" + "tet:tunnel-termination-point/"
+ "tet:te-node-attributes/tet:connectivity-matrices/" + "tet:local-link-connectivities/"
+ "tet:connectivity-matrix/tet:to/" + "tet:local-link-connectivity/"
+ "tet:label-restrictions/tet:label-restriction/" + "tet:optimizations/tet:algorithm/tet:metric/"
+ "tet:label-step/" + "tet:optimization-metric/"
+ "tet:technology" { + "tet:explicit-route-exclude-objects/"
when "../../../../../../../../../" + "tet:route-object-exclude-object/tet:type/"
+ "nw:network-types/tet:te-topology/" + "tet:label/tet:label-hop/tet:te-label/tet:technology" {
+ "flexi-grid:flexi-grid-topology" { when "../../../../../../../../../../../"
description "Augment flexi-grid TE label"; + "nw:network-types/tet:te-topology/"
} + "flexi-grid:flexi-grid-topology" {
description "flexi-grid label.";
case flexi-grid {
uses l0-types:flexi-grid-label-step;
}
}
/* Augment label hop of underlay primary path of connectivity-matrix
*/
augment "/nw:networks/nw:network/nw:node/tet:te/"
+ "tet:te-node-attributes/tet:connectivity-matrices/"
+ "tet:connectivity-matrix/"
+ "tet:underlay/tet:primary-path/tet:path-element/"
+ "tet:type/tet:label/tet:label-hop/"
+ "tet:te-label/tet:technology" {
when "../../../../../../../../../../"
+ "nw:network-types/tet:te-topology/"
+ "flexi-grid:flexi-grid-topology" {
description "Augment flexi-grid TE label";
}
description "flexi-grid label.";
case flexi-grid {
uses l0-types:flexi-grid-path-label;
}
}
/* Augment label hop of underlay backup path of connectivity-matrix */
augment "/nw:networks/nw:network/nw:node/tet:te/"
+ "tet:te-node-attributes/tet:connectivity-matrices/"
+ "tet:connectivity-matrix/"
+ "tet:underlay/tet:backup-path/tet:path-element/"
+ "tet:type/tet:label/tet:label-hop/"
+ "tet:te-label/tet:technology" {
when "../../../../../../../../../../"
+ "nw:network-types/tet:te-topology/"
+ "flexi-grid:flexi-grid-topology" {
description "Augment flexi-grid TE label";
}
description "flexi-grid label.";
case flexi-grid {
uses l0-types:flexi-grid-path-label;
}
}
/* Augment label hop of route-exclude of connectivity-matrix */ description
augment "/nw:networks/nw:network/nw:node/tet:te/" "Augmentation parameters apply only for networks with
+ "tet:te-node-attributes/tet:connectivity-matrices/" Flexi-grid topology type.";
+ "tet:connectivity-matrix/tet:optimizations/" }
+ "tet:algorithm/tet:metric/tet:optimization-metric/" description
+ "tet:explicit-route-exclude-objects/" "Augment TE label hop for the explicit route objects excluded
+ "tet:route-object-exclude-object/tet:type/" by the path computation of the TTP Local Link
+ "tet:label/tet:label-hop/tet:te-label/tet:technology" { Connectivity entry.";
when "../../../../../../../../../../../" case flexi-grid {
+ "nw:network-types/tet:te-topology/" uses l0-types:flexi-grid-label-hop;
+ "flexi-grid:flexi-grid-topology" { }
description "Augment flexi-grid TE label"; }
}
description "flexi-grid label.";
case flexi-grid {
uses l0-types:flexi-grid-path-label;
}
}
/* Augment label hop of route-include of connectivity-matrix */
augment "/nw:networks/nw:network/nw:node/tet:te/"
+ "tet:te-node-attributes/tet:connectivity-matrices/"
+ "tet:connectivity-matrix/tet:optimizations/"
+ "tet:algorithm/tet:metric/tet:optimization-metric/"
+ "tet:explicit-route-include-objects/"
+ "tet:route-object-include-object/tet:type/"
+ "tet:label/tet:label-hop/tet:te-label/tet:technology" {
when "../../../../../../../../../../../"
+ "nw:network-types/tet:te-topology/"
+ "flexi-grid:flexi-grid-topology" {
description "Augment flexi-grid TE label"; augment "/nw:networks/nw:network/nw:node/tet:te/"
} + "tet:tunnel-termination-point/"
description "flexi-grid label."; + "tet:local-link-connectivities/"
case flexi-grid { + "tet:local-link-connectivity/"
uses l0-types:flexi-grid-path-label; + "tet:optimizations/tet:algorithm/tet:metric/"
} + "tet:optimization-metric/"
} + "tet:explicit-route-include-objects/"
/* Augment label hop of path-route of connectivity-matrix */ + "tet:route-object-include-object/tet:type/"
augment "/nw:networks/nw:network/nw:node/tet:te/" + "tet:label/tet:label-hop/tet:te-label/tet:technology" {
+ "tet:te-node-attributes/tet:connectivity-matrices/" when "../../../../../../../../../../../"
+ "tet:connectivity-matrix/" + "nw:network-types/tet:te-topology/"
+ "tet:path-properties/tet:path-route-objects/" + "flexi-grid:flexi-grid-topology" {
+ "tet:path-route-object/tet:type/" description
+ "tet:label/tet:label-hop/tet:te-label/tet:technology" { "Augmentation parameters apply only for networks with
when "../../../../../../../../../../" Flexi-grid topology type.";
+ "nw:network-types/tet:te-topology/" }
+ "flexi-grid:flexi-grid-topology" { description
description "Augment flexi-grid TE label"; "Augment TE label hop for the explicit route objects included
} by the path computation of the TTP Local Link
description "flexi-grid label."; Connectivity entry.";
case flexi-grid { case flexi-grid {
uses l0-types:flexi-grid-path-label; uses l0-types:flexi-grid-label-hop;
} }
} }
/* Augment label restrictions of connectivity-matrices augment "/nw:networks/nw:network/nw:node/tet:te/"
information-source */ + "tet:tunnel-termination-point/"
augment "/nw:networks/nw:network/nw:node/tet:te/" + "tet:local-link-connectivities/"
+ "tet:information-source-entry/" + "tet:local-link-connectivity/"
+ "tet:connectivity-matrices/tet:label-restrictions/" + "tet:path-properties/tet:path-route-objects/"
+ "tet:label-restriction" { + "tet:path-route-object/tet:type/"
when "../../../../../../nw:network-types/tet:te-topology/" + "tet:label/tet:label-hop/tet:te-label/tet:technology" {
+ "flexi-grid:flexi-grid-topology" { when "../../../../../../../../../../"
description "Augment flexi-grid TE label"; + "nw:network-types/tet:te-topology/"
} + "flexi-grid:flexi-grid-topology" {
description "flexi-grid label.";
uses l0-types:flexi-grid-label-restriction;
}
/* Augment label restrictions start of connectivity-matrices description
information-source */ "Augmentation parameters apply only for networks with
augment "/nw:networks/nw:network/nw:node/tet:te/" Flexi-grid topology type.";
+ "tet:information-source-entry/" }
+ "tet:connectivity-matrices/tet:label-restrictions/" description
+ "tet:label-restriction/" "Augment TE label hop for the computed path route objects
+ "tet:label-start/tet:te-label/tet:technology" { of the TTP Local Link Connectivity entry.";
when "../../../../../../../../" case flexi-grid {
+ "nw:network-types/tet:te-topology/" uses l0-types:flexi-grid-label-hop;
+ "flexi-grid:flexi-grid-topology" { }
description "Augment flexi-grid TE label"; }
} augment "/nw:networks/nw:network/nt:link/tet:te/"
description "flexi-grid label."; + "tet:te-link-attributes/"
case flexi-grid { + "tet:underlay/tet:primary-path/tet:path-element/tet:type/"
uses l0-types:flexi-grid-link-label; + "tet:label/tet:label-hop/tet:te-label/tet:technology" {
} when "../../../../../../../../"
} + "nw:network-types/tet:te-topology/"
/* Augment label restrictions end of connectivity-matrices + "flexi-grid:flexi-grid-topology" {
information-source */ description
augment "/nw:networks/nw:network/nw:node/tet:te/" "Augmentation parameters apply only for networks with
+ "tet:information-source-entry/" Flexi-grid topology type.";
+ "tet:connectivity-matrices/tet:label-restrictions/" }
+ "tet:label-restriction/" description
+ "tet:label-end/tet:te-label/tet:technology" { "Augment TE label hop for the underlay primary path
when "../../../../../../../../" of the TE link.";
+ "nw:network-types/tet:te-topology/" case flexi-grid {
+ "flexi-grid:flexi-grid-topology" { uses l0-types:flexi-grid-label-hop;
description "Augment flexi-grid TE label"; }
} }
description "flexi-grid label.";
case flexi-grid {
uses l0-types:flexi-grid-link-label;
}
}
/* Augment label restrictions step of connectivity-matrices augment "/nw:networks/nw:network/nt:link/tet:te/"
information-source */ + "tet:te-link-attributes/"
augment "/nw:networks/nw:network/nw:node/tet:te/" + "tet:underlay/tet:backup-path/tet:path-element/tet:type/"
+ "tet:information-source-entry/" + "tet:label/tet:label-hop/tet:te-label/tet:technology" {
+ "tet:connectivity-matrices/tet:label-restrictions/" when "../../../../../../../../"
+ "tet:label-restriction/" + "nw:network-types/tet:te-topology/"
+ "tet:label-step/tet:technology" { + "flexi-grid:flexi-grid-topology" {
when "../../../../../../../" description
+ "nw:network-types/tet:te-topology/" "Augmentation parameters apply only for networks with
+ "flexi-grid:flexi-grid-topology" { Flexi-grid topology type.";
description "Augment flexi-grid TE label"; }
} description
description "flexi-grid label."; "Augment TE label hop for the underlay backup path
case flexi-grid { of the TE link.";
uses l0-types:flexi-grid-label-step; case flexi-grid {
} uses l0-types:flexi-grid-label-hop;
} }
}
augment "/nw:networks/nw:network/nt:link/tet:te/"
+ "tet:te-link-attributes/"
+ "tet:label-restrictions/tet:label-restriction/"
+ "tet:label-start/tet:te-label/tet:technology" {
when "../../../../../../../nw:network-types/tet:te-topology/"
+ "flexi-grid:flexi-grid-topology" {
description
"Augmentation parameters apply only for networks with
Flexi-grid topology type.";
}
description
"Augment TE label range start for the TE link.";
case flexi-grid {
uses l0-types:flexi-grid-label-start-end;
}
}
/* Augment label hop of underlay primary path of connectivity-matrices augment "/nw:networks/nw:network/nt:link/tet:te/"
information-source */ + "tet:te-link-attributes/"
augment "/nw:networks/nw:network/nw:node/tet:te/" + "tet:label-restrictions/tet:label-restriction/"
+ "tet:information-source-entry/tet:connectivity-matrices/" + "tet:label-end/tet:te-label/tet:technology" {
+ "tet:underlay/tet:primary-path/tet:path-element/tet:type/" when "../../../../../../../nw:network-types/tet:te-topology/"
+ "tet:label/tet:label-hop/tet:te-label/tet:technology" { + "flexi-grid:flexi-grid-topology" {
when "../../../../../../../../../" description
+ "nw:network-types/tet:te-topology/" "Augmentation parameters apply only for networks with
+ "flexi-grid:flexi-grid-topology" { Flexi-grid topology type.";
description "Augment flexi-grid TE label"; }
} description
description "flexi-grid label."; "Augment TE label range end for the TE link.";
case flexi-grid { case flexi-grid {
uses l0-types:flexi-grid-path-label; uses l0-types:flexi-grid-label-start-end;
} }
} }
/* Augment label hop of underlay backup path of connectivity-matrices augment "/nw:networks/nw:network/nt:link/tet:te/"
information-source */ + "tet:te-link-attributes/"
augment "/nw:networks/nw:network/nw:node/tet:te/" + "tet:label-restrictions/tet:label-restriction/"
+ "tet:information-source-entry/tet:connectivity-matrices/" + "tet:label-step/tet:technology" {
+ "tet:underlay/tet:backup-path/tet:path-element/tet:type/" when "../../../../../../nw:network-types/tet:te-topology/"
+ "tet:label/tet:label-hop/tet:te-label/tet:technology" { + "flexi-grid:flexi-grid-topology" {
when "../../../../../../../../../" description
+ "nw:network-types/tet:te-topology/" "Augmentation parameters apply only for networks with
+ "flexi-grid:flexi-grid-topology" { Flexi-grid topology type.";
description "Augment flexi-grid TE label"; }
} description
description "flexi-grid label."; "Augment TE label range step for the TE link.";
case flexi-grid { case flexi-grid {
uses l0-types:flexi-grid-path-label; uses l0-types:flexi-grid-label-step;
}
}
/* Augment label hop of route-exclude of connectivity-matrices }
information-source */ }
augment "/nw:networks/nw:network/nw:node/tet:te/"
+ "tet:information-source-entry/tet:connectivity-matrices/"
+ "tet:optimizations/tet:algorithm/tet:metric/"
+ "tet:optimization-metric/"
+ "tet:explicit-route-exclude-objects/"
+ "tet:route-object-exclude-object/tet:type/"
+ "tet:label/tet:label-hop/tet:te-label/tet:technology" {
when "../../../../../../../../../../"
+ "nw:network-types/tet:te-topology/"
+ "flexi-grid:flexi-grid-topology" {
description "Augment flexi-grid TE label";
}
description "flexi-grid label.";
case flexi-grid {
uses l0-types:flexi-grid-path-label;
}
}
/* Augment label hop of route-include of connectivity-matrices
information-source */
augment "/nw:networks/nw:network/nw:node/tet:te/"
+ "tet:information-source-entry/tet:connectivity-matrices/"
+ "tet:optimizations/tet:algorithm/tet:metric/"
+ "tet:optimization-metric/"
+ "tet:explicit-route-include-objects/"
+ "tet:route-object-include-object/tet:type/"
+ "tet:label/tet:label-hop/tet:te-label/tet:technology" {
when "../../../../../../../../../../"
+ "nw:network-types/tet:te-topology/"
+ "flexi-grid:flexi-grid-topology" {
description "Augment flexi-grid TE label";
}
description "flexi-grid label.";
case flexi-grid {
uses l0-types:flexi-grid-path-label;
}
}
/* Augment label hop of path-route of connectivity-matrices augment "/nw:networks/nw:network/nt:link/tet:te/"
information-source */ + "tet:information-source-entry/"
augment "/nw:networks/nw:network/nw:node/tet:te/" + "tet:label-restrictions/tet:label-restriction/"
+ "tet:information-source-entry/tet:connectivity-matrices/" + "tet:label-start/tet:te-label/tet:technology" {
+ "tet:path-properties/tet:path-route-objects/" when "../../../../../../../nw:network-types/tet:te-topology/"
+ "tet:path-route-object/tet:type/" + "flexi-grid:flexi-grid-topology" {
+ "tet:label/tet:label-hop/tet:te-label/tet:technology" { description
when "../../../../../../../../../" "Augmentation parameters apply only for networks with
+ "nw:network-types/tet:te-topology/" Flexi-grid topology type.";
+ "flexi-grid:flexi-grid-topology" { }
description "Augment flexi-grid TE label"; description
} "Augment TE label range start for the TE link
description "flexi-grid label."; information source.";
case flexi-grid { case flexi-grid {
uses l0-types:flexi-grid-path-label; uses l0-types:flexi-grid-label-start-end;
} }
} }
/* Augment ingress label restrictions of connectivity-matrix augment "/nw:networks/nw:network/nt:link/tet:te/"
information-source */ + "tet:information-source-entry/"
augment "/nw:networks/nw:network/nw:node/tet:te/" + "tet:label-restrictions/tet:label-restriction/"
+ "tet:information-source-entry/tet:connectivity-matrices/" + "tet:label-end/tet:te-label/tet:technology" {
+ "tet:connectivity-matrix/" when "../../../../../../../nw:network-types/tet:te-topology/"
+ "tet:from/tet:label-restrictions/tet:label-restriction" { + "flexi-grid:flexi-grid-topology" {
when "../../../../../../../../" description
+ "nw:network-types/tet:te-topology/" "Augmentation parameters apply only for networks with
+ "flexi-grid:flexi-grid-topology" { Flexi-grid topology type.";
description "Augment flexi-grid TE label"; }
description
"Augment TE label range end for the TE link
information source.";
case flexi-grid {
uses l0-types:flexi-grid-label-start-end;
}
}
} augment "/nw:networks/nw:network/nt:link/tet:te/"
description "flexi-grid label."; + "tet:information-source-entry/"
uses l0-types:flexi-grid-label-restriction; + "tet:label-restrictions/tet:label-restriction/"
} + "tet:label-step/tet:technology" {
when "../../../../../../nw:network-types/tet:te-topology/"
+ "flexi-grid:flexi-grid-topology" {
description
"Augmentation parameters apply only for networks with
Flexi-grid topology type.";
/* Augment ingress label restrictions start of connectivity-matrix }
information-source */ description
augment "/nw:networks/nw:network/nw:node/tet:te/" "Augment TE label range step for the TE link
+ "tet:information-source-entry/tet:connectivity-matrices/" information source.";
+ "tet:connectivity-matrix/" case flexi-grid {
+ "tet:from/tet:label-restrictions/" uses l0-types:flexi-grid-label-step;
+ "tet:label-restriction/" }
+ "tet:label-start/tet:te-label/tet:technology" { }
when "../../../../../../../../../../"
+ "nw:network-types/tet:te-topology/"
+ "flexi-grid:flexi-grid-topology" {
description "Augment flexi-grid TE label";
}
description "flexi-grid label.";
case flexi-grid {
uses l0-types:flexi-grid-link-label;
}
}
/* Augment ingress label restrictions end of connectivity-matrix augment "/nw:networks/tet:te/tet:templates/"
information-source */ + "tet:link-template/tet:te-link-attributes/"
augment "/nw:networks/nw:network/nw:node/tet:te/" + "tet:underlay/tet:primary-path/tet:path-element/tet:type/"
+ "tet:information-source-entry/tet:connectivity-matrices/" + "tet:label/tet:label-hop/tet:te-label/tet:technology" {
+ "tet:connectivity-matrix/" description
+ "tet:from/tet:label-restrictions/" "Augment TE label hop for the underlay primary path
+ "tet:label-restriction/" of the TE link template.";
+ "tet:label-end/tet:te-label/tet:technology" { case flexi-grid {
when "../../../../../../../../../../" uses l0-types:flexi-grid-label-hop;
+ "nw:network-types/tet:te-topology/" }
+ "flexi-grid:flexi-grid-topology" { }
description "Augment flexi-grid TE label";
}
description "flexi-grid label.";
case flexi-grid {
uses l0-types:flexi-grid-link-label;
}
}
/* Augment ingress label restrictions step of connectivity-matrix
information-source */
augment "/nw:networks/nw:network/nw:node/tet:te/"
+ "tet:information-source-entry/tet:connectivity-matrices/"
+ "tet:connectivity-matrix/"
+ "tet:from/tet:label-restrictions/"
+ "tet:label-restriction/"
+ "tet:label-step/tet:technology" {
when "../../../../../../../../../"
+ "nw:network-types/tet:te-topology/"
+ "flexi-grid:flexi-grid-topology" {
description "Augment flexi-grid TE label";
}
description "flexi-grid label.";
case flexi-grid {
uses l0-types:flexi-grid-label-step;
}
}
/* Augment egress label restrictions of connectivity-matrix
information-source */
augment "/nw:networks/nw:network/nw:node/tet:te/"
+ "tet:information-source-entry/tet:connectivity-matrices/"
+ "tet:connectivity-matrix/"
+ "tet:to/tet:label-restrictions/tet:label-restriction" {
when "../../../../../../../../"
+ "nw:network-types/tet:te-topology/"
+ "flexi-grid:flexi-grid-topology" {
description "Augment flexi-grid TE label";
}
description "flexi-grid label.";
uses l0-types:flexi-grid-label-restriction;
}
/* Augment egress label restrictions start of connectivity-matrix augment "/nw:networks/tet:te/tet:templates/"
information-source */ + "tet:link-template/tet:te-link-attributes/"
augment "/nw:networks/nw:network/nw:node/tet:te/" + "tet:underlay/tet:backup-path/tet:path-element/tet:type/"
+ "tet:information-source-entry/tet:connectivity-matrices/" + "tet:label/tet:label-hop/tet:te-label/tet:technology" {
+ "tet:connectivity-matrix/" description
+ "tet:to/tet:label-restrictions/tet:label-restriction/" "Augment TE label hop for the underlay backup path
+ "tet:label-start/tet:te-label/tet:technology" { of the TE link template.";
when "../../../../../../../../../../" case flexi-grid {
+ "nw:network-types/tet:te-topology/" uses l0-types:flexi-grid-label-hop;
+ "flexi-grid:flexi-grid-topology" { }
description "Augment flexi-grid TE label"; }
}
description "flexi-grid label.";
case flexi-grid {
uses l0-types:flexi-grid-link-label;
}
}
/* Augment egress label restrictions end of connectivity-matrix
information-source */
augment "/nw:networks/nw:network/nw:node/tet:te/"
+ "tet:information-source-entry/tet:connectivity-matrices/"
+ "tet:connectivity-matrix/"
+ "tet:to/tet:label-restrictions/tet:label-restriction/"
+ "tet:label-end/tet:te-label/tet:technology" {
when "../../../../../../../../../../"
+ "nw:network-types/tet:te-topology/"
+ "flexi-grid:flexi-grid-topology" {
description "Augment flexi-grid TE label";
}
description "flexi-grid label.";
case flexi-grid {
uses l0-types:flexi-grid-link-label;
}
}
/* Augment egress label restrictions step of connectivity-matrix augment "/nw:networks/tet:te/tet:templates/"
information-source */ + "tet:link-template/tet:te-link-attributes/"
augment "/nw:networks/nw:network/nw:node/tet:te/" + "tet:label-restrictions/tet:label-restriction/"
+ "tet:information-source-entry/tet:connectivity-matrices/" + "tet:label-start/tet:te-label/tet:technology" {
+ "tet:connectivity-matrix/" description
+ "tet:to/tet:label-restrictions/tet:label-restriction/" "Augment TE label range start for the TE link template.";
+ "tet:label-step/tet:technology" { case flexi-grid {
when "../../../../../../../../../" uses l0-types:flexi-grid-label-start-end;
+ "nw:network-types/tet:te-topology/" }
+ "flexi-grid:flexi-grid-topology" { }
description "Augment flexi-grid TE label";
}
description "flexi-grid label.";
case flexi-grid {
uses l0-types:flexi-grid-label-step;
}
}
/* Augment label hop of underlay primary path of connectivity-matrix augment "/nw:networks/tet:te/tet:templates/"
information-source */ + "tet:link-template/tet:te-link-attributes/"
augment "/nw:networks/nw:network/nw:node/tet:te/" + "tet:label-restrictions/tet:label-restriction/"
+ "tet:information-source-entry/tet:connectivity-matrices/" + "tet:label-end/tet:te-label/tet:technology" {
+ "tet:connectivity-matrix/"
+ "tet:underlay/tet:primary-path/tet:path-element/tet:type/"
+ "tet:label/tet:label-hop/tet:te-label/tet:technology" {
when "../../../../../../../../../../"
+ "nw:network-types/tet:te-topology/"
+ "flexi-grid:flexi-grid-topology" {
description "Augment flexi-grid TE label";
}
description "flexi-grid label.";
case flexi-grid {
uses l0-types:flexi-grid-path-label;
}
}
/* Augment label hop of underlay backup path of connectivity-matrix
information-source */
augment "/nw:networks/nw:network/nw:node/tet:te/"
+ "tet:information-source-entry/tet:connectivity-matrices/"
+ "tet:connectivity-matrix/"
+ "tet:underlay/tet:backup-path/tet:path-element/tet:type/"
+ "tet:label/tet:label-hop/tet:te-label/tet:technology" {
when "../../../../../../../../../../"
+ "nw:network-types/tet:te-topology/"
+ "flexi-grid:flexi-grid-topology" {
description "Augment flexi-grid TE label";
}
description "flexi-grid label.";
case flexi-grid {
uses l0-types:flexi-grid-path-label;
}
}
/* Augment label hop of route-exclude of connectivity-matrix description
information-source */ "Augment TE label range end for the TE link template.";
augment "/nw:networks/nw:network/nw:node/tet:te/" case flexi-grid {
+ "tet:information-source-entry/tet:connectivity-matrices/" uses l0-types:flexi-grid-label-start-end;
+ "tet:connectivity-matrix/" }
+ "tet:optimizations/tet:algorithm/tet:metric/" }
+ "tet:optimization-metric/"
+ "tet:explicit-route-exclude-objects/"
+ "tet:route-object-exclude-object/tet:type/"
+ "tet:label/tet:label-hop/tet:te-label/tet:technology" {
when "../../../../../../../../../../../"
+ "nw:network-types/tet:te-topology/"
+ "flexi-grid:flexi-grid-topology" {
description "Augment flexi-grid TE label";
}
description "flexi-grid label.";
case flexi-grid {
uses l0-types:flexi-grid-path-label;
}
}
/* Augment label hop of route-include of connectivity-matrix augment "/nw:networks/tet:te/tet:templates/"
information-source */ + "tet:link-template/tet:te-link-attributes/"
augment "/nw:networks/nw:network/nw:node/tet:te/" + "tet:label-restrictions/tet:label-restriction/"
+ "tet:information-source-entry/tet:connectivity-matrices/" + "tet:label-step/tet:technology" {
+ "tet:connectivity-matrix/" description
+ "tet:optimizations/tet:algorithm/tet:metric/" "Augment TE label range step for the TE link template.";
+ "tet:optimization-metric/" case flexi-grid {
+ "tet:explicit-route-include-objects/" uses l0-types:flexi-grid-label-step;
+ "tet:route-object-include-object/tet:type/" }
+ "tet:label/tet:label-hop/tet:te-label/tet:technology" { }
when "../../../../../../../../../../../"
+ "nw:network-types/tet:te-topology/"
+ "flexi-grid:flexi-grid-topology" {
description "Augment flexi-grid TE label";
}
description "flexi-grid label.";
case flexi-grid {
uses l0-types:flexi-grid-path-label;
} }
} <CODE ENDS>
/* Augment label hop of path-route of connectivity-matrix 9. Security Considerations
information-source */
augment "/nw:networks/nw:network/nw:node/tet:te/"
+ "tet:information-source-entry/tet:connectivity-matrices/"
+ "tet:connectivity-matrix/"
+ "tet:path-properties/tet:path-route-objects/"
+ "tet:path-route-object/tet:type/"
+ "tet:label/tet:label-hop/tet:te-label/tet:technology" {
when "../../../../../../../../../../"
+ "nw:network-types/tet:te-topology/"
+ "flexi-grid:flexi-grid-topology" {
description "Augment flexi-grid TE label";
}
description "flexi-grid label.";
case flexi-grid {
uses l0-types:flexi-grid-path-label;
}
}
/* Augment label restrictions of local-link-connectivities */ The YANG module specified in this document defines a schema for data
augment "/nw:networks/nw:network/nw:node/tet:te/" that is designed to be accessed via network management protocols such
+ "tet:tunnel-termination-point/" as NETCONF [RFC6241] or RESTCONF [RFC8040]. The lowest NETCONF layer
+ "tet:local-link-connectivities/" is the secure transport layer, and the mandatory-to-implement secure
+ "tet:label-restrictions/tet:label-restriction" { transport is Secure Shell (SSH) [RFC6242]. The lowest RESTCONF layer
when "../../../../../../nw:network-types/tet:te-topology/" is HTTPS, and the mandatory-to-implement secure transport is TLS
+ "flexi-grid:flexi-grid-topology" { [RFC8446].
description "Augment flexi-grid TE label";
}
description "flexi-grid label.";
uses l0-types:flexi-grid-label-restriction;
}
/* Augment label restrictions start of local-link-connectivities */ The NETCONF access control model [RFC8341] provides the means to
augment "/nw:networks/nw:network/nw:node/tet:te/" restrict access for particular NETCONF users to a preconfigured
+ "tet:tunnel-termination-point/" subset of all available NETCONF protocol operations and content. The
+ "tet:local-link-connectivities/" NETCONF Protocol over Secure Shell (SSH) [RFC6242] describes a method
+ "tet:label-restrictions/tet:label-restriction/" for invoking and running NETCONF within a Secure Shell (SSH) session
+ "tet:label-start/" as an SSH subsystem. The Network Configuration Access Control Model
+ "tet:te-label/tet:technology" { (NACM) [RFC8341] provides the means to restrict access for particular
when "../../../../../../../../" NETCONF or RESTCONF users to a preconfigured subset of all available
+ "nw:network-types/tet:te-topology/" NETCONF or RESTCONF protocol operations and content.
+ "flexi-grid:flexi-grid-topology" {
description "Augment flexi-grid TE label";
}
description "flexi-grid label.";
case flexi-grid {
uses l0-types:flexi-grid-link-label;
}
}
/* Augment label restrictions end of local-link-connectivities */ A number of configuration data nodes defined in this document are
augment "/nw:networks/nw:network/nw:node/tet:te/" writable/deletable (i.e., "config true"). These data nodes may be
+ "tet:tunnel-termination-point/" considered sensitive or vulnerable in some network environments.
+ "tet:local-link-connectivities/"
+ "tet:label-restrictions/tet:label-restriction/"
+ "tet:label-end/"
+ "tet:te-label/tet:technology"{
when "../../../../../../../../"
+ "nw:network-types/tet:te-topology/"
+ "flexi-grid:flexi-grid-topology" {
description "Augment flexi-grid TE label";
}
description "flexi-grid label.";
case flexi-grid {
uses l0-types:flexi-grid-link-label;
}
}
/* Augment label restrictions step of local-link-connectivities */
augment "/nw:networks/nw:network/nw:node/tet:te/"
+ "tet:tunnel-termination-point/"
+ "tet:local-link-connectivities/"
+ "tet:label-restrictions/tet:label-restriction/"
+ "tet:label-step/"
+ "tet:technology"{
when "../../../../../../../"
+ "nw:network-types/tet:te-topology/"
+ "flexi-grid:flexi-grid-topology" {
description "Augment flexi-grid TE label";
}
description "flexi-grid label.";
case flexi-grid {
uses l0-types:flexi-grid-label-step;
}
}
/* Augment label hop of underlay primary path of
local-link-connectivities */
augment "/nw:networks/nw:network/nw:node/tet:te/"
+ "tet:tunnel-termination-point/"
+ "tet:local-link-connectivities/"
+ "tet:underlay/tet:primary-path/tet:path-element/tet:type/"
+ "tet:label/tet:label-hop/tet:te-label/tet:technology" {
when "../../../../../../../../../"
+ "nw:network-types/tet:te-topology/"
+ "flexi-grid:flexi-grid-topology" {
description "Augment flexi-grid TE label";
}
description "flexi-grid label.";
case flexi-grid {
uses l0-types:flexi-grid-path-label;
}
}
/* Augment label hop of underlay backup path of There are a number of data nodes defined in this YANG module that are
local-link-connectivities */ writable/creatable/deletable (i.e., config true, which is the
augment "/nw:networks/nw:network/nw:node/tet:te/" default). These data nodes may be considered sensitive or vulnerable
+ "tet:tunnel-termination-point/" in some network environments. Write operations (e.g., edit-config)
+ "tet:local-link-connectivities/" to these data nodes without proper protection can have a negative
+ "tet:underlay/tet:backup-path/tet:path-element/tet:type/" effect on network operations. These are the subtrees and data nodes
+ "tet:label/tet:label-hop/tet:te-label/tet:technology" { and their sensitivity/vulnerability:
when "../../../../../../../../../"
+ "nw:network-types/tet:te-topology/"
+ "flexi-grid:flexi-grid-topology" {
description "Augment flexi-grid TE label";
}
description "flexi-grid label.";
case flexi-grid {
uses l0-types:flexi-grid-path-label;
}
}
/* Augment label hop of route-exclude of local-link-connectivities */
augment "/nw:networks/nw:network/nw:node/tet:te/"
+ "tet:tunnel-termination-point/"
+ "tet:local-link-connectivities/"
+ "tet:optimizations/tet:algorithm/tet:metric/"
+ "tet:optimization-metric/"
+ "tet:explicit-route-exclude-objects/"
+ "tet:route-object-exclude-object/tet:type/"
+ "tet:label/tet:label-hop/tet:te-label/tet:technology" {
when "../../../../../../../../../../"
+ "nw:network-types/tet:te-topology/"
+ "flexi-grid:flexi-grid-topology" {
description "Augment flexi-grid TE label";
} /nw:networks/nw:network/nw:network-types/tet:te-topology
description "flexi-grid label.";
case flexi-grid {
uses l0-types:flexi-grid-path-label;
}
}
/* Augment label hop of route-include of local-link-connectivities */ /nw:networks/nw:network/nt:link/tet:te/tet:te-link-attributes
augment "/nw:networks/nw:network/nw:node/tet:te/"
+ "tet:tunnel-termination-point/"
+ "tet:local-link-connectivities/"
+ "tet:optimizations/tet:algorithm/tet:metric/"
+ "tet:optimization-metric/"
+ "tet:explicit-route-include-objects/"
+ "tet:route-object-include-object/tet:type/"
+ "tet:label/tet:label-hop/tet:te-label/tet:technology" {
when "../../../../../../../../../../"
+ "nw:network-types/tet:te-topology/"
+ "flexi-grid:flexi-grid-topology" {
description "Augment flexi-grid TE label";
}
description "flexi-grid label.";
case flexi-grid {
uses l0-types:flexi-grid-path-label;
}
}
/* Augment label hop of path-route of local-link-connectivities */
augment "/nw:networks/nw:network/nw:node/tet:te/"
+ "tet:tunnel-termination-point/"
+ "tet:local-link-connectivities/"
+ "tet:path-properties/tet:path-route-objects/"
+ "tet:path-route-object/tet:type/"
+ "tet:label/tet:label-hop/tet:te-label/tet:technology" {
when "../../../../../../../../../"
+ "nw:network-types/tet:te-topology/"
+ "flexi-grid:flexi-grid-topology" {
description "Augment flexi-grid TE label";
}
description "flexi-grid label.";
case flexi-grid {
uses l0-types:flexi-grid-path-label;
}
}
/* Augment label restrictions of local-link-connectivity (LLC) */
augment "/nw:networks/nw:network/nw:node/tet:te/"
+ "tet:tunnel-termination-point/"
+ "tet:local-link-connectivities/"
+ "tet:local-link-connectivity/"
+ "tet:label-restrictions/tet:label-restriction" {
when "../../../../../../../nw:network-types/tet:te-topology/"
+ "flexi-grid:flexi-grid-topology" {
description "Augment flexi-grid TE label";
}
description "flexi-grid label.";
uses l0-types:flexi-grid-label-restriction;
}
/* Augment label restrictions start of local-link-connectivity (LLC) /nw:networks/nw:network/nw:node/nt:termination-point/tet:te
*/
augment "/nw:networks/nw:network/nw:node/tet:te/"
+ "tet:tunnel-termination-point/"
+ "tet:local-link-connectivities/"
+ "tet:local-link-connectivity/"
+ "tet:label-restrictions/tet:label-restriction/"
+ "tet:label-start/tet:te-label/tet:technology" {
when "../../../../../../../../../"
+ "nw:network-types/tet:te-topology/"
+ "flexi-grid:flexi-grid-topology" {
description "Augment flexi-grid TE label";
}
description "flexi-grid label.";
case flexi-grid {
uses l0-types:flexi-grid-link-label;
}
}
/* Augment label restrictions end of local-link-connectivity (LLC) */
augment "/nw:networks/nw:network/nw:node/tet:te/"
+ "tet:tunnel-termination-point/"
+ "tet:local-link-connectivities/"
+ "tet:local-link-connectivity/"
+ "tet:label-restrictions/tet:label-restriction/"
+ "tet:label-end/tet:te-label/tet:technology" {
when "../../../../../../../../../"
+ "nw:network-types/tet:te-topology/"
+ "flexi-grid:flexi-grid-topology" {
description "Augment flexi-grid TE label";
}
description "flexi-grid label.";
case flexi-grid {
uses l0-types:flexi-grid-link-label;
}
}
/* Augment label restrictions step of local-link-connectivity (LLC) */
augment "/nw:networks/nw:network/nw:node/tet:te/"
+ "tet:tunnel-termination-point/"
+ "tet:local-link-connectivities/"
+ "tet:local-link-connectivity/"
+ "tet:label-restrictions/tet:label-restriction/"
+ "tet:label-step/tet:technology" {
when "../../../../../../../../"
+ "nw:network-types/tet:te-topology/"
+ "flexi-grid:flexi-grid-topology" {
description "Augment flexi-grid TE label";
}
description "flexi-grid label.";
case flexi-grid {
uses l0-types:flexi-grid-label-step;
}
}
/* Augment label hop of underlay primary path of /nw:networks/nw:network/nw:node/tet:te/tet:te-node-attributes
local-link-connectivity (LLC) */ /te-connectivity-matrices/te-connectivity-matrix/tet:path-
augment "/nw:networks/nw:network/nw:node/tet:te/" constraints/tet:te-bandwidth/tet:technology
+ "tet:tunnel-termination-point/"
+ "tet:local-link-connectivities/"
+ "tet:local-link-connectivity/"
+ "tet:underlay/tet:primary-path/tet:path-element/tet:type/"
+ "tet:label/tet:label-hop/tet:te-label/tet:technology" {
when "../../../../../../../../../../"
+ "nw:network-types/tet:te-topology/"
+ "flexi-grid:flexi-grid-topology" {
description "Augment flexi-grid TE label";
}
description "flexi-grid label.";
case flexi-grid {
uses l0-types:flexi-grid-path-label;
}
}
/* Augment label hop of underlay backup path of
local-link-connectivity (LLC) */
augment "/nw:networks/nw:network/nw:node/tet:te/"
+ "tet:tunnel-termination-point/"
+ "tet:local-link-connectivities/"
+ "tet:local-link-connectivity/"
+ "tet:underlay/tet:backup-path/tet:path-element/tet:type/"
+ "tet:label/tet:label-hop/tet:te-label/tet:technology" {
when "../../../../../../../../../../"
+ "nw:network-types/tet:te-topology/"
+ "flexi-grid:flexi-grid-topology" {
description "Augment flexi-grid TE label";
}
description "flexi-grid label.";
case flexi-grid {
uses l0-types:flexi-grid-path-label;
} /nw:networks/nw:network/nw:node/tet:te
} /tet:tunnel-termination-point/tet:local-link-connectivities
/tet:label-restrictions/tet:label-restriction
/* Augment label hop of route-exclude of local-link-connectivity (LLC) 10. IANA Considerations
*/
augment "/nw:networks/nw:network/nw:node/tet:te/"
+ "tet:tunnel-termination-point/"
+ "tet:local-link-connectivities/"
+ "tet:local-link-connectivity/"
+ "tet:optimizations/tet:algorithm/tet:metric/"
+ "tet:optimization-metric/"
+ "tet:explicit-route-exclude-objects/"
+ "tet:route-object-exclude-object/tet:type/"
+ "tet:label/tet:label-hop/tet:te-label/tet:technology" {
when "../../../../../../../../../../../"
+ "nw:network-types/tet:te-topology/"
+ "flexi-grid:flexi-grid-topology" {
description "Augment flexi-grid TE label";
}
description "flexi-grid label.";
case flexi-grid {
uses l0-types:flexi-grid-path-label;
}
}
/* Augment label hop of route-include of local-link-connectivity (LLC)
*/
augment "/nw:networks/nw:network/nw:node/tet:te/"
+ "tet:tunnel-termination-point/"
+ "tet:local-link-connectivities/"
+ "tet:local-link-connectivity/"
+ "tet:optimizations/tet:algorithm/tet:metric/"
+ "tet:optimization-metric/"
+ "tet:explicit-route-include-objects/"
+ "tet:route-object-include-object/tet:type/"
+ "tet:label/tet:label-hop/tet:te-label/tet:technology" {
when "../../../../../../../../../../../"
+ "nw:network-types/tet:te-topology/"
+ "flexi-grid:flexi-grid-topology" {
description "Augment flexi-grid TE label";
}
description "flexi-grid label.";
case flexi-grid {
uses l0-types:flexi-grid-path-label;
}
}
/* Augment label hop of path-route of local-link-connectivity (LLC)
*/
augment "/nw:networks/nw:network/nw:node/tet:te/"
+ "tet:tunnel-termination-point/"
+ "tet:local-link-connectivities/"
+ "tet:local-link-connectivity/"
+ "tet:path-properties/tet:path-route-objects/"
+ "tet:path-route-object/tet:type/"
+ "tet:label/tet:label-hop/tet:te-label/tet:technology" {
when "../../../../../../../../../../"
+ "nw:network-types/tet:te-topology/"
+ "flexi-grid:flexi-grid-topology" {
description "Augment flexi-grid TE label";
}
description "flexi-grid label.";
case flexi-grid {
uses l0-types:flexi-grid-path-label;
}
}
/* Augment label hop of underlay primary path of TE link */
augment "/nw:networks/nw:network/nt:link/tet:te/"
+ "tet:te-link-attributes/"
+ "tet:underlay/tet:primary-path/tet:path-element/tet:type/"
+ "tet:label/tet:label-hop/tet:te-label/tet:technology" {
when "../../../../../../../../"
+ "nw:network-types/tet:te-topology/"
+ "flexi-grid:flexi-grid-topology" {
description "Augment flexi-grid TE label";
}
description "flexi-grid label.";
case flexi-grid {
uses l0-types:flexi-grid-path-label;
}
}
/* Augment label hop of underlay backup path of TE link */
augment "/nw:networks/nw:network/nt:link/tet:te/"
+ "tet:te-link-attributes/"
+ "tet:underlay/tet:backup-path/tet:path-element/tet:type/"
+ "tet:label/tet:label-hop/tet:te-label/tet:technology" {
when "../../../../../../../../"
+ "nw:network-types/tet:te-topology/"
+ "flexi-grid:flexi-grid-topology" {
description "Augment flexi-grid TE label";
}
description "flexi-grid label.";
case flexi-grid {
uses l0-types:flexi-grid-path-label;
}
}
/* Augment label restrictions of TE link */
augment "/nw:networks/nw:network/nt:link/tet:te/"
+ "tet:te-link-attributes/"
+ "tet:label-restrictions/tet:label-restriction" {
when "../../../../../nw:network-types/tet:te-topology/"
+ "flexi-grid:flexi-grid-topology" {
description "Augment flexi-grid TE label";
}
description "flexi-grid label.";
uses l0-types:flexi-grid-label-restriction;
}
/* Augment label restrictions start of TE link */
augment "/nw:networks/nw:network/nt:link/tet:te/"
+ "tet:te-link-attributes/"
+ "tet:label-restrictions/tet:label-restriction/"
+ "tet:label-start/tet:te-label/tet:technology" {
when "../../../../../../../nw:network-types/tet:te-topology/"
+ "flexi-grid:flexi-grid-topology" {
description "Augment flexi-grid TE label";
}
description "flexi-grid label.";
case flexi-grid {
uses l0-types:flexi-grid-link-label;
}
}
/* Augment label restrictions end of TE link */
augment "/nw:networks/nw:network/nt:link/tet:te/"
+ "tet:te-link-attributes/"
+ "tet:label-restrictions/tet:label-restriction/"
+ "tet:label-end/tet:te-label/tet:technology" {
when "../../../../../../../nw:network-types/tet:te-topology/"
+ "flexi-grid:flexi-grid-topology" {
description "Augment flexi-grid TE label";
}
description "flexi-grid label.";
case flexi-grid {
uses l0-types:flexi-grid-link-label;
}
}
/* Augment label restrictions step of TE link */
augment "/nw:networks/nw:network/nt:link/tet:te/"
+ "tet:te-link-attributes/"
+ "tet:label-restrictions/tet:label-restriction/"
+ "tet:label-step/tet:technology" {
when "../../../../../../nw:network-types/tet:te-topology/"
+ "flexi-grid:flexi-grid-topology" {
description "Augment flexi-grid TE label";
}
description "flexi-grid label.";
case flexi-grid {
uses l0-types:flexi-grid-label-step;
}
}
/* Augment label restrictions of TE link information-source */ IANA is requested to assigned a new URI from the "IETF XML Registry"
augment "/nw:networks/nw:network/nt:link/tet:te/" [RFC3688] as follows:
+ "tet:information-source-entry/"
+ "tet:label-restrictions/tet:label-restriction" {
when "../../../../../nw:network-types/tet:te-topology/"
+ "flexi-grid:flexi-grid-topology" {
description "Augment flexi-grid TE label";
}
description "flexi-grid label.";
uses l0-types:flexi-grid-label-restriction;
}
/* Augment label restrictions start of TE link information-source */
augment "/nw:networks/nw:network/nt:link/tet:te/"
+ "tet:information-source-entry/"
+ "tet:label-restrictions/tet:label-restriction/"
+ "tet:label-start/tet:te-label/tet:technology" {
when "../../../../../../../nw:network-types/tet:te-topology/"
+ "flexi-grid:flexi-grid-topology" {
description "Augment flexi-grid TE label";
}
description "flexi-grid label.";
case flexi-grid {
uses l0-types:flexi-grid-link-label;
}
}
/* Augment label restrictions end of TE link information-source */
augment "/nw:networks/nw:network/nt:link/tet:te/"
+ "tet:information-source-entry/"
+ "tet:label-restrictions/tet:label-restriction/"
+ "tet:label-end/tet:te-label/tet:technology" {
when "../../../../../../../nw:network-types/tet:te-topology/"
+ "flexi-grid:flexi-grid-topology" {
description "Augment flexi-grid TE label";
}
description "flexi-grid label.";
case flexi-grid {
uses l0-types:flexi-grid-link-label;
}
}
/* Augment label restrictions step of TE link information-source */
augment "/nw:networks/nw:network/nt:link/tet:te/"
+ "tet:information-source-entry/"
+ "tet:label-restrictions/tet:label-restriction/"
+ "tet:label-step/tet:technology" {
when "../../../../../../nw:network-types/tet:te-topology/"
+ "flexi-grid:flexi-grid-topology" {
description "Augment flexi-grid TE label";
}
description "flexi-grid label.";
case flexi-grid {
uses l0-types:flexi-grid-label-step;
}
}
/* Augment label hop of underlay primary path of TE link template */ URI: urn:ietf:params:xml:ns:yang:ietf-flexi-grid-topology
augment "/nw:networks/tet:te/tet:templates/" Registrant Contact: The IESG
+ "tet:link-template/tet:te-link-attributes/" XML: N/A; the requested URI is an XML namespace.
+ "tet:underlay/tet:primary-path/tet:path-element/tet:type/"
+ "tet:label/tet:label-hop/tet:te-label/tet:technology" {
/*
when "../../../../../../../../../"
+ "nw:network-types/tet:te-topology/"
+ "flexi-grid:flexi-grid-topology" {
description "Augment flexi-grid TE label";
}
*/
description "flexi-grid label.";
case flexi-grid {
uses l0-types:flexi-grid-path-label;
}
}
/* Augment label hop of underlay backup path of TE link template */
augment "/nw:networks/tet:te/tet:templates/"
+ "tet:link-template/tet:te-link-attributes/"
+ "tet:underlay/tet:backup-path/tet:path-element/tet:type/"
+ "tet:label/tet:label-hop/tet:te-label/tet:technology" {
/*
when "../../../../../../../../../"
+ "nw:network-types/tet:te-topology/"
+ "flexi-grid:flexi-grid-topology" {
description "Augment flexi-grid TE label";
}
*/
description "flexi-grid label.";
case flexi-grid {
uses l0-types:flexi-grid-path-label;
}
}
/* Augment label restrictions of TE link template */
augment "/nw:networks/tet:te/tet:templates/"
+ "tet:link-template/tet:te-link-attributes/"
+ "tet:label-restrictions/tet:label-restriction" {
/*
when "../../../../../nw:network-types/tet:te-topology/"
+ "flexi-grid:flexi-grid-topology" {
description "Augment flexi-grid TE label";
}
*/
description "flexi-grid label.";
uses l0-types:flexi-grid-label-restriction;
}
/* Augment label restrictions start of TE link template */ IANA is requested to assign a new YANG module name in the "YANG
augment "/nw:networks/tet:te/tet:templates/" Module Names" registry [RFC6020] as follows:
+ "tet:link-template/tet:te-link-attributes/"
+ "tet:label-restrictions/tet:label-restriction/"
+ "tet:label-start/tet:te-label/tet:technology" {
/*
when "../../../../../../../nw:network-types/tet:te-topology/"
+ "flexi-grid:flexi-grid-topology" {
description "Augment flexi-grid TE label";
}
*/
description "flexi-grid label.";
case flexi-grid {
uses l0-types:flexi-grid-link-label;
}
}
/* Augment label restrictions end of TE link template */
augment "/nw:networks/tet:te/tet:templates/"
+ "tet:link-template/tet:te-link-attributes/"
+ "tet:label-restrictions/tet:label-restriction/"
+ "tet:label-end/tet:te-label/tet:technology" {
/*
when "../../../../../../../nw:network-types/tet:te-topology/"
+ "flexi-grid:flexi-grid-topology" {
description "Augment flexi-grid TE label";
}
*/
description "flexi-grid label.";
case flexi-grid {
uses l0-types:flexi-grid-link-label;
}
}
/* Augment label restrictions step of TE link template */ Name: ietf-flexi-grid-topology
augment "/nw:networks/tet:te/tet:templates/" Namespace: urn:ietf:params:xml:ns:yang:ietf-flexi-grid-topology
+ "tet:link-template/tet:te-link-attributes/" Prefix: flexi-grid-topology
+ "tet:label-restrictions/tet:label-restriction/" Reference: [This.I-D]
+ "tet:label-step/tet:technology" {
/*
when "../../../../../../nw:network-types/tet:te-topology/"
+ "flexi-grid:flexi-grid-topology" {
description "Augment flexi-grid TE label";
}
*/
description "flexi-grid label.";
case flexi-grid {
uses l0-types:flexi-grid-label-step;
}
}
}
<CODE ENDS>
6. Security Considerations 11. Contributors
The YANG module specified in this document defines a schema for data The model presented in this documentr was contributed to by more
that is designed to be accessed via network management protocols people than can be listed in the author list. Additional
such as NETCONF [RFC6241] or RESTCONF [RFC8040]. The lowest NETCONF contributors include:
layer is the secure transport layer, and the mandatory-to-implement
secure transport is Secure Shell (SSH) [RFC6242]. The lowest
RESTCONF layer is HTTPS, and the mandatory-to-implement secure
transport is TLS [RFC8446].
The NETCONF access control model [RFC8341] provides the means to Oscar Gonzalez de Dios
restrict access for particular NETCONF users to a preconfigured Telefonica I+D/GCTO
subset of all available NETCONF protocol operations and content. The Email: oscar.gonzalezdedios@telefonica.com
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 Gabriele Galimberti
writable/deletable (i.e., "config true"). These data nodes may be Cisco
considered sensitive or vulnerable in some network environments. Email: ggalimbe@cisco.com
There are a number of data nodes defined in this YANG module that Zafar Ali
are writable/creatable/deletable (i.e., config true, which is the Cisco
default). These data nodes may be considered sensitive or Email: zali@cisco.com
vulnerable in some network environments. Write operations (e.g.,
edit-config) to these data nodes without proper protection can have
a negative effect on network operations. These are the subtrees and
data nodes and their sensitivity/vulnerability:
/nw:networks/nw:network/nw:network-types/tet:te-topology Daniel Michaud Vallinoto
/nw:networks/nw:network/nt:link/tet:te/tet:te-link-attributes Universidad Autonoma de Madrid
Email: TBD
/nw:networks/nw:network/nw:node/nt:termination-point/tet:te Steven Hill,
MTN Group Technology
Email: Steven.Hill@mtn.com
/nw:networks/nw:network/nw:node/tet:te/tet:te-node-attributes Victor Lopez
/te-connectivity-matrices/te-connectivity-matrix/tet:path- Telefonica I+D/GCTO
constraints/tet:te-bandwidth/tet:technology Email: victor.lopezalvarez@telefonica.com
/nw:networks/nw:network/nw:node/tet:te Italo Busi
/tet:tunnel-termination-point/tet:local-link-connectivities Huawei
/tet:label-restrictions/tet:label-restriction Email: Italo.Busi@huawei.com
7. IANA Considerations Aihua Guo
Futurewei
Email: aihuaguo.ietf@gmail.com
IANA is requested to assigned a new URI from the "IETF XML Registry" 12. Acknowledgments
[RFC3688] as follows:
URI: urn:ietf:params:xml:ns:yang:ietf-flexi-grid-topology The work presented in this document has been partially funded by the
Registrant Contact: The IESG European Commission under the project H2020 METRO-HAUL (Metro High
XML: N/A; the requested URI is an XML namespace. bandwidth, 5G Application-aware 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 TEC2015-69417-C2-1-R.
IANA is requested to assign a new YANG module name in the "YANG Thanks to Adrian Farrel for reviewing this document and assisting
Module Names" registry [RFC6020] as follows: with conversion to XML.
Name: ietf-flexi-grid-topology 13. References
Namespace: urn:ietf:params:xml:ns:yang:ietf-flexi-grid-topology
Prefix: flexi-grid-topology
Reference: [This.I-D]
8. References 13.1. Normative References
8.1. Normative References [I-D.ietf-ccamp-layer0-types]
Zheng, H., Lee, Y., Guo, A., Lopez, V., and D. King, "A
YANG Data Model for Layer 0 Types", draft-ietf-ccamp-
layer0-types-07 (work in progress), September 2020.
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
Requirement Levels", BCP 14, RFC 2119, March 1997. Requirement Levels", BCP 14, RFC 2119,
DOI 10.17487/RFC2119, March 1997,
<https://www.rfc-editor.org/info/rfc2119>.
[RFC3688] Mealling, M., "The IETF XML Registry", BCP 81, RFC 3688, [RFC3688] Mealling, M., "The IETF XML Registry", BCP 81, RFC 3688,
January 2004. DOI 10.17487/RFC3688, January 2004,
<https://www.rfc-editor.org/info/rfc3688>.
[RFC5234] Crocker, D. and P. Overell, "Augmented BNF for Syntax [RFC5234] Crocker, D., Ed. and P. Overell, "Augmented BNF for Syntax
Specifications: ABNF", STD 68, RFC 5234, January 2008, Specifications: ABNF", STD 68, RFC 5234,
<http:/www.rfc-editor.org/info/rfc5234>. DOI 10.17487/RFC5234, January 2008,
<https://www.rfc-editor.org/info/rfc5234>.
[RFC6020] Bjorklund, M., Ed., "YANG - A Data Modeling Language for [RFC6020] Bjorklund, M., Ed., "YANG - A Data Modeling Language for
the Network Configuration Protocol (NETCONF)", RFC 6020, the Network Configuration Protocol (NETCONF)", RFC 6020,
October 2010. DOI 10.17487/RFC6020, October 2010,
<https://www.rfc-editor.org/info/rfc6020>.
[RFC6241] R. Enns, Ed., M. Bjorklund, Ed., J. Schoenwaelder, Ed., [RFC6241] Enns, R., Ed., Bjorklund, M., Ed., Schoenwaelder, J., Ed.,
"Network Configuration Protocol (NETCONF)", RFC 6241, June and A. Bierman, Ed., "Network Configuration Protocol
2011. (NETCONF)", RFC 6241, DOI 10.17487/RFC6241, June 2011,
<https://www.rfc-editor.org/info/rfc6241>.
[RFC6242] M. Wasserman, "Using the NETCONF Protocol over Secure [RFC6242] Wasserman, M., "Using the NETCONF Protocol over Secure
Shell (SSH)", RFC 6242, June 2011. Shell (SSH)", RFC 6242, DOI 10.17487/RFC6242, June 2011,
<https://www.rfc-editor.org/info/rfc6242>.
[RFC7950] M. Bjorklund, Ed., "The YANG 1.1 Data Modeling [RFC7446] Lee, Y., Ed., Bernstein, G., Ed., Li, D., and W. Imajuku,
Language", RFC 7950, August 2016. "Routing and Wavelength Assignment Information Model for
Wavelength Switched Optical Networks", RFC 7446,
DOI 10.17487/RFC7446, February 2015,
<https://www.rfc-editor.org/info/rfc7446>.
[RFC8040] A. Bierman, M. Bjorklund, K. Watsen, "RESTCONF Protocol", [RFC7581] Bernstein, G., Ed., Lee, Y., Ed., Li, D., Imajuku, W., and
RFC 8040, January 2017. J. Han, "Routing and Wavelength Assignment Information
Encoding for Wavelength Switched Optical Networks",
RFC 7581, DOI 10.17487/RFC7581, June 2015,
<https://www.rfc-editor.org/info/rfc7581>.
[RFC8341] A. Bierman, M. Bjorklund, "Network Configuration Access [RFC7950] Bjorklund, M., Ed., "The YANG 1.1 Data Modeling Language",
Control Model", RFC 8341, July 2019. RFC 7950, DOI 10.17487/RFC7950, August 2016,
<https://www.rfc-editor.org/info/rfc7950>.
[RFC8446] E. Rescorla, "The Transport Layer Security (TLS) Protocol [RFC8040] Bierman, A., Bjorklund, M., and K. Watsen, "RESTCONF
Version 1.3", RFC8446, August 2018. Protocol", RFC 8040, DOI 10.17487/RFC8040, January 2017,
<https://www.rfc-editor.org/info/rfc8040>.
[RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC [RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC
2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174, 2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174,
May 2017, <https://www.rfc-editor.org/info/rfc8174>. May 2017, <https://www.rfc-editor.org/info/rfc8174>.
[Layer0-Types] Y. Lee, D. Dhody, A. Guo, V. Lopez, D. King, [RFC8341] Bierman, A. and M. Bjorklund, "Network Configuration
"YANG Data Model for Layer 0 Types", work in progress, Access Control Model", STD 91, RFC 8341,
draft-ietf-ccamp-layer0-types-03, 2020. DOI 10.17487/RFC8341, March 2018,
<https://www.rfc-editor.org/info/rfc8341>.
[TE-TOPO] X. Liu, I. Bryskin, V. Pavan Beeram, T. Saad, H. Shah, [RFC8345] Clemm, A., Medved, J., Varga, R., Bahadur, N.,
O. Gonzalez De Dios, "YANG Data Model for TE Topologies", Ananthakrishnan, H., and X. Liu, "A YANG Data Model for
work in progress, draft-ietf-teas-yang-te-topo-22.txt, Network Topologies", RFC 8345, DOI 10.17487/RFC8345, March
2019. 2018, <https://www.rfc-editor.org/info/rfc8345>.
8.2. Informative References [RFC8446] Rescorla, E., "The Transport Layer Security (TLS) Protocol
Version 1.3", RFC 8446, DOI 10.17487/RFC8446, August 2018,
<https://www.rfc-editor.org/info/rfc8446>.
[G.694.1] International Telecommunication Union, "Spectral grids for [RFC8795] Liu, X., Bryskin, I., Beeram, V., Saad, T., Shah, H., and
WDM applications: DWDM frequency grid", ITU-T O. Gonzalez de Dios, "YANG Data Model for Traffic
Recommendation G.694.1, February 2012, Engineering (TE) Topologies", RFC 8795,
<https://www.itu.int/rec/T-REC-G.694.1/en>. DOI 10.17487/RFC8795, August 2020,
<https://www.rfc-editor.org/info/rfc8795>.
[G.872] International Telecommunications Union, 13.2. Informative References
"Architecture of optical transport networks", ITU-
T Recommendation G.872, November 2001.
<https://www.itu.int/rec/T-REC-G.872/en>.
[RFC7446] Y. Lee, G. Bernstein, D. Li, W. Imajuku, "Routing and [G.694.1] International Telecommunication Union, "Spectral grids for
Wavelength Assignment Information Model for Wavelength WDM applications: DWDM frequency grid", ITUT G.872,
Switched Optical Networks", RFC 7446, Feburary 2015. February 2012.
[RFC7581] G. Bernstein, Y. Lee, D. Li, W. Imajuku, "Routing and [G.872] International Telecommunication Union, "Architecture of
Wavelength Assignment Information Encoding for Wavelength optical transport networks", ITUT G.872, November 2010.
Switched Optical Networks", RFC 7581, June 2015.
[RFC7698] O. Gonzalez de Dios, R. Casellas, Eds. "Framework and [I-D.ietf-ccamp-flexigrid-media-channel-yang]
Requirements for GMPLS-Based Control of Flexi-Grid Dense Madrid, U., Perdices, D., Lopezalvarez, V., Dios, O.,
Wavelength Division Multiplexing (DWDM) Networks", King, D., Lee, Y., and G. Galimberti, "YANG data model for
RFC7698, November 2015. Flexi-Grid media-channels", draft-ietf-ccamp-flexigrid-
media-channel-yang-02 (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 GMPLS-Based Control of Flexi-Grid Dense
Wavelength Division Multiplexing (DWDM) Networks",
RFC 7698, DOI 10.17487/RFC7698, November 2015,
<https://www.rfc-editor.org/info/rfc7698>.
[RFC7699] Farrel, A., King, D., Li, Y., and F. Zhang, "Generalized [RFC7699] Farrel, A., King, D., Li, Y., and F. Zhang, "Generalized
Labels for the Flexi-Grid in Lambda Switch Capable (LSC) Labels for the Flexi-Grid in Lambda Switch Capable (LSC)
Label Switching Routers", RFC 7699, DOI 10.17487/RFC7699, Label Switching Routers", RFC 7699, DOI 10.17487/RFC7699,
November 2015, <https://www.rfc-editor.org/info/rfc7699>. November 2015, <https://www.rfc-editor.org/info/rfc7699>.
[RFC8340] M. Bjorklund and L. Berger, Ed., "YANG Tree Diagrams", RFC [RFC8340] Bjorklund, M. and L. Berger, Ed., "YANG Tree Diagrams",
8340, March 2018. BCP 215, RFC 8340, DOI 10.17487/RFC8340, March 2018,
<https://www.rfc-editor.org/info/rfc8340>.
[RFC8345] A. Clemm, J. Medved, R. Varga, N. Bahadur, H.
Ananthakrishnan, X. Liu, "A Data Model for Network
Topologies", RFC 8345, July 2019.
[I-D.draft-ietf-ccamp-flexigrid-media-channel-yang] Lopez de
Vergara, J., Perdices, D., Lopez, V., Gonzalez de Dios, O.,
King, D., Lee, Y., Galimberti, G., "YANG data model for
Flexi-Grid media-channels", Internet Draft,
draft-ietf-ccamp-flexigrid-media-channel-yang-02, 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 Internet-Draft has been partially funded
by the European Commission under the project H2020 METRO-HAUL
(Metro High bandwidth, 5G Application-aware 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 TEC2015-69417-C2-1-R.
Authors' Addresses Authors' Addresses
Jorge E. Lopez de Vergara Mendez Jorge E. Lopez de Vergara Mendez
Universidad Autonoma de Madrid Universidad Autonoma de Madrid
Escuela Politecnica Superior
C/Francisco Tomas y Valiente, 11
E-28049 Madrid, Spain
Email: jorge.lopez_vergara@uam.es Email: jorge.lopez_vergara@uam.es
Daniel Perdices Burrero Daniel Perdices Burrero
Naudit High Perf