Subject: LDP to Draft Standard - implementation survey

From: Loa Andersson <[email-masked]>
Date: Tue, 13 Aug 2002 17:18:25 +0200

LDP to Draft Standard

  As protocols gets implemented and deployed, there is an IETF process
  to take them further on the standrads track. LDP is a protocol that
  has been both widely implemented and deployed, we will therefore
  start the process to progress LDP to Draft Standard.

  Included is an "LDP Implemenation Survey Form", it specifies in
  some detail the information needed to take this step. We ask
  companies and other organizations that have implemented LDP to take
  the time and answer the questions. The result of the survey will
  be made available as an Internet Draft, the time schedule depends
  very much on that we have the responses in a timely fashion.

  Send the response to the Bob Thomas, who will act as Internet Draft
  editor for the resulting summary document:

  [email-masked]

  with a Cc to the wg chairs and the mpls list:

  [email-masked]
  [email-masked]
  [email-masked]

  Earlier experiences with this kind of survey indicates that there
  are always a few that likes to respond anonymously, if you want to
  do that send the response to our AD, Scott Bradner:

  [email-masked]

  We want to stress the importance of getting the highest possible
  number of responses, since it is important to create a protocol
  specification of highest possible quality. If there are further
  questions contact the wg chairs.

    Loa and George

=====================================================================

LDP Implementation Survey Form [V 1.0]

The purpose of this form is to gather information about implementations
of LDP as defined by RFC3036.  The information is being requested as
part of the process of advancing LDP from Proposed to Draft Standard.

The form is patterned after the implementation report form used
for HTTP/1.1; see:

   http://www.ietf.org/IESG/Implementations/http1.1-implementations.txt

=======================================================================
A. General information.

Please provide the following information.
----------------------------------------------------------------

Organization:

Organization url(s):

----------------------------------------------------------------

Product title(s):

Brief description(s):

----------------------------------------------------------------

Contact for LDP information
    Name:
    Title:
    E-mail:
    Organization/department:
    Postal address:
    Phone:
    Fax:

=======================================================================
B. LDP Implementation Status, Availability, Origin

Please check [x] the boxes that apply.
----------------------------------------------------------------

Status:
      [ ]  Development
      [ ]  Alpha
      [ ]  Beta
      [ ]  Product
      [ ]  Other (describe):

Availability
      [ ]  Public and free
      [ ]  Only to selected organizations/companies but free
      [ ]  On sale.
      [ ]  For internal company use only
      [ ]  Other:

Implementation based on:  (check all that apply)
      [ ]  Purchased code
           (please list source if possible)
      [ ]  Free code
           (please list source if possible)
      [ ]  Internal implementation
           (no outside code, just from specs)
      [ ]  Internal implementation on top of purchased
           or free code
           List portions from external source:
           List portions developed internally:

=======================================================================
C. LDP Feature Survey.

For each features listed, please indicate the Status of the implementation
using one of the following:

     't'   tested against another independent implementation
     'y'   implemented but not tested against independent implementation
     'n'   not implemented
     '-'   not applicable to this type of implementation

     Optional: For 'n' status, indicate reason not implemented using
               one of the following:

             's'  RFC specification inadequate, unclear, or confusing
             'u'  utility of feature unclear
             'r'  feature not required for feature set implemented

------------------+-----------------------------+-------------------------
                   |                             | Status (one of t, y, n -
                   |                             |   If n, optionally one of
Feature           | RFC3036 Section(s)          |   s, u, r)
==================+=============================+=========================
Interface types   | 2.2.1, 2.5.3, 2.8.2, 3,4,2
   ----------------+-----------------------------+-------------------------
   Packet          |                             |
   ----------------+-----------------------------+-------------------------
   Frame Relay     |                             |
   ----------------+-----------------------------+-------------------------
   ATM             |                             |
==================+=============================+=========================
Label Spaces      | 2.2.1, 2.2.2
   ----------------+-----------------------------+-------------------------
   Per platform    |                             |
   ----------------+-----------------------------+-------------------------
   Per interface   |                             |
==================+=============================+=========================
LDP Discovery     | 2.4
   ----------------+-----------------------------+-------------------------
   Basic           | 2.4.1                       |
   ----------------+-----------------------------+-------------------------
   Targeted        | 2.4.2                       |
------------------+-----------------------------+-------------------------
LDP Sessions      | 2.2.3
   ----------------+-----------------------------+-------------------------
   Directly        | --                          |
   Connected       |                             |
   ----------------+-----------------------------+-------------------------
   Targeted        | 2.3                         |
