Internet Draft                                   Bala Rajagopalan
draft-bala-uni-signaling-extensions-00.txt          Tellium, Inc.
Expiration : December, 10, 2002

         LMP, LDP and RSVP Extensions for Optical UNI Signaling


1. Status of this Memo

   This document is an Internet-Draft and is in full conformance with
   all provisions of Section 10 of RFC2026.

   Internet-Drafts are working documents of the Internet Engineering
   Task Force (IETF), its areas, and its working groups.  Note that
   other groups may also distribute working documents as Internet-
   Drafts.

   Internet-Drafts are draft documents valid for a maximum of six
   months and may be updated, replaced, or obsoleted by other documents
   at any time.  It is inappropriate to use Internet-Drafts as
   reference material or to cite them other than as "work in progress".

   The list of current Internet-Drafts can be accessed at
   http://www.ietf.org/ietf/1id-abstracts.txt

   The list of Internet-Draft Shadow Directories can be accessed at
   http://www.ietf.org/shadow.html.



2. Abstract

   The Optical Interworking Forum (OIF) has defined extensions to the
   Link Management Protocol (LMP), the Label Distribution Protocol
   (LDP) and the Resource reServation Protocol (RSVP) for optical User
   Network Interface (UNI) signaling. These extensions consist of a set
   of new messages and data objects. This draft describes these
   extensions.

3. Introduction

   The OIF UNI signaling specification is described in [UNI]. This
   specification utilizes IETF protocol standards as well as IETF work
   in progress. Specifically, the following IETF specifications are
   used:
   o    Link management protocol (LMP) [LMP]
   o    Label distribution protocol (LDP) [LDP]
   o    Resource reservation protocol (RSVP) [RSVP]
   o    GMPLS signaling and GMPLS extensions for SONET/SDH [GMPLS
        SONET]
   o    GMPLS RSVP-TE and CR-LDP extensions [GMPLS RSVP-TE][GMPLS CR-
        LDP]



                                                           Page 1 of 9

              draft-oif-uni-signaling-extensions-00.txt


   The aim of the OIF UNI specification is the maximal re-use of IETF
   protocol definitions. A few extensions to IETF protocols, however,
   have been defined to serve UNI-specific needs. These extensions are
   described in this draft.

4. LMP Extensions for UNI Signaling

   UNI service discovery utilizes extensions to LMP. These extensions
   consist of three new LMP messages and one new LMP data object class.
   The new LMP messages defined are: ServiceConfig, ServiceConfigAck,
   and ServiceConfigNack. These are described below:

4.1 ServiceConfig (Message Type = 50, To Be Assigned)

   The format of the ServiceConfig message is as follows:

   <ServiceConfig Message> ::= <Common Header> <LOCAL_NODE_ID>
                               <MESSAGE_ID>
                               <Service Config>

   Where

   <Common Header> is the LMP common header [LMP]
   <LOCAL_NODE_ID> is the LMP Object (Class = 3, C-Type = 1)[LMP]
   <MESSAGE_ID>    is the LMP Object (Class = 9, C-Type = 1)[LMP]

   <ServiceConfig> is the new ServiceConfig Object Class (Class = 51,
                   TBA) as defined below.

   The manner in which ServiceConfig messages are sent and processed is
   described in [UNI].

4.2  ServiceConfigAck (Message Type = 51, TBA)

   The ServiceConfigAck message has the following format:

   <ServiceConfigAck Message> ::= <Common Header> <LOCAL_NODE_ID>
                                  <MESSAGE_ID_ACK>
   where:

   <Common Header> is the LMP common header [LMP]
   <LOCAL_NODE_ID> is the LMP Object (Class = 3, C-Type = 1)[LMP]
   <MESSAGE_ID_ACK> is the LMP Object (Class = 10, C-Type = 1)[LMP]

4.3  ServiceConfigNack  (Message Type = 52, TBA)

   The ServiceConfigNack message has the following format:

   <ServiceConfigNack Message> ::= <Common Header> <LOCAL_NODE_ID>
                                   <MESSAGE_ID_ACK> <ServiceConfig>,
                           where

   <Common Header> is the LMP common header [LMP]

                          Expires on 4/10/02               Page 2 of 9

              draft-oif-uni-signaling-extensions-00.txt


   <LOCAL_NODE_ID> is the LMP Object (Class = 3, C-Type = 1)[LMP]
   <MESSAGE_ID_ACK> is the LMP Object (Class = 10, C-Type = 1)[LMP]

   <ServiceConfig> is the new ServiceConfig Object Class (Class = 51,
   TBA) as defined below.

4.4  ServiceConfig Object

   The format of the ServiceConfig object is as follows:

       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
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |N|   C-Type    |Class=51 (TBA) |            Length             |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |                                                               |
      //               (ServiceConfig Object Content)                //
      |                                                               |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

   The following ServiceConfig Object Contents are currently defined
   [UNI]:

   Signaling Protocols: C-Type = 1
   Client Port-Level Service Attributes: C-Type = 2
   Network Transparency and TCM Monitoring: C-Type = 3
   Network Diversity: C-Type = 4

   The format of these objects is described in [UNI].

