Network Working Group                                 A. Lindem (Editor)
Internet-Draft                                        Cisco Systems, Inc
Expires: July August 8, 2005                                          N. Shen
                                                           Cisco Systems
                                                             R. Aggarwal
                                                        Juniper Networks
                                                              S. Shaffer
                                                     BridgePort Networks
                                                             JP. Vasseur
                                                      Cisco Systems, Inc
                                                        February 7, 2005

    Extensions to OSPF for Advertising Optional Router Capabilities

Status of this Memo

   This document is an Internet-Draft and is subject to all provisions
   of section 3 of RFC 3667.  By submitting this Internet-Draft, each
   author represents that any applicable patent or other IPR claims of
   which he or she is aware have been or will be disclosed, and any of
   which he or she become aware will be disclosed, in accordance with
   RFC 3668.

   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 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

   The list of Internet-Draft Shadow Directories can be accessed at

   This Internet-Draft will expire on July August 8, 2005.

Copyright Notice

   Copyright (C) The Internet Society (2005).

   It is useful for routers in an OSPF OSPFv2 or OSPFv3 routing domain to
   know the capabilities of their neighbors and other routers in the OSPF
   routing domain.  This draft proposes extensions to OSPF OSPFv2 and OSPFv3
   for advertising optional router capabilities.  A new Router
   Information (RI) opaque LSA is proposed for this purpose.

Table of Contents

   1.  Introduction . . . . . . . . . . . . . . . . . . . . . . . . .  3
   2.  OSPF Router Information (RI) Opaque LSA . . . . . . . . . . . . . . .  4
     2.1   OSPFv2 Router Information (RI) Opaque LSA  . . . . . . . .  4
     2.2   OSPFv3 Router Information (RI) Opaque LSA  . . . . . . . .  5
     2.3   OSPF Router Capabilities TLV . . . . . . . . . . . . . . .  5
     2.2   Reserved  6
     2.4   Assiged OSPF Router Capability Bits  . . . . . . . . . . .  6
     2.3  7
     2.5   Flooding Scope of the Router Information LSA . . . . . . .  6  7
   3.  Router Information LSA Opaque Usage and Applicability  . . . .  8  9
   4.  Security Considerations  . . . . . . . . . . . . . . . . . . .  9 10
   5.  IANA Considerations  . . . . . . . . . . . . . . . . . . . . . 10 11
   6.  References . . . . . . . . . . . . . . . . . . . . . . . . . . 11 12
   6.1   Normative References . . . . . . . . . . . . . . . . . . . . 11 12
   6.2   Informative References . . . . . . . . . . . . . . . . . . . 11 12
       Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . 11 12
   A.  Acknowledgments  . . . . . . . . . . . . . . . . . . . . . . . 13 14
       Intellectual Property and Copyright Statements . . . . . . . . 14 15

1.  Introduction

   It is useful for routers in an OSPF OSPFv2 [OSPF] or OSPFv3 [OSPFV3]
   routing domain to know the capabilities of their neighbors and other
   routers in the OSPF routing domain.  This can be useful for various applications:
   o  In MPLS Traffic Engineering (TE), it can be used as a discovery
      mechanism [TECAP] to announce a LSR's TE capabilities like Path
      Computation Server capability (Capability of an LSR to be a Path
      Computation Server for TE LSP path computation) or both the intention
      of an LSR to be part of a particular MPLS TE mesh group.
   o  For network management
   advertisement and troubleshooting.  It gives operators a
      network wide view of OSPF capabilities on different routers.  The
      presence discovery of a capability on a given router implies that the
      software version supports the capability OSPFv2 and OSPFv3 capabilities.
   Throughout this document, OSPF will be used when the router specification is
   applicable to support it.  On the other hand, the absence of an
      expected capability on a particular router can imply either
      misconfiguration both OSPFv2 and OSPFv3.  Similiarly, OSPFv2 or an incorrect software version.  Hence, this
      capability information can OSPFv3
   will be used to track problems resulting
      from misconfiguration or an incorrect software version. when the text is protocol specific.

   OSPF uses the options field in the LSAs and hello packet packets to advertise
   optional router capabilities [OSPF].  However, capabilities.  In the case of OSFPv2, all the bits in
   this field have been allocated and there is no way to advertise new
   optional or MPLS
   TE capabilities.  This document proposes extensions to OSPF to
   advertise these optional capabilities.  For existing OSPF
   capabilities, backward compatibility issues dictate that this
   advertisement will be is used primarily for informational purposes.  For MPLS TE features, it is used for
   advertisement and discovery.  Future
   future OSPF features could also use features, this advertimsement MAY be used as the sole
   mechanism for advertisement and discovery.