==================+=============================+=========================
LDP Modes         | 2.6
   ----------------+-----------------------------+-------------------------
   DU, Ind cntl,   | 2.6                         |
   Lib retention   |                             |
   ----------------+-----------------------------+-------------------------
   DU, Ord cntl,   | 2.6                         |
   Lib retention   |                             |
   ----------------+-----------------------------+-------------------------
   DU, Ind cntl,   | 2.6                         |
   Cons retention  |                             |
   ----------------+-----------------------------+-------------------------
   DU, Ord cntl,   | 2.6                         |
   Cons retention  |                             |
   ----------------+-----------------------------+-------------------------
   DoD, Ind cntl,  | 2.6                         |
   Lib retention   |                             |
   ----------------+-----------------------------+-------------------------
   DoD, Ord cntl,  | 2.6                         |
   Lib retention   |                             |
   ----------------+-----------------------------+-------------------------
   DoD, Ind cntl,  | 2.6                         |
   Cons retention  |                             |
   ----------------+-----------------------------+-------------------------
   DoD, Ord cntl,  | 2.6                         |
   Cons retention  |                             |
==================+=============================+=========================
Loop Detection    | 2.8                         |
==================+=============================+=========================
TCP MD5 Option    | 2.9                         |
==================+=============================+=========================
LDP TLVs          | 3.3, 3.4, throughout
   ----------------+-----------------------------+-------------------------
   U-bit           | 3.3                         |
   ----------------+-----------------------------+-------------------------
   F-bit           | 3.3                         |
------------------+-----------------------------+-------------------------
   FEC             | 1., 2.1, 3.4.1              |
   ----------------+-----------------------------+-------------------------
     Wildcard      | 3.4.1                       |
   ----------------+-----------------------------+-------------------------
     Prefix        | 2.1, 3.4.1                  |
   ----------------+-----------------------------+-------------------------
     Host          | 2.1, 3.4.1                  |
------------------+-----------------------------+-------------------------
   Address List    | 3.4.3                       |
------------------+-----------------------------+-------------------------
   Hop Count       | 3.4.4                       |
------------------+-----------------------------+-------------------------
   Path Vector     | 3.4.5                       |
------------------+-----------------------------+-------------------------
   Generic Label   | 3.4.2.1                     |
------------------+-----------------------------+-------------------------
   ATM Label       | 3.4.2.2                     |
------------------+-----------------------------+-------------------------
   Frame Relay     | 3.4.2.3                     |
   Label           |                             |
------------------+-----------------------------+-------------------------
   Status          | 3.4.6                       |
------------------+-----------------------------+-------------------------
   Extended Status | 3.5.1                       |
------------------+-----------------------------+-------------------------
   Returned PDU    | 3.5.1                       |
------------------+-----------------------------+-------------------------
   Returned Message| 3.5.1                       |
------------------+-----------------------------+-------------------------
   Common Hello    | 3.5.2                       |
   Parameters      |                             |
   ----------------+-----------------------------+-------------------------
     T-bit         | 3.5.2                       |
   ----------------+-----------------------------+-------------------------
     R-bit         | 3.5.2                       |
   ----------------+-----------------------------+-------------------------
     Hold Time     | 3.5.2                       |
------------------+-----------------------------+-------------------------
   IPv4 Transport  | 3.5.2                       |
   Address         |                             |
------------------+-----------------------------+-------------------------
   Configuration   | 3.5.2                       |
   Sequence Number |                             |
------------------+-----------------------------+-------------------------
   IPv6 Transport  | 3.5.2                       |
   Address         |                             |
------------------+-----------------------------+-------------------------
   Common Session  | 3.5.3                       |
   Parameters      |                             |
   ----------------+-----------------------------+-------------------------
     KeepAlive Time| 3.5.3                       |
   ----------------+-----------------------------+-------------------------
     PVLim         | 3.5.3                       |
   ----------------+-----------------------------+-------------------------
     Max PDU Length| 3.5.3                       |
------------------+-----------------------------+-------------------------
   ATM Session     | 3.5.3                       |
   Parameters      |                             |
   ----------------+-----------------------------+-------------------------
     M values      |                             |
       0 No Merge  | 3.5.3                       |
       ------------+-----------------------------+-------------------------
       1 VP Merge  | 3.5.3                       |
       ------------+-----------------------------+-------------------------
       2 VC Merge  | 3.5.3                       |
       ------------+-----------------------------+-------------------------
       3 VP & | 3.5.3                       |
         VC Merge  |                             |
   ----------------+-----------------------------+-------------------------
     D-bit         | 3.5.3                       |
   ----------------+-----------------------------+-------------------------
     ATM Label     | 3.5.3                       |
     Range         |                             |
     Component     |                             |
------------------+-----------------------------+-------------------------
   Frame Relay     | 3.5.3                       |
   Session         |                             |
   Parameters      |                             |
