Skip to main content

3.5.3. Initialization Message

The LDP Initialization message is exchanged as part of the LDP session establishment procedure; see Section "LDP Session Establishment".

The encoding for the Initialization message is:

 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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|0| Initialization (0x0200) | Message Length |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Message ID |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Common Session Parameters TLV |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Optional Parameters |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

Message ID 32-bit value used to identify this message.

Common Session Parameters TLV Specifies values proposed by the sending LSR for parameters that must be negotiated for every LDP session.

The encoding for the Common Session Parameters TLV is:

    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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|0|0| Common Sess Parms (0x0500)| Length |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Protocol Version | KeepAlive Time |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|A|D| Reserved | PVLim | Max PDU Length |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Receiver LDP Identifier |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| |
-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-++

Protocol Version Two octet unsigned integer containing the version number of the protocol. This version of the specification specifies LDP protocol version 1.

KeepAlive Time Two octet unsigned non zero integer that indicates the number of seconds that the sending LSR proposes for the value of the KeepAlive Time. The receiving LSR MUST calculate the value of the KeepAlive Timer by using the smaller of its proposed KeepAlive Time and the KeepAlive Time received in the PDU. The

  value chosen for KeepAlive Time indicates the maximum number of
seconds that may elapse between the receipt of successive PDUs
from the LDP peer on the session TCP connection. The KeepAlive
Timer is reset each time a PDU arrives.

A, Label Advertisement Discipline Indicates the type of Label advertisement. A value of 0 means Downstream Unsolicited advertisement; a value of 1 means Downstream On Demand.

  If one LSR proposes Downstream Unsolicited and the other
proposes Downstream on Demand, the rules for resolving this
difference is:

- If the session is for a label-controlled ATM link or a
label-controlled Frame Relay link, then Downstream on Demand
MUST be used.

- Otherwise, Downstream Unsolicited MUST be used.

If the label advertisement discipline determined in this way
is unacceptable to an LSR, it MUST send a Session
Rejected/Parameters Advertisement Mode Notification message
in response to the Initialization message and not establish
the session.

D, Loop Detection Indicates whether Loop Detection based on Path Vectors is enabled. A value of 0 means that Loop Detection is disabled; a value of 1 means that Loop Detection is enabled.

PVLim, Path Vector Limit The configured maximum Path Vector length. MUST be 0 if Loop Detection is disabled (D = 0). If the Loop Detection procedures would require the LSR to send a Path Vector that exceeds this limit, the LSR will behave as if a loop had been detected for the FEC in question.

  When Loop Detection is enabled in a portion of a network, it is
recommended that all LSRs in that portion of the network be
configured with the same Path Vector limit. Although knowledge
of a peer's Path Vector limit will not change an LSR's
behavior, it does enable the LSR to alert an operator to a
possible misconfiguration.

Reserved This field is reserved. It MUST be set to zero on transmission and ignored on receipt.

Max PDU Length Two octet unsigned integer that proposes the maximum allowable length for LDP PDUs for the session. A value of 255 or less specifies the default maximum length of 4096 octets.

  The receiving LSR MUST calculate the maximum PDU length for the
session by using the smaller of its and its peer's proposals
for Max PDU Length. The default maximum PDU length applies
before session initialization completes.

If the maximum PDU length determined this way is unacceptable
to an LSR, it MUST send a Session Rejected/Parameters Max PDU
Length Notification message in response to the Initialization
message and not establish the session.

Receiver LDP Identifier Identifies the receiver's label space. This LDP Identifier, together with the sender's LDP Identifier in the PDU header, enables the receiver to match the Initialization message with one of its Hello adjacencies; see Section "Hello Message Procedures".

  If there is no matching Hello adjacency, the LSR MUST send a
Session Rejected/No Hello Notification message in response to
the Initialization message and not establish the session.

Optional Parameters This variable length field contains 0 or more parameters, each encoded as a TLV. The optional parameters are:

Optional Parameter Type Length Value

   ATM Session Parameters   0x0501   var     See below
Frame Relay Session 0x0502 var See below
Parameters

ATM Session Parameters Used when an LDP session manages label exchange for an ATM link to specify ATM-specific session parameters.

    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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|0|0| ATM Sess Parms (0x0501) | Length |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| M | N |D| Reserved |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| ATM Label Range Component 1 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| |
~ ~
| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| ATM Label Range Component N |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

M, ATM Merge Capabilities Specifies the merge capabilities of an ATM switch. The following values are supported in this version of the specification:

        Value          Meaning
              0            Merge not supported
1 VP Merge supported
2 VC Merge supported
3 VP & VC Merge supported
  If the merge capabilities of the LSRs differ, then:

- Non-merge and VC-merge LSRs may freely interoperate.

- The interoperability of VP-merge-capable switches with non-
VP-merge-capable switches is a subject for future study.
When the LSRs differ on the use of VP merge, the session is
established, but VP merge is not used.

Note that if VP merge is used, it is the responsibility of the
ingress node to ensure that the chosen VCI is unique within the
LSR domain.

N, Number of label range components Specifies the number of ATM Label Range Components included in the TLV.

