As per Relevance of the word establish, we have this rfc below:











Network Working Group C.
Request for Comments: 3215 P.
Category: Informational
L.

E.

January 2002


LDP State

Status of this

This memo provides information for the Internet community. It
not specify an Internet standard of any kind. Distribution of
memo is unlimited

Copyright

Copyright (C) The Internet Society (2002). All Rights Reserved



This document provides state machine tables for ATM (
Transfer Mode) switch LSRs. In the current LDP specification,
is no state machine specified for processing LDP messages. We
that defining a common state machine is very important
interoperability between different LDP and CR-LDP implementations

We begin in section 1 by defining a list of terminologies. Then
section 2, we propose two sets of state machine tables for ATM
LSRs that use downstream-on-demand mode, one method can be used
non-vc merge capable ATM LSRs, while the other one can be used
the vc-merge capable ATM LSRs. In section 3, we provides a
machine for downstream unsolicited mode ATM LSRs

We focus on the LDP state machines and the associated control
used for establishing and maintaining LSPs. We do not describe
machines for the "LDP controller" that is in charge of LDP
initialization, address mapping messages management,
interface, etc. that is defined in the LDP specification

Even though the state machines in this document are specific
ATM-LSR, they can be easily adapted for other types of LSRs






Boscher, et al. Informational [Page 1]

RFC 3215 LDP State Machine January 2002


Table Of

1. Terminology ................................................... 4
2. State Machine for Downstream-on-Demand Mode ................... 4
2.1 An LSR's Behavior in the Case of a Next Hop Change ........... 4
2.2. ATM Switch LSR with No VC-merge Capability .................. 5
2.2.1 LSP Control Block .......................................... 5
2.2.2 States ..................................................... 7
2.2.3 Events ..................................................... 8
2.2.4 State Transitions .......................................... 9
2.2.5 State Machine .............................................. 10
2.2.5.1 State -- "IDLE" .......................................... 10
2.2.5.2 State -- "RESPONSE_AWAITED" .............................. 13
2.2.5.3 State -- "ESTABLISHED" ................................... 16
2.2.5.4 State -- "RELEASE_AWAITED" ............................... 21
2.2.6 Handling the Next Hop Change ............................... 23
2.2.6.1 Next Hop Trigger Control Block ........................... 24
2.2.6.2 States ................................................... 24
2.2.6.3 Events ................................................... 24
2.2.6.4 State Transition for next hop change ..................... 25
2.2.6.5 State Machine ............................................ 25
2.2.6.5.1 State -- "IDLE" ........................................ 25
2.2.6.5.2 State -- "NEW_NH_RETRY" ................................ 27
2.2.6.5.3 State -- "NEW_NH_RESPONSE_AWAITED" ..................... 28
2.2.7 LDP Related Message Handling ............................... 29
2.3. ATM Switch LSR with VC-merge ................................ 31
2.3.1 VC-merge ................................................... 31
2.3.2 Control Block .............................................. 31
2.3.3 State Machines for Downstream-on-demand Mode ............. 34
2.3.3.1 State of the Upstream LSP Control Block's State
for Downstream-on-demand Mode ............................ 34
2.3.3.2 Events of the Upstream LSP Control Block's State
for Downstream-on-demand Mode ............................ 35
2.3.3.3 State Transitions of the Upstream LSP Control Block's
Machine for Downstream-on-demand Mode .................... 36
2.3.3.4 Upstream LSP Control Block's State
for Downstream-on-demand Mode ............................ 37
2.3.3.4.1 State -- "IDLE" ........................................ 37
2.3.3.4.2 State -- "RESPONSE_AWAITED" ............................ 39
2.3.3.4.3 State -- "ESTABLISHED" ................................. 42
2.3.3.4.4 State -- "RELEASE_AWAITED" ............................. 45
2.3.3.5 State of the Downstream LSP Control Block's State
for Downstream-on-demand Mode ............................ 47
2.3.3.6 Events of the Downstream LSP Control Block's State
for Downstream-on-demand Mode ............................ 47
2.3.3.7 State Transitions of the Downstream LSP Control Block'
State Machine for Downstream-on-demand mode .............. 48




Boscher, et al. Informational [Page 2]

RFC 3215 LDP State Machine January 2002


2.3.3.8 Downstream LSP Control Block's State Machine
Downstream-on-demand Mode ................................ 49
2.3.3.8.1 State -- "IDLE" ........................................ 48
2.3.3.8.2 State -- "RESPONSE_AWAITED" ............................ 50
2.3.3.8.3 State -- "ESTABLISHED" ................................. 52
2.3.3.9 State of the Next_Hop_Trigger_Control_Block's
Machine for Downstream-on-demand Mode .................... 53
2.3.3.10 Events of the Next_Hop_Trigger_Control_Block's
Machine for Downstream-on-demand Mode ................... 53
2.3.3.11 State Transitions of the Next_Hop_Trigger_Control_Block'
State Machine for Downstream-on-demand Mode ............. 55
2.3.3.12 State Machine ........................................... 55
2.3.3.12.1 State -- "IDLE" ....................................... 55
2.3.3.12.2 State -- "NEW_NH_RETRY" ............................... 57
2.3.3.12.3 State -- "NEW_NH_RESPONSE_AWAITED" .................... 58
2.3.4 LDP Related Message Processing ............................. 59
3. State Machine for Downstream Unsolicited ...................... 61
3.1 Control Block ................................................ 61
3.2 States of the Upstream LSP Control Block's State
for Downstream Mode .......................................... 62
3.3 Events of the Upstream LSP Control Block's State
for Downstream Mode .......................................... 62
3.4 State Transitions of Upstream LSP Control Block's
Machine for Downstream Mode .................................. 64
3.5 Upstream LSP Control Block's State Machine
Downstream Mode .............................................. 65
3.5.1 : State -- "IDLE" .......................................... 65
3.5.2 : State -- "ESTABLISHED" ................................... 66
3.5.3 : State -- "RELEASE_AWAITED" ............................... 67
3.5.4 : State -- "RESOURCE_AWAITED" .............................. 69
3.6 State of the Downstream LSP Control Block's State
for Downstream Mode .......................................... 70
3.7 Events of the Downstream LSP Control Block's State
for Downstream Mode .......................................... 70
3.8 State Transitions of Downstream LSP Control Block's
Machine for Downstream Mode .................................. 71
3.9 Downstream LSP Control Block's State
for Downstream Mode .......................................... 71
3.9.1 : State -- "IDLE" .......................................... 71
3.9.2 : State -- "ESTABLISHED" ................................... 73
3.10 LDP Related Message Processing for downstream mode .......... 74
4. Security Considerations ....................................... 75
5. Acknowledgements .............................................. 76
6. References .................................................... 76
7. Authors' Address .............................................. 77
8. Full Copyright Statement ...................................... 78





