Internet DRAFT - draft-gbb-ccamp-optical-path-computation-yang
draft-gbb-ccamp-optical-path-computation-yang
CCAMP Working Group I. Busi
Internet-Draft Huawei Technologies
Intended status: Standards Track A. Guo
Expires: 16 March 2023 Futurewei Technologies
S. Belotti
Nokia
12 September 2022
YANG Data Models for requesting Path Computation in Optical Networks
draft-gbb-ccamp-optical-path-computation-yang-02
Abstract
This document provides a mechanism to request path computation in
Optical Networks (WSON and Flexi-grid) by augmenting the Remote
Procedure Calls (RPCs) defined in RFC YYYY.
[RFC EDITOR NOTE: Please replace RFC YYYY with the RFC number of
draft-ietf-teas-yang-path-computation once it has been published.
Status of This Memo
This Internet-Draft is submitted in full conformance with the
provisions of BCP 78 and BCP 79.
Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF). Note that other groups may also distribute
working documents as Internet-Drafts. The list of current Internet-
Drafts is at https://datatracker.ietf.org/drafts/current/.
Internet-Drafts are draft documents valid for a maximum of six months
and may be updated, replaced, or obsoleted by other documents at any
time. It is inappropriate to use Internet-Drafts as reference
material or to cite them other than as "work in progress."
This Internet-Draft will expire on 16 March 2023.
Copyright Notice
Copyright (c) 2022 IETF Trust and the persons identified as the
document authors. All rights reserved.
This document is subject to BCP 78 and the IETF Trust's Legal
Provisions Relating to IETF Documents (https://trustee.ietf.org/
license-info) in effect on the date of publication of this document.
Please review these documents carefully, as they describe your rights
and restrictions with respect to this document. Code Components
Busi, et al. Expires 16 March 2023 [Page 1]
Internet-Draft Yang for Optical Path Computation September 2022
extracted from this document must include Revised BSD License text as
described in Section 4.e of the Trust Legal Provisions and are
provided without warranty as described in the Revised BSD License.
Table of Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2
1.1. Terminology and Notations . . . . . . . . . . . . . . . . 3
1.2. Tree Diagram . . . . . . . . . . . . . . . . . . . . . . 3
1.3. Prefix in Data Node Names . . . . . . . . . . . . . . . . 3
2. YANG Data Models for Optical Path Computation . . . . . . . . 4
2.1. YANG Models Overview . . . . . . . . . . . . . . . . . . 4
2.2. Attributes Augmentation . . . . . . . . . . . . . . . . . 5
2.3. Bandwidth Augmentation . . . . . . . . . . . . . . . . . 5
2.4. Label Augmentations . . . . . . . . . . . . . . . . . . . 5
3. Optical Path Computation Tree Diagrams . . . . . . . . . . . 5
3.1. WSON Path Computation Tree Diagrams . . . . . . . . . . . 5
3.2. Flexi-grid Path Computation Tree Diagrams . . . . . . . . 10
4. YANG Models for Optical Path Computation . . . . . . . . . . 14
4.1. YANG Model for WSON Path Computation . . . . . . . . . . 14
4.2. YANG Model for Flexi-grid Path Computation . . . . . . . 22
5. Manageability Considerations . . . . . . . . . . . . . . . . 31
6. Security Considerations . . . . . . . . . . . . . . . . . . . 31
7. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 31
8. References . . . . . . . . . . . . . . . . . . . . . . . . . 32
8.1. Normative References . . . . . . . . . . . . . . . . . . 32
8.2. Informative References . . . . . . . . . . . . . . . . . 33
Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . . . 34
Contributors . . . . . . . . . . . . . . . . . . . . . . . . . . 34
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 34
1. Introduction
[I-D.ietf-teas-yang-path-computation] describes key use cases, where
a client needs to request underlying SDN controllers for path
computation. In some of these use cases, the underlying SDN
controller can control a single-layer optical technologies, including
Optical Transport Network (OTN), Wavelength Switched Optical Networks
(WSON), Flexi-grid, and multi-layer Optical network.
This document defines YANG data models, which augment the generic
Path Computation RPC defined in
[I-D.ietf-teas-yang-path-computation], with technology-specific
augmentations required to request path computation to an underlying
Optical SDN controller. These models allow a client to delegate path
computation tasks to the underlying Optical SDN controller without
having to obtain optical-layer information from the controller and
performing feasible path computation itself. This is especially
Busi, et al. Expires 16 March 2023 [Page 2]
Internet-Draft Yang for Optical Path Computation September 2022
helpful in cases where computing optically-feasible paths require
knowledge of physical-layer states, such as optical impairments,
which are visible only to the Optical controller.
1.1. Terminology and Notations
Refer to [RFC7446] and [RFC7581] for the key terms used in this
document. The following terms are defined in [RFC7950] and are not
redefined here:
* client
* server
* augment
* data model
* data node
The following terms are defined in [RFC6241] and are not redefined
here:
* configuration data
* state data
The terminology for describing YANG data models is found in
[RFC7950].
1.2. Tree Diagram
A simplified graphical representation of the data model is used in
Section 3 of this document. The meaning of the symbols in these
diagrams is defined in [RFC8340].
1.3. Prefix in Data Node Names
In this document, names of data nodes and other data model objects
are prefixed using the standard prefix associated with the
corresponding YANG imported modules, as shown in Table 1.
Busi, et al. Expires 16 March 2023 [Page 3]
Internet-Draft Yang for Optical Path Computation September 2022
+==========+==================================+===========+
| Prefix | YANG module | Reference |
+==========+==================================+===========+
| l0-types | ietf-layer0-types | [RFCZZZZ] |
+----------+----------------------------------+-----------+
| te | ietf-te | [RFCKKKK] |
+----------+----------------------------------+-----------+
| tepc | ietf-te-path-computation | [RFCYYYY] |
+----------+----------------------------------+-----------+
| wson-pc | ietf-wson-path-computation | RFCXXXX |
+----------+----------------------------------+-----------+
| flexg-pc | ietf-flexi-grid-path-computation | RFCXXXX |
+----------+----------------------------------+-----------+
Table 1: Prefixes and corresponding YANG modules
RFC Editor Note: Please replace XXXX with the RFC number assigned to
this document. Please replace ZZZZ with the RFC number assigned to
[I-D.ietf-ccamp-rfc9093-bis]. Please replace KKKK with the RFC
number assigned to [I-D.ietf-teas-yang-te]. Please replace YYYY with
the RFC number assigned to [I-D.ietf-teas-yang-path-computation].
Please remove this note.
2. YANG Data Models for Optical Path Computation
2.1. YANG Models Overview
The YANG data models for requesting WSON and Flexi-grid path
computation are defined as augmentations of the generic Path
Computation RPC defined in [I-D.ietf-teas-yang-path-computation], as
shown in Figure 1.
+--------------------------+ o: augment
TE generic | ietf-te-path-computation |
+--------------------------+
o o
| |
| |
+-----------+ +-----------+
| |
| |
+----------------------------+ +----------------------------------+
| ietf-wson-path-computation | | ietf-flexi-grid-path-computation |
+----------------------------+ +----------------------------------+
WSON Flexi-grid
Figure 1: Relationship between WSON, Flexi-grid and TE path
computation models
Busi, et al. Expires 16 March 2023 [Page 4]
Internet-Draft Yang for Optical Path Computation September 2022
The entities and Traffic Engineering (TE) attributes, such as
requested path and tunnel attributes, defined in
[I-D.ietf-teas-yang-path-computation], are still applicable when
requesting WSON and Flexi-grid path computation and the models
defined in this document only specifies the additional technology-
specific attributes/information, using the attributes defined in
[I-D.ietf-ccamp-rfc9093-bis].
2.2. Attributes Augmentation
The common characteristics for layer 0 (WSON and Flexi-grid) tunnels
are under definition in [I-D.ietf-ccamp-rfc9093-bis] and re-used in
the ietf-wson-path-computation and ietf-flexi-grid-path-computation
YANG models
2.3. Bandwidth Augmentation
As described in Section 4.2 of [RFC7699], there is some overlap
between bandwidth and label in layer0.
The WSON and flexi-grid label resource information described in
Section 2.4, is sufficient to describe also the spectrum resources
within WSON and flexi-grid networks. Therefore, the model does not
define any augmentation for the te-bandwidth containers defined in
[I-D.ietf-teas-yang-path-computation].
2.4. Label Augmentations
The models augment all the occurrences of the label-restriction list
with WSON and Flexi-grid technology-specific attributes using the l0-
label-range-info and flexi-grid-label-range-info groupings defined in
[I-D.ietf-ccamp-rfc9093-bis].
Moreover, the models augment all the occurrences of the te-label
container with the WSON, Flexi-grid and OTN technology-specific
attributes using the wson-label-start-end, wson-label-hop, wson-
label-step, flexi-grid-label-start-end, flexi-grid-label-hop and
flexi-grid-label-step defined in [I-D.ietf-ccamp-rfc9093-bis].
3. Optical Path Computation Tree Diagrams
3.1. WSON Path Computation Tree Diagrams
Figure 2 below shows the tree diagram of the YANG data model defined
in module ietf-wson-path-computation.yang.
Busi, et al. Expires 16 March 2023 [Page 5]
Internet-Draft Yang for Optical Path Computation September 2022
module: ietf-wson-path-computation
augment /te:tunnels-path-compute/te:input/te:path-compute-info
/tepc:path-request:
+-- bit-stuffing? boolean
+-- wavelength-assignment? identityref
+-- gsnr-margin? snr
augment /te:tunnels-path-compute/te:output/te:path-compute-result
/tepc:response/tepc:computed-paths-properties
/tepc:computed-path-properties/tepc:path-properties:
+--ro estimated-gsnr? snr
augment /te:tunnels-path-compute/te:input/te:path-compute-info
/tepc:path-request/tepc:optimizations/tepc:algorithm
/tepc:metric/tepc:optimization-metric
/tepc:explicit-route-exclude-objects
/tepc:route-object-exclude-object/tepc:type:
+--:(oms-element)
+-- oms-element-uid? string
augment /te:tunnels-path-compute/te:input/te:path-compute-info
/tepc:path-request/tepc:optimizations/tepc:algorithm
/tepc:metric/tepc:optimization-metric
/tepc:explicit-route-include-objects
/tepc:route-object-include-object/tepc:type:
+--:(oms-element)
+-- oms-element-uid? string
augment /te:tunnels-path-compute/te:input/te:path-compute-info
/tepc:path-request/tepc:explicit-route-objects-always
/tepc:route-object-exclude-always/tepc:type:
+--:(oms-element)
+-- oms-element-uid? string
augment /te:tunnels-path-compute/te:input/te:path-compute-info
/tepc:path-request/tepc:explicit-route-objects-always
/tepc:route-object-include-exclude/tepc:type:
+--:(oms-element)
+-- oms-element-uid? string
augment /te:tunnels-path-compute/te:input/te:path-compute-info
/tepc:synchronization/tepc:exclude-objects/tepc:excludes
/tepc:type:
+--:(oms-element)
+-- oms-element-uid? string
augment /te:tunnels-path-compute/te:output/te:path-compute-result
/tepc:response/tepc:computed-paths-properties
/tepc:computed-path-properties/tepc:path-properties
/tepc:path-route-objects/tepc:path-route-object
/tepc:type:
+--:(oms-element)
+--ro oms-element-uid? string
augment /te:tunnels-path-compute/te:input/te:path-compute-info
Busi, et al. Expires 16 March 2023 [Page 6]
Internet-Draft Yang for Optical Path Computation September 2022
/tepc:path-request/tepc:path-in-segment
/tepc:label-restrictions/tepc:label-restriction:
+-- grid-type? identityref
+-- priority? uint8
augment /te:tunnels-path-compute/te:input/te:path-compute-info
/tepc:path-request/tepc:path-out-segment
/tepc:label-restrictions/tepc:label-restriction:
+-- grid-type? identityref
+-- priority? uint8
augment /te:tunnels-path-compute/te:input/te:path-compute-info
/tepc:path-request/tepc:optimizations/tepc:algorithm
/tepc:metric/tepc:optimization-metric
/tepc:explicit-route-exclude-objects
/tepc:route-object-exclude-object/tepc:type/tepc:label
/tepc:label-hop/tepc:te-label/tepc:technology:
+--:(wson)
+-- (grid-type)?
+--:(dwdm)
| +-- (single-or-super-channel)?
| +--:(single)
| | +-- dwdm-n? l0-types:dwdm-n
| +--:(super)
| +-- subcarrier-dwdm-n* l0-types:dwdm-n
+--:(cwdm)
+-- cwdm-n? l0-types:cwdm-n
augment /te:tunnels-path-compute/te:input/te:path-compute-info
/tepc:path-request/tepc:optimizations/tepc:algorithm
/tepc:metric/tepc:optimization-metric
/tepc:explicit-route-include-objects
/tepc:route-object-include-object/tepc:type/tepc:label
/tepc:label-hop/tepc:te-label/tepc:technology:
+--:(wson)
+-- (grid-type)?
+--:(dwdm)
| +-- (single-or-super-channel)?
| +--:(single)
| | +-- dwdm-n? l0-types:dwdm-n
| +--:(super)
| +-- subcarrier-dwdm-n* l0-types:dwdm-n
+--:(cwdm)
+-- cwdm-n? l0-types:cwdm-n
augment /te:tunnels-path-compute/te:input/te:path-compute-info
/tepc:path-request/tepc:explicit-route-objects-always
/tepc:route-object-exclude-always/tepc:type/tepc:label
/tepc:label-hop/tepc:te-label/tepc:technology:
+--:(wson)
+-- (grid-type)?
+--:(dwdm)
Busi, et al. Expires 16 March 2023 [Page 7]
Internet-Draft Yang for Optical Path Computation September 2022
| +-- (single-or-super-channel)?
| +--:(single)
| | +-- dwdm-n? l0-types:dwdm-n
| +--:(super)
| +-- subcarrier-dwdm-n* l0-types:dwdm-n
+--:(cwdm)
+-- cwdm-n? l0-types:cwdm-n
augment /te:tunnels-path-compute/te:input/te:path-compute-info
/tepc:path-request/tepc:explicit-route-objects-always
/tepc:route-object-include-exclude/tepc:type/tepc:label
/tepc:label-hop/tepc:te-label/tepc:technology:
+--:(wson)
+-- (grid-type)?
+--:(dwdm)
| +-- (single-or-super-channel)?
| +--:(single)
| | +-- dwdm-n? l0-types:dwdm-n
| +--:(super)
| +-- subcarrier-dwdm-n* l0-types:dwdm-n
+--:(cwdm)
+-- cwdm-n? l0-types:cwdm-n
augment /te:tunnels-path-compute/te:input/te:path-compute-info
/tepc:path-request/tepc:path-in-segment
/tepc:label-restrictions/tepc:label-restriction
/tepc:label-start/tepc:te-label/tepc:technology:
+--:(wson)
+-- (grid-type)?
+--:(dwdm)
| +-- dwdm-n? l0-types:dwdm-n
+--:(cwdm)
+-- cwdm-n? l0-types:cwdm-n
augment /te:tunnels-path-compute/te:input/te:path-compute-info
/tepc:path-request/tepc:path-in-segment
/tepc:label-restrictions/tepc:label-restriction
/tepc:label-end/tepc:te-label/tepc:technology:
+--:(wson)
+-- (grid-type)?
+--:(dwdm)
| +-- dwdm-n? l0-types:dwdm-n
+--:(cwdm)
+-- cwdm-n? l0-types:cwdm-n
augment /te:tunnels-path-compute/te:input/te:path-compute-info
/tepc:path-request/tepc:path-in-segment
/tepc:label-restrictions/tepc:label-restriction
/tepc:label-step/tepc:technology:
+--:(wson)
+-- (l0-grid-type)?
+--:(dwdm)
Busi, et al. Expires 16 March 2023 [Page 8]
Internet-Draft Yang for Optical Path Computation September 2022
| +-- wson-dwdm-channel-spacing? identityref
+--:(cwdm)
+-- wson-cwdm-channel-spacing? identityref
augment /te:tunnels-path-compute/te:input/te:path-compute-info
/tepc:path-request/tepc:path-out-segment
/tepc:label-restrictions/tepc:label-restriction
/tepc:label-start/tepc:te-label/tepc:technology:
+--:(wson)
+-- (grid-type)?
+--:(dwdm)
| +-- dwdm-n? l0-types:dwdm-n
+--:(cwdm)
+-- cwdm-n? l0-types:cwdm-n
augment /te:tunnels-path-compute/te:input/te:path-compute-info
/tepc:path-request/tepc:path-out-segment
/tepc:label-restrictions/tepc:label-restriction
/tepc:label-end/tepc:te-label/tepc:technology:
+--:(wson)
+-- (grid-type)?
+--:(dwdm)
| +-- dwdm-n? l0-types:dwdm-n
+--:(cwdm)
+-- cwdm-n? l0-types:cwdm-n
augment /te:tunnels-path-compute/te:input/te:path-compute-info
/tepc:path-request/tepc:path-out-segment
/tepc:label-restrictions/tepc:label-restriction
/tepc:label-step/tepc:technology:
+--:(wson)
+-- (l0-grid-type)?
+--:(dwdm)
| +-- wson-dwdm-channel-spacing? identityref
+--:(cwdm)
+-- wson-cwdm-channel-spacing? identityref
augment /te:tunnels-path-compute/te:input/te:path-compute-info
/tepc:synchronization/tepc:exclude-objects/tepc:excludes
/tepc:type/tepc:label/tepc:label-hop/tepc:te-label
/tepc:technology:
+--:(wson)
+-- (grid-type)?
+--:(dwdm)
| +-- (single-or-super-channel)?
| +--:(single)
| | +-- dwdm-n? l0-types:dwdm-n
| +--:(super)
| +-- subcarrier-dwdm-n* l0-types:dwdm-n
+--:(cwdm)
+-- cwdm-n? l0-types:cwdm-n
augment /te:tunnels-path-compute/te:output/te:path-compute-result
Busi, et al. Expires 16 March 2023 [Page 9]
Internet-Draft Yang for Optical Path Computation September 2022
/tepc:response/tepc:computed-paths-properties
/tepc:computed-path-properties/tepc:path-properties
/tepc:path-route-objects/tepc:path-route-object/tepc:type
/tepc:label/tepc:label-hop/tepc:te-label/tepc:technology:
+--:(wson)
+--ro (grid-type)?
+--:(dwdm)
| +--ro (single-or-super-channel)?
| +--:(single)
| | +--ro dwdm-n? l0-types:dwdm-n
| +--:(super)
| +--ro subcarrier-dwdm-n* l0-types:dwdm-n
+--:(cwdm)
+--ro cwdm-n? l0-types:cwdm-n
Figure 2: WSON path computation tree diagram
3.2. Flexi-grid Path Computation Tree Diagrams
Figure 3 below shows the tree diagram of the YANG data model defined
in module ietf-flexi-grid-path-computation.yang.
module: ietf-flexi-grid-path-computation
augment /te:tunnels-path-compute/te:input/te:path-compute-info
/tepc:path-request:
+-- bit-stuffing? boolean
+-- wavelength-assignment? identityref
+-- gsnr-margin? snr
augment /te:tunnels-path-compute/te:output/te:path-compute-result
/tepc:response/tepc:computed-paths-properties
/tepc:computed-path-properties/tepc:path-properties:
+--ro estimated-gsnr? snr
augment /te:tunnels-path-compute/te:input/te:path-compute-info
/tepc:path-request/tepc:optimizations/tepc:algorithm
/tepc:metric/tepc:optimization-metric
/tepc:explicit-route-exclude-objects
/tepc:route-object-exclude-object/tepc:type:
+--:(oms-element)
+-- oms-element-uid? string
augment /te:tunnels-path-compute/te:input/te:path-compute-info
/tepc:path-request/tepc:optimizations/tepc:algorithm
/tepc:metric/tepc:optimization-metric
/tepc:explicit-route-include-objects
/tepc:route-object-include-object/tepc:type:
+--:(oms-element)
+-- oms-element-uid? string
augment /te:tunnels-path-compute/te:input/te:path-compute-info
Busi, et al. Expires 16 March 2023 [Page 10]
Internet-Draft Yang for Optical Path Computation September 2022
/tepc:path-request/tepc:explicit-route-objects-always
/tepc:route-object-exclude-always/tepc:type:
+--:(oms-element)
+-- oms-element-uid? string
augment /te:tunnels-path-compute/te:input/te:path-compute-info
/tepc:path-request/tepc:explicit-route-objects-always
/tepc:route-object-include-exclude/tepc:type:
+--:(oms-element)
+-- oms-element-uid? string
augment /te:tunnels-path-compute/te:input/te:path-compute-info
/tepc:synchronization/tepc:exclude-objects/tepc:excludes
/tepc:type:
+--:(oms-element)
+-- oms-element-uid? string
augment /te:tunnels-path-compute/te:output/te:path-compute-result
/tepc:response/tepc:computed-paths-properties
/tepc:computed-path-properties/tepc:path-properties
/tepc:path-route-objects/tepc:path-route-object
/tepc:type:
+--:(oms-element)
+--ro oms-element-uid? string
augment /te:tunnels-path-compute/te:input/te:path-compute-info
/tepc:path-request/tepc:path-in-segment
/tepc:label-restrictions/tepc:label-restriction:
+-- grid-type? identityref
+-- priority? uint8
+-- flexi-grid
+-- slot-width-granularity? identityref
+-- min-slot-width-factor? uint16
+-- max-slot-width-factor? uint16
augment /te:tunnels-path-compute/te:input/te:path-compute-info
/tepc:path-request/tepc:path-out-segment
/tepc:label-restrictions/tepc:label-restriction:
+-- grid-type? identityref
+-- priority? uint8
+-- flexi-grid
+-- slot-width-granularity? identityref
+-- min-slot-width-factor? uint16
+-- max-slot-width-factor? uint16
augment /te:tunnels-path-compute/te:input/te:path-compute-info
/tepc:path-request/tepc:optimizations/tepc:algorithm
/tepc:metric/tepc:optimization-metric
/tepc:explicit-route-exclude-objects
/tepc:route-object-exclude-object/tepc:type/tepc:label
/tepc:label-hop/tepc:te-label/tepc:technology:
+--:(flexi-grid)
+-- (single-or-super-channel)?
+--:(single)
Busi, et al. Expires 16 March 2023 [Page 11]
Internet-Draft Yang for Optical Path Computation September 2022
| +-- flexi-n? l0-types:flexi-n
| +-- flexi-m? l0-types:flexi-m
+--:(super)
+-- subcarrier-flexi-n* [flexi-n]
+-- flexi-n l0-types:flexi-n
+-- flexi-m? l0-types:flexi-m
augment /te:tunnels-path-compute/te:input/te:path-compute-info
/tepc:path-request/tepc:optimizations/tepc:algorithm
/tepc:metric/tepc:optimization-metric
/tepc:explicit-route-include-objects
/tepc:route-object-include-object/tepc:type/tepc:label
/tepc:label-hop/tepc:te-label/tepc:technology:
+--:(flexi-grid)
+-- (single-or-super-channel)?
+--:(single)
| +-- flexi-n? l0-types:flexi-n
| +-- flexi-m? l0-types:flexi-m
+--:(super)
+-- subcarrier-flexi-n* [flexi-n]
+-- flexi-n l0-types:flexi-n
+-- flexi-m? l0-types:flexi-m
augment /te:tunnels-path-compute/te:input/te:path-compute-info
/tepc:path-request/tepc:explicit-route-objects-always
/tepc:route-object-exclude-always/tepc:type/tepc:label
/tepc:label-hop/tepc:te-label/tepc:technology:
+--:(flexi-grid)
+-- (single-or-super-channel)?
+--:(single)
| +-- flexi-n? l0-types:flexi-n
| +-- flexi-m? l0-types:flexi-m
+--:(super)
+-- subcarrier-flexi-n* [flexi-n]
+-- flexi-n l0-types:flexi-n
+-- flexi-m? l0-types:flexi-m
augment /te:tunnels-path-compute/te:input/te:path-compute-info
/tepc:path-request/tepc:explicit-route-objects-always
/tepc:route-object-include-exclude/tepc:type/tepc:label
/tepc:label-hop/tepc:te-label/tepc:technology:
+--:(flexi-grid)
+-- (single-or-super-channel)?
+--:(single)
| +-- flexi-n? l0-types:flexi-n
| +-- flexi-m? l0-types:flexi-m
+--:(super)
+-- subcarrier-flexi-n* [flexi-n]
+-- flexi-n l0-types:flexi-n
+-- flexi-m? l0-types:flexi-m
augment /te:tunnels-path-compute/te:input/te:path-compute-info
Busi, et al. Expires 16 March 2023 [Page 12]
Internet-Draft Yang for Optical Path Computation September 2022
/tepc:path-request/tepc:path-in-segment
/tepc:label-restrictions/tepc:label-restriction
/tepc:label-start/tepc:te-label/tepc:technology:
+--:(flexi-grid)
+-- flexi-n? l0-types:flexi-n
augment /te:tunnels-path-compute/te:input/te:path-compute-info
/tepc:path-request/tepc:path-in-segment
/tepc:label-restrictions/tepc:label-restriction
/tepc:label-end/tepc:te-label/tepc:technology:
+--:(flexi-grid)
+-- flexi-n? l0-types:flexi-n
augment /te:tunnels-path-compute/te:input/te:path-compute-info
/tepc:path-request/tepc:path-in-segment
/tepc:label-restrictions/tepc:label-restriction
/tepc:label-step/tepc:technology:
+--:(flexi-grid)
+-- flexi-grid-channel-spacing? identityref
+-- flexi-n-step? uint8
augment /te:tunnels-path-compute/te:input/te:path-compute-info
/tepc:path-request/tepc:path-out-segment
/tepc:label-restrictions/tepc:label-restriction
/tepc:label-start/tepc:te-label/tepc:technology:
+--:(flexi-grid)
+-- flexi-n? l0-types:flexi-n
augment /te:tunnels-path-compute/te:input/te:path-compute-info
/tepc:path-request/tepc:path-out-segment
/tepc:label-restrictions/tepc:label-restriction
/tepc:label-end/tepc:te-label/tepc:technology:
+--:(flexi-grid)
+-- flexi-n? l0-types:flexi-n
augment /te:tunnels-path-compute/te:input/te:path-compute-info
/tepc:path-request/tepc:path-out-segment
/tepc:label-restrictions/tepc:label-restriction
/tepc:label-step/tepc:technology:
+--:(flexi-grid)
+-- flexi-grid-channel-spacing? identityref
+-- flexi-n-step? uint8
augment /te:tunnels-path-compute/te:input/te:path-compute-info
/tepc:synchronization/tepc:exclude-objects/tepc:excludes
/tepc:type/tepc:label/tepc:label-hop/tepc:te-label
/tepc:technology:
+--:(flexi-grid)
+-- (single-or-super-channel)?
+--:(single)
| +-- flexi-n? l0-types:flexi-n
| +-- flexi-m? l0-types:flexi-m
+--:(super)
+-- subcarrier-flexi-n* [flexi-n]
Busi, et al. Expires 16 March 2023 [Page 13]
Internet-Draft Yang for Optical Path Computation September 2022
+-- flexi-n l0-types:flexi-n
+-- flexi-m? l0-types:flexi-m
augment /te:tunnels-path-compute/te:output/te:path-compute-result
/tepc:response/tepc:computed-paths-properties
/tepc:computed-path-properties/tepc:path-properties
/tepc:path-route-objects/tepc:path-route-object/tepc:type
/tepc:label/tepc:label-hop/tepc:te-label/tepc: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
Figure 3: Flexi-grid path computation tree diagram
4. YANG Models for Optical Path Computation
4.1. YANG Model for WSON Path Computation
<CODE BEGINS> file "ietf-wson-path-computation@2022-09-08.yang"
module ietf-wson-path-computation {
yang-version 1.1;
namespace "urn:ietf:params:xml:ns:yang:ietf-wson-path-computation";
prefix "wson-pc";
import ietf-te-path-computation {
prefix "tepc";
revision-date "2021-09-06";
reference
"I-D.ietf-teas-yang-path-computation-14: Yang model
for requesting Path Computation.";
}
import ietf-te {
prefix "te";
revision-date "2021-02-20";
reference
"I-D.ietf-teas-yang-te-19: A YANG Data Model for Traffic
Engineering Tunnels and Interfaces. ";
}
import ietf-layer0-types {
prefix "l0-types";
reference
Busi, et al. Expires 16 March 2023 [Page 14]
Internet-Draft Yang for Optical Path Computation September 2022
"I-D.ietf-ccamp-rfc9093-bis: A YANG Data Model for Layer 0
Types.";
}
organization
"IETF CCAMP Working Group";
contact
"WG Web: <http://tools.ietf.org/wg/ccamp/>
WG List: <mailto:ccamp@ietf.org>
Editor: Aihua Guo
<mailto:aihuaguo.ietf@gmail.com>
Editor: Italo Busi
<mailto:italo.busi@huawei.com>
Editor: Sergio Belotti
<mailto:sergio.belotti@nokia.com>";
description
"This module defines a model for requesting
WSON Path Computation.
The model fully conforms to the Network Management
Datastore Architecture (NMDA).
Copyright (c) 2022 IETF Trust and the persons
identified as authors of the code. All rights reserved.
Redistribution and use in source and binary forms, with or
without modification, is permitted pursuant to, and subject
to the license terms contained in, the Revised BSD License
set forth in Section 4.c of the IETF Trust's Legal Provisions
Relating to IETF Documents
(https://trustee.ietf.org/license-info).
This version of this YANG module is part of RFC XXXX; see
the RFC itself for full legal notices.";
revision "2022-09-08" {
description
"Initial version.";
reference
"RFC XXXX: YANG Data Models for requesting Path Computation
in Optical Networks.";
// RFC Ed.: replace XXXX with actual RFC number, update date
// information and remove this note
}
Busi, et al. Expires 16 March 2023 [Page 15]
Internet-Draft Yang for Optical Path Computation September 2022
/*
* Data nodes
*/
augment "/te:tunnels-path-compute/te:input/te:path-compute-info/"
+ "tepc:path-request" {
description
"Augment with additional constraints for WSON paths.";
uses l0-types:l0-tunnel-attributes;
uses l0-types:l0-path-constraints;
}
augment "/te:tunnels-path-compute/te:output/"
+ "te:path-compute-result/tepc:response/"
+ "tepc:computed-paths-properties/"
+ "tepc:computed-path-properties/tepc:path-properties" {
description
"Augment with additional properties for WSON paths.";
uses l0-types:l0-path-properties;
}
/*
* Augment Route Hop
*/
augment "/te:tunnels-path-compute/te:input/te:path-compute-info/"
+ "tepc:path-request/tepc:optimizations/tepc:algorithm/"
+ "tepc:metric/tepc:optimization-metric/"
+ "tepc:explicit-route-exclude-objects/"
+ "tepc:route-object-exclude-object/tepc:type" {
description
"Augment the route hop for the optimization of the explicit
route objects excluded by the path computation of the requested
path.";
case oms-element {
leaf oms-element-uid {
type string;
description
"The unique id of the OMS element.";
}
description
"The OMS element route hop type";
}
}
augment "/te:tunnels-path-compute/te:input/te:path-compute-info/"
+ "tepc:path-request/tepc:optimizations/tepc:algorithm/"
+ "tepc:metric/tepc:optimization-metric/"
Busi, et al. Expires 16 March 2023 [Page 16]
Internet-Draft Yang for Optical Path Computation September 2022
+ "tepc:explicit-route-include-objects/"
+ "tepc:route-object-include-object/tepc:type" {
description
"Augment the route hop for the optimization of the explicit
route objects included by the path computation of the requested
path.";
case oms-element {
leaf oms-element-uid {
type string;
description
"The unique id of the OMS element.";
}
description
"The OMS element route hop type";
}
}
augment "/te:tunnels-path-compute/te:input/te:path-compute-info/"
+ "tepc:path-request/tepc:explicit-route-objects-always/"
+ "tepc:route-object-exclude-always/tepc:type" {
description
"Augment the route hop for the explicit route objects always
excluded by the path computation of the requested path.";
case oms-element {
leaf oms-element-uid {
type string;
description
"The unique id of the OMS element.";
}
description
"The OMS element route hop type";
}
}
augment "/te:tunnels-path-compute/te:input/te:path-compute-info/"
+ "tepc:path-request/tepc:explicit-route-objects-always/"
+ "tepc:route-object-include-exclude/tepc:type" {
description
"Augment the route hop for the explicit route objects included
or excluded by the path computation of the requested path.";
case oms-element {
leaf oms-element-uid {
type string;
description
"The unique id of the OMS element.";
}
description
"The OMS element route hop type";
Busi, et al. Expires 16 March 2023 [Page 17]
Internet-Draft Yang for Optical Path Computation September 2022
}
}
augment "/te:tunnels-path-compute/te:input/te:path-compute-info/"
+ "tepc:synchronization/tepc:exclude-objects/tepc:excludes/"
+ "tepc:type" {
description
"Augment the route hop for the explicit route objects to always
exclude from synchronized path computation.";
case oms-element {
leaf oms-element-uid {
type string;
description
"The unique id of the OMS element.";
}
description
"The OMS element route hop type";
}
}
augment "/te:tunnels-path-compute/te:output/"
+ "te:path-compute-result/tepc:response/"
+ "tepc:computed-paths-properties/"
+ "tepc:computed-path-properties/tepc:path-properties/"
+ "tepc:path-route-objects/tepc:path-route-object/"
+ "tepc:type" {
description
"Augment the route hop for the route object of the computed
path.";
case oms-element {
leaf oms-element-uid {
type string;
description
"The unique id of the OMS element.";
}
description
"The OMS element route hop type";
}
}
/*
* Augment TE label range information
*/
augment "/te:tunnels-path-compute/te:input/te:path-compute-info/"
+ "tepc:path-request/tepc:path-in-segment/"
+ "tepc:label-restrictions/tepc:label-restriction" {
description
Busi, et al. Expires 16 March 2023 [Page 18]
Internet-Draft Yang for Optical Path Computation September 2022
"Augment TE label range information for the ingress segment
of the requested path.";
uses l0-types:l0-label-range-info;
}
augment "/te:tunnels-path-compute/te:input/te:path-compute-info/"
+ "tepc:path-request/tepc:path-out-segment/"
+ "tepc:label-restrictions/tepc:label-restriction" {
description
"Augment TE label range information for the egress segment
of the requested path.";
uses l0-types:l0-label-range-info;
}
/*
* Augment TE label.
*/
augment "/te:tunnels-path-compute/te:input/te:path-compute-info/"
+ "tepc:path-request/tepc:optimizations/tepc:algorithm/"
+ "tepc:metric/tepc:optimization-metric/"
+ "tepc:explicit-route-exclude-objects/"
+ "tepc:route-object-exclude-object/tepc:type/tepc:label/"
+ "tepc:label-hop/tepc:te-label/tepc:technology" {
description
"Augment TE label hop for the optimization of the explicit
route objects excluded by the path computation of the requested
path.";
case wson {
uses l0-types:wson-label-hop;
}
}
augment "/te:tunnels-path-compute/te:input/te:path-compute-info/"
+ "tepc:path-request/tepc:optimizations/tepc:algorithm/"
+ "tepc:metric/tepc:optimization-metric/"
+ "tepc:explicit-route-include-objects/"
+ "tepc:route-object-include-object/tepc:type/tepc:label/"
+ "tepc:label-hop/tepc:te-label/tepc:technology" {
description
"Augment TE label hop for the optimization of the explicit
route objects included by the path computation of the requested
path.";
case wson {
uses l0-types:wson-label-hop;
}
}
Busi, et al. Expires 16 March 2023 [Page 19]
Internet-Draft Yang for Optical Path Computation September 2022
augment "/te:tunnels-path-compute/te:input/te:path-compute-info/"
+ "tepc:path-request/tepc:explicit-route-objects-always/"
+ "tepc:route-object-exclude-always/tepc:type/tepc:label/"
+ "tepc:label-hop/tepc:te-label/tepc:technology" {
description
"Augment TE label hop for the explicit route objects always
excluded by the path computation of the requested path.";
case wson {
uses l0-types:wson-label-hop;
}
}
augment "/te:tunnels-path-compute/te:input/te:path-compute-info/"
+ "tepc:path-request/tepc:explicit-route-objects-always/"
+ "tepc:route-object-include-exclude/tepc:type/tepc:label/"
+ "tepc:label-hop/tepc:te-label/tepc:technology" {
description
"Augment TE label hop for the explicit route objects included
or excluded by the path computation of the requested path.";
case wson {
uses l0-types:wson-label-hop;
}
}
augment "/te:tunnels-path-compute/te:input/te:path-compute-info/"
+ "tepc:path-request/tepc:path-in-segment/"
+ "tepc:label-restrictions/tepc:label-restriction/"
+ "tepc:label-start/tepc:te-label/tepc:technology" {
description
"Augment TE label range start for the ingress segment
of the requested path.";
case wson {
uses l0-types:wson-label-start-end;
}
}
augment "/te:tunnels-path-compute/te:input/te:path-compute-info/"
+ "tepc:path-request/tepc:path-in-segment/"
+ "tepc:label-restrictions/tepc:label-restriction/"
+ "tepc:label-end/tepc:te-label/tepc:technology" {
description
"Augment TE label range end for the ingress segment
of the requested path.";
case wson {
uses l0-types:wson-label-start-end;
}
}
Busi, et al. Expires 16 March 2023 [Page 20]
Internet-Draft Yang for Optical Path Computation September 2022
augment "/te:tunnels-path-compute/te:input/te:path-compute-info/"
+ "tepc:path-request/tepc:path-in-segment/"
+ "tepc:label-restrictions/tepc:label-restriction/"
+ "tepc:label-step/tepc:technology" {
description
"Augment TE label range step for the ingress segment
of the requested path.";
case wson {
uses l0-types:wson-label-step;
}
}
augment "/te:tunnels-path-compute/te:input/te:path-compute-info/"
+ "tepc:path-request/tepc:path-out-segment/"
+ "tepc:label-restrictions/tepc:label-restriction/"
+ "tepc:label-start/tepc:te-label/tepc:technology" {
description
"Augment TE label range start for the egress segment
of the requested path.";
case wson {
uses l0-types:wson-label-start-end;
}
}
augment "/te:tunnels-path-compute/te:input/te:path-compute-info/"
+ "tepc:path-request/tepc:path-out-segment/"
+ "tepc:label-restrictions/tepc:label-restriction/"
+ "tepc:label-end/tepc:te-label/tepc:technology" {
description
"Augment TE label range end for the egress segment
of the requested path.";
case wson {
uses l0-types:wson-label-start-end;
}
}
augment "/te:tunnels-path-compute/te:input/te:path-compute-info/"
+ "tepc:path-request/tepc:path-out-segment/"
+ "tepc:label-restrictions/tepc:label-restriction/"
+ "tepc:label-step/tepc:technology" {
description
"Augment TE label range end for the egress segment
of the requested path.";
case wson {
uses l0-types:wson-label-step;
}
}
Busi, et al. Expires 16 March 2023 [Page 21]
Internet-Draft Yang for Optical Path Computation September 2022
augment "/te:tunnels-path-compute/te:input/te:path-compute-info/"
+ "tepc:synchronization/tepc:exclude-objects/tepc:excludes/"
+ "tepc:type/tepc:label/tepc:label-hop/"
+ "tepc:te-label/tepc:technology" {
description
"Augment TE label hop for the explicit route objects to always
exclude from synchronized path computation.";
case wson {
uses l0-types:wson-label-hop;
}
}
augment "/te:tunnels-path-compute/te:output/"
+ "te:path-compute-result/tepc:response/"
+ "tepc:computed-paths-properties/"
+ "tepc:computed-path-properties/tepc:path-properties/"
+ "tepc:path-route-objects/tepc:path-route-object/"
+ "tepc:type/tepc:label/"
+ "tepc:label-hop/tepc:te-label/tepc:technology" {
description
"Augment TE label hop for the route object of the computed
path.";
case wson {
uses l0-types:wson-label-hop;
}
}
}
<CODE ENDS>
Figure 4: WSON path computation YANG module
4.2. YANG Model for Flexi-grid Path Computation
<CODE BEGINS> file "ietf-flexi-grid-path-computation@2022-09-08.yang"
module ietf-flexi-grid-path-computation {
yang-version 1.1;
namespace
"urn:ietf:params:xml:ns:yang:ietf-flexi-grid-path-computation";
prefix "flexg-pc";
import ietf-te-path-computation {
prefix "tepc";
revision-date "2021-09-06";
reference
"I-D.ietf-teas-yang-path-computation-14: Yang model
for requesting Path Computation.";
}
Busi, et al. Expires 16 March 2023 [Page 22]
Internet-Draft Yang for Optical Path Computation September 2022
import ietf-te {
prefix "te";
revision-date "2021-02-20";
reference
"I-D.ietf-teas-yang-te-19: A YANG Data Model for Traffic
Engineering Tunnels and Interfaces.";
}
import ietf-layer0-types {
prefix "l0-types";
reference
"I-D.ietf-ccamp-rfc9093-bis: A YANG Data Model for Layer 0
Types.";
}
organization
"IETF CCAMP Working Group";
contact
"WG Web: <http://tools.ietf.org/wg/ccamp/>
WG List: <mailto:ccamp@ietf.org>
Editor: Aihua Guo
<mailto:aihuaguo.ietf@gmail.com>
Editor: Italo Busi
<mailto:italo.busi@huawei.com>
Editor: Sergio Belotti
<mailto:sergio.belotti@nokia.com>";
description
"This module defines a model for requesting
Flexi-grid Path Computation.
The model fully conforms to the Network Management
Datastore Architecture (NMDA).
Copyright (c) 2022 IETF Trust and the persons
identified as authors of the code. All rights reserved.
Redistribution and use in source and binary forms, with or
without modification, is permitted pursuant to, and subject
to the license terms contained in, the Revised BSD License
set forth in Section 4.c of the IETF Trust's Legal Provisions
Relating to IETF Documents
(https://trustee.ietf.org/license-info).
This version of this YANG module is part of RFC XXXX; see
Busi, et al. Expires 16 March 2023 [Page 23]
Internet-Draft Yang for Optical Path Computation September 2022
the RFC itself for full legal notices.";
revision "2022-09-08" {
description
"Initial version.";
reference
"RFC XXXX: YANG Data Models for requesting Path Computation
in Optical Networks.";
// RFC Ed.: replace XXXX with actual RFC number, update date
// information and remove this note
}
/*
* Data nodes
*/
augment "/te:tunnels-path-compute/te:input/te:path-compute-info/"
+ "tepc:path-request" {
description
"Augment with additional constraints flexi-grid
media channel.";
uses l0-types:l0-tunnel-attributes;
uses l0-types:l0-path-constraints;
}
augment "/te:tunnels-path-compute/te:output/"
+ "te:path-compute-result/tepc:response/"
+ "tepc:computed-paths-properties/"
+ "tepc:computed-path-properties/tepc:path-properties" {
description
"Augment with additional properties for Flexi-grid paths.";
uses l0-types:l0-path-properties;
}
/*
* Augment Route Hop
*/
augment "/te:tunnels-path-compute/te:input/te:path-compute-info/"
+ "tepc:path-request/tepc:optimizations/tepc:algorithm/"
+ "tepc:metric/tepc:optimization-metric/"
+ "tepc:explicit-route-exclude-objects/"
+ "tepc:route-object-exclude-object/tepc:type" {
description
"Augment the route hop for the optimization of the explicit
route objects excluded by the path computation of the requested
path.";
case oms-element {
Busi, et al. Expires 16 March 2023 [Page 24]
Internet-Draft Yang for Optical Path Computation September 2022
leaf oms-element-uid {
type string;
description
"The unique id of the OMS element.";
}
description
"The OMS element route hop type";
}
}
augment "/te:tunnels-path-compute/te:input/te:path-compute-info/"
+ "tepc:path-request/tepc:optimizations/tepc:algorithm/"
+ "tepc:metric/tepc:optimization-metric/"
+ "tepc:explicit-route-include-objects/"
+ "tepc:route-object-include-object/tepc:type" {
description
"Augment the route hop for the optimization of the explicit
route objects included by the path computation of the requested
path.";
case oms-element {
leaf oms-element-uid {
type string;
description
"The unique id of the OMS element.";
}
description
"The OMS element route hop type";
}
}
augment "/te:tunnels-path-compute/te:input/te:path-compute-info/"
+ "tepc:path-request/tepc:explicit-route-objects-always/"
+ "tepc:route-object-exclude-always/tepc:type" {
description
"Augment the route hop for the explicit route objects always
excluded by the path computation of the requested path.";
case oms-element {
leaf oms-element-uid {
type string;
description
"The unique id of the OMS element.";
}
description
"The OMS element route hop type";
}
}
augment "/te:tunnels-path-compute/te:input/te:path-compute-info/"
Busi, et al. Expires 16 March 2023 [Page 25]
Internet-Draft Yang for Optical Path Computation September 2022
+ "tepc:path-request/tepc:explicit-route-objects-always/"
+ "tepc:route-object-include-exclude/tepc:type" {
description
"Augment the route hop for the explicit route objects included
or excluded by the path computation of the requested path.";
case oms-element {
leaf oms-element-uid {
type string;
description
"The unique id of the OMS element.";
}
description
"The OMS element route hop type";
}
}
augment "/te:tunnels-path-compute/te:input/te:path-compute-info/"
+ "tepc:synchronization/tepc:exclude-objects/tepc:excludes/"
+ "tepc:type" {
description
"Augment the route hop for the explicit route objects to always
exclude from synchronized path computation.";
case oms-element {
leaf oms-element-uid {
type string;
description
"The unique id of the OMS element.";
}
description
"The OMS element route hop type";
}
}
augment "/te:tunnels-path-compute/te:output/"
+ "te:path-compute-result/tepc:response/"
+ "tepc:computed-paths-properties/"
+ "tepc:computed-path-properties/tepc:path-properties/"
+ "tepc:path-route-objects/tepc:path-route-object/"
+ "tepc:type" {
description
"Augment the route hop for the route object of the computed
path.";
case oms-element {
leaf oms-element-uid {
type string;
description
"The unique id of the OMS element.";
}
Busi, et al. Expires 16 March 2023 [Page 26]
Internet-Draft Yang for Optical Path Computation September 2022
description
"The OMS element route hop type";
}
}
/*
* Augment TE label range information
*/
augment "/te:tunnels-path-compute/te:input/te:path-compute-info/"
+ "tepc:path-request/tepc:path-in-segment/"
+ "tepc:label-restrictions/tepc:label-restriction" {
description
"Augment TE label range information for the ingress segment
of the requested path.";
uses l0-types:flexi-grid-label-range-info;
}
augment "/te:tunnels-path-compute/te:input/te:path-compute-info/"
+ "tepc:path-request/tepc:path-out-segment/"
+ "tepc:label-restrictions/tepc:label-restriction" {
description
"Augment TE label range information for the egress segment
of the requested path.";
uses l0-types:flexi-grid-label-range-info;
}
/*
* Augment TE label.
*/
augment "/te:tunnels-path-compute/te:input/te:path-compute-info/"
+ "tepc:path-request/tepc:optimizations/tepc:algorithm/"
+ "tepc:metric/tepc:optimization-metric/"
+ "tepc:explicit-route-exclude-objects/"
+ "tepc:route-object-exclude-object/tepc:type/tepc:label/"
+ "tepc:label-hop/tepc:te-label/tepc:technology" {
description
"Augment TE label hop for the optimization of the explicit
route objects excluded by the path computation of the requested
path.";
case flexi-grid {
uses l0-types:flexi-grid-label-hop;
}
}
augment "/te:tunnels-path-compute/te:input/te:path-compute-info/"
+ "tepc:path-request/tepc:optimizations/tepc:algorithm/"
Busi, et al. Expires 16 March 2023 [Page 27]
Internet-Draft Yang for Optical Path Computation September 2022
+ "tepc:metric/tepc:optimization-metric/"
+ "tepc:explicit-route-include-objects/"
+ "tepc:route-object-include-object/tepc:type/tepc:label/"
+ "tepc:label-hop/tepc:te-label/tepc:technology" {
description
"Augment TE label hop for the optimization of the explicit
route objects included by the path computation of the requested
path.";
case flexi-grid {
uses l0-types:flexi-grid-label-hop;
}
}
augment "/te:tunnels-path-compute/te:input/te:path-compute-info/"
+ "tepc:path-request/tepc:explicit-route-objects-always/"
+ "tepc:route-object-exclude-always/tepc:type/tepc:label/"
+ "tepc:label-hop/tepc:te-label/tepc:technology" {
description
"Augment TE label hop for the explicit route objects always
excluded by the path computation of the requested path.";
case flexi-grid {
uses l0-types:flexi-grid-label-hop;
}
}
augment "/te:tunnels-path-compute/te:input/te:path-compute-info/"
+ "tepc:path-request/tepc:explicit-route-objects-always/"
+ "tepc:route-object-include-exclude/tepc:type/tepc:label/"
+ "tepc:label-hop/tepc:te-label/tepc:technology" {
description
"Augment TE label hop for the explicit route objects included
or excluded by the path computation of the requested path.";
case flexi-grid {
uses l0-types:flexi-grid-label-hop;
}
}
augment "/te:tunnels-path-compute/te:input/te:path-compute-info/"
+ "tepc:path-request/tepc:path-in-segment/"
+ "tepc:label-restrictions/tepc:label-restriction/"
+ "tepc:label-start/tepc:te-label/tepc:technology" {
description
"Augment TE label range start for the ingress segment
of the requested path.";
case flexi-grid {
uses l0-types:flexi-grid-label-start-end;
}
}
Busi, et al. Expires 16 March 2023 [Page 28]
Internet-Draft Yang for Optical Path Computation September 2022
augment "/te:tunnels-path-compute/te:input/te:path-compute-info/"
+ "tepc:path-request/tepc:path-in-segment/"
+ "tepc:label-restrictions/tepc:label-restriction/"
+ "tepc:label-end/tepc:te-label/tepc:technology" {
description
"Augment TE label range end for the ingress segment
of the requested path.";
case flexi-grid {
uses l0-types:flexi-grid-label-start-end;
}
}
augment "/te:tunnels-path-compute/te:input/te:path-compute-info/"
+ "tepc:path-request/tepc:path-in-segment/"
+ "tepc:label-restrictions/tepc:label-restriction/"
+ "tepc:label-step/tepc:technology" {
description
"Augment TE label range step for the ingress segment
of the requested path.";
case flexi-grid {
uses l0-types:flexi-grid-label-step;
}
}
augment "/te:tunnels-path-compute/te:input/te:path-compute-info/"
+ "tepc:path-request/tepc:path-out-segment/"
+ "tepc:label-restrictions/tepc:label-restriction/"
+ "tepc:label-start/tepc:te-label/tepc:technology" {
description
"Augment TE label range start for the egress segment
of the requested path.";
case flexi-grid {
uses l0-types:flexi-grid-label-start-end;
}
}
augment "/te:tunnels-path-compute/te:input/te:path-compute-info/"
+ "tepc:path-request/tepc:path-out-segment/"
+ "tepc:label-restrictions/tepc:label-restriction/"
+ "tepc:label-end/tepc:te-label/tepc:technology" {
description
"Augment TE label range end for the egress segment
of the requested path.";
case flexi-grid {
uses l0-types:flexi-grid-label-start-end;
}
}
Busi, et al. Expires 16 March 2023 [Page 29]
Internet-Draft Yang for Optical Path Computation September 2022
augment "/te:tunnels-path-compute/te:input/te:path-compute-info/"
+ "tepc:path-request/tepc:path-out-segment/"
+ "tepc:label-restrictions/tepc:label-restriction/"
+ "tepc:label-step/tepc:technology" {
description
"Augment TE label range end for the egress segment
of the requested path.";
case flexi-grid {
uses l0-types:flexi-grid-label-step;
}
}
augment "/te:tunnels-path-compute/te:input/te:path-compute-info/"
+ "tepc:synchronization/tepc:exclude-objects/tepc:excludes/"
+ "tepc:type/tepc:label/tepc:label-hop/"
+ "tepc:te-label/tepc:technology" {
description
"Augment TE label hop for the explicit route objects to always
exclude from synchronized path computation.";
case flexi-grid {
uses l0-types:flexi-grid-label-hop;
}
}
augment "/te:tunnels-path-compute/te:output/"
+ "te:path-compute-result/tepc:response/"
+ "tepc:computed-paths-properties/"
+ "tepc:computed-path-properties/tepc:path-properties/"
+ "tepc:path-route-objects/tepc:path-route-object/"
+ "tepc:type/tepc:label/"
+ "tepc:label-hop/tepc:te-label/tepc:technology" {
description
"Augment TE label hop for the route object of the computed
path.";
case flexi-grid {
uses l0-types:flexi-grid-label-hop;
}
}
}
<CODE ENDS>
Figure 5: Flexi-grid path computation YANG module
Busi, et al. Expires 16 March 2023 [Page 30]
Internet-Draft Yang for Optical Path Computation September 2022
5. Manageability Considerations
This document provides a method for requesting path computations for
WSON and Flexi-Grid tunnels. Consideration of mechanisms to gather
and collate information required for the path computations will be
necessary. Furthermore, storing path computation requests and
responses and triggering actions will also need to be carefully
managed and secured.
Future versions of this document will contain additional information.
6. Security Considerations
The YANG module defined in this document will be accessed via the
NETCONF protocol [RFC6241] or RESTCONF protocol [RFC8040]. The
lowest NETCONF layer is the secure transport layer, and the
mandatory-to-implement secure transport is Secure Shell (SSH)
[RFC6242]. The lowest RESTCONF layer is HTTPS and the mandatory-to-
implement secure transport is TLS [RFC8446].
The Network Configuration Access Control Model (NACM) [RFC8341]
provides the means to restrict access to particular NETCONF or
RESTCONF users to a pre-configured subset of all available NETCONF or
RESTCONF protocol operations and content.
Some of the RPC operations defined in this YANG module may be
considered sensitive or vulnerable in some network environments. It
is thus essential to control access to these operations.
Operations defined in this document, and their sensitivities and
possible vulnerabilities, will be discussed further in future
versions of this document.
7. IANA Considerations
This document registers the following URIs in the "ns" subregistry
within the "IETF XML registry" [RFC3688].
URI: urn:ietf:params:xml:ns:yang:ietf-wson-path-computation
Registrant Contact: The IESG.
XML: N/A, the requested URI is an XML namespace.
URI: urn:ietf:params:xml:ns:yang:ietf-flexi-grid-path-computation
Registrant Contact: The IESG.
XML: N/A, the requested URI is an XML namespace.
This document registers the following YANG module in the "YANG Module
Names" registry [RFC7950].
Busi, et al. Expires 16 March 2023 [Page 31]
Internet-Draft Yang for Optical Path Computation September 2022
name: ietf-wson-path-computation
namespace: urn:ietf:params:xml:ns:yang:ietf-wson-path-computation
prefix: wson-pc
reference: this document
name: ietf-flexi-grid-path-computation
namespace: ietf:params:xml:ns:yang:ietf-flexi-grid-path-computation
prefix: flexg-pc
reference: this document
8. References
8.1. Normative References
[I-D.ietf-ccamp-rfc9093-bis]
Zheng, H., Lee, Y., Guo, A., Lopez, V., King, D., Beller,
D., Belotti, S., Busi, I., and E. L. Rouzic, "A YANG Data
Model for Layer 0 Types", Work in Progress, Internet-
Draft, draft-ietf-ccamp-rfc9093-bis-01, 11 July 2022,
<https://www.ietf.org/archive/id/draft-ietf-ccamp-rfc9093-
bis-01.txt>.
[I-D.ietf-teas-yang-path-computation]
Busi, I., Belotti, S., Dios, O. G. D., Sharma, A., and D.
Ceccarelli, "A YANG Data Model for requesting path
computation", Work in Progress, Internet-Draft, draft-
ietf-teas-yang-path-computation-18, 22 March 2022,
<https://www.ietf.org/archive/id/draft-ietf-teas-yang-
path-computation-18.txt>.
[I-D.ietf-teas-yang-te]
Saad, T., Gandhi, R., Liu, X., Beeram, V. P., Bryskin, I.,
and O. G. D. Dios, "A YANG Data Model for Traffic
Engineering Tunnels, Label Switched Paths and Interfaces",
Work in Progress, Internet-Draft, draft-ietf-teas-yang-te-
30, 11 July 2022, <https://www.ietf.org/archive/id/draft-
ietf-teas-yang-te-30.txt>.
[RFC3688] Mealling, M., "The IETF XML Registry", BCP 81, RFC 3688,
DOI 10.17487/RFC3688, January 2004,
<https://www.rfc-editor.org/info/rfc3688>.
[RFC6241] Enns, R., Ed., Bjorklund, M., Ed., Schoenwaelder, J., Ed.,
and A. Bierman, Ed., "Network Configuration Protocol
(NETCONF)", RFC 6241, DOI 10.17487/RFC6241, June 2011,
<https://www.rfc-editor.org/info/rfc6241>.
Busi, et al. Expires 16 March 2023 [Page 32]
Internet-Draft Yang for Optical Path Computation September 2022
[RFC6242] Wasserman, M., "Using the NETCONF Protocol over Secure
Shell (SSH)", RFC 6242, DOI 10.17487/RFC6242, June 2011,
<https://www.rfc-editor.org/info/rfc6242>.
[RFC7699] Farrel, A., King, D., Li, Y., and F. Zhang, "Generalized
Labels for the Flexi-Grid in Lambda Switch Capable (LSC)
Label Switching Routers", RFC 7699, DOI 10.17487/RFC7699,
November 2015, <https://www.rfc-editor.org/info/rfc7699>.
[RFC7950] Bjorklund, M., Ed., "The YANG 1.1 Data Modeling Language",
RFC 7950, DOI 10.17487/RFC7950, August 2016,
<https://www.rfc-editor.org/info/rfc7950>.
[RFC8040] Bierman, A., Bjorklund, M., and K. Watsen, "RESTCONF
Protocol", RFC 8040, DOI 10.17487/RFC8040, January 2017,
<https://www.rfc-editor.org/info/rfc8040>.
[RFC8340] Bjorklund, M. and L. Berger, Ed., "YANG Tree Diagrams",
BCP 215, RFC 8340, DOI 10.17487/RFC8340, March 2018,
<https://www.rfc-editor.org/info/rfc8340>.
[RFC8341] Bierman, A. and M. Bjorklund, "Network Configuration
Access Control Model", STD 91, RFC 8341,
DOI 10.17487/RFC8341, March 2018,
<https://www.rfc-editor.org/info/rfc8341>.
[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>.
8.2. Informative References
[I-D.ietf-ccamp-flexigrid-tunnel-yang]
Mendez, J. E. L. D. V., Burrero, D. P., King, D., Lopez,
V., Busi, I., Belotti, S., and G. Galimberti, "A YANG Data
Model for Flexi-Grid Tunnels", Work in Progress, Internet-
Draft, draft-ietf-ccamp-flexigrid-tunnel-yang-01, 11 July
2022, <https://www.ietf.org/archive/id/draft-ietf-ccamp-
flexigrid-tunnel-yang-01.txt>.
[I-D.ietf-ccamp-wson-tunnel-model]
Lee, Y., Zheng, H., Guo, A., Lopez, V., King, D., Yoon, B.
Y., and R. Vilalta, "A Yang Data Model for WSON Tunnel",
Work in Progress, Internet-Draft, draft-ietf-ccamp-wson-
tunnel-model-07, 11 July 2022,
<https://www.ietf.org/archive/id/draft-ietf-ccamp-wson-
tunnel-model-07.txt>.
Busi, et al. Expires 16 March 2023 [Page 33]
Internet-Draft Yang for Optical Path Computation September 2022
[I-D.ietf-teas-actn-poi-applicability]
Peruzzini, F., Bouquier, J., Busi, I., King, D., and D.
Ceccarelli, "Applicability of Abstraction and Control of
Traffic Engineered Networks (ACTN) to Packet Optical
Integration (POI)", Work in Progress, Internet-Draft,
draft-ietf-teas-actn-poi-applicability-07, 10 July 2022,
<https://www.ietf.org/archive/id/draft-ietf-teas-actn-poi-
applicability-07.txt>.
[RFC7446] Lee, Y., Ed., Bernstein, G., Ed., Li, D., and W. Imajuku,
"Routing and Wavelength Assignment Information Model for
Wavelength Switched Optical Networks", RFC 7446,
DOI 10.17487/RFC7446, February 2015,
<https://www.rfc-editor.org/info/rfc7446>.
[RFC7581] Bernstein, G., Ed., Lee, Y., Ed., Li, D., Imajuku, W., and
J. Han, "Routing and Wavelength Assignment Information
Encoding for Wavelength Switched Optical Networks",
RFC 7581, DOI 10.17487/RFC7581, June 2015,
<https://www.rfc-editor.org/info/rfc7581>.
Acknowledgments
The authors of this document would like to thank the authors of
[I-D.ietf-teas-actn-poi-applicability] for having identified the gap
and requirements to trigger this work.
The authors of this document would also like to thank Young Lee,
Haomian Zheng, Victor Lopex, Ricard Vilalta, Bin Yeong Yoon, Jorge E.
Lopez de Vergara Mendez, Daniel Perdices Burrero, Oscar Gonzalez de
Dios, Gabriele Galimberti, Zafar Ali, Daniel Michaud Vallinoto and
Dhruv Dhody who have contributed to the development of path
computation augmentations for WSON and Flexi-grid topology in earlier
versions of [I-D.ietf-ccamp-wson-tunnel-model] and of
[I-D.ietf-ccamp-flexigrid-tunnel-yang].
This document was prepared using kramdown.
Contributors
Daniel King
Old Dog Consulting
Email: daniel@olddog.co.uk
Authors' Addresses
Busi, et al. Expires 16 March 2023 [Page 34]
Internet-Draft Yang for Optical Path Computation September 2022
Italo Busi
Huawei Technologies
Email: italo.busi@huawei.com
Aihua Guo
Futurewei Technologies
Email: aihuaguo.ietf@gmail.com
Sergio Belotti
Nokia
Email: sergio.belotti@nokia.com
Busi, et al. Expires 16 March 2023 [Page 35]