2.  OSPF Router Information (RI) Opaque LSA

   OSPF routers will MAY optionally advertise their optional capabilities in
   a link-scoped, area-scoped, local scope, or AS-scoped Opaque-LSA [OPAQUE].  If a
   router does not advertise this LSA, it does not imply that the router
   does not support one or more of the defined capabilities. LSA.  For existing OSPF
   capabilities, this advertisement will be used primarily for
   informational purposes.  For MPLS TE features, it is used for
   advertisement and discovery.  Future OSPF features could also use
   this the RI LSA as the
   sole mechanism for advertisement and discovery.  The RI opaque LSA will be
   originated initially when an OSPF router instance is created and
   whenever one of the advertised capabilities is configured or changed.


2.1  OSPFv2 Router Information (RI) Opaque LSA

   OSPFv2 routers will have advertise a link scoped, area-scoped, or
   AS-scoped Opaque-LSA [OPAQUE].  The OSPFv2 Router Information LSA has
   an Opaque type of 4 and Opaque ID of 0.

       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
      |            LS age             |     Options   |  9, 10 or 11  |
      |       4       |                    0                          |
      |                     Advertising Router                        |
      |                     LS sequence number                        |
      |         LS checksum           |             length            |
      |                                                               |
      +-                            TLV's                            -+
      |                             ...                               |

   The format of the TLV's within the body of a router information LSA
   is the same as the format used by the Traffic Engineering Extensions
   to OSPF [TE].  The LSA payload consists of one or more nested Type/
   Length/Value (TLV) triplets.  The format of each 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
     |              Type             |             Length            |
     |                            Value...                           |

   The Length field defines the length of the value portion in octets
   (thus a TLV with no value portion would have a length of zero).  The
   TLV is padded to four-octet alignment;  padding is not included in
   the length field (so a three octet value would have a length of
   three, but the total size of the TLV would be eight octets).  Nested
   TLV's are also 32-bit aligned.  For example, a one byte value would
   have the length field set to 1, and three bytes octets of padding would be
   added to the end of the value portion of the TLV.  Unrecognized types
   are ignored.

2.2  OSPFv3 Router Information (RI) Opaque LSA

   The OSPFv3 Router Information LSA has a function code of 12 while the
   S1/S2 bit are dependent on the desired flooding scope for the LSA.
   The U bit will be set indicating the OSPFv3 RI LSA should be flooded
   even if it is not understood.  The Link State ID (LSID) value for
   this LSA is 0.  This is unambiguous since an OSPFv3 router will only
   advertise a single RI LSA per flooding scope.

       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
      |            LS age             |1|S12|          12             |
      |                         0  (Link State ID)                    |
      |                    Advertising Router                         |
      |                    LS sequence number                         |
      |        LS checksum           |             length             |
      |                                                               |
      +-                            TLV's                            -+
      |                             ...                               |

   The format of the TLV's within the body of a  router information LSA
   as defined in Section 2.1

   When a new Router Information LSA TLV is defined, the specification
   MUST explicitly state whether the TLV is applicable to OSPFv2 only,
   OSPFv3 only, or both OSPFv2 and OSPFv3.