Boscher, et al. Informational [Page 3]

RFC 3215 LDP State Machine January 2002


1.

- LDP-REQUEST: LDP Label Request

- LDP-MAPPING: LDP Label Mapping

- LDP-WITHDRAW: LDP Label Withdraw

- LDP-RELEASE: LDP Label Release

- LDP-ABORT: LDP Abort message used to abort a LSP setup

- LDP-NAK: LDP Notification message used to reject an LDP message

2. State Machine for Downstream-on-Demand

In this document, we provide two sets of state machines: one for
ATM LSR that does not have VC-merge capability, and the other for
ATM LSR that does have VC-merge capability

State machine descriptions are given in terms of control blocks
states, events, response actions and state transitions.
blocks contain the information that is required to support
of events. A control block may also contain any
information that is required either of any specific implementation
in support of other required functions. In every case,
information required to support the procedures defined in the
specification [4] or management objects defined in the LDP MIB [3]
would be stored in a specific LDP implementation - either as part
the control block structure or in some other way

The state machines cover both independent LSP control and ordered
control

Loop detection and loop prevention messages will be processed
specified in [4]. The impact of loop detection and loop
messages on state transitions is left for further study

2.1 An LSR's Behavior in the Case of a Next Hop

When there is a topology change and an LSR detects a new better
hop for an LSP, it may behave in 2 different ways

1) It tries to do a "local repair". This means that it extends
LSP through the new next hop, releases the old path from this
forward and then splices into this newly extended LSP





Boscher, et al. Informational [Page 4]

RFC 3215 LDP State Machine January 2002


2) If the LSP is created with the "pinned" option (CR-LDP[5]),
LSR ignores the new next hop change, and the LSP stays unchanged
The LSR may decide to send an LDP-MAPPING containing
for this New Next Hop (NH) that have changed

2.2. ATM Switch LSR with No VC-merge

In an MPLS domain where some ATM LSRs do not have VC-
capability, downstream-on-demand mode is required for these ATM
[1]. Also, "conservative label retention mode" is required in
case [1].

For each LSP, there are 2 kinds of state machines involved

1) the LSP Control Block and its state machine that can be used
handle normal LSP setup. It is created when the LSR receives
new LDP Request and it is deleted when the LSP of this request
torn down

2) the Next Hop Trigger Control Block and its state machine that
used to handle switching over to a better LSP through a
next hop. It is created when the LSR decides to switch over to
better next hop and it is deleted when the LSR finishes
over to the better next hop. This state machine uses a timer (
has corresponding states) to ensure that switch over occurs in
timely fashion after a routing transient has had time
stabilize

2.2.1 LSP Control

For each LSP, an LSP Control Block is defined that may contain
following information

- Upstream Label Request ID (assigned by the upstream LSR),
is the 'Message Id' in the Label Request Message received
the upstream LSR

- Downstream Label Request ID (assigned by this LSR itself),
is 'Message Id' in the Label Request Message sent to
downstream LSR

- Upstream LDP

- Downstream LDP

-

-



Boscher, et al. Informational [Page 5]

RFC 3215 LDP State Machine January 2002


