<?xml version='1.0' encoding='utf-8'?>
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" version="3" category="std" ipr="trust200902" docName="draft-ietf-lsr-ospf-prefix-extended-flags-07" number="9792" updates="" obsoletes="" consensus="true" submissionType="IETF" symRefs="true" sortRefs="true" xml:lang="en" tocInclude="true" prepTime="2025-06-12T11:11:36" indexInclude="true" scripts="Common,Latin" tocDepth="3">
  <link href="https://datatracker.ietf.org/doc/draft-ietf-lsr-ospf-prefix-extended-flags-07" rel="prev"/>
  <link href="https://dx.doi.org/10.17487/rfc9792" rel="alternate"/>
  <link href="urn:issn:2070-1721" rel="alternate"/>
  <front>
    <title abbrev="Prefix Flag Extension for OSPF">Prefix Flag Extension for OSPFv2 and OSPFv3</title>
    <seriesInfo name="RFC" value="9792" stream="IETF"/>
    <author initials="R." surname="Chen" fullname="Ran Chen">
      <organization showOnFrontPage="true">ZTE Corporation</organization>
      <address>
        <postal>
          <city>Nanjing</city>
          <country>China</country>
        </postal>
        <email>chen.ran@zte.com.cn</email>
      </address>
    </author>
    <author initials="D." surname="Zhao" fullname="Detao Zhao">
      <organization showOnFrontPage="true">ZTE Corporation</organization>
      <address>
        <postal>
          <city>Nanjing</city>
          <country>China</country>
        </postal>
        <email>zhao.detao@zte.com.cn</email>
      </address>
    </author>
    <author initials="P." surname="Psenak" fullname="Peter Psenak">
      <organization showOnFrontPage="true">Cisco Systems</organization>
      <address>
        <postal>
          <street>Apollo Business Center</street>
          <street>Mlynske nivy 43</street>
          <city>Bratislava</city>
          <code>821 09</code>
          <country>Slovakia</country>
        </postal>
        <email>ppsenak@cisco.com</email>
      </address>
    </author>
    <author initials="K." surname="Talaulikar" fullname="Ketan Talaulikar">
      <organization showOnFrontPage="true">Cisco Systems</organization>
      <address>
        <postal>
          <country>India</country>
        </postal>
        <email>ketant.ietf@gmail.com</email>
      </address>
    </author>
    <author initials="L." surname="Gong" fullname="Liyan Gong">
      <organization showOnFrontPage="true">China Mobile</organization>
      <address>
        <postal>
          <country>China</country>
        </postal>
        <email>gongliyan@chinamobile.com</email>
      </address>
    </author>
    <date month="06" year="2025"/>
    <area>RTG</area>
    <workgroup>lsr</workgroup>
    <abstract pn="section-abstract">
      <t indent="0" pn="section-abstract-1">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.</t>
      <t indent="0" pn="section-abstract-2">This document solves this problem by defining a variable-length Prefix Extended Flags sub-TLV for OSPF. This sub-TLV is applicable to OSPFv2 and OSPFv3.</t>
    </abstract>
    <boilerplate>
      <section anchor="status-of-memo" numbered="false" removeInRFC="false" toc="exclude" pn="section-boilerplate.1">
        <name slugifiedName="name-status-of-this-memo">Status of This Memo</name>
        <t indent="0" pn="section-boilerplate.1-1">
            This is an Internet Standards Track document.
        </t>
        <t indent="0" pn="section-boilerplate.1-2">
            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.
        </t>
        <t indent="0" pn="section-boilerplate.1-3">
            Information about the current status of this document, any
            errata, and how to provide feedback on it may be obtained at
            <eref target="https://www.rfc-editor.org/info/rfc9792" brackets="none"/>.
        </t>
      </section>
      <section anchor="copyright" numbered="false" removeInRFC="false" toc="exclude" pn="section-boilerplate.2">
        <name slugifiedName="name-copyright-notice">Copyright Notice</name>
        <t indent="0" pn="section-boilerplate.2-1">
            Copyright (c) 2025 IETF Trust and the persons identified as the
            document authors. All rights reserved.
        </t>
        <t indent="0" pn="section-boilerplate.2-2">
            This document is subject to BCP 78 and the IETF Trust's Legal
            Provisions Relating to IETF Documents
            (<eref target="https://trustee.ietf.org/license-info" brackets="none"/>) 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.
        </t>
      </section>
    </boilerplate>
    <toc>
      <section anchor="toc" numbered="false" removeInRFC="false" toc="exclude" pn="section-toc.1">
        <name slugifiedName="name-table-of-contents">Table of Contents</name>
        <ul bare="true" empty="true" indent="2" spacing="compact" pn="section-toc.1-1">
          <li pn="section-toc.1-1.1">
            <t indent="0" keepWithNext="true" pn="section-toc.1-1.1.1"><xref derivedContent="1" format="counter" sectionFormat="of" target="section-1"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-introduction">Introduction</xref></t>
            <ul bare="true" empty="true" indent="2" spacing="compact" pn="section-toc.1-1.1.2">
              <li pn="section-toc.1-1.1.2.1">
                <t indent="0" keepWithNext="true" pn="section-toc.1-1.1.2.1.1"><xref derivedContent="1.1" format="counter" sectionFormat="of" target="section-1.1"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-requirements-language">Requirements Language</xref></t>
              </li>
            </ul>
          </li>
          <li pn="section-toc.1-1.2">
            <t indent="0" keepWithNext="true" pn="section-toc.1-1.2.1"><xref derivedContent="2" format="counter" sectionFormat="of" target="section-2"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-variable-length-prefix-exte">Variable-Length Prefix Extended Flags Sub-TLV</xref></t>
          </li>
          <li pn="section-toc.1-1.3">
            <t indent="0" pn="section-toc.1-1.3.1"><xref derivedContent="3" format="counter" sectionFormat="of" target="section-3"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-backward-compatibility">Backward Compatibility</xref></t>
          </li>
          <li pn="section-toc.1-1.4">
            <t indent="0" pn="section-toc.1-1.4.1"><xref derivedContent="4" format="counter" sectionFormat="of" target="section-4"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-iana-considerations">IANA Considerations</xref></t>
            <ul bare="true" empty="true" indent="2" spacing="compact" pn="section-toc.1-1.4.2">
              <li pn="section-toc.1-1.4.2.1">
                <t indent="0" pn="section-toc.1-1.4.2.1.1"><xref derivedContent="4.1" format="counter" sectionFormat="of" target="section-4.1"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-ospfv2">OSPFv2</xref></t>
                <ul bare="true" empty="true" indent="2" spacing="compact" pn="section-toc.1-1.4.2.1.2">
                  <li pn="section-toc.1-1.4.2.1.2.1">
                    <t indent="0" pn="section-toc.1-1.4.2.1.2.1.1"><xref derivedContent="4.1.1" format="counter" sectionFormat="of" target="section-4.1.1"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-ospfv2-prefix-extended-flag">OSPFv2 Prefix Extended Flags Sub-TLV</xref></t>
                  </li>
                  <li pn="section-toc.1-1.4.2.1.2.2">
                    <t indent="0" pn="section-toc.1-1.4.2.1.2.2.1"><xref derivedContent="4.1.2" format="counter" sectionFormat="of" target="section-4.1.2"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-ospfv2-prefix-extended-flags">OSPFv2 Prefix Extended Flags Registry</xref></t>
                  </li>
                </ul>
              </li>
              <li pn="section-toc.1-1.4.2.2">
                <t indent="0" pn="section-toc.1-1.4.2.2.1"><xref derivedContent="4.2" format="counter" sectionFormat="of" target="section-4.2"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-ospfv3">OSPFv3</xref></t>
                <ul bare="true" empty="true" indent="2" spacing="compact" pn="section-toc.1-1.4.2.2.2">
                  <li pn="section-toc.1-1.4.2.2.2.1">
                    <t indent="0" pn="section-toc.1-1.4.2.2.2.1.1"><xref derivedContent="4.2.1" format="counter" sectionFormat="of" target="section-4.2.1"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-ospfv3-prefix-extended-flag">OSPFv3 Prefix Extended Flags Sub-TLV</xref></t>
                  </li>
                  <li pn="section-toc.1-1.4.2.2.2.2">
                    <t indent="0" pn="section-toc.1-1.4.2.2.2.2.1"><xref derivedContent="4.2.2" format="counter" sectionFormat="of" target="section-4.2.2"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-ospfv3-prefix-extended-flags">OSPFv3 Prefix Extended Flags Registry</xref></t>
                  </li>
                </ul>
              </li>
            </ul>
          </li>
          <li pn="section-toc.1-1.5">
            <t indent="0" pn="section-toc.1-1.5.1"><xref derivedContent="5" format="counter" sectionFormat="of" target="section-5"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-security-considerations">Security Considerations</xref></t>
          </li>
          <li pn="section-toc.1-1.6">
            <t indent="0" pn="section-toc.1-1.6.1"><xref derivedContent="6" format="counter" sectionFormat="of" target="section-6"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-references">References</xref></t>
            <ul bare="true" empty="true" indent="2" spacing="compact" pn="section-toc.1-1.6.2">
              <li pn="section-toc.1-1.6.2.1">
                <t indent="0" pn="section-toc.1-1.6.2.1.1"><xref derivedContent="6.1" format="counter" sectionFormat="of" target="section-6.1"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-normative-references">Normative References</xref></t>
              </li>
              <li pn="section-toc.1-1.6.2.2">
                <t indent="0" pn="section-toc.1-1.6.2.2.1"><xref derivedContent="6.2" format="counter" sectionFormat="of" target="section-6.2"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-informative-references">Informative References</xref></t>
              </li>
            </ul>
          </li>
          <li pn="section-toc.1-1.7">
            <t indent="0" pn="section-toc.1-1.7.1"><xref derivedContent="" format="none" sectionFormat="of" target="section-appendix.a"/><xref derivedContent="" format="title" sectionFormat="of" target="name-acknowledgements">Acknowledgements</xref></t>
          </li>
          <li pn="section-toc.1-1.8">
            <t indent="0" pn="section-toc.1-1.8.1"><xref derivedContent="" format="none" sectionFormat="of" target="section-appendix.b"/><xref derivedContent="" format="title" sectionFormat="of" target="name-authors-addresses">Authors' Addresses</xref></t>
          </li>
        </ul>
      </section>
    </toc>
  </front>
  <middle>
    <section numbered="true" toc="include" removeInRFC="false" pn="section-1">
      <name slugifiedName="name-introduction">Introduction</name>
      <t indent="0" pn="section-1-1">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 (<xref section="A.4.1.1" target="RFC5340" format="default" sectionFormat="of" derivedLink="https://rfc-editor.org/rfc/rfc5340#appendix-A.4.1.1" derivedContent="RFC5340"/>) and the Flags field in the OSPFv2 Extended Prefix TLV (<xref target="RFC7684" sectionFormat="of" section="2.1" format="default" derivedLink="https://rfc-editor.org/rfc/rfc7684#section-2.1" derivedContent="RFC7684"/>). The rest of this document refers to these 8-bit fields in both OSPFv2 and OSPFv3 as the "existing fixed-size prefix flags".</t>
      <t indent="0" pn="section-1-2">However, all the OSPFv3 Prefix Options bits have already been assigned (see the "OSPFv3 Prefix Options (8 bits)" IANA registry <xref target="IANA-OSPFv3-PO" format="default" sectionFormat="of" derivedContent="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 <xref target="IANA-OSPFv2-EPF" format="default" sectionFormat="of" derivedContent="IANA-OSPFv2-EPF"/>).</t>
      <t indent="0" pn="section-1-3">This document solves the problem of insufficient flag bits for the signaling of prefix properties in OSPF by defining a variable-length Prefix Extended Flags sub-TLV for OSPFv2 and OSPFv3.</t>
      <section numbered="true" toc="include" removeInRFC="false" pn="section-1.1">
        <name slugifiedName="name-requirements-language">Requirements Language</name>
        <t indent="0" pn="section-1.1-1">
    The key words "<bcp14>MUST</bcp14>", "<bcp14>MUST NOT</bcp14>", "<bcp14>REQUIRED</bcp14>", "<bcp14>SHALL</bcp14>", "<bcp14>SHALL NOT</bcp14>", "<bcp14>SHOULD</bcp14>", "<bcp14>SHOULD NOT</bcp14>", "<bcp14>RECOMMENDED</bcp14>", "<bcp14>NOT RECOMMENDED</bcp14>",
    "<bcp14>MAY</bcp14>", and "<bcp14>OPTIONAL</bcp14>" in this document are to be interpreted as
    described in BCP 14 <xref target="RFC2119" format="default" sectionFormat="of" derivedContent="RFC2119"/> <xref target="RFC8174" format="default" sectionFormat="of" derivedContent="RFC8174"/> 
    when, and only when, they appear in all capitals, as shown here.
        </t>
      </section>
    </section>
    <section numbered="true" toc="include" anchor="vlpafsf" removeInRFC="false" pn="section-2">
      <name slugifiedName="name-variable-length-prefix-exte">Variable-Length Prefix Extended Flags Sub-TLV</name>
      <t indent="0" pn="section-2-1">This document defines a variable-length Prefix Extended Flags sub-TLV for OSPFv2 and OSPFv3. The sub-TLV specifies the variable-length Prefix Extended Flags field to advertise additional attributes associated with OSPF prefixes. The advertisement and processing of the existing fixed-size prefix flags remain unchanged.</t>
      <t indent="0" pn="section-2-2">The format of the OSPFv2/OSPFv3 Prefix Extended Flags sub-TLV is shown in Figure 1.</t>
      <figure align="left" suppress-title="false" pn="figure-1">
        <name slugifiedName="name-format-of-ospfv2-ospfv3-pre">Format of OSPFv2/OSPFv3 Prefix Extended Flags Sub-TLV</name>
        <artwork align="left" pn="section-2-3.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)            //
|                                                               |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+</artwork>
      </figure>
      <t indent="0" pn="section-2-4">where:</t>
      <dl spacing="normal" newline="false" indent="3" pn="section-2-5">
        <dt pn="section-2-5.1">Type (2 octets):</dt>
        <dd pn="section-2-5.2">11 for OSPFv2 and 37 for OSPFv3</dd>
        <dt pn="section-2-5.3">Length (2 octets):</dt>
        <dd pn="section-2-5.4">Variable, dependent on the included Prefix Extended Flags field. This
	indicates the length of the Prefix Extended Flags field in octets. The
	length <bcp14>MUST</bcp14> be a multiple of 4 octets. If the length is
	not a multiple of 4 octets, the Link State Advertisement (LSA) is
	malformed and <bcp14>MUST</bcp14> be ignored.</dd>
        <dt pn="section-2-5.5">Prefix Extended Flags (Variable):</dt>
        <dd pn="section-2-5.6">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 Extended 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 Extended Flags field is referred to as bit 32. Currently, no
	bits are defined in this document.</dd>
      </dl>
      <t indent="0" pn="section-2-6">Unassigned bits <bcp14>MUST</bcp14> be set to zero on transmission and <bcp14>MUST</bcp14> be ignored on receipt.</t>
      <t indent="0" pn="section-2-7">An implementation <bcp14>MUST</bcp14> 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 <bcp14>MUST</bcp14> be treated as being set to 0.</t>
      <t indent="0" pn="section-2-8">The OSPFv2 Prefix Extended Flags sub-TLV is advertised as a sub-TLV of the OSPFv2 Extended Prefix TLV defined in <xref target="RFC7684" format="default" sectionFormat="of" derivedContent="RFC7684"/>. Additional OSPFv2 prefix flags <bcp14>SHOULD</bcp14> be allocated from the unused bits in the Flags field of the OSPFv2 Extended Prefix TLV prior to allocating flags in the OSPFv2 Prefix Extended Flags sub-TLV.</t>
      <t indent="0" pn="section-2-9">The OSPFv3 Prefix Extended Flags sub-TLV is advertised as a sub-TLV of the following OSPFv3 TLVs:</t>
      <ul spacing="normal" bare="false" empty="false" indent="3" pn="section-2-10">
        <li pn="section-2-10.1">Inter-Area-Prefix TLV (<xref target="RFC8362" sectionFormat="of" section="3.4" format="default" derivedLink="https://rfc-editor.org/rfc/rfc8362#section-3.4" derivedContent="RFC8362"/>)</li>
        <li pn="section-2-10.2">External-Prefix TLV (<xref target="RFC8362" sectionFormat="of" section="3.6" format="default" derivedLink="https://rfc-editor.org/rfc/rfc8362#section-3.6" derivedContent="RFC8362"/>)</li>
        <li pn="section-2-10.3">Intra-Area-Prefix TLV (<xref target="RFC8362" sectionFormat="of" section="3.7" format="default" derivedLink="https://rfc-editor.org/rfc/rfc8362#section-3.7" derivedContent="RFC8362"/>)</li>
        <li pn="section-2-10.4">SRv6 Locator TLV <xref target="RFC9513" format="default" sectionFormat="of" derivedContent="RFC9513"/></li>
      </ul>
      <t indent="0" pn="section-2-11">When multiple instances of the OSPFv2/OSPFv3 Prefix Extended Flags sub-TLVs are received within the same TLV, an implementation <bcp14>MUST</bcp14> use only the first occurrence of the sub-TLV and <bcp14>MUST</bcp14> ignore all subsequent instances of the sub-TLV. Errors <bcp14>SHOULD</bcp14> be logged subject to rate limiting.</t>
    </section>
    <section numbered="true" toc="include" removeInRFC="false" pn="section-3">
      <name slugifiedName="name-backward-compatibility">Backward Compatibility</name>
      <t indent="0" pn="section-3-1">The OSPFv2/OSPFv3 Prefix Extended Flags sub-TLV does not introduce any backward compatibility issues. An implementation that does not recognize the OSPFv2/OSPFv3 Prefix Extended Flags sub-TLV would ignore the sub-TLV as per normal TLV processing operations (refer to <xref target="RFC3630" sectionFormat="of" section="2.3.2" format="default" derivedLink="https://rfc-editor.org/rfc/rfc3630#section-2.3.2" derivedContent="RFC3630"/> and <xref target="RFC8362" sectionFormat="of" section="6.3" format="default" derivedLink="https://rfc-editor.org/rfc/rfc8362#section-6.3" derivedContent="RFC8362"/>).</t>
    </section>
    <section anchor="IANA" numbered="true" toc="include" removeInRFC="false" pn="section-4">
      <name slugifiedName="name-iana-considerations">IANA Considerations</name>
      <section numbered="true" toc="include" removeInRFC="false" pn="section-4.1">
        <name slugifiedName="name-ospfv2">OSPFv2</name>
        <section numbered="true" toc="include" removeInRFC="false" pn="section-4.1.1">
          <name slugifiedName="name-ospfv2-prefix-extended-flag">OSPFv2 Prefix Extended Flags Sub-TLV</name>
          <t indent="0" pn="section-4.1.1-1">IANA has allocated the following codepoint in the "OSPFv2 Extended Prefix TLV Sub-TLVs" registry:</t>
          <table align="center" pn="table-1">
            <thead>
              <tr>
                <th align="left" colspan="1" rowspan="1">Value</th>
                <th align="left" colspan="1" rowspan="1">Description</th>
                <th align="left" colspan="1" rowspan="1">Reference</th>
              </tr>
            </thead>
            <tbody>
              <tr>
                <td align="left" colspan="1" rowspan="1">11</td>
                <td align="left" colspan="1" rowspan="1">OSPFv2 Prefix Extended Flags</td>
                <td align="left" colspan="1" rowspan="1">RFC 9792</td>
              </tr>
            </tbody>
          </table>
        </section>
        <section numbered="true" toc="include" removeInRFC="false" pn="section-4.1.2">
          <name slugifiedName="name-ospfv2-prefix-extended-flags">OSPFv2 Prefix Extended Flags Registry</name>
          <t indent="0" pn="section-4.1.2-1">IANA has created the "OSPFv2 Prefix Extended Flags" registry within the "Open Shortest Path First v2 (OSPFv2) Parameters" registry group. The registry defines the bits in the Prefix Extended Flags field in the OSPFv2 Prefix Extended Flags sub-TLV as specified in <xref target="vlpafsf" format="default" sectionFormat="of" derivedContent="Section 2"/>. The bits are to be allocated via IETF Review <xref target="RFC8126" format="default" sectionFormat="of" derivedContent="RFC8126"/>. Each bit definition will include:</t>
          <ul spacing="normal" bare="false" empty="false" indent="3" pn="section-4.1.2-2">
            <li pn="section-4.1.2-2.1">Bit number (counting from bit 0 as the most significant bit of the first block)</li>
            <li pn="section-4.1.2-2.2">Description</li>
            <li pn="section-4.1.2-2.3">Reference</li>
          </ul>
          <t indent="0" pn="section-4.1.2-3">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.</t>
        </section>
      </section>
      <section numbered="true" toc="include" removeInRFC="false" pn="section-4.2">
        <name slugifiedName="name-ospfv3">OSPFv3</name>
        <section numbered="true" toc="include" removeInRFC="false" pn="section-4.2.1">
          <name slugifiedName="name-ospfv3-prefix-extended-flag">OSPFv3 Prefix Extended Flags Sub-TLV</name>
          <t indent="0" pn="section-4.2.1-1">IANA has allocated the following codepoint in the "OSPFv3 Extended-LSA Sub-TLVs" registry:</t>
          <table align="center" pn="table-2">
            <thead>
              <tr>
                <th align="left" colspan="1" rowspan="1">Value</th>
                <th align="left" colspan="1" rowspan="1">Description</th>
                <th align="left" colspan="1" rowspan="1">L2BM</th>
                <th align="left" colspan="1" rowspan="1">Reference</th>
              </tr>
            </thead>
            <tbody>
              <tr>
                <td align="left" colspan="1" rowspan="1">37</td>
                <td align="left" colspan="1" rowspan="1">OSPFv3 Prefix Extended Flags</td>
                <td align="center" colspan="1" rowspan="1">X</td>
                <td align="left" colspan="1" rowspan="1">RFC 9792</td>
              </tr>
            </tbody>
          </table>
        </section>
        <section numbered="true" toc="include" removeInRFC="false" pn="section-4.2.2">
          <name slugifiedName="name-ospfv3-prefix-extended-flags">OSPFv3 Prefix Extended Flags Registry</name>
          <t indent="0" pn="section-4.2.2-1">IANA has created the "OSPFv3 Prefix Extended Flags" registry within the "Open Shortest Path First v3 (OSPFv3) Parameters" registry group. The registry defines the bits in the Prefix Extended Flags field in the OSPFv2 Prefix Extended Flags sub-TLV as specified in <xref target="vlpafsf" format="default" sectionFormat="of" derivedContent="Section 2"/>. The bits are to be allocated via IETF Review <xref target="RFC8126" format="default" sectionFormat="of" derivedContent="RFC8126"/>. Each bit definition will include:</t>
          <ul spacing="normal" bare="false" empty="false" indent="3" pn="section-4.2.2-2">
            <li pn="section-4.2.2-2.1">Bit number (counting from bit 0 as the most significant bit of the first block)</li>
            <li pn="section-4.2.2-2.2">Description</li>
            <li pn="section-4.2.2-2.3">Reference</li>
          </ul>
          <t indent="0" pn="section-4.2.2-3">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. </t>
        </section>
      </section>
    </section>
    <section anchor="Security" numbered="true" toc="include" removeInRFC="false" pn="section-5">
      <name slugifiedName="name-security-considerations">Security Considerations</name>
      <t indent="0" pn="section-5-1">Procedures and protocol extensions defined in this document do not affect the OSPFv2 or OSPFv3 security models. See  <xref target="RFC7684" sectionFormat="of" section="5" format="default" derivedLink="https://rfc-editor.org/rfc/rfc7684#section-5" derivedContent="RFC7684"/> for a discussion of OSPFv2 TLV-encoding considerations and <xref target="RFC8362" sectionFormat="of" section="7" format="default" derivedLink="https://rfc-editor.org/rfc/rfc8362#section-7" derivedContent="RFC8362"/> for a discussion of OSPFv3 security.</t>
    </section>
  </middle>
  <back>
    <references pn="section-6">
      <name slugifiedName="name-references">References</name>
      <references pn="section-6.1">
        <name slugifiedName="name-normative-references">Normative References</name>
        <reference anchor="RFC2119" target="https://www.rfc-editor.org/info/rfc2119" quoteTitle="true" derivedAnchor="RFC2119">
          <front>
            <title>Key words for use in RFCs to Indicate Requirement Levels</title>
            <author fullname="S. Bradner" initials="S." surname="Bradner"/>
            <date month="March" year="1997"/>
            <abstract>
              <t indent="0">In many standards track documents several words are used to signify the requirements in the specification. These words are often capitalized. This document defines these words as they should be interpreted in IETF documents. This document specifies an Internet Best Current Practices for the Internet Community, and requests discussion and suggestions for improvements.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="14"/>
          <seriesInfo name="RFC" value="2119"/>
          <seriesInfo name="DOI" value="10.17487/RFC2119"/>
        </reference>
        <reference anchor="RFC3630" target="https://www.rfc-editor.org/info/rfc3630" quoteTitle="true" derivedAnchor="RFC3630">
          <front>
            <title>Traffic Engineering (TE) Extensions to OSPF Version 2</title>
            <author fullname="D. Katz" initials="D." surname="Katz"/>
            <author fullname="K. Kompella" initials="K." surname="Kompella"/>
            <author fullname="D. Yeung" initials="D." surname="Yeung"/>
            <date month="September" year="2003"/>
            <abstract>
              <t indent="0">This document describes extensions to the OSPF protocol version 2 to support intra-area Traffic Engineering (TE), using Opaque Link State Advertisements.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="3630"/>
          <seriesInfo name="DOI" value="10.17487/RFC3630"/>
        </reference>
        <reference anchor="RFC5340" target="https://www.rfc-editor.org/info/rfc5340" quoteTitle="true" derivedAnchor="RFC5340">
          <front>
            <title>OSPF for IPv6</title>
            <author fullname="R. Coltun" initials="R." surname="Coltun"/>
            <author fullname="D. Ferguson" initials="D." surname="Ferguson"/>
            <author fullname="J. Moy" initials="J." surname="Moy"/>
            <author fullname="A. Lindem" initials="A." surname="Lindem"/>
            <date month="July" year="2008"/>
            <abstract>
              <t indent="0">This document describes the modifications to OSPF to support version 6 of the Internet Protocol (IPv6). The fundamental mechanisms of OSPF (flooding, Designated Router (DR) election, area support, Short Path First (SPF) calculations, etc.) remain unchanged. However, some changes have been necessary, either due to changes in protocol semantics between IPv4 and IPv6, or simply to handle the increased address size of IPv6. These modifications will necessitate incrementing the protocol version from version 2 to version 3. OSPF for IPv6 is also referred to as OSPF version 3 (OSPFv3).</t>
              <t indent="0">Changes between OSPF for IPv4, OSPF Version 2, and OSPF for IPv6 as described herein include the following. Addressing semantics have been removed from OSPF packets and the basic Link State Advertisements (LSAs). New LSAs have been created to carry IPv6 addresses and prefixes. OSPF now runs on a per-link basis rather than on a per-IP-subnet basis. Flooding scope for LSAs has been generalized. Authentication has been removed from the OSPF protocol and instead relies on IPv6's Authentication Header and Encapsulating Security Payload (ESP).</t>
              <t indent="0">Even with larger IPv6 addresses, most packets in OSPF for IPv6 are almost as compact as those in OSPF for IPv4. Most fields and packet- size limitations present in OSPF for IPv4 have been relaxed. In addition, option handling has been made more flexible.</t>
              <t indent="0">All of OSPF for IPv4's optional capabilities, including demand circuit support and Not-So-Stubby Areas (NSSAs), are also supported in OSPF for IPv6. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="5340"/>
          <seriesInfo name="DOI" value="10.17487/RFC5340"/>
        </reference>
        <reference anchor="RFC7684" target="https://www.rfc-editor.org/info/rfc7684" quoteTitle="true" derivedAnchor="RFC7684">
          <front>
            <title>OSPFv2 Prefix/Link Attribute Advertisement</title>
            <author fullname="P. Psenak" initials="P." surname="Psenak"/>
            <author fullname="H. Gredler" initials="H." surname="Gredler"/>
            <author fullname="R. Shakir" initials="R." surname="Shakir"/>
            <author fullname="W. Henderickx" initials="W." surname="Henderickx"/>
            <author fullname="J. Tantsura" initials="J." surname="Tantsura"/>
            <author fullname="A. Lindem" initials="A." surname="Lindem"/>
            <date month="November" year="2015"/>
            <abstract>
              <t indent="0">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 OSPFv2 Opaque LSAs based on Type-Length-Value (TLV) tuples that can be used to associate additional attributes with prefixes or links. Depending on the application, these prefixes and links may or may not be advertised in the fixed-format LSAs. The OSPFv2 Opaque LSAs are optional and fully backward compatible.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7684"/>
          <seriesInfo name="DOI" value="10.17487/RFC7684"/>
        </reference>
        <reference anchor="RFC8126" target="https://www.rfc-editor.org/info/rfc8126" quoteTitle="true" derivedAnchor="RFC8126">
          <front>
            <title>Guidelines for Writing an IANA Considerations Section in RFCs</title>
            <author fullname="M. Cotton" initials="M." surname="Cotton"/>
            <author fullname="B. Leiba" initials="B." surname="Leiba"/>
            <author fullname="T. Narten" initials="T." surname="Narten"/>
            <date month="June" year="2017"/>
            <abstract>
              <t indent="0">Many protocols make use of points of extensibility that use constants to identify various protocol parameters. To ensure that the values in these fields do not have conflicting uses and to promote interoperability, their allocations are often coordinated by a central record keeper. For IETF protocols, that role is filled by the Internet Assigned Numbers Authority (IANA).</t>
              <t indent="0">To make assignments in a given registry prudently, guidance describing the conditions under which new values should be assigned, as well as when and how modifications to existing values can be made, is needed. This document defines a framework for the documentation of these guidelines by specification authors, in order to assure that the provided guidance for the IANA Considerations is clear and addresses the various issues that are likely in the operation of a registry.</t>
              <t indent="0">This is the third edition of this document; it obsoletes RFC 5226.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="26"/>
          <seriesInfo name="RFC" value="8126"/>
          <seriesInfo name="DOI" value="10.17487/RFC8126"/>
        </reference>
        <reference anchor="RFC8174" target="https://www.rfc-editor.org/info/rfc8174" quoteTitle="true" derivedAnchor="RFC8174">
          <front>
            <title>Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words</title>
            <author fullname="B. Leiba" initials="B." surname="Leiba"/>
            <date month="May" year="2017"/>
            <abstract>
              <t indent="0">RFC 2119 specifies common key words that may be used in protocol specifications. This document aims to reduce the ambiguity by clarifying that only UPPERCASE usage of the key words have the defined special meanings.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="14"/>
          <seriesInfo name="RFC" value="8174"/>
          <seriesInfo name="DOI" value="10.17487/RFC8174"/>
        </reference>
        <reference anchor="RFC8362" target="https://www.rfc-editor.org/info/rfc8362" quoteTitle="true" derivedAnchor="RFC8362">
          <front>
            <title>OSPFv3 Link State Advertisement (LSA) Extensibility</title>
            <author fullname="A. Lindem" initials="A." surname="Lindem"/>
            <author fullname="A. Roy" initials="A." surname="Roy"/>
            <author fullname="D. Goethals" initials="D." surname="Goethals"/>
            <author fullname="V. Reddy Vallem" initials="V." surname="Reddy Vallem"/>
            <author fullname="F. Baker" initials="F." surname="Baker"/>
            <date month="April" year="2018"/>
            <abstract>
              <t indent="0">OSPFv3 requires functional extension beyond what can readily be done with the fixed-format Link State Advertisement (LSA) as described in RFC 5340. Without LSA extension, attributes associated with OSPFv3 links and advertised IPv6 prefixes must be advertised in separate LSAs and correlated to the fixed-format LSAs. This document extends the LSA format by encoding the existing OSPFv3 LSA information in Type-Length-Value (TLV) tuples and allowing advertisement of additional information with additional TLVs. Backward-compatibility mechanisms are also described.</t>
              <t indent="0">This document updates RFC 5340, "OSPF for IPv6", and RFC 5838, "Support of Address Families in OSPFv3", by providing TLV-based encodings for the base OSPFv3 unicast support and OSPFv3 address family support.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8362"/>
          <seriesInfo name="DOI" value="10.17487/RFC8362"/>
        </reference>
        <reference anchor="RFC9513" target="https://www.rfc-editor.org/info/rfc9513" quoteTitle="true" derivedAnchor="RFC9513">
          <front>
            <title>OSPFv3 Extensions for Segment Routing over IPv6 (SRv6)</title>
            <author fullname="Z. Li" initials="Z." surname="Li"/>
            <author fullname="Z. Hu" initials="Z." surname="Hu"/>
            <author fullname="K. Talaulikar" initials="K." role="editor" surname="Talaulikar"/>
            <author fullname="P. Psenak" initials="P." surname="Psenak"/>
            <date month="December" year="2023"/>
            <abstract>
              <t indent="0">The Segment Routing (SR) architecture allows a flexible definition of the end-to-end path by encoding it as a sequence of topological elements called segments. It can be implemented over an MPLS or IPv6 data plane. This document describes the OSPFv3 extensions required to support SR over the IPv6 data plane.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9513"/>
          <seriesInfo name="DOI" value="10.17487/RFC9513"/>
        </reference>
      </references>
      <references pn="section-6.2">
        <name slugifiedName="name-informative-references">Informative References</name>
        <reference anchor="IANA-OSPFv2-EPF" target="https://www.iana.org/assignments/ospfv2-parameters" quoteTitle="true" derivedAnchor="IANA-OSPFv2-EPF">
          <front>
            <title>OSPFv2 Extended Prefix TLV Flags</title>
            <author>
              <organization showOnFrontPage="true">IANA</organization>
            </author>
          </front>
        </reference>
        <reference anchor="IANA-OSPFv3-PO" target="https://www.iana.org/assignments/ospfv3-parameters" quoteTitle="true" derivedAnchor="IANA-OSPFv3-PO">
          <front>
            <title>OSPFv3 Prefix Options (8 bits)</title>
            <author>
              <organization showOnFrontPage="true">IANA</organization>
            </author>
          </front>
        </reference>
      </references>
    </references>
    <section anchor="Acknowledgements" numbered="false" toc="include" removeInRFC="false" pn="section-appendix.a">
      <name slugifiedName="name-acknowledgements">Acknowledgements</name>
      <t indent="0" pn="section-appendix.a-1">The authors would like to thank <contact fullname="Shraddha Hegde"/>, <contact fullname="Changwang Lin"/>, <contact fullname="Tom Petch"/>, and many others for their suggestions and comments.</t>
      <t indent="0" pn="section-appendix.a-2">The authors would also like to thank <contact fullname="Acee Lindem"/> for aligning the terminology with existing OSPF documents and for editorial improvements.</t>
    </section>
    <section anchor="authors-addresses" numbered="false" removeInRFC="false" toc="include" pn="section-appendix.b">
      <name slugifiedName="name-authors-addresses">Authors' Addresses</name>
      <author initials="R." surname="Chen" fullname="Ran Chen">
        <organization showOnFrontPage="true">ZTE Corporation</organization>
        <address>
          <postal>
            <city>Nanjing</city>
            <country>China</country>
          </postal>
          <email>chen.ran@zte.com.cn</email>
        </address>
      </author>
      <author initials="D." surname="Zhao" fullname="Detao Zhao">
        <organization showOnFrontPage="true">ZTE Corporation</organization>
        <address>
          <postal>
            <city>Nanjing</city>
            <country>China</country>
          </postal>
          <email>zhao.detao@zte.com.cn</email>
        </address>
      </author>
      <author initials="P." surname="Psenak" fullname="Peter Psenak">
        <organization showOnFrontPage="true">Cisco Systems</organization>
        <address>
          <postal>
            <street>Apollo Business Center</street>
            <street>Mlynske nivy 43</street>
            <city>Bratislava</city>
            <code>821 09</code>
            <country>Slovakia</country>
          </postal>
          <email>ppsenak@cisco.com</email>
        </address>
      </author>
      <author initials="K." surname="Talaulikar" fullname="Ketan Talaulikar">
        <organization showOnFrontPage="true">Cisco Systems</organization>
        <address>
          <postal>
            <country>India</country>
          </postal>
          <email>ketant.ietf@gmail.com</email>
        </address>
      </author>
      <author initials="L." surname="Gong" fullname="Liyan Gong">
        <organization showOnFrontPage="true">China Mobile</organization>
        <address>
          <postal>
            <country>China</country>
          </postal>
          <email>gongliyan@chinamobile.com</email>
        </address>
      </author>
    </section>
  </back>
</rfc>