5. LDP Extensions for UNI Signaling

   The LDP extensions for UNI signaling consist of two new messages,
   new TLVs that capture UNI-specific parameters and new UNI-specific
   status codes. The new messages are Status Enquiry and Status
   Response. The new TLVs are Source ID (3 TLVs), Destination ID (3
   TLVs), Egress Label, Local Connection ID, Diversity, Contract ID,
   and UNI Service Level [UNI]. These are described below. The new
   status codes are assigned from the private use space of LDP codes,
   as described in [UNI].

5.1 Status Enquiry Message

   The encoding for the Status Enquiry 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
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |U|F|Status Enquiry (0x0420,TBA)|        Length                 |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   //                  Message Contents                           //
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+


                          Expires on 4/10/02               Page 3 of 9

              draft-oif-uni-signaling-extensions-00.txt


   The contents and usage of this message are described in [UNI].

5.2  Status Response Message

   The encoding for the Status Response 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
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |U|F|Status Enquiry (0x0421,TBA)|        Length                 |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   //                  Message Contents                           //
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

   The contents and usage of this message are described in [UNI].

5.3  Source ID TLVs

   Three TLVs are defined for Source ID. These are encoded as:

    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
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |U|F|Source ID Type             |      Length                   |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                                                               |
   ~                      Contents                                 ~
   |                                                               |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

   The three possible Source ID Types are:

   Ipv4:  Type = 0x0960   (TBA)
   Ipv6:  Type = 0x0961   (TBA)
   NSAP:  Type = 0x0962   (TBA)

   The content and usage of these TLVs are described in [UNI].

5.4  Destination ID TLVs

   Three TLVs are defined for Destination ID. These are encoded as:

    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
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |U|F|Dest ID Type             |        Length                   |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                                                               |
   ~                      Contents                                 ~
   |                                                               |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

   The three possible Dest ID Types are:

                          Expires on 4/10/02               Page 4 of 9

              draft-oif-uni-signaling-extensions-00.txt



   Ipv4:  Type = 0x0963   (TBA)
   Ipv6:  Type = 0x0964   (TBA)
   NSAP:  Type = 0x0965   (TBA)

   The content and usage of these TLVs are described in [UNI].

5.5  Egress Label TLV

   The Egress Label TLV is encoded as:

    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
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |U|F|Egress Label (0x966, TBA)  |        Length                 |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                                                               |
   ~                      Contents                                 ~
   |                                                               |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

   The content and usage of this TLV are described in [UNI].

5.6  Local Connection ID TLV

   The Local Connection ID TLV is encoded as:

    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
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |U|F|Local Conn. ID (0x967, TBA)|        Length                 |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                                                               |
   ~                      Contents                                 ~
   |                                                               |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

   The content and usage of this TLV are described in [UNI].

5.7  Diversity TLV

   The Diversity TLV is encoded as:

    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
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |U|F|Diversity (0x968, TBA)     |        Length                 |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                                                               |
   ~                      Contents                                 ~
   |                                                               |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+


                          Expires on 4/10/02               Page 5 of 9

              draft-oif-uni-signaling-extensions-00.txt


   The content and usage of this TLV are described in [UNI].

5.8  Contract ID TLV

   The Contract ID TLV is encoded as:

    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
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |U|F|Contract ID (0x969, TBA)   |        Length                 |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                                                               |
   ~                      Contents                                 ~
   |                                                               |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

   The content and usage of this TLV are described in [UNI].

5.9  UNI Service Level TLV

   The UNI Service Level TLV is encoded as:

    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
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |U|F|Contract ID (0x970, TBA)   |        Length                 |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                                                               |
   ~                      Contents                                 ~
   |                                                               |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

   The content and usage of this TLV are described in [UNI].

6. RSVP Extensions for UNI Signaling

   A single new object class, called "Generalized_UNI" is defined. In
   addition, extension to the RSVP session object and new UNI-specific
   error codes are defined. These are described below.

6.1  Generalized_UNI Object

   The GENERALIZED_UNI object has the following format:

    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
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |       Length (>8)             | Class-Num(TBA)|  C-Type (1)   |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   //                        (Subobjects)                         //
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

   Subobjects:

                          Expires on 4/10/02               Page 6 of 9

              draft-oif-uni-signaling-extensions-00.txt



   The contents of a GENERALIZED_UNI object are a series of variable-
   length data items.  The common format of the sub-objects is shown
   below:

    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
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |       Length                  |    Type       |  Sub-Type     |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   //                             Value                           //
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

   The following sub-objects are defined. The contents of these sub-
   objects are described in [UNI]:

   - Source TNA Address sub-object: Type = 1.
         The following sub-types are defined:
                Ipv4 (Sub-type = 1);
                Ipv6 (Sub-type = 2);
                NSAP (Sub-type = 3).

   - Destination TNA Address sub-object: Type = 2;
          The following sub-types are defined:
                Ipv4 (Sub-type = 1);
                Ipv6 (Sub-type = 2);
                NSAP (Sub-type = 3).

   - Diversity sub-object: Type = 3, Sub-type = 1.
   - Egress label sub-object: Type = 4, Sub-type = 1.
   - Service level sub-object: Type = 5, Sub-type = 1.