D, VC Directionality A value of 0 specifies bidirectional VC capability, meaning the LSR can (within a given VPI) support the use of a given VCI as a label for both link directions independently. A value of 1 specifies unidirectional VC capability, meaning (within a given VPI) a given VCI may appear in a label mapping for one direction on the link only. When either or both of the peers specifies unidirectional VC capability, both LSRs use unidirectional VC label assignment for the link as follows. The LSRs compare their LDP Identifiers as unsigned integers. The LSR with the larger LDP Identifier may assign only odd- numbered VCIs in the VPI/VCI range as labels. The system with the smaller LDP Identifier may assign only even-numbered VCIs in the VPI/VCI range as labels.

Reserved This field is reserved. It MUST be set to zero on transmission and ignored on receipt.

One or more ATM Label Range Components A list of ATM Label Range Components that together specify the Label range supported by the transmitting LSR.

  A receiving LSR MUST calculate the intersection between the
received range and its own supported label range. The
intersection is the range in which the LSR may allocate and
accept labels. LSRs MUST NOT establish a session with
neighbors for which the intersection of ranges is NULL. In
this case, the LSR MUST send a Session Rejected/Parameters
Label Range Notification message in response to the
Initialization message and not establish the session.

The encoding for an ATM Label Range Component is:
    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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Res | Minimum VPI | Minimum VCI |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Res | Maximum VPI | Maximum VCI |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  Res
This field is reserved. It MUST be set to zero on
transmission and MUST be ignored on receipt.

Minimum VPI (12 bits)
This 12-bit field specifies the lower bound of a block of
Virtual Path Identifiers that is supported on the
originating switch. If the VPI is less than 12 bits, it
SHOULD be right justified in this field and preceding bits
SHOULD be set to 0.

Minimum VCI (16 bits)
This 16-bit field specifies the lower bound of a block of
Virtual Channel Identifiers that is supported on the
originating switch. If the VCI is less than 16 bits, it
SHOULD be right justified in this field and preceding bits
SHOULD be set to 0.

Maximum VPI (12 bits)
This 12-bit field specifies the upper bound of a block of
Virtual Path Identifiers that is supported on the
originating switch. If the VPI is less than 12 bits, it
SHOULD be right justified in this field and preceding bits
SHOULD be set to 0.

Maximum VCI (16 bits)
This 16-bit field specifies the upper bound of a block of
Virtual Connection Identifiers that is supported on the
originating switch. If the VCI is less than 16 bits, it
SHOULD be right justified in this field and preceding bits
SHOULD be set to 0.

When peer LSRs are connected indirectly by means of an ATM VP, the sending LSR SHOULD set the Minimum and Maximum VPI fields to 0, and the receiving LSR MUST ignore the Minimum and Maximum VPI fields.

Frame Relay Session Parameters Used when an LDP session manages label exchange for a Frame Relay link to specify Frame Relay-specific session parameters.

    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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|0|0| FR Sess Parms (0x0502) | Length |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| M | N |D| Reserved |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Frame Relay Label Range Component 1 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| |
~ ~
| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Frame Relay Label Range Component N |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

M, Frame Relay Merge Capabilities Specifies the merge capabilities of a Frame Relay switch. The following values are supported in this version of the specification:

        Value          Meaning
              0            Merge not supported
1 Merge supported
  Non-merge and merge Frame Relay LSRs may freely interoperate.

N, Number of label range components Specifies the number of Frame Relay Label Range Components included in the TLV.

D, VC Directionality A value of 0 specifies bidirectional VC capability, meaning the LSR can support the use of a given DLCI as a label for both link directions independently. A value of 1 specifies unidirectional VC capability, meaning a given DLCI may appear in a label mapping for one direction on the link only. When either or both of the peers specifies unidirectional VC capability, both LSRs use unidirectional VC label assignment for the link as follows. The LSRs compare their LDP Identifiers as unsigned integers. The LSR with the larger LDP Identifier may assign only odd-numbered DLCIs in the range as labels. The system with the smaller LDP Identifier may assign only even-numbered DLCIs in the range as labels.

Reserved This field is reserved. It MUST be set to zero on transmission and ignored on receipt.

One or more Frame Relay Label Range Components A list of Frame Relay Label Range Components that together specify the Label range supported by the transmitting LSR.

  A receiving LSR MUST calculate the intersection between the
received range and its own supported label range. The
intersection is the range in which the LSR may allocate and
accept labels. LSRs MUST NOT establish a session with
neighbors for which the intersection of ranges is NULL. In
this case, the LSR MUST send a Session Rejected/Parameters
Label Range Notification message in response to the
Initialization message and not establish the session.

The encoding for a Frame Relay Label Range Component is:
    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 |Len| Minimum DLCI |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Reserved | Maximum DLCI |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

Reserved This field is reserved. It MUST be set to zero on transmission and ignored on receipt.

Len This field specifies the number of bits of the DLCI. The following values are supported:

        Len    DLCI Bits
            0       10
2 23
  Len values 1 and 3 are reserved.

Minimum DLCI This 23-bit field specifies the lower bound of a block of Data Link Connection Identifiers (DLCIs) that is supported on the originating switch. The DLCI SHOULD be right justified in this field and unused bits SHOULD be set to 0.

Maximum DLCI This 23-bit field specifies the upper bound of a block of Data Link Connection Identifiers (DLCIs) that is supported on the originating switch. The DLCI SHOULD be right justified in this field and unused bits SHOULD be set to 0.

Note that there is no Generic Session Parameters TLV for sessions that advertise Generic Labels.

3.5.3.1. Initialization Message Procedures​

See Section "LDP Session Establishment" and particularly Section "Session Initialization" for general procedures for handling the Initialization message.