Network Working Group A. Lindem (Editor) Internet-Draft Cisco Systems, Inc Expires:
JulyAugust 8, 2005 N. Shen Cisco Systems R. Aggarwal Juniper Networks S. Shaffer BridgePort Networks JP. Vasseur Cisco Systems, Inc JanuaryFebruary 7, 2005 Extensions to OSPF for Advertising Optional Router Capabilities draft-ietf-ospf-cap-05.txtdraft-ietf-ospf-cap-06.txt 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. 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 JulyAugust 8, 2005. Copyright Notice Copyright (C) The Internet Society (2005). Abstract It is useful for routers in an OSPFOSPFv2 or OSPFv3 routing domain to know the capabilities of their neighbors and other routers in the OSPFrouting domain. This draft proposes extensions to OSPFOSPFv2 and OSPFv3 for advertising optional router capabilities. A new Router Information (RI) opaqueLSA is proposed for this purpose. Table of Contents 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 3 2. OSPF Router Information (RI) OpaqueLSA . . . . . . . . . . . . . . . 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 Reserved6 2.4 Assiged OSPF Router Capability Bits . . . . . . . . . . . 6 2.37 2.5 Flooding Scope of the Router Information LSA . . . . . . . 67 3. Router Information LSA Opaque Usage and Applicability . . . . 89 4. Security Considerations . . . . . . . . . . . . . . . . . . . 910 5. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 1011 6. References . . . . . . . . . . . . . . . . . . . . . . . . . . 1112 6.1 Normative References . . . . . . . . . . . . . . . . . . . . 1112 6.2 Informative References . . . . . . . . . . . . . . . . . . . 1112 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . 1112 A. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 1314 Intellectual Property and Copyright Statements . . . . . . . . 1415 1. Introduction It is useful for routers in an OSPFOSPFv2 [OSPF] or OSPFv3 [OSPFV3] routing domain to know the capabilities of their neighbors and other routers in the OSPFrouting 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) orboth the intention of an LSR to be part of a particular MPLS TE mesh group. o For network managementadvertisement and troubleshooting. It gives operators a network wide view of OSPF capabilities on different routers. The presencediscovery of a capability on a given router implies that the software version supports the capabilityOSPFv2 and OSPFv3 capabilities. Throughout this document, OSPF will be used when the routerspecification is configuredapplicable to support it. On the other hand, the absence of an expected capability on a particular router can imply either misconfigurationboth OSPFv2 and OSPFv3. Similiarly, OSPFv2 or an incorrect software version. Hence, this capability information canOSPFv3 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 theLSAs and hello packetpackets 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 TEcapabilities. This document proposes extensions to OSPF to advertise these optional capabilities. For existing OSPF capabilities, backward compatibility issues dictate that this advertisement will beis used primarily for informational purposes. For MPLS TE features, it is used for advertisement and discovery. Futurefuture OSPF features could also usefeatures, this advertimsement MAY be used as the sole mechanism for advertisement and discovery. 2. OSPF Router Information (RI) OpaqueLSA OSPF routers willMAY optionally advertise their optional capabilities in ana 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 thisthe RI LSA as the sole mechanism for advertisement and discovery. The RI opaqueLSA will be originated initially when an OSPF router instance is created and whenever one of the advertised capabilities is configured or changed. The2.1 OSPFv2 Router Information (RI) Opaque LSA OSPFv2 routers will haveadvertise 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 bytesoctets 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 opaqueLSA is the Router Capabilities TLV. A router advertising an RI opaqueLSA SHOULDMUST include the Router Capabilities TLV and SHOULD correctly identifyit MUST be the status offirst TLV in the LSA. Additionally, the TLV MUST accurately reflect the OSPF router's capabilities definedin 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 canvalue 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. Each4 denoting 4 octets are referred to as aof capability flag.bits. Value This comprises one or moreA variable length sequence of capability flags. For each 4 octets, the bits are indexed from the most significantflags rounded to the least significant, where each bit represents one router capability. When the first 32 capabilities are defined,a newmultiple 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 Reserved2.4 Assiged OSPF Router Capability Bits The following bits in the first capability flag have been assigned: Bit Capabilities 0-3 ReservedUnassigned 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 OSPFExperimental TE [EXPTE] 11-3110-31 Future assignments 2.32.5 Flooding Scope of the Router Information LSA The flooding scope for a Router Information opaqueLSA is determined by the LSA type. AFor OSPFv2, type 9 (link-scope), type 10 (area-scoped), or a type 11 (AS-scoped) opaque LSA may be flooded. If a type 11 opaqueFor 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 10area scoped LSA(s) into any attached NSSA/stubNSSA area(s). An OSPF router MAY advertise different capabilities when both NSSA/stubNSSA area type 10scoped LSA(s) and an AS scoped type 11 opaqueLSA 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 opaqueLSAs 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) opaqueLSA 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 functionapplication are advertised in the RI opaqueLSA or warrent the creation of a functionan application specific opaqueLSA. 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 newThe following IANA assignments are to be made from existing registries: 1. The OSPFv2 opaque LSA type 4 will need to be assigned by IANA. Additionally, IANA will need to have registriesreserved for the Router InformationOSPFv2 RI opaque LSA TLV's.LSA. 2. The TLV assigneeOSPFv2 LSA type function code 18 will need to be responsiblereserved for the OSPFv3 RI LSA. New registries are defined for the following purposes: 1. Registry for allocationOSPF RI TLVs - The value of any sub-TLV's1 for the IANA assigned TLV.capabilities TLV is defined herein. All TLV's and sub-TLV's will beTLV additions are subject to OSPF WG review. 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 1998. [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 1998.[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. [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 USA EMail: email@example.com Naiming Shen Cisco Systems 225 West Tasman Drive San Jose, CA 95134 USA EMail: firstname.lastname@example.org Rahul Aggarwal Juniper Networks 1194 N. Mathilda Ave. Sunnyvale, CA 94089 USA EMail: email@example.com Scott Shaffer BridgePort Networks One Main Street, 7th Floor Cambridge, MA 02142 USA EMail: firstname.lastname@example.org Jean-Philippe Vasseur Cisco Systems, Inc 300 Beaver Brook Road Boxborough, MA 01719 USA EMail: email@example.com 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, andVivek DubeyDubey, 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 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 firstname.lastname@example.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.