RFC 9792

Prefix Flag Extension for OSPFv2 and OSPFv3

πŸ“… published June 2025, from ietf

Prefix Flag Extension for OSPFv2 and OSPFv3 πŸ’–

Okay bestie, RFC 9792 is giving main character energy πŸ¦‹ It's from the IETF (Internet Engineering Task Force) and it's a Standards Track document, so it's an official spec and not just a vibe. It was written by R. Chen and D. Zhao from ZTE Corporation, P. Psenak and K. Talaulikar from Cisco Systems, and L. Gong from China Mobile. It was published in June 2025, and its ISSN is 2070-1721. The title block doesn't list anything it obsoletes or updates, so it's not replacing or changing any older RFC. 🌸

Abstract πŸ’…

So each OSPF prefix can be advertised with an 8-bit field that says specific things about that prefix. But ngl, all the OSPFv3 Prefix Options bits are already taken, and only a few bits are still unassigned in the Flags field of the OSPFv2 Extended Prefix TLV. 😭

This doc fixes that by defining a variable-length Prefix Extended Flags sub-TLV for OSPF. It works for both 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). More info on Internet Standards is in Section 2 of RFC 7841.

Info about the current status of this document, any errata, and how to give feedback on it is at https://www.rfc-editor.org/info/rfc9792. 🧚

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, since 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 they are provided without warranty as described in the Revised BSD License. ⭐

Table of Contents πŸ“

   1.  Introduction
     1.1.  Requirements Language
   2.  Variable-Length Prefix Extended Flags Sub-TLV
   3.  Backward Compatibility
   4.  IANA Considerations
     4.1.  OSPFv2
       4.1.1.  OSPFv2 Prefix Extended Flags Sub-TLV
       4.1.2.  OSPFv2 Prefix Extended Flags Registry
     4.2.  OSPFv3
       4.2.1.  OSPFv3 Prefix Extended Flags Sub-TLV
       4.2.2.  OSPFv3 Prefix Extended Flags Registry
   5.  Security Considerations
   6.  References
     6.1.  Normative References
     6.2.  Informative References
   Acknowledgements
   Authors' Addresses

1. Introduction ✨

Okay so each OSPF prefix can be advertised with an 8-bit field to show 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 doc calls these 8-bit fields in both OSPFv2 and OSPFv3 the "existing fixed-size prefix flags." πŸ¦‹

But here's the tea: all the OSPFv3 Prefix Options bits have already been assigned (see the "OSPFv3 Prefix Options (8 bits)" IANA registry [IANA-OSPFv3-PO]). Also, when this document was published, only 5 bits were still unassigned in the Flags field of the OSPFv2 Extended Prefix TLV (see the "OSPFv2 Extended Prefix TLV Flags" IANA registry [IANA-OSPFv2-EPF]). 😭

This doc solves the problem of not having enough flag bits for signaling prefix properties in OSPF. It does that by defining a variable-length Prefix Extended Flags sub-TLV for OSPFv2 and OSPFv3. πŸ’…

1.1. Requirements Language 🫢

The BCP 14 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 Extended Flags Sub-TLV πŸ¦‹

This doc defines a variable-length Prefix Extended Flags sub-TLV for OSPFv2 and OSPFv3. The sub-TLV specifies the variable-length Prefix Extended Flags field, which advertises additional attributes linked to OSPF prefixes. The advertisement and processing of the existing fixed-size prefix flags stay exactly the same. ✨

The format of the OSPFv2/OSPFv3 Prefix Extended 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 Extended Flags (Variable)            //
   |                                                               |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

Figure 1: Format of OSPFv2/OSPFv3 Prefix Extended Flags Sub-TLV

Here's what each field means:

  • Type (2 octets): 11 for OSPFv2 and 37 for OSPFv3.
  • Length (2 octets): Variable, depending on the Prefix Extended Flags field that's included. It gives the length of the Prefix Extended 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 Extended Flags (Variable): The extended flag field. This field holds 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 Extended Flags field goes past 4 octets, the numbering for the extra 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 Extended Flags field is referred to as bit 32. Right now, 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 that it signals the bits that are set to 1. Defined prefix flags that aren't transmitted because they're beyond the transmitted length MUST be treated as being set to 0. 🧚

The OSPFv2 Prefix Extended 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 before flags get allocated in the OSPFv2 Prefix Extended Flags sub-TLV. 🌈

The OSPFv3 Prefix Extended 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 Extended Flags sub-TLV 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 it. Errors SHOULD be logged, subject to rate limiting. πŸ”₯

3. Backward Compatibility πŸ’œ

The OSPFv2/OSPFv3 Prefix Extended Flags sub-TLV doesn't introduce any backward compatibility issues. An implementation that doesn't recognize the OSPFv2/OSPFv3 Prefix Extended Flags sub-TLV would ignore the sub-TLV following normal TLV processing operations (refer to Section 2.3.2 of [RFC3630] and Section 6.3 of [RFC8362]). 🫢

6.1. Normative References ✨

okay bestie, this is the reading list with all the heavy hitters πŸ“šπŸ’… each entry has the author names, the title, the series number, the DOI, the date, and the link, so you can go find any of them yourself πŸ”

[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 🌸

these ones are the extra-cute friends πŸŽ€ they're not the core rules, but they point you to the IANA pages where the registry values live πŸ¦‹

[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 gave a huge shoutout to Shraddha Hegde, Changwang Lin, Tom Petch, and a bunch of other people πŸ’– for their suggestions and comments, which is so sweet πŸ₯Ή

they also thanked Acee Lindem πŸ‘‘ for lining up the terminology with the existing OSPF documents and for all the editorial glow-ups ✨

Authors' Addresses 🧚

here's where you can find the authors πŸ’Œ

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

that's a wrap on the whole doc, bestie πŸŒˆπŸ’œ you made it through all of it, iconic behavior 😭πŸ”₯

πŸ“¦ where this page comes from