Internet Engineering Task Force (IETF) R. Chen Request for Comments: 9792 D. Zhao Category: Standards Track ZTE Corporation ISSN: 2070-1721 P. Psenak K. Talaulikar Cisco Systems L. Gong China mobile May 2025 Prefix Flag Extension for OSPFv2 and OSPFv3 Abstract Each OSPF prefix can be advertised with an 8-bit field to indicate specific properties of that prefix. However, all the OSPFv3 Prefix Options bits have already been assigned, and only a few bits remain unassigned in the Flags field of the OSPFv2 Extended Prefix TLV. This document solves this problem by defining a variable-length Prefix Attribute Flags sub-TLV for OSPF. This sub-TLV is applicable to OSPFv2 and OSPFv3. Status of This Memo This is an Internet Standards Track document. This document is a product of the Internet Engineering Task Force (IETF). It represents the consensus of the IETF community. It has received public review and has been approved for publication by the Internet Engineering Steering Group (IESG). Further information on Internet Standards is available in Section 2 of RFC 7841. Information about the current status of this document, any errata, and how to provide feedback on it may be obtained at https://www.rfc-editor.org/info/rfc9792. Copyright Notice Copyright (c) 2025 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 (https://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 Revised BSD License text as described in Section 4.e of the Trust Legal Provisions and are provided without warranty as described in the Revised BSD License. Table of Contents 1. Introduction 1.1. Requirements Language 2. Variable-Length Prefix Attribute Flags Sub-TLV 3. Backward Compatibility 4. IANA Considerations 4.1. OSPFv2 4.1.1. OSPFv2 Prefix Attribute Flags Sub-TLV 4.1.2. OSPFv2 PrefixExtended Flag FieldAttribute Flags Registry 4.2. OSPFv3 4.2.1. OSPFv3 Prefix Attribute Flags Sub-TLV 4.2.2. OSPFv3 PrefixExtended Flag FieldAttribute Flags Registry 5. Security Considerations 6. References 6.1. Normative References 6.2. Informative References Acknowledgements Authors' Addresses 1. Introduction Each OSPF prefix can be advertised with an 8-bit field to indicate specific properties of that prefix. This is done using the OSPFv3 Prefix Options (Appendix A.4.1.1 of [RFC5340]) and the Flags field in the OSPFv2 Extended Prefix TLV (Section 2.1 of [RFC7684]). The rest of this document refers to these 8-bit fields in both OSPFv2 and OSPFv3 as the "existing fixed-size prefix attribute flags". However, all the OSPFv3 Prefix Options bits have already been assigned (see the "OSPFv3 Prefix Options (8 bits)" IANA registry [IANA-OSPFv3-PO]). Also, at the time of publication of this document, only 5 bits remain unassigned in the Flags field of the OSPFv2 Extended Prefix TLV (see the "OSPFv2 Extended Prefix TLV Flags" IANA registry [IANA-OSPFv2-EPF]). This document solves the problem of insufficient flag bits for the signaling of prefix properties in OSPF by defining a variable-length Prefix Attribute Flags sub-TLV for OSPFv2 and OSPFv3. 1.1. Requirements Language The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in BCP 14 [RFC2119] [RFC8174] when, and only when, they appear in all capitals, as shown here. 2. Variable-Length Prefix Attribute Flags Sub-TLV This document defines a variable-length Prefix Attribute Flags sub- TLV for OSPFv2 and OSPFv3. The sub-TLV specifies thevariable-flag fieldsvariable-length Prefix Attribute Flags field to advertise additional attributes associated with OSPF prefixes. The advertisement and processing of the existingfixed- sizefixed-size prefix attribute flags remain unchanged. The format of the OSPFv2/OSPFv3 Prefix Attribute Flags sub-TLV is shown in Figure 1. 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 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | // Prefix Attribute Flags (Variable) // | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Figure 1: Format of OSPFv2/OSPFv3 Prefix Attribute Flags Sub-TLV where: Type (2 octets): 11 for OSPFv2 and 37 for OSPFv3 Length (2 octets): Variable, dependent on the included Prefix AttributeFlags.Flags field. This indicates the length of theprefix attribute flagsPrefix Attribute Flags field in octets. The length MUST be a multiple of 4 octets. If the length is not a multiple of 4 octets, the Link State Advertisement (LSA) is malformed and MUST be ignored. Prefix Attribute Flags (Variable): The extended flag field. This field contains a variable number of flags, grouped in 4-octet blocks. The bits are numbered starting from bit 0 as the most significant bit of the first 32-bit block. If the length of the Prefix Attribute Flags field exceeds 4 octets, numbering for the additional bits picks up where the previous 4-octet block left off. For example, the most significant bit in the fifth octet of an 8-octet Prefix Attribute Flags field is referred to as bit 32. Currently, no bits are defined in this document. Unassigned bits MUST be set to zero on transmission and MUST be ignored on receipt. An implementation MUST limit the length of the sub-TLV so as to signal the bits that are set to 1. Defined prefix flags that are not transmitted due to being beyond the transmitted length MUST be treated as being set to 0. The OSPFv2 Prefix Attribute Flags sub-TLV is advertised as a sub-TLV of the OSPFv2 Extended Prefix TLV defined in [RFC7684]. Additional OSPFv2 prefix flags SHOULD be allocated from the unused bits in the Flags field of the OSPFv2 Extended Prefix TLV prior to allocating flags in the OSPFv2 Prefix Attribute Flags sub-TLV. The OSPFv3 Prefix Attribute Flags sub-TLV is advertised as a sub-TLV of the following OSPFv3 TLVs: * Inter-Area-Prefix TLV (Section 3.4 of [RFC8362]) * External-Prefix TLV (Section 3.6 of [RFC8362]) * Intra-Area-Prefix TLV (Section 3.7 of [RFC8362]) * SRv6 Locator TLV [RFC9513] When multiple instances of the OSPFv2/OSPFv3 Prefix Attribute Flags sub-TLVs are received within the same TLV, an implementation MUST use only the first occurrence of the sub-TLV and MUST ignore all subsequent instances of the sub-TLV. Errors SHOULD be logged subject to rate limiting. 3. Backward Compatibility The OSPFv2/OSPFv3 Prefix Attribute Flags sub-TLV does not introduce any backward compatibility issues. An implementation that does not recognize the OSPFv2/OSPFv3 Prefix Attribute Flags sub-TLV would ignore the sub-TLV as per normal TLV processing operations (refer to Section6.32.3.2 of [RFC3630] and Section2.3.26.3 of [RFC8362]). 4. IANA Considerations 4.1. OSPFv2 4.1.1. OSPFv2 Prefix Attribute Flags Sub-TLV IANA has allocated the following codepoint in the "OSPFv2 Extended Prefix TLV Sub-TLVs" registry: +=======+===============================+===========+ | Value | Description | Reference | +=======+===============================+===========+ | 11 | OSPFv2 Prefix Attribute Flags | RFC 9792 | +-------+-------------------------------+-----------+ Table 1 4.1.2. OSPFv2 PrefixExtended Flag FieldAttribute Flags Registry IANA has created the "OSPFv2 PrefixExtended Flag Field"Attribute Flags" registry within the "Open Shortest Path First v2 (OSPFv2) Parameters" registry group. The registry defines the bits in the Prefix Attribute Flags field in the OSPFv2 Prefix Attribute Flags sub-TLV as specified in Section 2. The bits are to be allocated via IETF Review [RFC8126]. Each bit definition will include: * Bit number (counting from bit 0 as the most significant bit of the first block) * Description * Reference No bits are currently defined. Bits 0-31 are to be initially marked as "Unassigned". The flags defined in this document may use either a single bit or multiple bits to represent a state, as determined by the specific requirements of the document defining them. IANA will add subsequent blocks of 32 bits upon exhaustion of the preceding 32-bit block. 4.2. OSPFv3 4.2.1. OSPFv3 Prefix Attribute Flags Sub-TLV IANA has allocated the following codepoint in the "OSPFv3 Extended- LSA Sub-TLVs" registry: +=======+===============================+===========+ | Value | Description | Reference | +=======+===============================+===========+ | 37 | OSPFv3 Prefix Attribute Flags | RFC 9792 | +-------+-------------------------------+-----------+ Table 2 The entry in the "L2BM" field is "X". 4.2.2. OSPFv3 PrefixExtended Flag FieldAttribute Flags Registry IANA has created the "OSPFv3 PrefixExtended Flag Field"Attribute Flags" registry within the "Open Shortest Path First v3 (OSPFv3) Parameters" registry group. The registry defines the bits in the Prefix Attribute Flags field in the OSPFv2 Prefix Attribute Flags sub-TLV as specified in Section 2. The bits are to be allocated via IETF Review [RFC8126]. Each bit definition will include: * Bit number (counting from bit 0 as the most significant bit of the first block) * Description * Reference No bits are currently defined. Bits 0-31 are to be initially marked as "Unassigned". The flags defined in this document may use either a single bit or multiple bits to represent a state, as determined by the specific requirements of the document defining them. IANA will add subsequent blocks of 32 bits upon exhaustion of the preceding 32-bit block. 5. Security Considerations Procedures and protocol extensions defined in this document do not affect the OSPFv2 or OSPFv3 security models. See Section 5 of [RFC7684] for a discussion of OSPFv2 TLV-encoding considerations and Section 7 of [RFC8362] for a discussion of OSPFv3 security. 6. References 6.1. Normative References [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, DOI 10.17487/RFC2119, March 1997, <https://www.rfc-editor.org/info/rfc2119>. [RFC3630] Katz, D., Kompella, K., and D. Yeung, "Traffic Engineering (TE) Extensions to OSPF Version 2", RFC 3630, DOI 10.17487/RFC3630, September 2003, <https://www.rfc-editor.org/info/rfc3630>. [RFC5340] Coltun, R., Ferguson, D., Moy, J., and A. Lindem, "OSPF for IPv6", RFC 5340, DOI 10.17487/RFC5340, July 2008, <https://www.rfc-editor.org/info/rfc5340>. [RFC7684] Psenak, P., Gredler, H., Shakir, R., Henderickx, W., Tantsura, J., and A. Lindem, "OSPFv2 Prefix/Link Attribute Advertisement", RFC 7684, DOI 10.17487/RFC7684, November 2015, <https://www.rfc-editor.org/info/rfc7684>. [RFC8126] Cotton, M., Leiba, B., and T. Narten, "Guidelines for Writing an IANA Considerations Section in RFCs", BCP 26, RFC 8126, DOI 10.17487/RFC8126, June 2017, <https://www.rfc-editor.org/info/rfc8126>. [RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174, May 2017, <https://www.rfc-editor.org/info/rfc8174>. [RFC8362] Lindem, A., Roy, A., Goethals, D., Reddy Vallem, V., and F. Baker, "OSPFv3 Link State Advertisement (LSA) Extensibility", RFC 8362, DOI 10.17487/RFC8362, April 2018, <https://www.rfc-editor.org/info/rfc8362>. [RFC9513] Li, Z., Hu, Z., Talaulikar, K., Ed., and P. Psenak, "OSPFv3 Extensions for Segment Routing over IPv6 (SRv6)", RFC 9513, DOI 10.17487/RFC9513, December 2023, <https://www.rfc-editor.org/info/rfc9513>. 6.2. Informative References [IANA-OSPFv2-EPF] IANA, "OSPFv2 Extended Prefix TLV Flags", <https://www.iana.org/assignments/ospfv2-parameters>. [IANA-OSPFv3-PO] IANA, "OSPFv3 Prefix Options (8 bits)", <https://www.iana.org/assignments/ospfv3-parameters>. Acknowledgements The authors would like to thank Shraddha Hegde, Changwang Lin, Tom Petch, and many others for their suggestions and comments. The authors would also like to thank Acee Lindem for aligning the terminology with existing OSPF documents and for editorial improvements. Authors' Addresses Ran Chen ZTE Corporation Nanjing China Email: chen.ran@zte.com.cn Detao Zhao ZTE Corporation Nanjing China Email: zhao.detao@zte.com.cn Peter Psenak Cisco Systems Apollo Business Center Mlynske nivy 43 821 09 Bratislava Slovakia Email: ppsenak@cisco.com Ketan Talaulikar Cisco Systems India Email: ketant.ietf@gmail.com Liyan Gong China mobile China Email: gongliyan@chinamobile.com