2.3  OSPF Router Capabilities TLV

   The first defined TLV in the body of an RI opaque LSA is the Router
   Capabilities TLV.  A router advertising an RI opaque LSA SHOULD MUST include the
   Router Capabilities TLV and SHOULD correctly identify it MUST be the
   status of first TLV in the LSA.
   Additionally, the TLV MUST accurately reflect the OSPF router's
   capabilities defined in section 2.2. the scope it is advertised.

   The format of the Router Capabilities TLV 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
      |              Type             |             Length            |
      |             Capabilities                                      |

      Type     A 16 bit field set to 1.
      Length   A 16 bit field that indicates the length of the value
               portion in bytes.  Its set to N x 4 octets.  N starts
               from 1 and can value
               portion in octets and will be a multiple of 4 octets
               dependent on the number of capabilities advertised. In
               this revision the length will be increased when there is a need.  Each 4 denoting 4 octets are referred to as a of
               capability flag. bits.
      Value    This comprises one or more    A variable length sequence of capability flags.  For each 4
               octets, the bits are indexed from the most significant flags rounded
               to the least significant, where each bit represents one
               router capability.  When the first 32 capabilities are
               defined, a new multiple of 4 octects padded with undefined bits.
               In this revision, there are 4 octets of capability flag will be used to
               accommodate the next capability. bits.

   The Router Capabilities TLV MAY be followed by optional TLV's that
   further specify a capability.

2.2  Reserved

2.4  Assiged OSPF Router Capability Bits

   The following bits in the first capability flag have been assigned:

      Bit       Capabilities

      0-3       Reserved       Unassigned
      4         OSPF graceful restart capable [GRACE]
      5         OSPF graceful restart helper  [GRACE]
      6         OSPF Stub Router support [STUB]
      7         OSPF Traffic Engineering support [TE]
      8         OSPF point-to-point over LAN [P2PLAN]
      9         OSPF Path Computation Server discovery [TECAP]
      10        OSPF Experimental TE [EXPTE]
      10-31     Future assignments


2.5  Flooding Scope of the Router Information LSA

   The flooding scope for a Router Information opaque LSA is determined by the
   LSA type.  A  For OSPFv2, type 9 (link-scope), type 10 (area-scoped), or
   a type 11 (AS-scoped) opaque LSA may be flooded.  If a type 11 opaque  For OSPFv3, the
   flooding scope is determined by the S1 and S2 bits in the LSA type.
   If AS wide flooding scope is chosen, the originating router should
   also advertise type 10 area scoped LSA(s) into any attached NSSA/stub NSSA area(s).  An
   OSPF router MAY advertise different capabilities when both NSSA/stub NSSA area type 10
   scoped LSA(s) and an AS scoped type 11 opaque LSA is advertised.  This allows
   functional capabilities to be limited in scope.  For example, a
   router may be an area border router but only support traffic
   engineering (TE) in a subset of its attached areas.  The choice of
   flooding scope is made by the advertising router and is a matter of
   local policy.  The originating router MAY advertise multiple RI
   opaque LSAs
   as long as the flooding scopes differ.  TLV flooding scope rules will
   be specified on a per-TLV basis. basis and MUST be specified in the
   accompanying specifications for new Router Information LSA TLVs.

3.  Router Information LSA Opaque Usage and Applicability

   The purpose of the Router Information (RI) opaque LSA is to advertise
   information relating to the aggregate OSPF router.  Normally, this
   should be confined to TLVs with a single value or very few values.
   It is not meant to be a generic container to carry any and all
   information.  The intent is to both limit the size of the RI LSA to
   the point where an OSPF router will always be able to contain the
   TLVs in a single LSA and to keep the task of determining what has
   changed between LSA instances reasonably simple.  Hence, discretion
   and sound engineering judgement MUST be adhered to when deciding
   whether newly proposed TLV(s) in support of a new function application are
   advertised in the RI opaque LSA or warrent the creation of a function an application
   specific opaque LSA.

4.  Security Considerations

   The function described in this document does not create any new
   security issues for the OSPF protocol.  Security considerations for
   the base OSPF protocol are covered in [OSPF].

5.  IANA Considerations

   A new

   The following IANA assignments are to be made from existing
   1.  The OSPFv2 opaque LSA type 4 will need to be assigned by IANA.
   Additionally, IANA will need to have registries reserved for the Router
       OSPFv2 RI opaque LSA TLV's. LSA.
   2.  The TLV assignee OSPFv2 LSA type function code 18 will need to be responsible reserved for
       the OSPFv3 RI LSA.

   New registries are defined for the following purposes:
   1.  Registry for allocation OSPF RI TLVs - The value of any sub-TLV's 1 for the IANA assigned TLV. capabilities
       TLV is defined herein.  All TLV's
   and sub-TLV's will be TLV additions are subject to OSPF WG
   2.  Registry for OSPF Router Capability Flags - The values defined in
       Section 2.3.  All Router Capability TLV additions are subject to
       OSPF WG review.