- Upstream Label (assigned by this LSR

- Downstream Label (assigned by the downstream LSR

- Trigger Control Block Pointer, (Only used at the ingress LSR
a LSP) that points to the control block that triggers
up this LSP or tearing down this LSP

- Next Hop Control Block Pointer, that points to the
block that is used for switching over to a better LSP

The following index combinations can be used to locate a unique
Control Block

- Downstream Label and Downstream LDP Identifier,

- Upstream Label and Upstream LDP Identifier,

- Downstream Label Request ID and Downstream LDP

- Upstream Label Request ID and Upstream LDP

Here is the relationship between different control blocks, the
definition of Next Hop Trigger Control Block is described in
2.2.6.

For example, an LSP that transits through (LSR-A, LSR-B, LSR-C, LSR
D):

LSR-A ----> LSR-B ---> LSR-C ---> LSR-

The control blocks in LSR-A are

+-----------------------+
| Trigger Control Block |
| (e.g, by config) |
+-----------------------+
^
|(Trigger Control block pointer
|
|
+-----------------------+
| LSP Control Block |
+-----------------------+

When LSR-B detects a better next hop to LSR-D through LSR-E, and
decides to switch over to it, so control blocks in LSR-B are




Boscher, et al. Informational [Page 6]

RFC 3215 LDP State Machine January 2002


+-----------------------+
| LSP Control Block |
| (original LSP) |
+-----------------------+
(LSP ^ |
Control | | (Next Hop Trigger Control Block Pointer
Block | |
Pointer) |
+--------------------------------+
| Next Hop Trigger Control Block |
+--------------------------------+
^ |
(Trigger | | (New Next Hop
Control | | Control Block Pointer
Block | |
Pointer)| |
|
+------------------------+
| LSP Control Block |
| (for LSP: LSR-B, LSR-E,|
| LSR-D) |
+------------------------+

2.2.2

This section describes the various states that are used in the
machine for the ATM non VC-merge LSR

--

This is the initial LSP state, when the LSP Control Block is created

-- RESPONSE_

This state means that the LSR has received and processed an LDP
REQUEST from an upstream LSR, or it has received an internal set
request. It has sent a new LDP-REQUEST towards a downstream LSR
The LSR is waiting for the LDP-MAPPING from the downstream LSR

--

This state means that the LSR has received the LDP-MAPPING from
downstream LSR and the LSP is up and operational

-- RELEASE_

This state means that the LSR has sent a LDP-WITHDRAW upstream and
waiting for the LDP-RELEASE before freeing up the label resource



Boscher, et al. Informational [Page 7]

RFC 3215 LDP State Machine January 2002


2.2.3

-- LDP

The LSR receives an LDP-REQUEST from an upstream LSR

-- LDP

The LSR receives an LDP-MAPPING from a downstream LSR

-- LDP

The LSR receives an LDP-RELEASE from an upstream LSR

-- LDP

The LSR receives an LDP-WITHDRAW from a downstream LSR

-- LDP Upstream

The LSR receives an LDP-ABORT from an upstream LSR

-- LDP Downstream NAK The LSR receives an LDP-NAK (notification)
an downstream LSR

-- Upstream

The LSR loses its LDP session with an upstream LDP peer

-- Downstream

The LSR loses its LDP session with a downstream LDP peer

-- Internal

For some reason, e.g. a configuration request of a
engineering tunnel, or recognizing a new FEC could trigger
Internal SetUp event to set up a new LSP from this node

-- Internal

The LSR send an Internal Destroy event to tear down an LSP

-- Internal Cross-

The LSR send an Internal Cross-Connect to splice two LSPs into
LSP. This happens when a LSR switches over to a better next hop




Boscher, et al. Informational [Page 8]

RFC 3215 LDP State Machine January 2002


-- Internal New

The LSR decides to switch over the better next hop

2.2.4 State

The following diagram describes briefly the state transitions

+-------------------+
| |<-------------------+
+-------->| IDLE | |
| | |----------+ |
| +-------------------+ | |
|(LDP Release) | | |
|(LDP Upstream |(LDP Request 1) | | (LDP Release
| Abort |(Internal SetUp) | | (Upstream Lost
|(Internal Destroy) | | |
|(Upstream Lost) v | |
| +-------------------+ | |
+---------| | | |
| RESPONSE_AWAITED | | |
+---------| | | |
| +-------------------+ | |
| | | |
|(Downstream Lost) |(LDP Mapping) | |
|(LDP Downstream | | |
| NAK) | +---------------+ |
| | | (LDP Request 2) |
| | | |
| v v |
| +-------------------+ (LDP Withdraw 1) |
| | | (Internal Destroy) |
| | ESTABLISHED |------------>-------+
| | | |
| +-------------------+ |
| | |
| | |
| |(LDP Withdraw 2) | (LDP
| |(Downstream Lost) | Abort
| | |
| v |
| +-------------------+ |
| | | |
+-------->| RELEASE_AWAITED |------------>-------+
| |
+-------------------+





Boscher, et al. Informational [Page 9]

RFC 3215 LDP State Machine January 2002


2.2.5 State

2.2.5.1 State -- "IDLE

State:

Event: LDP

New State: Depends upon the action routine

Actions

If this LSR is the LSP Egress or Proxy Egress [2]

Then
Choose an upstream label, connect this upstream label to the
IP forwarding module, allocate the resources, send the LDP-
upstream with the upstream label, and go to the new
`ESTABLISHED'.


Obtain a next hop (or interface) with the FEC specified in
LDP-REQUEST, propagate the LDP-REQUEST, with newly
Message ID by this LSR, towards the obtained next hop, and go
the new state `RESPONSE_AWAITED'.

If the LSR uses the independent control mode [2], choose
upstream label, connect this upstream label to the local
forwarding module, go to the ESTABLISHED state and send an LDP
MAPPING upstream with the upstream label

If unable to process the request for any reason, issue an LDP-NAK
the sender with the appropriate error code, go to IDLE and delete
LSP Control Block

State:

Event: LDP

New State:

Actions

Ignore the event. It is an internal implementation error

State:

Event: LDP



Boscher, et al. Informational [Page 10]

RFC 3215 LDP State Machine January 2002


New State:

Actions

Ignore the event. It is an internal implementation error

State:

Event: LDP

New State:

Actions

Ignore the event. It is an internal implementation error

State:

Event: LDP Upstream

New State:

Actions

Ignore the event. It is an internal implementation error

State:

Event: LDP Downstream

New State:

Actions

Ignore the event. It is an internal implementation error

State:

Event: Upstream

New State:

Actions

Ignore the event. It is an internal implementation error

State:




Boscher, et al. Informational [Page 11]

RFC 3215 LDP State Machine January 2002


Event: Downstream

New State:

Actions

Ignore the event. It is an internal implementation error

State:

Event: Internal

New State: RESPONSE_

Actions

Set up the Trigger Control Block pointer

Obtain a next hop (or interface) with the FEC specified in
Internal SetUp message, send a LDP-REQUEST towards the
next hop, and go to the new state `RESPONSE_AWAITED'.

State:

Event: Internal

New State:

Actions

Ignore. It is an internal implementation error

State:

Event: Internal Cross-

New State:

Actions

Ignore. It is an internal implementation error

State:

Event: Internal New

New State:




Boscher, et al. Informational [Page 12]

RFC 3215 LDP State Machine January 2002


Actions

Ignore. It is an internal implementation error

2.2.5.2 State -- "RESPONSE_AWAITED

State: RESPONSE_

Event: LDP

New State: RESPONSE_

Actions

Ignore the event. It is an internal implementation error. A
VC merge ATM LSR must create a new LSP control block for a new
request

State: RESPONSE_

Event: LDP

New State:

Actions

1) If the LSP is triggered by the local router (Trigger
Block Pointer is not zero), send event `Internal LSP UP' to
Trigger control block

2) Else If the LSR uses the ordered control mode, choose
upstream label

3) Connect the upstream label to the downstream label.
the resources. Propagate the LDP-MAPPING upstream with
upstream label

If unable to process the message, disconnect the upstream
from the downstream label, free the upstream label, release
resources, send an LDP-RELEASE downstream and an LDP-NAK
with status (No Label Resources [4]), go to IDLE and delete
LSP Control Block

State: RESPONSE_

Event: LDP

New State:



Boscher, et al. Informational [Page 13]

RFC 3215 LDP State Machine January 2002


Actions

If the LSR uses the independent control mode, free the
label

Send an LDP-ABORT downstream, go to IDLE and delete the
Control Block

Note: This should only occur if the LSR uses the
control mode. In the ordered control mode, no upstream
mapping will have been sent corresponding to this LSP
waiting for a label mapping from downstream

State: RESPONSE_

Event: LDP

New State: RESPONSE_

Actions

Ignore the event. It's a protocol error from the downstream LSR

State: RESPONSE_

Event: LDP Upstream

New State:

Actions

If the LSR uses the independent control mode, free the
label

Send an LDP-ABORT downstream

Delete the LSP Control Block

State: RESPONSE_

Event: LDP Downstream

New State: Depends on the action routine








Boscher, et al. Informational [Page 14]

RFC 3215 LDP State Machine January 2002


Actions

1. If the LSP is triggered by the local router (Trigger
Block Pointer is not zero), send event `Internal LSP DOWN'
the Trigger control block, go to IDLE and delete the
Control Block

2. Else If the LSR uses the independent control mode, send an LDP
WITHDRAW upstream and go to state `RELEASE_AWAITED'.

If the LSR uses the ordered control mode, send an LDP-
upstream, go to IDLE and delete the LSP Control Block

State: RESPONSE_

Event: Upstream

New State:

Actions

If the LSR uses the independent control mode, free the
label

Send an LDP-ABORT downstream, go to IDLE and delete the
Control Block

State: RESPONSE_

Event: Downstream

New State: Depends on the action routine

Actions

1. If the LSP is triggered by the local router (Trigger
Block Pointer is not zero), send event `Internal LSP DOWN'
the trigger control block, go to IDLE and delete the
Control Block

2. Else, If the LSR uses the independent control mode, free
upstream label and send an LDP-WITHDRAW upstream and go
state `RELEASE_AWAITED'.

If the LSR uses the ordered control mode, send an LDP-NAK
(with a status `No Route' [4]), go to IDLE and delete the
Control Block




Boscher, et al. Informational [Page 15]

RFC 3215 LDP State Machine January 2002


State: RESPONSE_

Event: Internal

New State: RESPONSE_

Actions

Ignore, it is an internal implementation error

State: RESPONSE_

Event: Internal

New State:

Actions

Send an LDP-ABORT downstream, go to IDLE and delete the
Control Block

State: RESPONSE_

Event: Internal Cross-

New State: RESPONSE_

Actions

Ignore the event. It is an internal implementation error

State: RESPONSE_

Event: Internal New

New State: RESPONSE_

Actions

Send LDP-ABORT to the old downstream, and send LDP-REQUEST to
new next hop

2.2.5.3 State -- "ESTABLISHED

State:

Event: LDP




Boscher, et al. Informational [Page 16]

RFC 3215 LDP State Machine January 2002


New State:

Actions

Ignore the event. It's an internal implementation error. For
VC-merge ATM LSR, a new LSP control block is always created
each LDP request

State:

Event: LDP

New State:

Actions

Process the LDP-MAPPING, that may contain the new attributes
the label mapping and then propagate the LDP-MAPPING upstream

State:

Event: LDP

New State:

Actions

Disconnect the upstream label from the downstream label

Free the upstream label

Free the resources

Send event `Internal Destroy' to the Next Hop Trigger
Block if it was in the middle of switching over to the better
hop

Propagate the LDP-RELEASE downstream if the LSR is not the
for the LSP, go to IDLE and delete the LSP Control Block

State:

Event: LDP

New State: Depends on the action routine






Boscher, et al. Informational [Page 17]

RFC 3215 LDP State Machine January 2002


Actions

1) Free the resources and send LDP-RELEASE downstream

2) If it is independent control mode, set the state to `IDLE',
create a internal LDP Request with the information in the
Control Block, and pass event `LDP Request' to its own
machine

3) Else for the ordered control

3.1) If the LSP is triggered to be setup by itself (e.g it
the ingress LSR of this LSP), send event `Internal
Down' to the trigger control block, go to IDLE and
the LSP Control Block

3.2) Else, if it is triggered by the incoming LDP Request
Disconnect the upstream label from the downstream label
Propagate the LDP-WITHDRAW upstream and go to
`RELEASE_AWAITED'.

3.3) If the LSP is in the middle of switching over to a
LSP, send event `Internal Destroy' to the state machine
its New Next Hop LSP Control Block, go to IDLE and
the LSP Control Block

State:

Event: LDP Upstream

New State:

Actions

Ignore the event

Note: This scenario can occur if the upstream LSR sends a LDP
ABORT at about the same time as the local LSR sends a LDP-MAPPING
In this situation, it should be up to exactly one of the two
as to whether or not the label that was sent remains valid.
LDP specification [4] procedures leave the choice to the
LSR that must send an LDP-RELEASE if it will not use the
provided

State:

Event: LDP Downstream




Boscher, et al. Informational [Page 18]

RFC 3215 LDP State Machine January 2002


New State:

Actions

Ignore the event. It is a protocol error from the downstream LSR
The downstream LSR should always LSP-WITHDRAW to tear down the
when the LSP is established

State:

Event: Upstream

New State:

Actions

Disconnect the upstream label from the downstream label

Free the upstream label

Send event `Internal Destroy' to the Next Hop Trigger
Block if it was in the middle of switching over to the better
hop

Free the resources

Propagate an LDP-RELEASE downstream, go to IDLE and delete the
Control Block

State:

Event: Downstream

New State: Depends on the action routine

Actions

1) If the LSP is triggered by the local router (Trigger
Block Pointer is not zero), send event `Internal LSP NAK'
the Trigger control block, go to IDLE and delete the
Control Block

2) Else, disconnect the upstream label from the downstream label
Propagate an LDP-WITHDRAW upstream and go to `RELEASE_AWAITED
state






Boscher, et al. Informational [Page 19]

RFC 3215 LDP State Machine January 2002


3) Send event `Internal Destroy' to the Next Hop Trigger
Block if it was in the middle of switching over to the
next hop

State:

Event: Internal

New State:

Actions

Ignore, it is an internal implementation error

State:

Event: Internal

New State:

Actions

Disconnect the upstream label from the downstream label if it
not the ingress of the LSP

Free the resources

Send an LDP-RELEASE downstream, go to IDLE and delete the
Control Block

State:

Event: Internal Cross-

New State:

Actions

Connect the upstream label to the downstream

May need to send a new LDP-MAPPING upstream with the
from the new next hop

Reset Trigger Control Block Pointer to zero

State:

Event: Internal New



Boscher, et al. Informational [Page 20]

RFC 3215 LDP State Machine January 2002


New State:

Actions

1) If the LSR was in the middle of switching over to a better
hop (Next Hop Trigger Control Block Pointer is not zero),
send `Internal New NH' to that control block

2) Else, create a new Next Hop Trigger Control Block, set Next
Trigger Control Block pointer to point to this control block
and pass 'Internal New NH' to this control block

