Subject: [mpls] RFC5036 (LDP) - request for interpretation

From: Sharpe Tarikh <[email-masked]>
Date: Thu, 12 Mar 2009 16:26:23 +0400

Hi all,

I have been reading through RFC5036 and there is a bit of ambiguity (at least as far as I am concerned) about how the "Max PDU Length" is to be interpreted.

According to section 3.5.3, the "Max PDU Length" field of the LDP Initialization message is:

[RFC5036 section 3.5.3]
    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.

Having read this, it would seem to suggest that this parameter is to be interpreted as the length of the entire LDP PDU, including all overhead fields. Therefore, if for example a Max PDU Length of 4096 is negotiated, it would seem to suggest that size of the entire LDP PDU would be no more than 4096 octets (including the Version and PDU Length fields).

Now, if we turn to section 3.1, we are given a description of the "PDU Length" field in the LDP Header. The description reads as follows:

[RFC5036 section 3.1]
    PDU Length

    Two octet integer specifying the total length of this PDU in
    octets, excluding the Version and PDU Length fields.

Taking this and my interpretation of section 3.5.3, if a Max PDU Length of 4096 has been negotiated, then the maximum value of the "PDU Length" field of an LDP PDU should now be 4092 octets (taking away the 4 octets for the Version and PDU Length fields), to ensure that the maximum length of the complete LDP PDU does not exceed 4096.

However, if I move further down the description of the "PDU length" field in section 3.1, I see the following:

[RFC5036 section 3.1]

    The maximum allowable PDU Length is negotiable when an LDP session
    is initialized. Prior to completion of the negotiation, the
    maximum allowable length is 4096 bytes.

Now, the point of confusion for me here is the term "PDU Length". In this description, does the term refer to the "PDU Length" field of the LDP header or the size of a maximum-length PDU. If it is the former, it invalidates my assumption from section 3.5.3 as the maximum PDU length would now be 4100. If it is the latter (which I think it should be) then I think this statement should be cleared up to explicitly state that .

While this may seem an exercise in pedantry, I have encountered two implementations which are treating this differently. One believes that a negotiated Max PDU Length of 4096 allows them to send LDP PDUs with a size of 4100, while the other restricts the total PDU size to no more than 4096. Which one is correct ? Or is it the case that there really is a bit of ambiguity here that needs to be fixed up ?

Your kind responses are greatly appreciated.

Sharpe

_________________________________________________________________
Invite your mail contacts to join your friends list with Windows Live Spaces. It's easy!
http://spaces.live.com/spacesapi.aspx?wx_action=create&wx_url=/friends.aspx&mkt=en-us