PCEP Extension for Flexible Grid Networks
Young Lee
Samsung
younglee.tx@gmail.com
Haomian Zheng
Huawei Technologies Co., Ltd.
zhenghaomian@huawei.com
Ramon Casellas
CTTC
ramon.casellas@cttc.es
Ricard Vilalta
CTTC
ricard.vilalta@cttc.es
Daniele Ceccarelli
Cisco
dceccare@cisco.com
Francesco Lazzeri
Ericsson
francesco.lazzeri@ericsson.com
July 2024
Routing Area
PCE Working Group
PCEP
Flexi-grid
Path Computation Element
This document provides the Path Computation Element Communication Protocol (PCEP) extensions for the support of Routing and Spectrum Assignment (RSA) in Flexible Grid networks.

Terminology
This document uses the terminology defined in [RFC4655], [RFC5440] and [RFC7698].

Requirements Language
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in BCP 14 [RFC2119] [RFC8174] when, and only when, they appear in all capitals, as shown here.

Introduction
[RFC4655] defines a Path Computation Element (PCE) based path computation architecture and explains how a Path Computation Element (PCE) may compute Label Switched Paths (LSP) in Multiprotocol Label Switching Traffic Engineering (MPLS-TE) and Generalized MPLS (GMPLS) networks at the request of Path Computation Clients (PCCs). A PCC is said to be any network component that makes such a request and may be, for instance, an Optical Switching Element within a Wavelength Division Multiplexing (WDM) network. The PCE, itself, can be located anywhere within the network, and may be within an optical switching element, a Network Management System (NMS) or Operational Support System (OSS), or may be an independent network server.
The PCE communications Protocol (PCEP) is the communication protocol used between a PCC and a PCE, and can also be used between cooperating PCEs. [RFC4657] sets out the common protocol requirements for PCEP. Additional application-specific requirements for PCEP are deferred to separate documents.
[RFC8780] provides the PCEP extensions for the support of Routing and Wavelength Assignment (RWA) in Wavelength Switched Optical Networks (WSON) based on the requirements specified in [RFC6163] and [RFC7449].
To allow efficient allocation of optical spectral bandwidth for systems that have high bit-rates, the International Telecommunication Union Telecommunication Standardization Sector (ITU-T) has extended its Recommendations [ITU-T_G.694.1] to include a new Dense Wavelength Division Multiplexing (DWDM) grid by defining a set of nominal central frequencies, channel spacings, and the concept of the "frequency slot". In such an environment, a data-plane connection is switched based on allocated, variable-sized frequency ranges within the optical spectrum, creating what is known as a flexible grid (flexi-grid). [RFC7698] provides Framework and Requirements for GMPLS-Based Control of Flexi-Grid Dense Wavelength Division Multiplexing (DWDM) Networks.
The terms "Routing and Spectrum Assignment" (RSA) is introduced in [RFC7698] to refer to the process determines a route and frequency slot for an LSP. Hence, when a route is computed, the spectrum assignment process determines the central frequency and slot width. The term "Spectrum Switched Optical Networks" is also introduced in [RFC7698] to refer to a flexi-grid enabled DWDM network, which can be controlled by a GMPLS or PCE control plane.
This document provides PCEP extensions to support RSA in Flexi-grid networks.
Figure 1 shows one typical PCE based implementation, which is referred to as the Combined Routing and Spectrum Assignment (RSA) [RFC7698]. With this architecture, the two processes of routing and spectrum assignment are accessed via a single PCE. This architecture is the base architecture from which the PCEP extensions are specified in this document.

Combined Routing and Spectrum Assignment Architecture

                       +----------------------------+
         +-----+       |     +-------+     +--+     |
         |     |       |     |Routing|     |SA|     |
         | PCC |<----->|     +-------+     +--+     |
         |     |       |                            |
         +-----+       |             PCE            |
                       +----------------------------+