6.  References

6.1  Normative References

   [OPAQUE]   Coltun, R., "The OSPF Opaque LSA Option", RFC 2370, July

   [OSPF]     Moy, J., "OSPF Version 2", RFC 2328, April 1998.

   [OSPFV3]   Coltun, R., Ferguson, D. and J. Moy, "OSPF for IPv6", RFC
              2740, April 1998.

   [RFC2119]  Bradner, S., "Key words for use in RFC's to Indicate
              Requirement Levels", RFC 2328, March 1977.

   [TE]       Katz, D., Yeung, D. and K. Kompella, "Traffic Engineering
              Extensions to OSPF", RFC 3630, September 2003.

6.2  Informative References

   [EXPTE]   Srisuresh, P. and P. Joseph, "OSPF  OSPF-TE: An
             experimental extension to OSPF for Traffic Engineering",
             draft-srisuresh-ospf-te-07.txt (work in progress).

   [GRACE]   Moy, J., Pillay-Esnault, P. and A. Lindem, "Graceful OSPF
             Restart", RFC 3623, November 2003.

   [OPAQUE]  Coltun, R., "The OSPF Opaque LSA Option", RFC 2370, July

   [P2PLAN]  Shen, N. and A. Zinin, "Point-to-point operation over LAN
             in link-state routing protocols",
             draft-ietf-isis-igp-p2p-over-lan-05.txt (work in progress).

   [STUB]    Retana, A., Nguyen, L., White, R., Zinin, A. and D.
             McPherson, "OSPF Stub Router Advertisement", RFC 3137, June

   [T3CAP]   Vasseur, JP., Psenak, P., Yasukawa, S. and JL. Le Roux,
             "OSPF MPLS Traffic Engineering Capabilities",
             draft-vasseur-ospf-te-caps-00.txt (work in progress).

Authors' Addresses

   Acee Lindem
   Cisco Systems, Inc
   7025 Kit Creek Road
   Research Triangle Park, NC  27709


   Naiming Shen
   Cisco Systems
   225 West Tasman Drive
   San Jose, CA  95134


   Rahul Aggarwal
   Juniper Networks
   1194 N. Mathilda Ave.
   Sunnyvale, CA  94089


   Scott Shaffer
   BridgePort Networks
   One Main Street, 7th Floor
   Cambridge, MA  02142


   Jean-Philippe Vasseur
   Cisco Systems, Inc
   300 Beaver Brook Road
   Boxborough, MA  01719


Appendix A.  Acknowledgments

   The idea for this work grew out of a conversation with Andrew Partan
   and we would like to thank him for his contribution.  The authors
   would like to thanks Peter Psenak for his review and helpful comments
   early versions of the draft.

   Comments from Abhay Roy, Vishwas Manral, and Vivek Dubey Dubey, and Adrian
   Farrel were incorporated into the final draft version.

   The RFC text was produced using Marshall Rose's xml2rfc tool.

Intellectual Property Statement

   The IETF takes no position regarding the validity or scope of any
   Intellectual Property Rights or other rights that might be claimed to
   pertain to the implementation or use of the technology described in
   this document or the extent to which any license under such rights
   might or might not be available; nor does it represent that it has
   made any independent effort to identify any such rights.  Information
   on the procedures with respect to rights in RFC documents can be
   found in BCP 78 and BCP 79.

   Copies of IPR disclosures made to the IETF Secretariat and any
   assurances of licenses to be made available, or the result of an
   attempt made to obtain a general license or permission for the use of
   such proprietary rights by implementers or users of this
   specification can be obtained from the IETF on-line IPR repository at

   The IETF invites any interested party to bring to its attention any
   copyrights, patents or patent applications, or other proprietary
   rights that may cover technology that may be required to implement
   this standard.  Please address the information to the IETF at

Disclaimer of Validity

   This document and the information contained herein are provided on an

Copyright Statement

   Copyright (C) The Internet Society (2005).  This document is subject
   to the rights, licenses and restrictions contained in BCP 78, and
   except as set forth therein, the authors retain all their rights.


   Funding for the RFC Editor function is currently provided by the
   Internet Society.