6.2  UNI_Ipv4_Session Object

   This object [RSVP-TE] has the following format:

   UNI_ IPv4_SESSION object: Class = 1, C-Type = TBA

    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
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |       Length (16)             | Class-Num(1)  |  C-Type (TBA) |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                         IPv4 Address                          |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |       MUST be zero            |      Tunnel ID                |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                   Extended IPv4 Address                       |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

   The C-Type value (to be assigned) will distinguish UNI-related RSVP
   Sessions  from other RSVP sessions. The usage of this object is
   described in [UNI].

                          Expires on 4/10/02               Page 7 of 9

              draft-oif-uni-signaling-extensions-00.txt



6.3  Error Codes

     UNI-specific errors fall under the "Routing Problem" (error code =
     24) [RSVP-TE] and "Policy Control Failure" (error code = 2) [RSVP]
     errors, and they require the assignment of sub-codes. The
     following is the list of errors and proposed assignments of sub-
     codes:

   - Routing Problem: Diversity not available (Error code = 24, sub-
     code = 100)
   - Routing Problem: Service level not available (Error code = 24,
     sub-code = 101)
   - Routing problem: Invalid/Unknown connection ID (Error code = 24,
     sub-code = 102)
   - Policy control failure: Unauthorized sender (Error code = 2, sub-
     code = 100)
   - Policy control failure: Unauthorized receiver (Error code = 2,
     sub-code = 101)


7. IANA Considerations

   The OIF UNI 1.0 specification defines new messages, objects and
   error codes under LMP, LDP and RSVP. Majority of these extensions
   require code point assignments via IETF consensus action.  These are
   summarized below.

7.1 LMP Messages and Objects

   Proposed message types 50, 51 and 52 as described in Sections 4.1,
   4.2 and 4.3 above.

   Proposed object class 51 as described in Section 4.4 above. The C-
   types under this class need not be administered by IANA, as this
   class is UNI-specific.

7.2 LDP Messages, TLVs and Status Codes

   Proposed message types 0x0420 and 0x0421 as described in Sections
   5.1 and 5.2, respectively.

   Proposed TLV types 0x0960 - 0x0970 as described in Sections 5.3 -
   5.9 above.

   UNI-specific status codes have been allocated out of the Private Use
   space, i.e., 0x3Fxxxxxx. These do not require IANA administration.

7.3 RSVP Object Class and Error Codes

   Proposed Generalized_UNI object class (Section 6.1), Class Number to
   be assigned (of the form 11bbbbbb).The C-types within this class
   need not be administered by IANA.

                          Expires on 4/10/02               Page 8 of 9

              draft-oif-uni-signaling-extensions-00.txt



   Proposed UNI_Ipv4_Session Object (Class-Num = 1, C-Type = TBA), as
   described in Section 6.2.

   UNI-specific errors fall under the Routing Problem and Policy
   Control Failure errors (error codes 24 and 2). Proposed sub-codes
   under error code 24 are 100, 101 and 102, as described in Section
   6.2. Proposed sub-codes under error code 2 are 100 and 101, as
   described in Section 6.3.


8. References

   [GMPLS SIG] P. Ashwood-Smith, et al., "Generalized MPLS - Signaling
   Functional Description", Internet Draft, draft-ietf- mpls-
   generalized-signaling-06.txt, Work in Progress.

   [GMPLS RSVP-TE] P. Ashwood-Smith, et al., "Generalized MPLS - RSVP-
   TE Extensions", Internet Draft, draft-ietf-mpls-generalized-rsvp-te-
   -05.txt, Work in Progress.

   [GMPLS CR-LDP] P. Ashwood-Smith, et al., "Generalized MPLS - CR-LDP
   Extensions", Internet Draft, draft-ietf-mpls-generalized-cr-ldp-
   03.txt, Work in Progress.


   [GMPLS SONET] E. Mannie, et al., "GMPLS Extensions for SONET and SDH
   Control," Internet Draft, draft-ietf-ccamp-gmpls-sonet-sdh-01.txt,
   Work in Progress.

   [LMP] J.P Lang, et al, "Link Management Protocol", Internet Draft,
   draft-ietf-ccamp-lmp-01.txt, Work in Progress.

   [RSVP] R. Braden, et al, "RSVP Functional Specification", RFC 2205.

   [RSVP-TE] D. Awduche, et al., "RSVP-TE: Extensions to RSVP for LSP
   Tunnels," draft-ietf-mpls-rsvp-lsp-tunnel-09.txt, Work in
   Progress.

   [UNI]  UNI 1.0 Signaling Specification, The Optical Internetworking
   Forum,  http://www.oiforum.com/public/liaisondocs.htm


9. Author Information

   Bala Rajagopalan
   Tellium, Inc.
   2 Crescent Place
   Ocean Port, NJ 07757
   Ph: +1-732-923-4237
   Email: braja@tellium.com




                          Expires on 4/10/02               Page 9 of 9