4. Spectrum Assignment (SA) Object
This document aligns with GMPLS extensions for PCEP [RFC8779] for generic property such as label, label-set and label assignment noting that frequency is a type of label. Frequency restrictions and constraints are also formulated in terms of labels per [RFC7579].
Spectrum allocation can be performed by the PCE by different means:
- By means of Explicit Label Control (ELC) where the PCE allocates which label to use for each interface/node along the path.
- By means of a Label Set where the PCE provides a range of potential frequency slots to allocate by each node along the path.
Option (b) allows distributed spectrum allocation (performed during signaling) to complete spectrum assignment. Additionally, given a range of potential spectrums to allocate, a PC Request SHOULD convey the heuristic / mechanism to the allocation.
The format Routing Backus-Naur Form (RBNF) [RFC5511] of a PCReq message per [RFC5440] after incorporating the Spectrum Assignment (SA) object is as follows:

			<PCReq Message> ::= <Common Header>
								   [<svec-list>]
								   <request-list>
			   Where:
			<request-list>::=<request>[<request-list>]
			<request>::= <RP>
							   <GENERALIZED ENDPOINTS>
							   [ <SA> ]
							   [other optional objects...]

If the SA object is present in the request, it MUST be encoded after the GENERALIZED ENDPOINTS object.
SA Object-Class is (TBD1) (To be assigned by IANA). SA Object-Type is 1.
The format of the Spectrum Assignment (SA) object body is as follows:

SA Object

   0                   1                   2                   3
   0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |          Reserved             |           Flags             |M|
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                Frequency-Slot Selection TLV                   |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |         Frequency-Slot Restriction Constraint TLV             |
   .                                                               .
   .                                                               .
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   //                      Optional TLVs                          //
   |                                                               |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

