Network Working Group A. Lindem, Ed. Internet-Draft N. Shen Obsoletes: 4970 (if approved) J. Vasseur Intended status: Standards Track Cisco Systems Expires: February 5, 2016 R. Aggarwal Arktan S. Shaffer Akamai August 4, 2015 Extensions to OSPF for Advertising Optional Router Capabilities draft-ietf-ospf-rfc4970bis-01.txt 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 document proposes extensions to OSPFv2 and OSPFv3 for advertising optional router capabilities. A new Router Information (RI) Link State Advertisement (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 autonomous system (AS)). This document obsoletes RFC 4970 by providing a revised specification including support for advertisement of multiple instances of the RI LSA and a TLV for functional capabilities. Status of This Memo This Internet-Draft is submitted in full conformance with the provisions of BCP 78 and BCP 79. Internet-Drafts are working documents of the Internet Engineering Task Force (IETF). Note that other groups may also distribute working documents as Internet-Drafts. The list of current Internet- Drafts is at http://datatracker.ietf.org/drafts/current/. 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." This Internet-Draft will expire on February 5, 2016. Lindem, et al. Expires February 5, 2016 [Page 1] Internet-Draft OSPF Capability Extensions August 2015 Copyright Notice Copyright (c) 2015 IETF Trust and the persons identified as the document authors. All rights reserved. This document is subject to BCP 78 and the IETF Trust's Legal Provisions Relating to IETF Documents (http://trustee.ietf.org/license-info) in effect on the date of publication of this document. Please review these documents carefully, as they describe your rights and restrictions with respect to this document. Code Components extracted from this document must include Simplified BSD License text as described in Section 4.e of the Trust Legal Provisions and are provided without warranty as described in the Simplified BSD License. Table of Contents 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 1.1. Requirements Notation . . . . . . . . . . . . . . . . . . 3 1.2. Summary of Changes from RFC 4970 . . . . . . . . . . . . 3 2. OSPF Router Information (RI) LSA . . . . . . . . . . . . . . 3 2.1. OSPFv2 Router Information (RI) Opaque LSA . . . . . . . . 4 2.2. OSPFv3 Router Information (RI) Opaque LSA . . . . . . . . 6 2.3. OSPF Router Informational Capabilities TLV . . . . . . . 6 2.4. Assigned OSPF Router Informational Capability Bits . . . 7 2.5. OSPF Router Functional Capabilities TLV . . . . . . . . . 8 2.6. Flooding Scope of the Router Information LSA . . . . . . 9 3. Security Considerations . . . . . . . . . . . . . . . . . . . 10 4. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 10 5. References . . . . . . . . . . . . . . . . . . . . . . . . . 12 5.1. Normative References . . . . . . . . . . . . . . . . . . 12 5.2. Informative References . . . . . . . . . . . . . . . . . 13 Appendix A. Acknowledgments . . . . . . . . . . . . . . . . . . 13 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 13 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 so new optional capabilities cannot be Lindem, et al. Expires February 5, 2016 [Page 2] Internet-Draft OSPF Capability Extensions August 2015 advertised. 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 extensions, this advertisement MAY be used as the sole mechanism for advertisement and discovery. This document obsoletes RFC 4970 by providing a revised specification including support for advertisement of multiple instances of the RI LSA and a TLV for functional capabilities. 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 [RFC-KEYWORDS]. 1.2. Summary of Changes from RFC 4970 This document includes the following changes from RFC 4970 [RFC4970]: 1. The main change is that an OSPF router will be able to advertise multiple instances of the OSPF Router Information LSA. This change permeates through much of the document 2. Additionally, Section 2.5 includes a new TLV for functional capabilities. This is constast to the existing TLV which is used to advertise capabilities for informational purposes only. 3. Finally, references have been updated for drafts that have become RFCs and RFCs that have been obseleted since the publication of RFC 4970. 2. OSPF Router Information (RI) 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 is the instance ID. The first instance ID, i.e., 0, should always contain the Router Informational Capabilities TLV and, if advertised, the Router Functional Capabilities TLV. RI Information LSAs subsequence to the first can be used for information which doesn't fit in the first instance. Lindem, et al. Expires February 5, 2016 [Page 3] Internet-Draft OSPF Capability Extensions August 2015 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 specifies the LSA instance ID with the first instance always having an Instance 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 | Opaque ID (Instance ID) | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Advertising Router | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | LS sequence number | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | LS checksum | length | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | +- TLVs -+ | ... | OSPFv2 Router Information Opaque LSA 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... | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ TLV Format The Length field defines the length of the value portion in octets (thus a TLV with no value portion would have a length of 0). The TLV Lindem, et al. Expires February 5, 2016 [Page 4] Internet-Draft OSPF Capability Extensions August 2015 is padded to 4-octet alignment; padding is not included in the length field (so a 3-octet value would have a length of 3, but the total size of the TLV would be 8 octets). Nested TLVs are also 32-bit aligned. For example, a 1-byte value would have the length field set to 1, and 3 octets of padding would be added to the end of the value portion of the TLV. Unrecognized types are ignored. Lindem, et al. Expires February 5, 2016 [Page 5] Internet-Draft OSPF Capability Extensions August 2015 2.2. OSPFv3 Router Information (RI) Opaque LSA The OSPFv3 Router Information LSA has a function code of 12 while the S1/S2 bits are dependent on the desired flooding scope for the LSA. The U bit will be set indicating that the OSPFv3 RI LSA should be flooded even if it is not understood. The Link State ID (LSID) value for this LSA is the instance ID. The first instance ID, i.e., 0, should always contain the Router Informational Capabilities TLV and, if advertised, the Router Functional Capabilities TLV. OSPFv3 Router Information LSAs subsequence to the first can be used for information which doesn't fit in the first instance. OSPFv3 routers MAY advertise multiple RIs 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 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Link State ID (Instance ID) | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Advertising Router | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | LS sequence number | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | LS checksum | Length | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | +- TLVs -+ | ... | OSPFv3 Router Information LSA The format of the TLVs within the body of an RI LSA is 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 Informational Capabilities TLV. An OSPF router advertising an OSPF RI LSA MAY include the Router Informational Capabilities TLV. If included, it MUST be the first TLV in the first instance of the OSPF RI LSA. Additionally, the TLV MUST accurately reflect the OSPF Lindem, et al. Expires February 5, 2016 [Page 6] Internet-Draft OSPF Capability Extensions August 2015 router's capabilities in the scope 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. Bits are numbered left-to-right starting with the most significant bit being bit 0. OSPF Router Informational Capabilities TLV 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 are assigned: Lindem, et al. Expires February 5, 2016 [Page 7] Internet-Draft OSPF Capability Extensions August 2015 Bit Capabilities 0 OSPF graceful restart capable [GRACE] 1 OSPF graceful restart helper [GRACE] 2 OSPF Stub Router support [STUB] 3 OSPF Traffic Engineering support [TE] 4 OSPF point-to-point over LAN [P2PLAN] 5 OSPF Experimental TE [EXP-TE] 6-31 Unassigned (Standards Action) OSPF Router Informational Capabilities Bits References for [GRACE], [STUB], [TE], [P2PLAN], and [EXP-TE] are included herein. 2.5. OSPF Router Functional Capabilities TLV This specification also defines the Router Functional Capabilities TLV for advertisement within the OSPF Router Information LSA. An OSPF router advertising an OSPF RI LSA MAY include the Router Functional Capabilities TLV. If included, it MUST be the included in the first instance of the LSA. Additionally, the TLV MUST be used to reflect OSPF router functional capabilities. If the TLV is not included or the length doesn't include the assigned OSPF functional capability bit, the corresponding OSPF functional capabilty is implicitly advertised as not being support by the advertising OSPF router. The format of the Router Functional Capabilities TLV is as follows: Lindem, et al. Expires February 5, 2016 [Page 8] Internet-Draft OSPF Capability Extensions August 2015 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 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Functional 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. Bits are numbered left-to-right starting with the most significant bit being bit 0. OSPF Router Functional Capabilities TLV The Router Functional Capabilities TLV MAY be followed by optional TLVs that further specify a capability. In contrast to the Router Informatioal Capabilities TLV, the OSPF extensions advertised in this TLV MAY be used to by other OSPF routers to dicate protocol operation. The specifications for functional capabilities adveritised in this TLV MUST describe protocol behavior and address backward compatibility. 2.6. 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 S1 and S2 bits in the LSA type determine the flooding scope. If AS- wide flooding scope is chosen, the originating router should also advertise area-scoped LSA(s) into any attached Not-So-Stubby Area (NSSA) area(s). An OSPF router MAY advertise different capabilities when both NSSA area scoped LSA(s) and an AS-scoped LSA are 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. Lindem, et al. Expires February 5, 2016 [Page 9] Internet-Draft OSPF Capability Extensions August 2015 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. 3. Security Considerations This document describes both a generic mechanism for advertising router capabilities and a TLV for advertising informational and functional capability bits. The capability TLVs are less critical than the topology information currently advertised by the base OSPF protocol. The security considerations for the generic mechanism are dependent on the future application and, as such, should be described as additional capabilities are proposed for advertisement. Security considerations for the base OSPF protocol are covered in [OSPF] and [OSPFV3]. 4. IANA Considerations The following IANA assignment was made from an existing registry: The OSPFv2 opaque LSA type 4 has been reserved for the OSPFv2 RI opaque LSA. The following registries have been defined for the following purposes: 1. Registry for OSPFv3 LSA Function Codes - This new top-level registry will be comprised of the fields Value, LSA function code name, and Document Reference. The OSPFv3 LSA function code is defined in section A.4.2.1 of [OSPFV3]. The OSPFv3 LSA function code 12 has been reserved for the OSPFv3 Router Information (RI) LSA. Lindem, et al. Expires February 5, 2016 [Page 10] Internet-Draft OSPF Capability Extensions August 2015 +-----------+-------------------------------------+ | Range | Assignment Policy | +-----------+-------------------------------------+ | 0 | Reserved (not to be assigned) | | | | | 1-9 | Already assigned | | | | | 10-11 | Unassigned (Standards Action) | | | | | 12 | OSPFv3 RI LSA (Assigned herein) | | | | | 13-255 | Unassigned (Standards Action) | | | | | 256-8175 | Reserved (No assignments) | | | | | 8176-8183 | Experimentation (No assignments) | | | | | 8184-8191 | Vendor Private Use (No assignments) | +-----------+-------------------------------------+ OSPFv3 LSA Function Codes * OSPFv3 LSA function codes in the range 256-8175 are not to be assigned at this time. Before any assignments can be made in this range, there MUST be a Standards Track RFC that specifies IANA Considerations that cover the range being assigned. * OSPFv3 LSA function codes in the range 8176-8181 are for experimental use; these will not be registered with IANA and MUST NOT be mentioned by RFCs. * OSPFv3 LSAs with an LSA Function Code in the Vendor Private Use range 8184-8191 MUST include the Vendor Enterprise Code as the first 4 octets following the 20 octets of LSA header. * If a new LSA Function Code is documented, the documentation MUST include the valid combinations of the U, S2, and S1 bits for the LSA. It SHOULD also describe how the Link State ID is to be assigned. 2. Registry for OSPF RI TLVs - This top-level registry will be comprised of the fields Value, TLV Name, and Document Reference. The value of 1 for the capabilities TLV is defined herein. Lindem, et al. Expires February 5, 2016 [Page 11] Internet-Draft OSPF Capability Extensions August 2015 +-------------+-----------------------------------+ | Range | Assignment Policy | +-------------+-----------------------------------+ | 0 | Reserved (not to be assigned) | | | | | 1 | Already assigned | | | | | 2-32767 | Unassigned (Standards Action) | | | | | 32768-32777 | Experimentation (No assignements) | | | | | 32778-65535 | Reserved (Not to be assigned) | +-----------+-------------------------------------+ OSPF RI TLVs * Types in the range 32768-32777 are for experimental use; these will not be registered with IANA and MUST NOT be mentioned by RFCs. * Types in the range 32778-65535 are reserved and are not to be assigned at this time. Before any assignments can be made in this range, there MUST be a Standards Track RFC that specifies IANA Considerations that covers the range being assigned. 3. Registry for OSPF Router Informational Capability Bits - This sub-registry of the OSPF RI TLV registry will be comprised of the fields Bit Number, Capability Name, and Document Reference. The values are defined in Section 2.4. All Router Informational Capability TLV additions are to be assigned through standards action. 4. Registry for OSPF Router Functional Capability Bits - This sub- registry of the OSPF RI TLV registry will be comprised of the fields Bit Number, Capability Name, and Document Reference. Initially, the sub-registry will be empty but will be available for future capabilities. All Router Functional Capability TLV additions are to be assigned through standards action. 5. References 5.1. Normative References [OPAQUE] Berger, L., Bryskin, I., Zinin, A., and R. Coltun, "The OSPF Opaque LSA Option", RFC 5250, July 2008. [OSPF] Moy, J., "OSPF Version 2", STD 54, RFC 2328, April 1998. Lindem, et al. Expires February 5, 2016 [Page 12] Internet-Draft OSPF Capability Extensions August 2015 [OSPFV3] Coltun, R., Ferguson, D., Moy, J., and A. Lindem, "OSPF for IPv6", RFC 5340, July 2008. [RFC-KEYWORDS] Bradner, S., "Key words for use in RFC's to Indicate Requirement Levels", BCP 14, RFC 2119, March 1997. [RFC4970] Lindem, A., Shen, N., Vasseur, J., Aggarwal, R., and S. Shaffer, "Extensions to OSPF for Advertising Optional Router Capabilities", RFC 4970, July 2007. [TE] Katz, D., Kompella, K., and D. Yeung, "Traffic Engineering Extensions to OSPF", RFC 3630, September 2003. 5.2. Informative References [EXP-TE] Srisuresh, P. and P. Joseph, "OSPF-xTE: Experimental Extension to OSPF for Traffic Engineering", RFC 4973, July 2007. [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", RFC 5309, October 2008. [STUB] Retana, A., Nguyen, L., White, R., Zinin, A., and D. McPherson, "OSPF Stub Router Advertisement", RFC 6987, September 2013. 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 document. Comments from Abhay Roy, Vishwas Manral, Vivek Dubey, and Adrian Farrel have been incorporated into later versions. The RFC text was produced using Marshall Rose's xml2rfc tool. Authors' Addresses Lindem, et al. Expires February 5, 2016 [Page 13] Internet-Draft OSPF Capability Extensions August 2015 Acee Lindem (editor) Cisco Systems 301 Midenhall Way Cary, NC 27513 USA Email: acee@cisco.com Naiming Shen Cisco Systems 225 West Tasman Drive San Jose, CA 95134 USA Email: naiming@cisco.com Jean-Philippe Vasseur Cisco Systems 1414 Massachusetts Avenue Boxborough, MA 01719 USA Email: jpv@cisco.com Rahul Aggarwal Arktan Email: raggarwa_1@yahoo.com Scott Shaffer Akamai 8 Cambridge Center Cambridge, MA 02142 USA Email: sshaffer@akamai.com Lindem, et al. Expires February 5, 2016 [Page 14]