2.2.5.4 State -- "RELEASE_AWAITED

State: RELEASE_

Event: LDP

New State: RELEASE_

Actions

Ignore the event. It is an internal implementation error

State: RELEASE_

Event: LDP

New State: RELEASE_

Actions

It is a protocol error from the downstream LDP peer, but
send a LDP-RELEASE downstream

State: RELEASE_

Event: LDP

New State:

Actions

1) Free the upstream

2) Delete the control block

State: RELEASE_



Boscher, et al. Informational [Page 21]

RFC 3215 LDP State Machine January 2002


Event: LDP

New State: RELEASE_

Actions

It is a protocol error from the downstream LDP peer, but send
LDP- RELEASE anyway

State: RELEASE_

Event: LDP Upstream

New State:

Actions

1) Free the upstream

2) Delete the control block

State: RELEASE_

Event: LDP Downstream

New State: RELEASE_

Actions

Ignore the event. Continue waiting for the LDP-RELEASE
upstream

State: RELEASE_

Event: Upstream

New State:

Actions

1) Free the upstream

2) Delete the control block

State: RELEASE_

Event: Downstream




Boscher, et al. Informational [Page 22]

RFC 3215 LDP State Machine January 2002


New State: RELEASE_

Actions

Ignore the event. Continue waiting for the LDP-RELEASE
upstream