------------------+-----------------------------+-------------------------
     M values      |                             |
       0 No Merge  | 3.5.3                       |
       ------------+-----------------------------+-------------------------
       1 Merge     | 3.5.3                       |
   ----------------+-----------------------------+-------------------------
     D-bit         | 3.5.3                       |
   ----------------+-----------------------------+-------------------------
     Frame Relay   | 3.5.3                       |
     Label Range   |                             |
     Component     |                             |
   ----------------+-----------------------------+-------------------------
   Label Request   | 3.5.7                       |
   Message ID      |                             |
------------------+-----------------------------+-------------------------
   Vendor-Private  | 3.6.1.1                     |
------------------+-----------------------------+-------------------------
   Experimental    | 3.6.2                       |
==================+=============================+=========================
LDP Messages      | 3.5, throughout
------------------+-----------------------------+-------------------------
   Notification    | 3.5.1                       |
------------------+-----------------------------+-------------------------
   Hello           | 3.5.2                       |
------------------+-----------------------------+-------------------------
   Initialization  | 3.5.3                       |
------------------+-----------------------------+-------------------------
   KeepAlive       | 3.5.4                       |
------------------+-----------------------------+-------------------------
   Address         | 3.5.5                       |
------------------+-----------------------------+-------------------------
   Address Withdraw| 3.5.6                       |
------------------+-----------------------------+-------------------------
   Label Mapping   | 3.5.7                       |
   ----------------+-----------------------------+-------------------------
     Label Request | 3.5.7                       |
     Message ID TLV|                             |
   ----------------+-----------------------------+-------------------------
     Hop Count TLV | 3.5.7                       |
   ----------------+-----------------------------+-------------------------
     Path Vect TLV | 3.5.7                       |
------------------+-----------------------------+-------------------------
   Label Request   | 3.5.8                       |
   ----------------+-----------------------------+-------------------------
     Hop Count TLV | 3.5.8                       |
   ----------------+-----------------------------+-------------------------
     Path Vect TLV | 3.5.8                       |
------------------+-----------------------------+-------------------------
   Label Withdraw  | 3.5.10                      |
   ----------------+-----------------------------+-------------------------
     Label TLV     | 3.5.10                      |
------------------+-----------------------------+-------------------------
   Label Release   | 3.5.11                      |
   ----------------+-----------------------------+-------------------------
     Label TLV     | 3.5.11                      |
------------------+-----------------------------+-------------------------
   Label Abort Req | 3.5.9                       |
------------------+-----------------------------+-------------------------
   Vendor-Private  | 3.6.1.2                     |
------------------+-----------------------------+-------------------------
   Experimental    | 3.6.2                       |
==================+=============================+=========================
LDP Status Codes  | 3.4.6
------------------+-----------------------------+-------------------------
   Success         | 3.4.6, 3.9                  |
------------------+-----------------------------+-------------------------
   Bad LDP Id      | 3.5.1.2.1                   |
------------------+-----------------------------+-------------------------
   Bad Ptcl Version| 3.5.1.2.1                   |
------------------+-----------------------------+-------------------------
   Bad PDU Length  | 3.5.1.2.1                   |
------------------+-----------------------------+-------------------------
   Unknown Message | 3.5.1.2.1                   |
   Type            |                             |
------------------+-----------------------------+-------------------------
   Bad Message     | 3.5.1.2.1                   |
   Length          |                             |
------------------+-----------------------------+-------------------------
   Unknown TLV     | 3.5.1.2.2                   |
------------------+-----------------------------+-------------------------
   Bad TLV length  | 3.5.1.2.2                   |
------------------+-----------------------------+-------------------------
   Malformed TLV   | 3.5.1.2.2                   |
   Value           |                             |
------------------+-----------------------------+-------------------------
   Hold Timer      | 3.5.1.2.3                   |
   Expired         |                             |
------------------+-----------------------------+-------------------------
   Shutdown        | 3.5.1.2.4                   |
------------------+-----------------------------+-------------------------
   Loop Detected   | 3.4.5.1.2, 3.5.8.1          |
------------------+-----------------------------+-------------------------
   Unknown FEC     | 3.4.1.1                     |
------------------+-----------------------------+-------------------------
   No Route        | 3.5.8.1                     |
------------------+-----------------------------+-------------------------
   No Label        | 3.5.8.1                     |
   Resources       |                             |
------------------+-----------------------------+-------------------------
   Label Resources | 3.5.8.1                     |
   Available       |                             |
------------------+-----------------------------+-------------------------
   Session Rejected| 2.5.3, 3.5.3                |
   No Hello        |                             |