Reserved (16 bits)
Flags (16 bits)
One Flag bit is allocated as follows:
M (Mode - 1 bit): M bit is used to indicate the mode of spectrum assignment. When M bit is set to 1, this indicates that the spectrum assigned by the PCE must be explicit. That is, the selected way to convey the allocated spectrum is by means of Explicit Label Control (ELC) [RFC4003] for each hop of a computed LSP. Otherwise, the spectrum assigned by the PCE needs not be explicit (i.e., it can be suggested in the form of label set objects in the corresponding response, to allow distributed SA. In such case, the PCE MUST return a Label Set Field as described in Section 2.6 of [RFC7579] in the response. See Section 5 of this document for the encoding discussion of a Label Set Field in a PCRep message.

Frequency-Slot Selection TLV
The Frequency-Slot Selection TLV is used to indicate the frequency-slot selection constraint in regard to the order of frequency-slot assignment to be returned by the PCE. This TLV is only applied when M bit is set in the SA Object specified in Section 4. This TLV SHOULD NOT be present and MUST be ignored when the M bit is cleared.
The Frequency-Slot Selection sub-TLV value field is defined as:

    0                   1                   2                   3
    0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |S|  FSA Method  |                   Reserved                   |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

Frequency-Slot Assignment (FSA) Method (7 bits):
- 0: unspecified (any); This does not constrain the SA method used by a PCC This value is implied when the Frequency-Slot Selection sub-TLV is absent.
- 1: First-Fit. All the feasible frequency slots are numbered (based on 'n' parameter), and this SA method chooses the available frequency-slot with the lowest index, where 'n' is the parameter in f = 193.1 THz + n x 0.00625 THz where 193.1THz is the ITU-T 'anchor frequency' and 'n' is a positive integer including 0 [RFC7698].
- 2: Random. This SA method chooses a feasible frequency-slot value of 'n' randomly.
- 3-127: Unassigned.
S (Symmetry, 1 bit): This flag is only meaningful when the request is for a bidirectional LSP (see [RFC5440]).0 denotes requiring the same frequency-slot in both directions; 1 denotes that different spectrums on both directions are allowed.
IANA is to allocate a new PCEP TLV type, Frequency-Slot Selection TLV (TBD2) in the "PCEP TLV Type Indicators" subregistry (http://www.iana.org/assignments/pcep/pcep.xhtml#pcep-tlv-type-indicators).
If a PCE does not support the attribute(s), its behavior is specified below:
- S bit clear not supported: a PathErr MUST be generated with the Error Code "Routing Problem" (24) with error sub-code "Unsupported Frequency slot Selection Symmetry value" (TBD3).
- FSA method not supported: a PathErr MUST be generated with the Error Code "Routing Problem" (24) with error sub-code "Unsupported Frequency Slot Assignment value" (TBD4).

Frequency-slot Restriction Constraint TLV
For any request that contains a Frequency-slot assignment, the requester (PCC) must be able to specify a restriction on the frequency-slots to be used. This restriction is to be interpreted by the PCE as a constraint on the tuning ability of the origination laser transmitter or on any other maintenance related constraints.
The format of the Frequency-Slot Restriction Constraint TLV is as follows:

             <Frequency-lot Restriction Constraint> ::=
                           (<Action>
                           <Link Identifiers> <Freq-slot Restriction>)...
             Where
             <Link Identifiers> ::= <Link Identifier> [<Link Identifiers>]

See Section 4.3.1 in [RFC8780] for the encoding of the Link Identifiers Field.
IANA is to allocate a new PCEP TLV, the Frequency slot Restriction Constraint TLV type (TBD5). This TLV MAY appear more than once to be able to specify multiple restrictions. The TLV data is defined as follows:

Spectrum Restriction Constraint TLV Encoding

           0                   1                   2                   3
           0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
          +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
          | Action          |    Count      |          Reserved           |
          +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
          |                     Link Identifiers                          |
          |                          . . .                                |
          +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
          |                Frequency Slot Restriction Field               |
          //                        . . . .                              //
          +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

- Action: 8 bits.
  - 0 - Inclusive List indicates that one or more link identifiers are included in the Link Set. Each identifies a separate link that is part of the set.
  - 1 - Inclusive Range indicates that the Link Set defines a range of links. It contains two link identifiers. The first identifier indicates the start of the range (inclusive). The second identifier indicates the end of the range (inclusive). All links with numeric values between the bounds are considered to be part of the set. A value of zero in either position indicates that there is no bound on the corresponding portion of the range. Note that the Action field can be set to 0 when unnumbered link identifier is used.
- Count: The number of the link identifiers (8 bits)
- Reserved: Reserved for future use (16 bits)
- Link Identifiers: Identifies each link ID for which restriction is applied. The length is dependent on the link format and the Count field. See Section 4.3.1 in [RFC8780] for Link Identifier encoding.
Note that a PCC MAY add a frequency slot restriction that applies to all links by setting the Count field to zero and specifying just a set of frequency slots.
Note that all link identifiers in the same list must be of the same type.

Frequency-Slot Restriction Field
The Frequency-Slot Restriction Field of the Frequency slot restriction TLV is encoded as defined in section 4.2 of [RFC8363].

Encoding of a RSA Path Reply
This section provides the encoding of a RSA Path Reply, in the PCRep/PCUpd message, for frequency slot allocation as discussed in Section 4. Spectrum Allocation TLV IANA is to allocate a new PCEP TLV type, the Spectrum Allocation TLV type (TBD6). The TLV data is defined as follows:

Spectrum Allocation TLV Encoding

            0                   1                   2                   3
            0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
           +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
           |              Type             |        Length               |M|
           +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
           |                     Link Identifier                           |
           |                          . . .                                |
           +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
           |                    Allocated Spectrum(s)                      |
           //                        . . . .                              //
           +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

- Type (16 bits): The type of the TLV.
- Length (15 bits): The length of the TLV including the Type and Length fields.
- M (Mode): 1 bit
  - 0 indicates the allocation is under Explicit Label Control.
  - 1 indicates the allocation is expressed in Label Sets.
- Link Identifier (variable): Identifies the interface to which assignment spectrum(s) is applied. See Section 3.3 for Link Identifier encoding.
- Allocated Spectrum(s) (variable): Indicates the allocated spectrum(s) to the link identifier. See Section 3.3.1 for encoding details.
- Link Identifiers: Identifies each link ID for which restriction is applied. The length is dependent on the link format and the Count field. See Section 4.3.1 in [RFC8780] for Link Identifier encoding.
Note that all link identifiers in the same list must be of the same type.
This TLV is encoded as an attributes TLV, per [RFC5420], which is carried in the ERO LSP Attribute Subobjects per [RFC7570].

Error Indicator
To indicate errors associated with the RSA request, a new Error Type (TDB) and subsequent error-values are defined as follows for inclusion in the PCEP-ERROR Object:
A new Error-Type (TBD7) and subsequent error-values are defined as follows:
- Error-Type=TBD7; Error-value=1: if a PCE receives a RSA request and the PCE is not capable of processing the request due to insufficient memory, the PCE MUST send a PCErr message with a PCEP-ERROR Object (Error-Type=TDB) and an Error-value(Error-value=1). The PCE stops processing the request. The corresponding RSA request MUST be cancelled at the PCC.
- Error-Type=TBD7; Error-value=2: if a PCE receives a RSA request and the PCE is not capable of RSA computation, the PCE MUST send a PCErr message with a PCEP-ERROR Object (Error-Type=TDB) and an Error-value (Error-value=2). The PCE stops processing the request. The corresponding RSA computation MUST be cancelled at the PCC.

NO-PATH Indicator
To communicate the reason(s) for not being able to find RSA for the path request, the NO-PATH object can be used in the corresponding response. The format of the NO-PATH object body is defined in [RFC5440]. The object may contain a NO-PATH-VECTOR TLV to provide additional information about why a path computation has failed.
One new bit flag is defined to be carried in the Flags field in the NO-PATH-VECTOR TLV carried in the NO-PATH Object.
- Bit TBD8: When set, the PCE indicates no feasible route was found that meets all the constraints (e.g., spectrum restriction, etc.) associated with RSA.

Manageability Considerations
Manageability of flexi-grid Routing and Spectrum Assignment (RSA) with PCE must address the following considerations:

Control of Function and Policy
In addition to the parameters already listed in Section 8.1 of [RFC5440], a PCEP implementation SHOULD allow configuring the following PCEP session parameters on a PCC:
- The ability to send a Flexi-Grid RSA request.
In addition to the parameters already listed in Section 8.1 of [RFC5440], a PCEP implementation SHOULD allow configuring the following PCEP session parameters on a PCE:
- The support for Flexi-Grid RSA.
- A set of Flexi-Grid RSA specific policies (authorized sender, request rate limiter, etc).
These parameters may be configured as default parameters for any PCEP session the PCEP speaker participates in, or may apply to a specific session with a given PCEP peer or a specific group of sessions with a specific group of PCEP peers.

Information and Data Models
Extensions to the PCEP YANG module may include to cover the Flexi-Grid RSA information introduced in this document. Liveness Detection and Monitoring Mechanisms defined in this document do not imply any new liveness detection and monitoring requirements in addition to those already listed in section 8.3 of [RFC5440].

Verifying Correct Operation
Mechanisms defined in this document do not imply any new verification requirements in addition to those already listed in section 8.4 of [RFC5440].

Requirements on Other Protocols and Functional Components
The PCE Discovery mechanisms ([RFC5088] and [RFC5089]) may be used to advertise Flexi-Grid RSA path computation capabilities to PCCs. This draft has requirements on other protocols (ERO objects, etc. which are under TEAS or CCAMP.).

Impact on Network Operation
Mechanisms defined in this document do not imply any new network operation requirements in addition to those already listed in section 8.6 of [RFC5440].

Implementation Status
[NOTE TO RFC EDITOR: This whole section and the reference to [RFC7942] is to be removed before publication as an RFC]
This section records the status of known implementations of the protocol defined by this specification at the time of posting of this Internet-Draft, and is based on a proposal described in [RFC7942].
The description of implementations in this section is intended to assist the IETF in its decision processes in progressing drafts to RFCs. Please note that the listing of any individual implementation here does not imply endorsement by the IETF. Furthermore, no effort has been spent to verify the information presented here that was supplied by IETF contributors. This is not intended as, and must not be construed to be, a catalog of available implementations or their features. Readers are advised to note that other implementations may exist.
According to [RFC7942]], "this will allow reviewers and working groups to assign due consideration to documents that have the benefit of running code, which may serve as evidence of valuable experimentation and feedback that have made the implemented protocols more mature. It is up to the individual working groups to use this information as they see fit".

Huawei Technologies
At the time of posting the -10 version of this document, Huawei has implemented some of the features specified in this document, on the WDM network. Details could be as follow:

                Organization: Huawei Technologies Co.,Ltd.
                Implementation: Huawei's WDM systems
				Description: supporting PCE Protocol with WDM extensions
                Maturity Level: supported features
                Coverage: Partial
                Contact: zhenghaomian@huawei.com

Security Considerations
This document has no requirement for a change to the security models within PCEP. However, the additional information distributed in order to address the RSA problem represents a disclosure of network capabilities that an operator may wish to keep private. Consideration should be given to securing this information.

IANA Considerations
This document requests IANA actions to allocate code points for the objects and sub-registries defined in this document.

New PCEP Object
As described in Section 4.1, a new PCEP Object is defined to carry frequency-slot assignment related constraints. IANA is to allocate the following from 'PCEP Objects' sub-registry (http://www.iana.org/assignments/pcep/pcep.xhtml#pcep-objects):

                Object Class	Name	Object					Reference
                Value					Type
                -----------------------------------------------------------
                TBD1			SA		1: Spectrum Assignment 	[This.I-D]

New PCEP TLV: Frequency Slot Selection TLV
As described in Sections 4.2, a new PCEP TLV is defined to indicate spectrum selection constraints. IANA is to allocate this new TLV from the 'PCEP TLV Type Indicators' subregistry (http://www.iana.org/assignments/pcep/pcep.xhtml#pcep-tlv-type-indicators).

                Value		 		Description	 				Reference
                ---------------------------------------------------------
                TBD2				Spectrum Selection  		[This.I-D]

New PCEP TLV: Frequency Slot Restriction Constraint TLV
As described in Section 4.3, a new PCEP TLV is defined to indicate wavelength restriction constraints. IANA is to allocate this new TLV from the 'PCEP TLV Type Indicators' subregistry (http://www.iana.org/assignments/pcep/pcep.xhtml#pcep-tlv-type-indicators).

                Value		 	Description		 				Reference
                ---------------------------------------------------------
                TBD5			Frequency Slot Restriction		[This.I-D]
                                Constraint

New PCEP TLV: Spectrum Allocation TLV
As described in Section 5, a new PCEP TLV is defined to indicate the allocation of freq-slots(s) by the PCE in response to a request by the PCC. IANA is to allocate this new TLV from the "PCEP TLV Type Indicators" subregistry (http://www.iana.org/assignments/pcep/pcep.xhtml#pcep-tlv-type-indicators).

                Value		 	Description		 		Reference
                ---------------------------------------------------------
                TBD6			Spectrum Allocation		[This.I-D]

New No-Path Reasons
As described in Section 4.3, a new bit flag are defined to be carried in the Flags field in the NO-PATH-VECTOR TLV carried in the NO-PATH Object. This flag, when set, indicates that no feasible route was found that meets all the RSA constraints (e.g., spectrum restriction, signal compatibility, etc.) associated with a RSA path computation request.
IANA is to allocate this new bit flag from the "PCEP NO-PATH-VECTOR TLV Flag Field" subregistry (http://www.iana.org/assignments/pcep/pcep.xhtml#no-path-vector-tlv).

                Bit		    	Description	 				Reference
                ---------------------------------------------------------
                TBD8			No RSA constraints met  	[This.I-D]

New Error-Types and Error-Values
As described in Section 5.1, new PCEP error codes are defined for WSON RWA errors. IANA is to allocate from the 'PCEP-ERROR Object Error Types and Values' sub-registry (http://www.iana.org/assignments/pcep/pcep.xhtml#pcep-error-object)

                Error-		Meaning		    		Error-Value			Reference
                Type
                ---------------------------------------------------------------
                TBD7		Flexi-Grid RSA Error	1: Insufficient   	[This.I-D]
                									   Memory
                									2: RSA computation	[This.I-D]
                							         Not supported

New Error-Values for Existing Error Type (24)
As discussed in Section 4.1, two new PathErr values for the Existing Error Type (24) are to be allocated:

                 Meaning						Error-Value			Reference
                 ---------------------------------------------------------------
                 Unsupported Frequency slot     TBD3                [This.I-D]
                 Selection Symmetry value

                 Unsupported Frequency Slot     TBD4                [This.I-D]
                 Assignment value

Acknowledgements
TBD

Contributor's Address
TBD

Normative References

Informative References
[ITU-T_G.694.1]

SERIES G: TRANSMISSION SYSTEMS AND MEDIA, DIGITAL SYSTEMS AND NETWORKS; Digital networks; Spectral grids for WDM applications: DWDM frequency grid
ITU-T G.694.1
October 2020
ITU-T Rec. G.694.1
[RFC4655]
[RFC5440]
[RFC7698]
[RFC2119]
[RFC8174]
[RFC4657]
[RFC8780]
[RFC6163]
[RFC7449]
[RFC8779]
[RFC7579]
[RFC5511]
[RFC4003]
[RFC8363]
[RFC5420]
[RFC7570]
[RFC5088]
[RFC5089]
[RFC7942]