State: RELEASE_

Event: Internal

New State: RELEASE_

Actions

Ignore the event. It is an internal implementation error

State: RELEASE_

Event: Internal

New State: RELEASE_

Actions

Ignore the event. It is an internal implementation error

State: RELEASE_

Event: Internal Cross-

New State: RELEASE_

Actions

Ignore the event. It is an internal implementation error

2.2.6 Handling the Next Hop

When an LSR detects a better next hop, it may decides to establish
new LSP through this next hop. For example, an LSR is configured
"local repair", or the LSR is configured as "global repair" and it
the ingress end of a LSP. It can then create a Next Hop
Control Block and use the state machine of Next Hop Trigger
Block to establish a new LSP through the better next hop






Boscher, et al. Informational [Page 23]

RFC 3215 LDP State Machine January 2002


2.2.6.1 Next Hop Trigger Control

--

-- LSP Control Block Pointer, that points to the original LSP
block

-- New Next Hop LSP Control Block Pointer, that points to the
Control Block that is setting up an LSP through the new next hop

2.2.6.2

--

This is the initial LSP state, when the Trigger_Control_Block
created

-- NEW_NH_

This is the state where an LSR waits for a retry timer to expire
then tries to establish an LSP through a new next hop

-- NEW_NH_RESPONSE_

This is the state where an LSR is in the middle of establishing a
LSP through a new next hop. It has triggered a LSP control block
send an LDP-REQUEST towards the new next hop and is waiting for
LDP-MAPPING

2.2.6.3

-- Internal New

The LSR detects there is a new next hop for a FEC

-- Internal Retry

The LSP retry timer expires

-- Internal LSP

The LSP to the new Next Hop is

-- Internal LSP

The LSP through the new next hop could not get set





Boscher, et al. Informational [Page 24]

RFC 3215 LDP State Machine January 2002


-- Internal

This event is triggered when the LSR lost the LDP session with
upstream neighbor

2.2.6.4 State Transition for next hop

+---------------------+
| |
| IDLE |<------------+
| | |
+---------------------+ |
| |
| |
| (Internal New NH) |
| |
v |
+---------------------+ |
| | |
| NEW_NH_RETRY |----------->-+
| | (Internal |
+---------------------+ Destroy) |
| |
| |
| (Internal retry timeout) |
| |
v |
+---------------------+ |
| | (Internal |
| NEW_NH_RESPONSE | Destroy) |
| _AWAITED |----------->-+
| | |
+---------------------+ |
| |
| (Internal LSP UP) |
| (Internal LSP NAK) |
+------------------------>-+

2.2.6.5 State

2.2.6.5.1 State -- "IDLE

State:

Event: Internal New

New State: NEW_NH_




Boscher, et al. Informational [Page 25]

RFC 3215 LDP State Machine January 2002


Actions

Start the LSP retry timer and go to the `NEW_NH_RETRY' state

State:

Event: Internal retry

New State:

Actions

Ignore. It is an internal implementation error

State:

Event: Internal LSP

New State:

Actions

Ignore. It is an internal implementation error

State:

Event: Internal LSP

New State:

Actions

Ignore. It is an internal implementation error

State:

Event: Internal

New State:

Actions

Ignore. It is an internal implementation error








Boscher, et al. Informational [Page 26]

RFC 3215 LDP State Machine January 2002


2.2.6.5.2 State -- "NEW_NH_RETRY

State: NEW_NH_

Event: Internal New

New State: NEW_NH_

Actions

Restart the LSP retry timer

State: NEW_NH_

Event: Internal retry

New State: Depends on action routine

Actions

If the new next hop is the same one as the old next hop, go
IDLE and delete the control block

Otherwise, create an LSP control block that will try to
a new LSP through the new next hop, send event `Internal Setup'
its state machine and go to NEW_NH_RESPONSE_AWAITED

State: NEW_NH_

Event: Internal LSP

New State: NEW_NH_

Actions

Ignore. It is an internal implementation error

State: NEW_NH_

Event: Internal LSP

New State: NEW_NH_

Actions

Ignore. It is an internal implementation error

State: NEW_NH_



Boscher, et al. Informational [Page 27]

RFC 3215 LDP State Machine January 2002


Event: Internal

New State:

Actions

Stop the timer, go to IDLE and delete the control block

2.2.6.5.3 State -- "NEW_NH_RESPONSE_AWAITED

State: NEW_NH_RESPONSE_

Event: Internal New

New State: NEW_NH_

Actions

Restart the LSP retry timer, send `Internal destroy' to
control block of the LSP for the new next hop and go to
`NEW_NH_RETRY' state

State: NEW_NH_RESPONSE_

Event: Internal retry

New State: NEW_NH_RESPONSE_

Actions

Ignore. It is an internal implementation error

State: NEW_NH_RESPONSE_

Event: Internal LSP

New State:

Actions

Send event `Internal cross-connect' event to the LSP control
of the new next hop

Send event `Internal destroy' event to the original LSP
block

Then go to IDLE and delete the control block




Boscher, et al. Informational [Page 28]

RFC 3215 LDP State Machine January 2002


State: NEW_NH_RESPONSE_

Event: Internal LSP

New State:

Actions

Delete the control block

State: NEW_NH_RESPONSE_

Event: Internal

New State:

Actions

Send event `Internal destroy' the control block for the new
through the new next hop

2.2.7 LDP Related Message

- If an LSR receives an LDP-REQUEST from an upstream LSR

a) If this is a duplicate request, discard the message.
duplicate request means that there is a LSP Control Block
has the same FEC, Upstream Label Request ID and Upstream
Request ID and same Upstream LDP Session Identifier

b) Otherwise, create a new LSP Control Block, store the
information from the message into the control block, then
the event `LDP Request' to its state machine