------------------+-----------------------------+-------------------------
   Session Rejected| 2.5.3, 3.5.3                |
   Parameters      |                             |
   Advert Mode     |                             |
------------------+-----------------------------+-------------------------
   Session Rejected| 2.5.3, 3.5.3                |
   Parameters      |                             |
   Max PDU Length  |                             |
------------------+-----------------------------+-------------------------
   Session Rejected| 2.5.3, 3.5.3                |
   Parameters      |                             |
   Label Range     |                             |
------------------+-----------------------------+-------------------------
   KeepAlive Timer | 2.5.6, 3.5.1.2.3            |
   Expired         |                             |
------------------+-----------------------------+-------------------------
   Label Request   | 3.5.9.1                     |
   Aborted         |                             |
------------------+-----------------------------+-------------------------
   Missing Message | 3.5.1.2.1                   |
   Parameters      |                             |
------------------+-----------------------------+-------------------------
   Unsupported     | 3.4.1.1, 3.5.5.1            |
   Address Family  |                             |
------------------+-----------------------------+-------------------------
   Session Rejected| 3.5.1.2.5, 3.5.3            |
   Bad KeepAlive   |                             |
   Time            |                             |
------------------+-----------------------------+-------------------------
   Internal Error  | 3.5.1.2.7                   |
==================+=============================+=========================

-- 
     Loa Andersson
     Chief Architect,
     Utfors Research, Architecture and Future Lab (URAX)
     Utfors AB
     Råsundavägen 12
     Box 525, 169 29 Solna
     Office          +46 8 5270 2000
     Office direct   +46 8 5270 5038
     Mobile          +46 70 848 5038
     Email           [email-masked]
     WWW             www.utfors.se

---

From: Morvan Daniel Müller <[email-masked]>
Date: Wed, 21 Aug 2002 19:34:45 -0300

Hello!

Excuse me about erros, my english is poor :)!.

At 17:18 13/08/2002 +0200, you wrote:
>...
>================+=============================+========================
>TCP MD5 Option  | 2.9                         |
>================+=============================+========================
...

About "TCP MD5 Option" into LDP I have some doubts about inform locally, in
each LSR, all possible peers and respective keys, like:
LSR A local confuguration:
LDP Authentication Option = enabled
lsr-peer-idC : md5-keyC
lsr-peer-idB : md5-keyB
...

Considering that "TCP MD5 Option" is a global option on the LSR, i.e., if 
the authentication=ON this LSR only talk with peers who could authenticate
(know the md5-key), OK?

Consider a mpls domain:
C
|
|
A--- B ------- E
|              |
|              |
D              F

If you configure A with auth=ON. You need configure B, C and D with auth=ON
and inform the md5-key, to permit talking between they.
If B have auth=ON it only could speack with E if it have too auth=ON and
know the Md5-key, on so on ...

How is the MD5 Auth OPtion implemented in the LSR police:

1) you could inform that any peer can speak without authenticate and only
especific peers need authenticate. I think No, is no meaning!

2) you could identify local domain sessions and permit it, and supply
authentication for external domain sessions, or indirect (non adjacent)
sessions? if so, how its possible identify such session? (I think in
stack-bit, but local domains LSRs can too use label stacking for especial
situations like traffic eng., etc..)

3) Ldp authentication is based on the LSR physical interface? So you can
suplly authentication for specific LSR interfaces (like LERs ingress
interfaces) and for internal domain interfaces don't supply authentication.

4) Its necessary configure manually all LSRs in the mpls domain to talk
with each other, by inform all possible ldp_peers and respective md5-key.
It will be a problem for scale?

I may miss-understood something in this environment, please coul'd someone
clarify me?

Thanks, 

Morvan.

---

From: Ina Minei <[email-masked]>
Date: Wed, 21 Aug 2002 16:30:51 -0700 (PDT)

Section 2.9.2 of RFC3036 requires that md5 authentication be
turned on through configuration, on a per/peer basis.

"An LSR that uses the MD5 Signature Option is configured with a
password (shared secret) for each potential LDP peer."

	If you look at existing implementations, you will notice one way
to implement this is to identify the peer by its address. As you
mentioned in your mail, this requires configuration. However, usually one
would use authentication on the untrusted peerings only, so there wouldn't
be a need for a full mesh.

			Ina Minei

---

From: Morvan Daniel Müller <[email-masked]>
Date: Thu, 22 Aug 2002 02:02:41 -0300

Hi Ina!

>password (shared secret) for each potential LDP peer."

ok.

>mentioned in your mail, this requires configuration. 

ok.

>However, usually one

rigth, is a valid and a simple solution. (Police = allow all and deny
especific cases).
One problem is address spoofing! 

Thank you very much,

Morvan.