Network Working Group A. Lindem (Editor) Internet-Draft N. Shen Expires: November 20, 2005 J. Vasseur Cisco Systems R. Aggarwal Juniper Networks S. Shaffer BridgePort Networks May 19, 2005 Extensions to OSPF for Advertising Optional Router Capabilities draft-ietf-ospf-cap-07.txt Status of this Memo 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 becomes aware will be disclosed, in accordance with Section 6 of BCP 79. 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. This Internet-Draft will expire on November 20, 2005. Copyright Notice Copyright (C) The Internet Society (2005). Abstract It is useful for routers in an OSPFv2 or OSPFv3 routing domain to know the capabilities of their neighbors and other routers in the routing domain. This draft proposes extensions to OSPFv2 and OSPFv3 Lindem (Editor), et al. Expires November 20, 2005 [Page 1] Internet-Draft OSPF Capability Extensions May 2005 for advertising optional router capabilities. A new Router Information (RI) LSA is proposed for this purpose. In OSPFv2, the RI LSA will be implemented with a new opaque LSA type ID. In OSPFv3, the RI LSA will be implemented with a new LSA type function code. In both protocols, the RI LSA can be advertised at any of the defined flooding scopes (link, area, or AS). Table of Contents 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 3 1.1 Requirements notation . . . . . . . . . . . . . . . . . . 3 2. OSPF Router Information (RI) LSA . . . . . . . . . . . . . . . 4 2.1 OSPFv2 Router Information (RI) Opaque LSA . . . . . . . . 4 2.2 OSPFv3 Router Information (RI) Opaque LSA . . . . . . . . 5 2.3 OSPF Router Informational Capabilities TLV . . . . . . . . 5 2.4 Assigned OSPF Router Informational Capability Bits . . . . 6 2.5 Flooding Scope of the Router Information LSA . . . . . . . 7 3. Router Information LSA Opaque Usage and Applicability . . . . 8 4. Security Considerations . . . . . . . . . . . . . . . . . . . 9 5. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 10 6. References . . . . . . . . . . . . . . . . . . . . . . . . . . 11 6.1 Normative References . . . . . . . . . . . . . . . . . . . 11 6.2 Informative References . . . . . . . . . . . . . . . . . . 11 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . 11 A. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 13 Intellectual Property and Copyright Statements . . . . . . . . 14 Lindem (Editor), et al. Expires November 20, 2005 [Page 2] Internet-Draft OSPF Capability Extensions May 2005 1. Introduction It is useful for routers in an OSPFv2 [OSPF] or OSPFv3 [OSPFV3] routing domain to know the capabilities of their neighbors and other routers in the routing domain. This can be useful for both the advertisement and discovery of OSPFv2 and OSPFv3 capabilities. Throughout this document, OSPF will be used when the specification is applicable to both OSPFv2 and OSPFv3. Similarly, OSPFv2 or OSPFv3 will be used when the text is protocol specific. OSPF uses the options field in LSAs and hello packets to advertise optional router capabilities. In the case of OSPFv2, all the bits in this field have been allocated and there is no way to advertise new optional capabilities. This document proposes extensions to OSPF to advertise these optional capabilities via opaque LSAs in OSPFv2 and new LSAs in OSPFv3. For existing OSPF capabilities, backward compatibility issues dictate that this advertisement is used primarily for informational purposes. For future OSPF features, this advertisement MAY be used as the sole mechanism for advertisement and discovery. 1.1 Requirements notation The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in RFC2119 [RFC2119]. Lindem (Editor), et al. Expires November 20, 2005 [Page 3] Internet-Draft OSPF Capability Extensions May 2005 2. OSPF Router Information (RI) LSA OSPF routers MAY optionally advertise their optional capabilities in a link-scoped, area-scoped, or AS-scoped LSA. For existing OSPF capabilities, this advertisement will be used primarily for informational purposes. Future OSPF features could use the RI LSA as the sole mechanism for advertisement and discovery. The RI 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 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 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | +- TLVs -+ | ... | The format of the TLVs within the body of an RI 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... | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Lindem (Editor), et al. Expires November 20, 2005 [Page 4] Internet-Draft OSPF Capability Extensions May 2005 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 TLVs are also 32-bit aligned. For example, a one byte value would have the length field set to 1, and three 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 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | +- TLVs -+ | ... | The format of the TLVs within the body of an RI 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 Informational Capabilities TLV The first defined TLV in the body of an RI LSA is the Router Lindem (Editor), et al. Expires November 20, 2005 [Page 5] Internet-Draft OSPF Capability Extensions May 2005 Informational Capabilities TLV. A router advertising an RI LSA MAY include the Router Informational Capabilities TLV. If included, it MUST be the first TLV in the LSA. Additionally, the TLV MUST accurately reflect the OSPF router's capabilities in the scope it is advertised. However, the informational capabilities advertised have no impact on the OSPF's operation - they are advertised purely for informational purposes The format of the Router Informational 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 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Informational Capabilities | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Type A 16 bit field set to 1. Length A 16 bit field that indicates the length of the value portion in octets and will be a multiple of 4 octets dependent on the number of capabilities advertised. Initially, the length will be 4 denoting 4 octets of informational capability bits. Value A variable length sequence of capability bits rounded to a multiple of 4 octets padded with undefined bits. Initially, there are 4 octets of capability bits. The Router Informational Capabilities TLV MAY be followed by optional TLVs that further specify a capability. 2.4 Assigned OSPF Router Informational Capability Bits The following informational capability bits assigned: Bit Capabilities 1 OSPF graceful restart capable [GRACE] 2 OSPF graceful restart helper [GRACE] 3 OSPF Stub Router support [STUB] 4 OSPF Traffic Engineering support [TE] 5 OSPF point-to-point over LAN [P2PLAN] 6-31 Future assignments Lindem (Editor), et al. Expires November 20, 2005 [Page 6] Internet-Draft OSPF Capability Extensions May 2005 2.5 Flooding Scope of the Router Information LSA The flooding scope for a Router Information LSA is determined by the LSA type. For OSPFv2, type 9 (link-scoped), type 10 (area-scoped), or a type 11 (AS-scoped) opaque LSA may be flooded. 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 area scoped LSA(s) into any attached NSSA area(s). An OSPF router MAY advertise different capabilities when both NSSA area scoped LSA(s) and an AS scoped 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. Another example relates to the capability of a node to be part of a specific MPLS Traffic Engineering mesh group. When the mesh group is contained within an OSPF area, the flooding scope of such capability should be restricted to the corresponding OSPF area. Conversely, some mesh groups may require routing domain flooding scope (see [TE-AUTO]). 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 LSAs as long as the flooding scopes differ. TLV flooding scope rules will be specified on a per-TLV basis and MUST be specified in the accompanying specifications for new Router Information LSA TLVs. Lindem (Editor), et al. Expires November 20, 2005 [Page 7] Internet-Draft OSPF Capability Extensions May 2005 3. Router Information LSA Opaque Usage and Applicability The purpose of the Router Information (RI) 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 judgment MUST be adhered to when deciding whether newly proposed TLV(s) in support of a new application are advertised in the RI LSA or warrant the creation of an application specific LSA. Lindem (Editor), et al. Expires November 20, 2005 [Page 8] Internet-Draft OSPF Capability Extensions May 2005 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] and [OSPFV3]. Lindem (Editor), et al. Expires November 20, 2005 [Page 9] Internet-Draft OSPF Capability Extensions May 2005 5. IANA Considerations The following IANA assignments are to be made from existing registries: 1. The OSPFv2 opaque LSA type 4 will need to be reserved for the OSPFv2 RI opaque LSA. 2. The OSPFv2 LSA type function code 18 will need to be reserved for the OSPFv3 RI LSA. New registries are defined for the following purposes: 1. Registry for OSPF RI TLVs - The value of 1 for the capabilities TLV is defined herein. All TLV additions are subject to OSPF WG review. 2. Registry for OSPF Router Informational Capability Bits - The values defined in Section 2.3. All Router Informational Capability TLV additions are subject to OSPF WG review. Lindem (Editor), et al. Expires November 20, 2005 [Page 10] Internet-Draft OSPF Capability Extensions May 2005 6. References 6.1 Normative References [OPAQUE] Coltun, R., "The OSPF Opaque LSA Option", RFC 2370, July 1998. [OSPF] Moy, J., "OSPF Version 2", RFC 2328, April 1998. [OSPFV3] Coltun, R., Ferguson, D., and J. Moy, "OSPF for IPv6", RFC 2740, December 1999. [RFC2119] Bradner, S., "Key words for use in RFC's to Indicate Requirement Levels", RFC 2119, March 1997. [TE] Katz, D., Yeung, D., and K. Kompella, "Traffic Engineering Extensions to OSPF", RFC 3630, September 2003. 6.2 Informative References [GRACE] Moy, J., Pillay-Esnault, P., and A. Lindem, "Graceful OSPF Restart", RFC 3623, November 2003. [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 2001. [TE-AUTO] Vasseur, J. and J. Le Roux, "Routing extensions for discovery of Multiprotocol (MPLS) Label Switch Router (LSR) Traffic Engineering (TE) mesh membership", draft-vasseur-ccamp-automesh-00.txt (work in progress). Authors' Addresses Acee Lindem Cisco Systems 7025 Kit Creek Road Research Triangle Park, NC 27709 USA Email: acee@cisco.com Lindem (Editor), et al. Expires November 20, 2005 [Page 11] Internet-Draft OSPF Capability Extensions May 2005 Naiming Shen Cisco Systems 225 West Tasman Drive San Jose, CA 95134 USA Email: naiming@cisco.com Jean-Philippe Vasseur Cisco Systems 300 Beaver Brook Road Boxborough, MA 01719 USA Email: jpv@cisco.com Rahul Aggarwal Juniper Networks 1194 N. Mathilda Ave. Sunnyvale, CA 94089 USA Email: rahul@juniper.net Scott Shaffer BridgePort Networks One Main Street, 7th Floor Cambridge, MA 02142 USA Email: sshafferl@bridgeport-networks.com Lindem (Editor), et al. Expires November 20, 2005 [Page 12] Internet-Draft OSPF Capability Extensions May 2005 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 on early versions of the draft. Comments from Abhay Roy, Vishwas Manral, Vivek Dubey, and Adrian Farrel have been incorporated into later draft versions. The RFC text was produced using Marshall Rose's xml2rfc tool. Lindem (Editor), et al. Expires November 20, 2005 [Page 13] Internet-Draft OSPF Capability Extensions May 2005 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 http://www.ietf.org/ipr. 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 ietf-ipr@ietf.org. Disclaimer of Validity This document and the information contained herein are provided on an "AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE REPRESENTS OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY AND THE INTERNET ENGINEERING TASK FORCE DISCLAIM ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. 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. Acknowledgment Funding for the RFC Editor function is currently provided by the Internet Society. Lindem (Editor), et al. Expires November 20, 2005 [Page 14]