- If an LSR receives an LDP-MAPPING from a downstream LSR

a) Extract the 'Label Request Message ID' field and from the LDP
MAPPING

b) Find an LSP Control Block that has the same Downstream
Request ID and the same Downstream LDP Session Identifier

c) If an LSP Control Block is found, pass the event `LDP Mapping
to its state machine

d) If there is no matching LSP Control Block found, then try
find an LSP Control Block that has the same Downstream
and the same Downstream LDP Session Identifier



Boscher, et al. Informational [Page 29]

RFC 3215 LDP State Machine January 2002


e) If an LSP Control Block is found, pass the event `LDP Mapping
to its state machine

f) Otherwise, ignore the LDP-MAPPING and send a LDP-
downstream

- If an LSR receives an LDP-RELEASE from an upstream LSR

a) Find an LSP Control Block that has the same Upstream Label
the same Upstream LDP Session Identifier

b) If an LSP Control Block is found, pass the event `LDP Release
to its state machine

c) Otherwise, ignore the message

- If an LSR receives an LDP-WITHDRAW from a downstream LSR

a) Find an LSP Control Block that has the same Downstream
and the same Downstream LDP Session Identifier

b) If an LSP Control Block is found, pass the event `LDP Withdraw
to its state machine

c) Otherwise, ignore the LDP-WITHDRAW and send a LDP-
downstream

- If an upstream LDP peer is lost

a) Find all the LSP Control Blocks whose upstream LDP peer is
LSR

b) Then pass the event `Upstream Lost' to their state machines

- If a downstream LDP peer is lost

a) Find all the LSP Control Blocks whose downstream LDP peer
that LSR

b) Then pass the event `Downstream Lost' to their state machines

- If the LSR detects a new next hop for an FEC

For each LSP that needs "local repair", or it needs "
repair" and it is the ingress of the LSP, pass event "Internal
NH" to its state machine





Boscher, et al. Informational [Page 30]

RFC 3215 LDP State Machine January 2002


- If an LSR receives an LDP-Abort from an upstream LSR

a) Extract the LDP Request ID value from the LDP-Abort message

b) Find an LSP Control Block that has the same Upstream
Request ID and the same Upstream LDP Session Identifier

c) If an LSP Control Block is found, pass the event `LDP
Abort' to its state machine

d) Otherwise, ignore the message

- If the LSR receives an LDP-NAK from a downstream LSR

a) Extract the LDP Request ID value from the LDP-NAK

b) Find an LSP Control Block that has the same Downstream
Request ID and the same Downstream LDP Session Identifier

c) If an LSP Control Block is found, pass the event `
Downstream NAK' to its state machine

d) Otherwise, ignore the message

2.3. ATM Switch LSR with VC-

2.3.1 VC-

