rfc9753v1.txt   rfc9753.txt 
skipping to change at line 130 skipping to change at line 130
1.1. Requirements Language 1.1. Requirements Language
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 "OPTIONAL" in this document are to be interpreted as described in
BCP 14 [RFC2119] [RFC8174] when, and only when, they appear in all BCP 14 [RFC2119] [RFC8174] when, and only when, they appear in all
capitals, as shown here. capitals, as shown here.
2. Overview 2. Overview
[RFC5440] describes the handling of unknown objects as per the Setting the P flag in the PCReq message to handle unknown objects is
setting of the P flag for the PCReq message. Further, [RFC8231] as described in Section 7.2 of [RFC5440]. Further, [RFC8231] defined
defined the usage of the LSP Error Code TLV in the PCRpt message in the usage of the LSP Error Code TLV in the PCRpt message in response
response to a failed LSP Update Request via the PCUpd message (for to a failed LSP Update Request via the PCUpd message (for example,
example, due to an unsupported object or TLV). due to an unsupported object or TLV).
This document specifies the procedure of marking some objects as This document specifies the procedure of marking some objects as
'optional to be processed' by the PCEP peer in the stateful PCEP 'optional to be processed' by the PCEP peer in the stateful PCEP
messages. Furthermore, this document updates the procedure for messages. Furthermore, this document updates the procedure for
handling unknown objects in stateful PCEP messages based on the P handling unknown objects in stateful PCEP messages based on the P
flag. flag.
2.1. Usage Example 2.1. Usage Example
The PCRpt message is used to report the current state of an LSP. As The PCRpt message is used to report the current state of an LSP. As
part of the message, both the <intended-attribute-list> and <actual- part of the message, both the <intended-attribute-list> and <actual-
attribute-list> are encoded (see [RFC8231]). For example, the attribute-list> are encoded (see [RFC8231]). For example, the
<intended-attribute-list> could include the METRIC object to indicate <intended-attribute-list> could include the METRIC object to indicate
a limiting constraint (Bound 'B' flag set) for the Path Delay a limiting constraint (Bound 'B' flag set) for the Path Delay
Variation metric [RFC8233]. In some scenarios, it would be useful to Variation metric [RFC8233]. In some scenarios, it would be useful to
indicate that this constraint can be relaxed by the PCE in case it indicate that this constraint can be relaxed by the PCE in case it
cannot find a path. In these cases, it would be useful to mark the cannot find a path. In these cases, it would be useful to mark the
objects as 'optional' and they could be ignored by the PCEP peer. objects as 'optional' so they could be ignored by the PCEP peer.
Also, it would be useful for the PCEP speaker to learn if the PCEP Also, it would be useful for the PCEP speaker to learn if the PCEP
peer has relaxed the constraint and ignored the processing of the peer has relaxed the constraint and ignored the processing of the
PCEP object. PCEP object.
Thus, this document specifies how the already existing P and I flags Thus, this document specifies how the already existing P and I flags
in the PCEP common object header could be used during the stateful in the PCEP common object header could be used during the stateful
PCEP message exchange. It should be noted that similar to handling PCEP message exchange. The scope of how P and I flags are applied is
of P and I flags in [RFC5440], the flag applies to full PCEP object defined in [RFC5440] and is unchanged by this document. Therefore,
and could not be applied to the granularity of an optional TLVs these flags can only be applied to an entire PCEP object; they cannot
encoded in the PCEP object. be applied at the granularity of optional TLVs encoded in the PCEP
object.
3. PCEP Extension 3. PCEP Extension
3.1. STATEFUL-PCE-CAPABILITY TLV 3.1. STATEFUL-PCE-CAPABILITY TLV
A PCEP speaker indicates its ability to support the handling of the P A PCEP speaker indicates its ability to support the handling of the P
and I flags in the stateful PCEP message exchange during the PCEP and I flags in the stateful PCEP message exchange during the PCEP
initialization phase, as follows. During the PCEP initialization initialization phase, as follows. During the PCEP initialization
phase, a PCC sends an Open message with an OPEN object that contains phase, a PCC sends an Open message with an OPEN object that contains
the STATEFUL-PCE-CAPABILITY TLV, as defined in [RFC8231]. A new the STATEFUL-PCE-CAPABILITY TLV, as defined in [RFC8231]. A new
skipping to change at line 277 skipping to change at line 278
Note that when a PCE is unable to find the path that meets all the Note that when a PCE is unable to find the path that meets all the
constraints as per the PCEP object that cannot be ignored (i.e. the constraints as per the PCEP object that cannot be ignored (i.e. the
P flag is set), the PCUpd message MAY optionally include the PCEP P flag is set), the PCUpd message MAY optionally include the PCEP
objects that caused the path computation to fail along with the empty objects that caused the path computation to fail along with the empty
ERO. ERO.
3.3.2. The PCRpt Message 3.3.2. The PCRpt Message
The I flag in the PCRpt message [RFC8231] allows a PCC to indicate to The I flag in the PCRpt message [RFC8231] allows a PCC to indicate to
a PCE whether or not an optional object was processed in response to a PCE whether or not an optional object was processed in response to
an LSP Update Request (PCUpd) or LSP Initiate Request (PCInitiate). a PCUpd or PCInitiate message. The PCC MAY include the ignored
The PCC MAY include the ignored optional object in its report and set optional object in its report and set the I flag to indicate that the
the I flag to indicate that the optional object was ignored at PCC. optional object was ignored at PCC. When the I flag is cleared, the
When the I flag is cleared, the PCC indicates that the optional PCC indicates that the optional object was processed. The I flag has
object was processed. The I flag has no meaning if the PCRpt message no meaning if the PCRpt message is not in response to a PCUpd or
is not in response to a PCUpd or PCInitiate message (i.e., without PCInitiate message (i.e., without the SRP object in the PCRpt
the SRP object in the PCRpt message). message).
Note that when a PCC is unable to set up a path that meets all the Note that when a PCC is unable to set up a path that meets all the
parameters as per the PCEP object that cannot be ignored (i.e., the P parameters as per the PCEP object that cannot be ignored (i.e., the P
flag is set), the PCRpt message MAY optionally include the PCEP flag is set), the PCRpt message MAY optionally include the PCEP
objects that caused the path setup to fail along with the LSP-ERROR- objects that caused the path setup to fail along with the LSP-ERROR-
CODE TLV [RFC8231] indicating the reason for the failure. CODE TLV [RFC8231] indicating the reason for the failure.
3.3.3. The PCInitiate Message 3.3.3. The PCInitiate Message
The I flag has no meaning in the PCinitiate message [RFC8281], so the The I flag has no meaning in the PCInitiate message [RFC8281], so the
I flag MUST set to 0 on transmission and ignored on receipt. I flag MUST set to 0 on transmission and ignored on receipt.
3.4. Unknown Object Handling 3.4. Unknown Object Handling
This document updates the handling of unknown objects in the stateful This document updates the handling of unknown objects in the stateful
PCEP messages as per the setting of the P flag in the common object PCEP messages by setting the P flag in the common object header in a
header in a similar way as [RFC5440], i.e. if a PCEP speaker does not similar way as described in [RFC5440]. That is, if a PCEP speaker
understand an object with the P flag set or understands the object does not understand an object with the P flag set, or if the PCEP
but decides to ignore the object, the entire stateful PCEP message speaker understands the object but decides to ignore the object, the
MUST be rejected and the PCE MUST send a PCErr message with Error- entire stateful PCEP message MUST be rejected, and the PCE MUST send
Type="Unknown Object" or "Not supported object" [RFC5440]. If the P a PCErr message with Error- Type="Unknown Object" or "Not supported
flag is not set, the PCEP speaker can ignore the object and continue object" [RFC5440]. If the P flag is not set, the PCEP speaker can
with the message processing as defined. ignore the object and continue with the message processing as
defined.
[RFC8231] defined the LSP Error Code TLV to be carried in the PCRpt [RFC8231] defined the LSP Error Code TLV to be carried in the PCRpt
message in the LSP object to convey error information. This document message in the LSP object to convey error information. This document
does not change that procedure. does not change that procedure.
4. Security Considerations 4. Security Considerations
This document specifies how the already existing P and I flags in the This document specifies how the already existing P and I flags in the
PCEP common object header could be used during stateful PCEP PCEP common object header could be used during stateful PCEP
exchanges. It updates the unknown object error handling in stateful exchanges. It updates the unknown object error handling in stateful
 End of changes. 6 change blocks. 
26 lines changed or deleted 28 lines changed or added

This html diff was produced by rfcdiff 1.48.