Network Working Group P. Psenak Internet-Draft Cisco Systems Intended status: Standards Track H. Gredler Expires: June 18, 2015 Juniper Networks, Inc. R. Shakir British Telcom W. Henderickx Alcatel-Lucent J. Tantsura Ericsson A. Lindem Cisco Systems December 15, 2014 OSPFv2 Prefix/Link Attribute Advertisement draft-ietf-ospf-prefix-link-attr-02.txt Abstract OSPFv2 requires functional extension beyond what can readily be done with the fixed-format Link State Advertisements (LSAs) as described in RFC 2328. This document defines OSPF opaque LSAs based on Type- Length-Value (TLV) tuples that can be used to associate additional attributes with prefixes or links. Dependent on the application, these prefixes and links may or not be advertised in the fixed-format LSAs. The OSPF opaque LSAs are optional and fully backward compatible. 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 June 18, 2015. Psenak, et al. Expires June 18, 2015 [Page 1] Internet-Draft OSPFv2 Prefix/Link Attributes December 2014 Copyright Notice Copyright (c) 2014 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. This document may contain material from IETF Documents or IETF Contributions published or made publicly available before November 10, 2008. The person(s) controlling the copyright in some of this material may not have granted the IETF Trust the right to allow modifications of such material outside the IETF Standards Process. Without obtaining an adequate license from the person(s) controlling the copyright in such materials, this document may not be modified outside the IETF Standards Process, and derivative works of it may not be created outside the IETF Standards Process, except to format it for publication as an RFC or to translate it into languages other than English. Table of Contents 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 3 1.1. Requirements notation . . . . . . . . . . . . . . . . . . 3 1.2. Acknowledgments . . . . . . . . . . . . . . . . . . . . . 3 2. OSPFv2 Extended Prefix Opaque LSA . . . . . . . . . . . . . . 4 2.1. OSPFv2 Extended Prefix TLV . . . . . . . . . . . . . . . 5 3. OSPFv2 Extended Link Opaque LSA . . . . . . . . . . . . . . . 7 3.1. OSPFv2 Extended Link TLV . . . . . . . . . . . . . . . . 8 4. Backward Compatibility . . . . . . . . . . . . . . . . . . . 9 5. Security Considerations . . . . . . . . . . . . . . . . . . . 10 6. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 10 6.1. OSPF Extended Prefix LSA TLV Registry . . . . . . . . . . 10 6.2. OSPF Extended Prefix TLV Sub-TLV Registry . . . . . . . . 11 6.3. OSPF Extended Link LSA TLV Registry . . . . . . . . . . . 11 6.4. OSPF Extended Link TLV Sub-TLV Registry . . . . . . . . . 11 7. References . . . . . . . . . . . . . . . . . . . . . . . . . 12 7.1. Normative References . . . . . . . . . . . . . . . . . . 12 7.2. Informative References . . . . . . . . . . . . . . . . . 12 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 12 Psenak, et al. Expires June 18, 2015 [Page 2] Internet-Draft OSPFv2 Prefix/Link Attributes December 2014 1. Introduction OSPFv2 requires functional extension beyond what can readily be done with the fixed-format Link State Advertisements (LSAs) as described in RFC 2328 [OSPFV2]. This document defines OSPF opaque LSAs based on Type-Length-Value (TLV) tuples that can be used to associate additional attributes with prefixes or links. Dependent on the application, these prefixes and links may or not be advertised in the fixed-format LSAs. The OSPF opaque LSAs are optional and fully backward compatible. This is in contrast to the approach taken in OSPFv3 [I-D.ietf-ospf-ospfv3-lsa-extend] where the existing LSAs will be replaced by TLV-based extended LSAs. New requirements such as source/destination routing, route tagging, and segment routing necessitate this extension. This specification defines the following OSPFv2 opaque LSAs: 1. OSPFv2 Extended Prefix LSA - Allows advertisement of additional attributes for prefixes advertised in Router-LSAs, Network-LSAs, Network-Summary-LSAs, NSSA-LSAs, and AS-External-LSAs [OSPFV2] 2. OSPFv2 Extended links LSA - Allows advertisement of additional attributes for links advertised in Router-LSAs. Additionally, the following TLVs are defined: 1. OSPFv2 Extended Prefix TLV - Top-level TLV advertising attributes for a prefix in the OSPFv2 Extended Prefix LSA. 2. OSPFv2 Extended Link TLV - Top-level TLV advertising attributes for a link in the OSPFv2 Extended link LSA. 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. Acknowledgments We would like to thank Anton Smirnov for his contribution. Thanks to Tony Przygienda for his review and comments. Psenak, et al. Expires June 18, 2015 [Page 3] Internet-Draft OSPFv2 Prefix/Link Attributes December 2014 2. OSPFv2 Extended Prefix Opaque LSA The OSPFv2 Extended Prefix Opaque LSA will be used to advertise additional prefix attributes. Opaque LSAs are described in [OPAQUE]. Multiple OSPFv2 Extended Prefix Opaque LSAs can be advertised by an OSPFv2 router. The flooding scope of the OSPFv2 Extended Prefix Opaque LSA depends on the scope of the advertised prefixes and is under the control of the advertising router. In some cases (e.g., mapping server deployment), the LSA flooding scope may be greater than the scope of the corresponding prefixes. The format of the OSPFv2 Extended Prefix Opaque LSA 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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | LS age | Options | 9, 10, or 11 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Opaque type | Instance | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Advertising Router | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | LS sequence number | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | LS checksum | length | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | +- TLVs -+ | ... | OSPFv2 Extended Prefix LSA The opaque type used by OSPFv2 Extended Prefix Opaque LSA is 7. The format of the TLVs within the body of the OSPFv2 Extended Prefix LSA is the same as the format used by the Traffic Engineering Extensions to OSPF [TE]. The variable TLV section consists of one or more nested Type/Length/Value (TLV) tuples. Nested TLVs are also referred to as sub-TLVs. The format of each TLV is: Psenak, et al. Expires June 18, 2015 [Page 4] Internet-Draft OSPFv2 Prefix/Link Attributes December 2014 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 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. 2.1. OSPFv2 Extended Prefix TLV The OSPF Extended Prefix TLV is used in order to advertise additional attributes associated with the prefix. Multiple OSPF Extended Prefix TLVs MAY be advertised in each OSPFv2 Extended Prefix Opaque LSA. However, since the opaque LSA type defines the flooding scope, the LSA flooding scope MUST satisfy the application specific requirements for all the prefixes included in a single OSPFv2 Extended Prefix Opaque LSA. The OSPF Extended Prefix TLV 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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Type | Length | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Route Type | Prefix Length | AF | Flags | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Address Prefix (variable) | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Sub-TLVs (variable) | +- -+ | | OSPFv2 Extended Prefix TLV Psenak, et al. Expires June 18, 2015 [Page 5] Internet-Draft OSPFv2 Prefix/Link Attributes December 2014 Type The TLV type. Suggested value is 1. Length Variable dependent on sub-TLVs. Route Type Route type: type of the OSPF route. If the route type is 0 (Unspecified), the information inside the OSPF External Prefix TLV applies to the prefix regardless of prefix's route-type. This is useful when prefix specific attributes are advertised by an external entity, which is not aware of the route-type associated with the prefix. Supported types are: 0 - Unspecified 1 - Intra-Area 3 - Inter-Area 5 - AS External 7 - NSSA External Prefix Length Length in of the prefix in bits. AF Address family for the prefix. Currently, the only supported value is 0 for IPv4 unicast. Flags: 1 octet field. The following flags are defined: 0 1 2 3 4 5 6 7 +--+--+--+--+--+--+--+--+ |A | | | | | | | | +--+--+--+--+--+--+--+--+ where: A-Flag: Attach flag. An ABR generating Extended Prefix TLV for inter-area prefix that is locally connected or attached in other connected area SHOULD set this flag. Address Prefix The prefix itself encoded as an even multiple of 32-bit words, padded with zeroed bits as necessary. This encoding consumes Psenak, et al. Expires June 18, 2015 [Page 6] Internet-Draft OSPFv2 Prefix/Link Attributes December 2014 ((PrefixLength + 31) / 32) 32-bit words. The default route is represented by a prefix of length 0. If this TLV is advertised multiple times for the same prefix in the same OSPFv2 Extended Prefix Opaque LSA, only the first instance is used by receiving OSPFv2 Routers. This situation SHOULD be logged as an error. If this TLV is advertised multiple times for the same prefix in different OSPFv2 Extended Prefix Opaque LSAs originated by the same OSPF router, the OSPF advertising router is re-originating Extended Prefix Opaque LSAs for multiple prefixes and is most likely repacking Extended-Prefix-TLVs in Extended Prefix Opaque LSAs. In this case, the Extended-Prefix-TLV in the Extended Prefix Opaque LSA with the smallest Instance is used by receiving OSPFv2 Routers. This situation MAY be logged as a warning. It is RECOMMENDED that OSPF routers advertising Extended-Prefix-TLVs in different Extended Prefix Opaque LSAs re-originate these LSAs in ascending order of Instance to minimize the disruption. If this TLV is advertised multiple times for the same prefix in different OSPFv2 Extended Prefix Opaque LSAs originated by the different OSPF routers, the application using the information is required to determine which OSPFv2 Extended Prefix Opaque LSA is used. For example, the application could prefer the LSA providing the best path to the prefix. This document creates a registry for OSPF Extended Prefix sub-TLVs in Section 6. 3. OSPFv2 Extended Link Opaque LSA The OSPFv2 Extended Link Opaque LSA will be used to advertise additional link attributes. Opaque LSAs are described in [OPAQUE]. The OSPFv2 Extended Link Opaque LSA has an area flooding scope. Multiple OSPFv2 Extended Link Opaque LSAs can be advertised by a single router in an area. The format of the OSPFv2 Extended Link Opaque LSA is as follows: Psenak, et al. Expires June 18, 2015 [Page 7] Internet-Draft OSPFv2 Prefix/Link Attributes December 2014 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 | 10 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Opaque type | Instance | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Advertising Router | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | LS sequence number | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | LS checksum | length | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | +- TLVs -+ | ... | OSPFv2 Extended Link LSA The Opaque type used by OSPFv2 Extended Link Opaque LSA is 8. The format of the TLVs within the body of the OSPFv2 Extended Prefix LSA is the same as Section 2. 3.1. OSPFv2 Extended Link TLV OSPFv2 Extended Link TLV is used in order to advertise various attributes of the link. It describes a single link and is constructed of a set of Sub-TLVs. There are no ordering requirements for the Sub-TLVs. Only one Extended Link TLV SHALL be advertised in each Extended Link Opaque LSA, allowing for fine granularity changes in the topology. The Extended Link TLV has following format: Psenak, et al. Expires June 18, 2015 [Page 8] Internet-Draft OSPFv2 Prefix/Link Attributes December 2014 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 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Link-Type | Reserved | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Link ID | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Link Data | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Sub-TLVs (variable) | +- -+ | | OSPFv2 Extended Link TLV Type The TLV type. Suggested value is 1. Length Variable dependent on sub-TLVs. Link-Type Link-Type is defined in section A.4.2 of [OSPFV2]. Link-ID Link-ID is defined in section A.4.2 of [OSPFV2]. Link Data Link-Data is defined in section A.4.2 of [OSPFV2]. This document creates a registry for OSPF Extended Link sub-TLVs in Section 6. 4. Backward Compatibility Since opaque OSPFv2 LSAs are optional and backward compatible [OPAQUE], the extensions described herein is fully backward compatible. However, future OSPFv2 extensions utilizing these extensions must address backward compatibility of the corresponding functionality. Psenak, et al. Expires June 18, 2015 [Page 9] Internet-Draft OSPFv2 Prefix/Link Attributes December 2014 5. Security Considerations In general, new LSAs defined in this document are subject to the same security concerns as those described in [OSPFV2]. Additionally, implementations must assure that malformed TLV and Sub-TLV permutations do not result in errors that cause hard OSPF failures. 6. IANA Considerations This specification updates the Opaque Link-State Advertisements (LSA) Option Types with the following values: o 7 (IANA Early Allocation [RFC7120]) - OSPFv2 Extended Prefix Opaque LSA o 8 (IANA Early Allocation [RFC7120]) - OSPFv2 Extended Link Opaque LSA This specification also creates four new registries: o OSPF Extended Prefix LSA TLVs o OSPF Extended Prefix TLV Sub-TLVs o OSPF Extended Link LSA TLVs o OSPF Extended Link TLV Sub-TLVs 6.1. OSPF Extended Prefix LSA TLV Registry The OSPF Extend Prefix LSA TLV registry will define top-level TLVs for Extended Prefix LSAs and should be placed in the existing OSPF IANA registry. New values can be allocated via IETF Consensus or IESG Approval. The following initial values are allocated: o 0 - Reserved o 1 - OSPF Extended Prefix TLV Types in the range 32768-33023 are for experimental use; these will not be registered with IANA, and MUST NOT be mentioned by RFCs. Types in the range 33024-65535 are not to be assigned at this time. Before any assignments can be made in the 33024-65535 range, there MUST be an IETF specification that specifies IANA Considerations that covers the range being assigned. Psenak, et al. Expires June 18, 2015 [Page 10] Internet-Draft OSPFv2 Prefix/Link Attributes December 2014 6.2. OSPF Extended Prefix TLV Sub-TLV Registry The OSPF Extended Link LSA sub-TLV registry will define sub-TLVs at any level of nesting for Extended Link LSAs and should be placed in the existing OSPF IANA registry. New values can be allocated via IETF Consensus or IESG Approval. The following initial values are allocated: o 0 - Reserved Types in the range 32768-33023 are for experimental use; these will not be registered with IANA, and MUST NOT be mentioned by RFCs. Types in the range 33024-65535 are not to be assigned at this time. Before any assignments can be made in the 33024-65535 range, there MUST be an IETF specification that specifies IANA Considerations that covers the range being assigned. 6.3. OSPF Extended Link LSA TLV Registry The OSPF Extend Link LSA TLV registry will define top-level TLVs for Extended Link LSAs and should be placed in the existing OSPF IANA registry. New values can be allocated via IETF Consensus or IESG Approval. Following initial values are allocated: o 0 - Reserved o 1 - OSPFv2 Extended Link TLV Types in the range 32768-33023 are for experimental use; these will not be registered with IANA, and MUST NOT be mentioned by RFCs. Types in the range 33024-65535 are not to be assigned at this time. Before any assignments can be made in the 33024-65535 range, there MUST be am IETF specification that specifies IANA Considerations that covers the range being assigned. 6.4. OSPF Extended Link TLV Sub-TLV Registry The OSPF Extended Link sub-TLV registry will define will define sub- TLVs at any level of nesting for Extended Link LSAs and should be placed in the existing OSPF IANA registry. New values can be allocated via IETF Consensus or IESG Approval. The following initial values are allocated: Psenak, et al. Expires June 18, 2015 [Page 11] Internet-Draft OSPFv2 Prefix/Link Attributes December 2014 o 0 - Reserved Types in the range 32768-33023 are for experimental use; these will not be registered with IANA, and MUST NOT be mentioned by RFCs. Types in the range 33024-65535 are not to be assigned at this time. Before any assignments can be made in the 33024-65535 range, there MUST be an IETF specification that specifies IANA Considerations that covers the range being assigned. 7. References 7.1. Normative References [OPAQUE] Berger, L., Bryskin, I., Zinin, A., and R. Coltun, "The OSPF Opaque LSA Option", RFC 5250, July 2008. [OSPFV2] Moy, J., "OSPF Version 2", RFC 2328, April 1998. [RFC-KEYWORDS] Bradner, S., "Key words for use in RFCs 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. 7.2. Informative References [I-D.ietf-ospf-ospfv3-lsa-extend] Lindem, A., Mirtorabi, S., Roy, A., and F. Baker, "OSPFv3 LSA Extendibility", draft-ietf-ospf-ospfv3-lsa-extend-05 (work in progress), November 2014. [RFC7120] Cotton, M., "Early IANA Allocation of Standards Track Code Points", BCP 100, RFC 7120, January 2014. Authors' Addresses Peter Psenak Cisco Systems Apollo Business Center Mlynske nivy 43 Bratislava, 821 09 Slovakia Email: ppsenak@cisco.com Psenak, et al. Expires June 18, 2015 [Page 12] Internet-Draft OSPFv2 Prefix/Link Attributes December 2014 Hannes Gredler Juniper Networks, Inc. 1194 N. Mathilda Ave. Sunnyvale, CA 94089 USA Email: hannes@juniper.net Rob Shakir British Telcom London UK Email: rob.shakir@bt.com Wim Henderickx Alcatel-Lucent Copernicuslaan Antwerp, 2018 94089 Belgium Email: wim.henderickx@alcatel-lucent.com Jeff Tantsura Ericsson 300 Holger Way San Jose, CA 95134 USA Email: jeff.tantsura@ericsson.com Acee Lindem Cisco Systems 301 Midenhall Way Cary, NC 27513 USA Email: acee@cisco.com Psenak, et al. Expires June 18, 2015 [Page 13]