A VC-merge capable LSR can map multiple incoming labels (VPI/VCI
into one outgoing label. It is possible that this LSR can only
a limited number of incoming labels into a single outgoing label.
described in [2], suppose, for example, that due to some
limitation a node is capable of merging four incoming labels into
single outgoing label. Suppose however, that this particular
has six incoming labels arriving at it for a particular FEC. In
case, this node may merge these into two outgoing labels

When an upstream LSR has a limited merging capability, it
difficult for a downstream LSR to know how many labels should
assigned to each FEC. In this case, downstream-on-demand
recommended

2.3.2 Control

There are 3 types of control blocks involved: Upstream LSP
Block, Downstream LSP Control Block, and Next Hop Trigger
Block




Boscher, et al. Informational [Page 31]

RFC 3215 LDP State Machine January 2002


There is one Upstream LSP Control Block for each LDP-
received

There is one Downstream LSP Control Block for each unique LDP-
sent to a downstream LSR. There can be multiple Downstream
Control Blocks per FEC in an LSR. This can be the result of
upstream LSR asking for a label for an FEC. This LSR must assign
unique upstream label and it can not merge this upstream label
an existing downstream label for this FEC

There is one Next Hop Trigger Control Block for each FEC for which
better next hop has been detected and the LSR has decided to
to this better next hop. It could be the result of "local repair"
"global repair" if the LSR is the ingress LSR of the LSP

A Downstream LSP Control Block contains a list of pointers
Upstream LSP Control Blocks or the Next Hop Trigger Control Block
This means that this LSR has decided to map the multiple
listed in the Upstream LSP Control Blocks and the Next Hop
Control Block into a single label listed in the Downstream
Control Block

An Upstream LSP Control Block may contain the following information

- Upstream LDP Session

-

- Upstream Label (assigned by this LSR

- Downstream LSP Control Block

- Upstream LDP Request ID (assigned by the upstream LSR
downstream-on-demand mode

- Next_Hop_Trigger_Block

Upstream Label and Upstream LDP Session Identifier can be used
locate a unique Upstream LSP Control Block

If an LSR is using downstream-on-demand mode, it can use the
LDP Request ID and the Upstream LDP Session Identifier to locate
unique Upstream LSP Control Block








Boscher, et al. Informational [Page 32]

RFC 3215 LDP State Machine January 2002


An Next_Hop_Trigger LSP Control Block may contain the
information

- Upstream LSP Control Block pointer, that points to the one
is needed to switch over to the better next

-

- Downstream LSP Control Block

A Downstream LSP Control Block may contain the following information

-

-

- Downstream LDP Session

- list of pointers to the Upstream LSP Control Blocks or
Trigger_Control_Blocks that are merged at this LSR for this

- Downstream Label (assigned by the downstream LSR

- Downstream Label Request ID (assigned by the LSR itself if
is using downstream-on-demand mode

Downstream Label, Downstream LDP Session Identifier can be used
locate a unique Downstream LSP Control Block

If an LSR is using downstream-on-demand mode, it can also use
Downstream Label Request ID and the Downstream LDP Session
to locate a unique Downstream LSP Control Block

The following diagram details the relationship between these 2
of control blocks

For example, the LSR has decided to merge 3 LDP-REQUESTs of a
from upstream LSR1, LSR2, LSR3 into one LDP-REQUEST and sent it to
downstream LSR4.












Boscher, et al. Informational [Page 33]

RFC 3215 LDP State Machine January 2002


+---------------------+
| |
| Upstream_LSP_Control
| _Block for Upstream|------+
| LSR1 | |
+---------------------+ |
|
+---------------------+ |
| | |
| Upstream_LSP_Control| | (merged into
| _Block for Upstream |------+
| LSR2 | |
+---------------------+ | +------------------------------+
| | |
+---------------------+ +--->| Downstream LSP Control Block |
| Next_Hop_Trigger_ | | | for Downstream LSR4 |
| LSP Control Block |------+ | |
| | +------------------------------+
+---------------------+

2.3.3 State Machines for Downstream-on-demand

The following sections describe the state machines used
downstream-on-demand mode

2.3.3.1 State of the Upstream LSP Control Block's State Machine
Downstream-on-demand

--

This is the initial LSP state

-- RESPONSE_

This state means that the LSR has received and processed an LDP
REQUEST from an upstream LSR, and has sent a new LDP-REQUEST
a downstream LSR. The LSR is waiting for the LDP-MAPPING from
downstream LSR

--

This state means that the LSR has received the LDP-MAPPING from
downstream LSR and the LSP is up and operational

-- RELEASE_

This state means that the LSR has sent a LDP-WITHDRAW upstream and
waiting for the LDP-RELEASE before freeing up the label resource



Boscher, et al. Informational [Page 34]

RFC 3215 LDP State Machine January 2002


2.3.3.2 Events of the Upstream LSP Control Block's State Machine
Downstream-on-demand

-- LDP

The LSR receives an LDP-REQUEST from an upstream LSR

-- Internal Downstream

This event is sent by one Downstream LSP Control Block's
machine. This Downstream LSP Control Block is the merged
LSP Control Block of this Upstream LSP Control Block. The event
the result of receiving an LDP-MAPPING by the Downstream LSP
Block's state machine

-- LDP

The LSR receives an LDP-RELEASE from an upstream LSR

-- Internal Downstream

This event is sent by one Downstream LSP Control Block's
machine. This Downstream LSP Control Block is the merged
LSP Control Block of this Upstream LSP Control Block. The event
the result of receiving an LDP-WITHDRAW by the Downstream LSP
Block's state machine

-- LDP Upstream

The LSR receives an LDP-ABORT from an upstream LSR

-- Internal Downstream

This event is sent by one Downstream LSP Control Block's
machine. This Downstream LSP Control Block is the merged
LSP Control Block of this Upstream LSP Control Block. The event
the result of receiving an LDP-NAK by the Downstream LSP
Block's state machine, or it detects an error

-- Upstream

The LSR loses the LDP session with its upstream LDP peer

-- Internal New

The LSR detects there is better next hop and decides to establish
lsp through this better next hop




Boscher, et al. Informational [Page 35]

RFC 3215 LDP State Machine January 2002


-- Internal Re-Cross-

This event is used to trigger splicing into a different
LSP. This can happens when it is switched over to a better
through the new next hop

2.3.3.3 State Transitions of the Upstream LSP Control Block's
Machine for Downstream-on-demand

+-------------------+
| |
+-------->| IDLE |<-------------------+
| | | |
| +-------------------+ |
|(LDP Abort) | |
|(Internal |(LDP Request) |
| Downstream NAK) | |
|(Upstream Lost) | (Upstream Lost) |
| v (LDP Release) |
| +-------------------+ |
| | | |
+---------| RESPONSE_AWAITED | |
| | |
+-------------------+ |
| |
|(Internal Downstream |
| mapping) |
| |
v |
+-------------------+ |
| | |
| ESTABLISHED |------->------------+
| | |
+-------------------+ |
| |
| |
|(Internal Downstream Withdraw) |
|(Internal Downstream NAK) |
v |
+-------------------+ (LDP Upstream |
| | Abort) |
|RELEASE_AWAITED |------->------------+
| |
+-------------------+







Boscher, et al. Informational [Page 36]

RFC 3215 LDP State Machine January 2002


2.3.3.4 Upstream LSP Control Block's State Machine for Downstream-on
demand

2.3.3.4.1 State -- "IDLE

State:

Event: LDP

New State: Depends upon the action routine

Actions

If this LSR is the LSP Egress or Proxy Egress [2],

Then
choose an upstream label, allocate the resources, connect
upstream label to the local IP forwarding module, send an LDP
MAPPING upstream with the upstream label and go to the
`ESTABLISHED'.


Obtain a next hop (or interface). Find a Downstream
Control Block that has the same FEC and the same next hop
also is able to merge more input labels. If not found,
a new Downstream LSP Control Block with the state `IDLE'.

If the state of the Downstream LSP Control Block
`ESTABLISHED', choose an upstream label, connect the
label with the downstream label and send an LDP-
upstream with the upstream label, and go to the
`ESTABLISHED'.

If the state of Downstream LSP Control Block is
`ESTABLISHED', set the state of the Upstream LSP Control
to `RESPONSE_AWAITED'. If the LSR use the independent
mode [2], choose an upstream label, and send an LDP-
upstream

Pass the event `Internal AddUpstream' to the Downstream
Control Block's state machine

If unable to process the request for any reason, issue an LDP-
to the sender with the appropriate error code, go to IDLE
delete the control block

State:




Boscher, et al. Informational [Page 37]

RFC 3215 LDP State Machine January 2002


Event: Internal Downstream

New State:

Actions

Ignore the event. It is an internal implementation error

State:

Event: LDP

New State:

Actions

Ignore the event. It is an internal implementation error

State:

Event: Internal Downstream

New State:

Actions

Ignore the event. It is an internal implementation error

State:

Event: LDP Upstream

New State:

Actions

Ignore the event. It is an internal implementation error

State:

Event: Internal Downstream

New State:

Actions

Ignore the event. It is an internal implementation error




Boscher, et al. Informational [Page 38]

RFC 3215 LDP State Machine January 2002


State:

Event: Upstream

New State:

Actions

Ignore the event. It is an internal implementation error

State:

Event: Internal Re-Cross-

New State:

Actions

Ignore the event. It is an internal implementation error

State:

Event: Internal New

New State:

Actions

Ignore the event. It is an internal implementation error

2.3.3.4.2 State -- "RESPONSE_AWAITED

State: RESPONSE_

Event: LDP

New State: RESPONSE_

Actions

Ignore the event. It is an internal implementation error

State: RESPONSE_

Event: Internal Downstream

New State: Depends on the action routine




Boscher, et al. Informational [Page 39]

RFC 3215 LDP State Machine January 2002


Actions

If the LSR uses the ordered control mode, assign an
label, connect the upstream label to the downstream label
allocate the resources, send an LDP-MAPPING upstream with
upstream label and go to `ESTABLISHED'.

If unable to process the message for any reason, issue an LDP-
upstream and an LDP-RELEASE downstream, go to IDLE and delete
control block

State: RESPONSE_

Event: LDP

New State: RESPONSE_



Ignore the event. It is a protocol error from the upstream peer

State: RESPONSE_

Event: Internal Downstream

New State: RESPONSE_



Ignore the event. It is an internal implementation error

State: RESPONSE_

Event: LDP Upstream

New State:



If the LSR uses the independent control mode, free the
label and the resources

Send the event `Internal DeleteUpstream' to its Downstream
Control Block's state machine

Delete the control block

State: RESPONSE_



Boscher, et al. Informational [Page 40]

RFC 3215 LDP State Machine January 2002


Event: Internal Downstream

New State:

Actions

If the LSR uses the independent control mode, free the
label and the resources. Then, send an LDP-WITHDRAW upstream

If the LSR uses the ordered control mode, propagate the LDP-
upstream

Delete the control block

State: RESPONSE_

Event: Upstream

New State:



If the LSR uses the independent control mode, free the
label and the resources

Send the event `Internal DeleteUpstream' to its Downstream
Control Block's state machine

Delete the control block

State: RESPONSE_

Event: Internal Re-Cross-

New State: RESPONSE_

Actions

Ignore the event. It is an internal implementation error

State: RESPONSE_

Event: Internal New

New State: depends on the






Boscher, et al. Informational [Page 41]

RFC 3215 LDP State Machine January 2002


Actions

Send event `Internal DeleteUpstream' to its old downstream
block

Find a Downstream LSP Control Block that has the same FEC and
same next hop and also is able to merge more input labels. If
found, create a new Downstream LSP Control Block with the
`IDLE'.

If the state of the Downstream LSP Control Block is `ESTABLISHED',
choose an upstream label, connect the upstream label with
downstream label and send an LDP-MAPPING upstream with
upstream label, and go to the state `ESTABLISHED'.

If the state of Downstream LSP Control Block is not `ESTABLISHED',
set the state of the Upstream LSP Control Block
`RESPONSE_AWAITED'.

Pass the event `Internal AddUpstream' to the new Downstream
Control Block's state machine

2.3.3.4.3 State -- "ESTABLISHED

State:

Event: LDP

New State:



Ignore the event. It is an internal implementation error

State:

Event: Internal Downstream

New State:



Process the new attributes of the mapping and then propagate
LDP-MAPPING upstream

State:

Event: LDP



Boscher, et al. Informational [Page 42]

RFC 3215 LDP State Machine January 2002


New State:



Disconnect the upstream label from the downstream label, free
upstream label and resources

Send the event `Internal DeleteUpstream' to its Downstream
Control Block's state machine

Send the event `Internal Destroy' to the Next_Hop_Trigger_Block'
state machine if the LSR was in the middle of switching over
the better next hop

Delete the control block

State:

Event: Internal Downstream

New State: Depends on the action routine



If it uses independent mode, set its state to `IDLE' and create
internal `LDP Request' and send to its own state machine


Disconnect the upstream label from the downstream label

Propagate the LDP-WITHDRAW upstream and go to
`RELEASE_AWAITED'.

Send the event `Internal Destroy' to the Next_Hop_Trigger_Block'
state machine if the LSR was in the middle of switching over
the better next hop

State:

Event: LDP Upstream

New State:



Ignore the event





Boscher, et al. Informational [Page 43]

RFC 3215 LDP State Machine January 2002


Note: This scenario can occur if the upstream LSR sends a LDP
ABORT at about the same time as the local LSR sends a LDP-MAPPING
In this situation, it should be up to exactly one of the two
as to whether or not the label that was sent remains valid.
LDP specification [4] procedures leave the choice to the
LSR that must send an LDP-RELEASE if it will not use the
provided

State:

Event: Internal Downstream

New State: Depends on the action routine

Actions

If it uses independent mode, set its state to `IDLE' and create
internal `LDP Request' and send to its own state machine


Disconnect the upstream label from the downstream

Send an LDP-WITHDRAW upstream and go to
`RELEASE_AWAITED'.

Send the event `Internal Destroy' to the Next_Hop_Trigger_Block'
state machine if the LSR was in the middle of switching over
the better next hop

State:

Event: Upstream

New State:

Actions

Disconnect the upstream label from the downstream label, free
upstream label and the resources

Send the event `Internal DeleteUpstream' to its Downstream
Control Block's state machine

Send the event `Internal Destroy' to the Next_Hop_Trigger_Block'
state machine if the LSR was in the middle of switching over
the better next hop

Delete the control block



Boscher, et al. Informational [Page 44]

RFC 3215 LDP State Machine January 2002


State:

Event: Internal Re-Cross-

New State:

Actions

Reconnect the upstream label to the new downstream label

Send the event `Internal DeleteUpstream' to its old Downstream
Control Block's state machine

State:

Event: Internal New

New State:

Actions

Create a new Next_Hop_Trigger_Control_Block and pass
`Internal New NH' to its state machine

2.3.3.4.4 State -- "RELEASE_AWAITED

State: RELEASE_

Event: LDP

New State: RELEASE_

Actions

Ignore the event. It is a protocol error from the upstream LSR

State: RELEASE_

Event: Internal Downstream

New State: RELEASE_

Actions

Ignore the event. It is an internal implementation error

State: RELEASE_




Boscher, et al. Informational [Page 45]

RFC 3215 LDP State Machine January 2002


Event: LDP

New State:

Actions

Free the upstream label resource and delete the control block

State: RELEASE_

Event: Internal Downstream

New State: RELEASE_

Actions

Ignore the event. It is a protocol error from the downstream LSR

State: RELEASE_

Event: LDP Upstream

New State:

Actions

Free the upstream label resource and delete the control block

State: RELEASE_

Event: Internal Downstream

New State: RELEASE_

Actions

Ignore the event. And continue waiting for the LDP-RELEASE

State: RELEASE_

Event: Upstream

New State:

Actions

Free the upstream label resource and delete the control block




Boscher, et al. Informational [Page 46]

RFC 3215 LDP State Machine January 2002


State: RELEASE_

Event: Internal New

New State: RELEASE_

Actions

Ignore the event. And continue waiting for the LDP-RELEASE

State: RELEASE_

Event: Internal Re-Cross-

New State: RELEASE_

Actions

Ignore the event. It is an internal implementation error

2.3.3.5 State of the Downstream LSP Control Block's State Machine