In this state, PCEP FSM is waiting for the QUIC connection to be completed.¶
The start events (Events 1, 3-7) are ignored in the Pending state.¶
In response to a ManualStop event (Event 2), the local system:¶
-
drops the QUIC connection,¶
-
releases all PCEP resources,¶
-
sets ConnectRetryCounter to zero,¶
-
stops the ConnectRetryTimer and sets ConnectRetryTimer to zero, and¶
-
changes its state to Idle.¶
In response to the ConnectRetryTimer_Expires event (Event 9), the local system:¶
-
drops the QUIC connection,¶
-
restarts the ConnectRetryTimer,¶
-
stops the DelayOpenTimer and resets the timer to zero,¶
-
initiates a QUIC connection to the other PCEP peer,¶
-
continues to listen for a connection that may be initiated by the remote PCEP peer, and¶
-
stays in the Pending state.¶
If the DelayOpenTimer_Expires event (Event 12) occurs in the Connect state, the local system:¶
-
sends an OPEN message to its peer,¶
-
sets the HoldTimer to a large value, and¶
-
changes its state to OpenWait.¶
If the PCEP FSM receives a QuicConnection_Valid event (Event 14), the QUIC connection is processed, and the connection remains in the Pending state.¶
If the PCEP FSM receives a QUIC_CR_Invalid event (Event 15), the local system rejects the QUIC connection, and the connection remains in the Pending state.¶
If the QUIC connection succeeds (Event 16 or Event 17), the local system checks the DelayOpen attribute prior to processing. If the DelayOpen attribute is set to TRUE, the local system:¶
-
stops the ConnectRetryTimer (if running) and sets the ConnectRetryTimer to zero,¶
-
sets the DelayOpenTimer to the initial value, and¶
-
stays in the Pending state.¶
If the DelayOpen attribute is set to FALSE, the local system:¶
-
stops the ConnectRetryTimer (if running) and sets the ConnectRetryTimer to zero,¶
-
completes PCEP initialization¶
-
sends an OPEN message to its peer,¶
-
sets the HoldTimer to a large value, and¶
-
changes its state to OpenWait.¶
A HoldTimer value of 4 minutes is suggested.¶
If the QUIC connection fails (Event 18), the local system checks the DelayOpenTimer. If the DelayOpenTimer is running, the local system:¶
-
restarts the ConnectRetryTimer with the initial value,¶
-
stops the DelayOpenTimer and resets its value to zero,¶
-
continues to listen for a connection that may be initiated by the remote PCEP peer, and¶
-
Remain its state Pending.¶
If the DelayOpenTimer is not running, the local system:¶
-
stops the ConnectRetryTimer to zero,¶
-
drops the QUIC connection,¶
-
releases all PCEP resources, and¶
-
changes its state to Idle.¶
If an OPEN message is received while the DelayOpenTimer is running (Event 20), the local system:¶
-
stops the ConnectRetryTimer (if running) and sets the ConnectRetryTimer to zero,¶
-
completes the PCEP initialization,¶
-
stops and clears the DelayOpenTimer (sets the value to zero),¶
-
sends an OPEN message,¶
-
sends a KEEPALIVE message,¶
-
and changes its state to KeepWait.¶
If the value of the autonomous system field is the same as the local Autonomous System number, set the connection status to an internal connection; otherwise it will be "external".¶
If PCEP message header checking (Event 21) or OPEN message checking detects an error (Event 22), the local system:¶
-
(optionally) If the SendNOTIFICATIONwithoutOPEN attribute is set to TRUE, then the local system first sends a NOTIFICATION message with the appropriate error code, and then¶
-
stops the ConnectRetryTimer (if running) and sets the ConnectRetryTimer to zero,¶
-
releases all PCEP resources,¶
-
drops the QUIC connection,¶
-
increments the ConnectRetryCounter by 1,¶
-
(optionally) performs peer oscillation damping if the DampPeerOscillations attribute is set to TRUE, and¶
-
changes its state to Idle.¶
If a PCErr message is received with a version error (Event 24), the
local system checks the DelayOpenTimer. If the DelayOpenTimer is
running, the local system:¶
-
stops the ConnectRetryTimer (if running) and sets the ConnectRetryTimer to zero,¶
-
stops and resets the DelayOpenTimer (sets to zero),¶
-
releases all PCEP resources,¶
-
drops the QUIC connection, and¶
-
changes its state to Idle.¶
If the DelayOpenTimer is not running, the local system:¶
-
stops the ConnectRetryTimer and sets the ConnectRetryTimer to zero,¶
-
releases all PCEP resources,¶
-
drops the QUIC connection,¶
-
increments the ConnectRetryCounter by 1,¶
-
performs peer oscillation damping if the DampPeerOscillations attribute is set to True, and¶
-
changes its state to Idle.¶
In response to any other events (Events 8, 10-11, 13, 19, 23,
25-28), the local system:¶
-
if the ConnectRetryTimer is running, stops and resets the ConnectRetryTimer (sets to zero),¶
-
if the DelayOpenTimer is running, stops and resets the DelayOpenTimer (sets to zero),¶
-
releases all PCEP resources,¶
-
drops the QUIC connection,¶
-
increments the ConnectRetryCounter by 1,¶
-
performs peer oscillation damping if the DampPeerOscillations attribute is set to True, and¶
-
changes its state to Idle.¶
The start events (Events 1, 3-7) are ignored in the Pending state.¶
In response to a ManualStop event (Event 2), the local system:¶
-
If the DelayOpenTimer is running and the SendNOTIFICATIONwithoutOPEN session attribute is set, the local system sends a PCErr with a Cease,¶
-
releases all PCEP resources including stopping the DelayOpenTimer¶
-
drops the QUIC connection,¶
-
sets ConnectRetryCounter to zero,¶
-
stops the ConnectRetryTimer and sets the ConnectRetryTimer to zero, and¶
-
changes its state to Idle.¶
In response to a ConnectRetryTimer_Expires event (Event 9), the local system:¶
-
restarts the ConnectRetryTimer (with initial value),¶
-
initiates a QUIC connection to the other PCEP peer,¶
-
continues to listen for a TCP connection that may be initiated by a remote PCEP peer, and¶
-
changes its state to OpenWait.¶
If the local system receives a DelayOpenTimer_Expires event (Event 12), the local system:¶
-
sets the ConnectRetryTimer to zero,¶
-
stops and clears the DelayOpenTimer (set to zero),¶
-
completes the PCEP initialization,¶
-
sends the OPEN message to its remote peer,¶
-
sets its hold timer to a large value, and¶
-
changes its state to OpenWait.¶
A HoldTimer value of 4 minutes is also suggested for this state transition.¶
If the local system receives a QuicConnection_Valid event (Event 14), the local system processes the TCP connection flags and stays in the Pending state.¶
If the local system receives a QUIC_CR_Invalid event (Event 15), the local system rejects the QUIC connection and stays in the Pending State.¶
In response to the success of a QUIC connection (Event 16 or Event 17), the local system checks the DelayOpen optional attribute prior to processing.¶
If the DelayOpen attribute is set to TRUE, the local system:¶
-
stops the ConnectRetryTimer and sets the ConnectRetryTimer to zero,¶
-
sets the DelayOpenTimer to the initial value (DelayOpenTime), and¶
-
stays in the Pending state.¶
If the DelayOpen attribute is set to FALSE, the local system:¶
-
sets the ConnectRetryTimer to zero,¶
-
completes the PCEP initialization,¶
-
sends the OPEN message to its peer,¶
-
sets its HoldTimer to a large value, and¶
-
changes its state to OpenWait.¶
A HoldTimer value of 4 minutes is suggested as a "large value" for the HoldTimer.¶
If the local system receives a QUICConnectionFails event (Event 18), the local system:¶
-
restarts the ConnectRetryTimer (with the initial value),¶
-
stops and clears the DelayOpenTimer (sets the value to zero),¶
-
releases all PCEP resource,¶
-
increments the ConnectRetryCounter by 1,¶
-
optionally performs peer oscillation damping if the DampPeerOscillations attribute is set to TRUE, and¶
-
changes its state to Idle.¶
If an OPEN message is received and the DelayOpenTimer is running (Event 20), the local system:¶
-
stops the ConnectRetryTimer (if running) and sets the ConnectRetryTimer to zero,¶
-
stops and clears the DelayOpenTimer (sets to zero),¶
-
completes the PCEP initialization,¶
-
sends an OPEN message,¶
-
sends a KEEPALIVE message,¶
-
if the HoldTimer value is non-zero,¶
-
starts the KeepaliveTimer to initial value,¶
-
resets the HoldTimer to the negotiated value, else if the HoldTimer is zero¶
-
resets the KeepaliveTimer (set to zero),¶
-
resets the HoldTimer to zero, and¶
-
changes its state to KeepWait.¶
If the value of the autonomous system field is the same as the local Autonomous System number, set the connection status to an internal connection; otherwise it will be external.¶
If PCEP message header checking (Event 21) or OPEN message checking detects an error (Event 22), the local system:¶
-
(optionally) sends a PCErr message with the appropriate error code if the SendNOTIFICATIONwithoutOPEN attribute is set to TRUE,¶
-
sets the ConnectRetryTimer to zero,¶
-
releases all PCEP resources,¶
-
drops the QUIC connection,¶
-
increments the ConnectRetryCounter by 1,¶
-
(optionally) performs peer oscillation damping if the DampPeerOscillations attribute is set to TRUE, and¶
-
changes its state to Idle.¶
If a PCErr message is received with a version error (Event 24), the local system checks the DelayOpenTimer. If the DelayOpenTimer is running, the local system:¶
-
stops the ConnectRetryTimer (if running) and sets the ConnectRetryTimer to zero,¶
-
stops and resets the DelayOpenTimer (sets to zero),¶
-
releases all PCEP resources,¶
-
drops the QUIC connection, and¶
-
changes its state to Idle.¶
If the DelayOpenTimer is not running, the local system:¶
-
sets the ConnectRetryTimer to zero,¶
-
releases all PCEP resources,¶
-
drops the QUIC connection,¶
-
increments the ConnectRetryCounter by 1,¶
-
(optionally) performs peer oscillation damping if the DampPeerOscillations attribute is set to TRUE, and¶
-
changes its state to Idle.¶
In response to any other event (Events 8, 10-11, 13, 19, 23, 25-28), the local system:¶
-
sets the ConnectRetryTimer to zero,¶
-
releases all PCEP resources,¶
-
drops the QUIC connection,¶
-
increments the ConnectRetryCounter by one,¶
-
(optionally) performs peer oscillation damping if the DampPeerOscillations attribute is set to TRUE, and¶
-
changes its state to Idle.¶