<?xml version='1.0' encoding='utf-8'?>
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" version="3" category="std" consensus="true" docName="draft-ietf-lsr-ospf-l2bundles-10" indexInclude="true" ipr="trust200902" number="9356" prepTime="2023-01-25T11:21:11" scripts="Common,Latin" sortRefs="true" submissionType="IETF" symRefs="true" tocDepth="3" tocInclude="true" updates="9085" xml:lang="en">
  <link href="https://datatracker.ietf.org/doc/draft-ietf-lsr-ospf-l2bundles-10" rel="prev"/>
  <link href="https://dx.doi.org/10.17487/rfc9356" rel="alternate"/>
  <link href="urn:issn:2070-1721" rel="alternate"/>
  <front>
    <title abbrev="OSPF L2 Bundle Member Link Attributes">Advertising Layer 2 Bundle Member Link Attributes in OSPF</title>
    <seriesInfo name="RFC" value="9356" stream="IETF"/>
    <author fullname="Ketan Talaulikar" initials="K." role="editor" surname="Talaulikar">
      <organization showOnFrontPage="true">Cisco Systems</organization>
      <address>
        <postal>
          <street/>
          <city/>
          <code/>
          <region/>
          <country>India</country>
        </postal>
        <email>ketant.ietf@gmail.com</email>
      </address>
    </author>
    <author fullname="Peter Psenak" initials="P." surname="Psenak">
      <organization showOnFrontPage="true">Cisco Systems</organization>
      <address>
        <postal>
          <extaddr>Apollo Business Center</extaddr>
          <street>Mlynske nivy 43</street>
          <city>Bratislava</city>
          <code>821 09</code>
          <country>Slovakia</country>
        </postal>
        <email>ppsenak@cisco.com</email>
      </address>
    </author>
    <date month="01" year="2023"/>
    <area>rtg</area>
    <workgroup>lsr</workgroup>
    <keyword>OSPF</keyword>
    <abstract pn="section-abstract">
      <t indent="0" pn="section-abstract-1">There are deployments where the Layer 3 (L3) interface on which OSPF
      operates is a Layer 2 (L2) interface bundle. Existing OSPF
      advertisements only support advertising link attributes of the L3
      interface. If entities external to OSPF wish to control traffic flows on
      the individual physical links that comprise the L2 interface
      bundle, link attribute information for the bundle members is
      required.</t>
      <t indent="0" pn="section-abstract-2">This document defines the protocol extensions for OSPF to advertise
      the link attributes of L2 bundle members. The document also specifies
      the advertisement of these OSPF extensions via the Border Gateway Protocol - Link State (BGP-LS)
      and thereby updates RFC 9085.</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/rfc9356" 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) 2023 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-l2-bundle-member-attributes">L2 Bundle Member Attributes</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-bgp-ls-advertisement">BGP-LS Advertisement</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>
          </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-operational-considerations">Operational 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-security-considerations">Security Considerations</xref></t>
          </li>
          <li pn="section-toc.1-1.7">
            <t indent="0" pn="section-toc.1-1.7.1"><xref derivedContent="7" format="counter" sectionFormat="of" target="section-7"/>.  <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.7.2">
              <li pn="section-toc.1-1.7.2.1">
                <t indent="0" pn="section-toc.1-1.7.2.1.1"><xref derivedContent="7.1" format="counter" sectionFormat="of" target="section-7.1"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-normative-references">Normative References</xref></t>
              </li>
              <li pn="section-toc.1-1.7.2.2">
                <t indent="0" pn="section-toc.1-1.7.2.2.1"><xref derivedContent="7.2" format="counter" sectionFormat="of" target="section-7.2"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-informative-references">Informative References</xref></t>
              </li>
            </ul>
          </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.a"/><xref derivedContent="" format="title" sectionFormat="of" target="name-acknowledgements">Acknowledgements</xref></t>
          </li>
          <li pn="section-toc.1-1.9">
            <t indent="0" pn="section-toc.1-1.9.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">There are deployments where the L3 interface on which an
      OSPF adjacency is established is a L2 interface bundle, for
      instance, a Link Aggregation Group (LAG) <xref target="IEEE802.1AX" format="default" sectionFormat="of" derivedContent="IEEE802.1AX"/>. This reduces the number of adjacencies that need to
      be maintained by the OSPF protocol in cases where there are parallel
      links between the neighbors.  Entities external to OSPF such as Path
      Computation Elements (PCEs) <xref target="RFC4655" format="default" sectionFormat="of" derivedContent="RFC4655"/> may
      wish to control traffic flows on individual L2 member links of the
      underlying bundle interface (e.g., LAG). To do so, link attribute
      information for individual bundle members is required.  The protocol
      extensions defined in this document provide the means to advertise this
      information.</t>
      <t indent="0" pn="section-1-2">This document defines sub-TLVs to advertise link attribute
      information for each of the L2 bundle members that comprise the L3
      interface on which OSPF operates. Similar capabilities were introduced
      for IS-IS in <xref target="RFC8668" format="default" sectionFormat="of" derivedContent="RFC8668"/>.</t>
      <t indent="0" pn="section-1-3"><xref target="RFC8665" format="default" sectionFormat="of" derivedContent="RFC8665"/> and <xref target="RFC8666" format="default" sectionFormat="of" derivedContent="RFC8666"/> introduced the Adjacency Segment Identifier (Adj-SID)
      link attribute for OSPFv2 and OSPFv3, respectively, which can be used as
      an instruction to forward traffic over a specific link <xref target="RFC8402" format="default" sectionFormat="of" derivedContent="RFC8402"/>. This document enables the
      advertisement of the Adj-SIDs using the same Adj-SID sub-TLV at
      the granularity level of each L2 bundle member link so that traffic may
      be steered over that specific member link.</t>
      <t indent="0" pn="section-1-4">Note that the advertisements at the L2 bundle member link level
      defined in this document are intended to be provided to entities external to OSPF
      and do not alter or change the OSPF route computation.  The
      following items are intentionally not defined in and are outside the scope
      of this document:</t>
      <ul spacing="normal" bare="false" empty="false" indent="3" pn="section-1-5">
        <li pn="section-1-5.1">What link attributes will be advertised. This is determined by
          the needs of the external entities.</li>
        <li pn="section-1-5.2">A minimum or default set of link attributes.</li>
        <li pn="section-1-5.3">How these attributes are configured.</li>
        <li pn="section-1-5.4">How the advertisements are used.</li>
        <li pn="section-1-5.5">What impact the use of these advertisements may have on traffic
          flow in the network.</li>
        <li pn="section-1-5.6">How the advertisements are passed to external entities.</li>
      </ul>
      <t indent="0" pn="section-1-6">BGP Link State (BGP-LS) <xref target="RFC7752" format="default" sectionFormat="of" derivedContent="RFC7752"/>
      was extended for the advertisement of L2 bundle members and their
      attributes in <xref target="RFC9085" format="default" sectionFormat="of" derivedContent="RFC9085"/>, which covered
      only IS-IS. This document updates <xref target="RFC9085" format="default" sectionFormat="of" derivedContent="RFC9085"/> by specifying the advertisement from OSPF (refer to
      <xref target="BGPLS" format="default" sectionFormat="of" derivedContent="Section 3"/>).</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" removeInRFC="false" pn="section-2">
      <name slugifiedName="name-l2-bundle-member-attributes">L2 Bundle Member Attributes</name>
      <t indent="0" pn="section-2-1">A new L2 Bundle Member
      Attributes sub-TLV is introduced to advertise L2 bundle member
      attributes in both OSPFv2 and OSPFv3. In the case of OSPFv2, this
      sub-TLV is an optional sub-TLV of the OSPFv2 Extended Link TLV that is
      used to describe link attributes via the OSPFv2 Extended Link Opaque LSA
      (Link State Advertisement) <xref target="RFC7684" format="default" sectionFormat="of" derivedContent="RFC7684"/>. In
      the case of OSPFv3, this sub-TLV is an optional sub-TLV of the Router-Link TLV of the OSPFv3 E-Router-LSA <xref target="RFC8362" format="default" sectionFormat="of" derivedContent="RFC8362"/>.</t>
      <t indent="0" pn="section-2-2">When the OSPF adjacency is associated with an L2 bundle interface,
      this sub-TLV is used to advertise the underlying L2 bundle member links
      along with their respective link attributes. The inclusion of this
      information implies that the identified link is a member of the L2
      bundle associated with an OSPF L3 link and that the member link is
      operationally up. Therefore, advertisements of member links <bcp14>MUST NOT</bcp14> be
      done when the member link becomes operationally down or is no longer
      a member of the identified L2 bundle.</t>
      <t indent="0" pn="section-2-3">The advertisement of the L2 Bundle Member Attributes sub-TLV may be
      asymmetric for an OSPF link, depending on the underlying L2
      connectivity, i.e., advertised by the router on only one end.</t>
      <t indent="0" pn="section-2-4">The L2 Bundle Member Attributes sub-TLV has the following format:
      </t>
      <figure anchor="L2BTLVFIG" align="left" suppress-title="false" pn="figure-1">
        <name slugifiedName="name-l2-bundle-member-attributes-">L2 Bundle Member Attributes Sub-TLV Format</name>
        <artwork name="" type="" align="left" alt="" pn="section-2-5.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               |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                   L2 Bundle Member Descriptor                 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|           Member Link Attribute sub-TLVs (variable)          //
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
</artwork>
      </figure>
      <t indent="0" pn="section-2-6">Where:</t>
      <dl newline="false" spacing="normal" indent="3" pn="section-2-7">
        <dt pn="section-2-7.1">Type:</dt>
        <dd pn="section-2-7.2">24 for OSPFv2 and 29 for OSPFv3</dd>
        <dt pn="section-2-7.3">Length:</dt>
        <dd pn="section-2-7.4">The total length (in octets) of the value portion of the
          TLV including nested sub-TLVs.</dd>
        <dt pn="section-2-7.5">L2 Bundle Member Descriptor:</dt>
        <dd pn="section-2-7.6">A 4-octet link-local identifier for the member link. This identifier is described as "link local identifier" in <xref target="RFC4202" format="default" sectionFormat="of" derivedContent="RFC4202"/> and used as "Local Interface ID" in <xref target="RFC8510" format="default" sectionFormat="of" derivedContent="RFC8510"/>.</dd>
      </dl>
      <t indent="0" pn="section-2-8">Link attributes for L2 bundle member links are advertised as sub-TLVs
      of the L2 Bundle Member Attributes sub-TLV.</t>
      <t indent="0" pn="section-2-9">In the case of OSPFv2, the L2 Bundle Member Attributes sub-TLV shares
      the sub-TLV space of the Extended Link TLV, and the sub-TLVs of the
      Extended Link TLV <bcp14>MAY</bcp14> be used to describe the attributes
      of the member link. <xref target="OSPFV2L2EXCL" format="default" sectionFormat="of" derivedContent="Table 1"/> 
      lists sub-TLVs and their applicability for L2 bundle member links. The
      sub-TLVs that are not applicable <bcp14>MUST NOT</bcp14> be used as
      sub-TLVs for the L2 Bundle Member Attributes sub-TLV. Specifications
      that introduce new sub-TLVs of the Extended Link TLV <bcp14>MUST</bcp14>
      indicate their applicability to the L2 Bundle Member Attributes
      sub-TLV. Typically, attributes that have L3
      semantics would not be applicable, but L2 attributes would apply.
      An implementation <bcp14>MUST</bcp14> ignore any sub-TLVs received that are not
      applicable in the context of the L2 Bundle Member Attributes sub-TLV.</t>
      <table anchor="OSPFV2L2EXCL" align="left" pn="table-1">
        <name slugifiedName="name-applicability-of-ospfv2-lin">Applicability of OSPFv2 Link Attribute Sub-TLVs for L2 Bundle Members</name>
        <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">Applicability</th>
          </tr>
        </thead>
        <tbody>
          <tr>
            <td align="left" colspan="1" rowspan="1">1</td>
            <td align="left" colspan="1" rowspan="1">SID/Label</td>
            <td align="center" colspan="1" rowspan="1">N</td>
          </tr>
          <tr>
            <td align="left" colspan="1" rowspan="1">2</td>
            <td align="left" colspan="1" rowspan="1">Adj-SID</td>
            <td align="center" colspan="1" rowspan="1">Y</td>
          </tr>
          <tr>
            <td align="left" colspan="1" rowspan="1">3</td>
            <td align="left" colspan="1" rowspan="1">LAN Adj-SID/Label</td>
            <td align="center" colspan="1" rowspan="1">Y</td>
          </tr>
          <tr>
            <td align="left" colspan="1" rowspan="1">4</td>
            <td align="left" colspan="1" rowspan="1">Network-to-Router Metric</td>
            <td align="center" colspan="1" rowspan="1">N</td>
          </tr>
          <tr>
            <td align="left" colspan="1" rowspan="1">5</td>
            <td align="left" colspan="1" rowspan="1">RTM Capability</td>
            <td align="center" colspan="1" rowspan="1">N</td>
          </tr>
          <tr>
            <td align="left" colspan="1" rowspan="1">6</td>
            <td align="left" colspan="1" rowspan="1">OSPFv2 Link MSD</td>
            <td align="center" colspan="1" rowspan="1">N</td>
          </tr>
          <tr>
            <td align="left" colspan="1" rowspan="1">7</td>
            <td align="left" colspan="1" rowspan="1">Graceful-Link-Shutdown</td>
            <td align="center" colspan="1" rowspan="1">N</td>
          </tr>
          <tr>
            <td align="left" colspan="1" rowspan="1">8</td>
            <td align="left" colspan="1" rowspan="1">Remote IPv4 Address</td>
            <td align="center" colspan="1" rowspan="1">N</td>
          </tr>
          <tr>
            <td align="left" colspan="1" rowspan="1">9</td>
            <td align="left" colspan="1" rowspan="1">Local/Remote Interface ID</td>
            <td align="center" colspan="1" rowspan="1">N</td>
          </tr>
          <tr>
            <td align="left" colspan="1" rowspan="1">10</td>
            <td align="left" colspan="1" rowspan="1">Application-Specific Link Attributes</td>
            <td align="center" colspan="1" rowspan="1">Y</td>
          </tr>
          <tr>
            <td align="left" colspan="1" rowspan="1">11</td>
            <td align="left" colspan="1" rowspan="1">Shared Risk Link Group</td>
            <td align="center" colspan="1" rowspan="1">Y</td>
          </tr>
          <tr>
            <td align="left" colspan="1" rowspan="1">12</td>
            <td align="left" colspan="1" rowspan="1">Unidirectional Link Delay</td>
            <td align="center" colspan="1" rowspan="1">Y</td>
          </tr>
          <tr>
            <td align="left" colspan="1" rowspan="1">13</td>
            <td align="left" colspan="1" rowspan="1">Min/Max Unidirectional Link Delay</td>
            <td align="center" colspan="1" rowspan="1">Y</td>
          </tr>
          <tr>
            <td align="left" colspan="1" rowspan="1">14</td>
            <td align="left" colspan="1" rowspan="1">Unidirectional Delay Variation</td>
            <td align="center" colspan="1" rowspan="1">Y</td>
          </tr>
          <tr>
            <td align="left" colspan="1" rowspan="1">15</td>
            <td align="left" colspan="1" rowspan="1">Unidirectional Link Loss</td>
            <td align="center" colspan="1" rowspan="1">Y</td>
          </tr>
          <tr>
            <td align="left" colspan="1" rowspan="1">16</td>
            <td align="left" colspan="1" rowspan="1">Unidirectional Residual Bandwidth</td>
            <td align="center" colspan="1" rowspan="1">Y</td>
          </tr>
          <tr>
            <td align="left" colspan="1" rowspan="1">17</td>
            <td align="left" colspan="1" rowspan="1">Unidirectional Available Bandwidth</td>
            <td align="center" colspan="1" rowspan="1">Y</td>
          </tr>
          <tr>
            <td align="left" colspan="1" rowspan="1">18</td>
            <td align="left" colspan="1" rowspan="1">Unidirectional Utilized Bandwidth</td>
            <td align="center" colspan="1" rowspan="1">Y</td>
          </tr>
          <tr>
            <td align="left" colspan="1" rowspan="1">19</td>
            <td align="left" colspan="1" rowspan="1">Administrative Group</td>
            <td align="center" colspan="1" rowspan="1">Y</td>
          </tr>
          <tr>
            <td align="left" colspan="1" rowspan="1">20</td>
            <td align="left" colspan="1" rowspan="1">Extended Administrative Group</td>
            <td align="center" colspan="1" rowspan="1">Y</td>
          </tr>
          <tr>
            <td align="left" colspan="1" rowspan="1">22</td>
            <td align="left" colspan="1" rowspan="1">TE Metric</td>
            <td align="center" colspan="1" rowspan="1">Y</td>
          </tr>
          <tr>
            <td align="left" colspan="1" rowspan="1">23</td>
            <td align="left" colspan="1" rowspan="1">Maximum Link Bandwidth</td>
            <td align="center" colspan="1" rowspan="1">Y</td>
          </tr>
          <tr>
            <td align="left" colspan="1" rowspan="1">24</td>
            <td align="left" colspan="1" rowspan="1">L2 Bundle Member Attributes</td>
            <td align="center" colspan="1" rowspan="1">N</td>
          </tr>
        </tbody>
      </table>
      <t indent="0" pn="section-2-11">Applicability:</t>
      <dl newline="false" spacing="normal" indent="5" pn="section-2-12">
        <dt pn="section-2-12.1">Y:</dt>
        <dd pn="section-2-12.2">This sub-TLV <bcp14>MAY</bcp14> appear in the L2 Bundle Member Attributes sub-TLV.</dd>
        <dt pn="section-2-12.3">N:</dt>
        <dd pn="section-2-12.4">This sub-TLV <bcp14>MUST NOT</bcp14> appear in the L2 Bundle Member Attributes sub-TLV.</dd>
      </dl>
      <t indent="0" pn="section-2-13">In the case of OSPFv3, the L2 Bundle Member Attributes sub-TLV shares
      the sub-TLV space of the Router-Link TLV, and the sub-TLVs of the
      Router-Link TLV <bcp14>MAY</bcp14> be used to describe the attributes of
      the member link.  <xref target="OSPFV3L2EXCL" format="default" sectionFormat="of" derivedContent="Table 2"/> lists
      sub-TLVs that are applicable to the Router-Link TLV and their
      applicability for L2 bundle member links. The sub-TLVs that are not
      applicable <bcp14>MUST NOT</bcp14> be used as sub-TLVs for the L2 Bundle
      Member Attributes sub-TLV. Specifications that introduce new sub-TLVs of
      the Router-Link TLV <bcp14>MUST</bcp14> indicate their applicability to
      the L2 Bundle Member Attributes sub-TLV. An implementation
      <bcp14>MUST</bcp14> ignore any sub-TLVs received that are not applicable
      in the context of the L2 Bundle Member Attributes sub-TLV.</t>
      <table anchor="OSPFV3L2EXCL" align="left" pn="table-2">
        <name slugifiedName="name-applicability-of-ospfv3-lin">Applicability of OSPFv3 Link Attribute Sub-TLVs for L2 Bundle Members</name>
        <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">Applicability</th>
          </tr>
        </thead>
        <tbody>
          <tr>
            <td align="left" colspan="1" rowspan="1">1</td>
            <td align="left" colspan="1" rowspan="1">IPv6-Forwarding-Address</td>
            <td align="center" colspan="1" rowspan="1">X</td>
          </tr>
          <tr>
            <td align="left" colspan="1" rowspan="1">2</td>
            <td align="left" colspan="1" rowspan="1">IPv4-Forwarding-Address</td>
            <td align="center" colspan="1" rowspan="1">X</td>
          </tr>
          <tr>
            <td align="left" colspan="1" rowspan="1">3</td>
            <td align="left" colspan="1" rowspan="1">Route-Tag</td>
            <td align="center" colspan="1" rowspan="1">X</td>
          </tr>
          <tr>
            <td align="left" colspan="1" rowspan="1">4</td>
            <td align="left" colspan="1" rowspan="1">Prefix SID</td>
            <td align="center" colspan="1" rowspan="1">X</td>
          </tr>
          <tr>
            <td align="left" colspan="1" rowspan="1">5</td>
            <td align="left" colspan="1" rowspan="1">Adj-SID</td>
            <td align="center" colspan="1" rowspan="1">Y</td>
          </tr>
          <tr>
            <td align="left" colspan="1" rowspan="1">6</td>
            <td align="left" colspan="1" rowspan="1">LAN Adj-SID</td>
            <td align="center" colspan="1" rowspan="1">Y</td>
          </tr>
          <tr>
            <td align="left" colspan="1" rowspan="1">7</td>
            <td align="left" colspan="1" rowspan="1">SID/Label</td>
            <td align="center" colspan="1" rowspan="1">N</td>
          </tr>
          <tr>
            <td align="left" colspan="1" rowspan="1">8</td>
            <td align="left" colspan="1" rowspan="1">Graceful-Link-Shutdown</td>
            <td align="center" colspan="1" rowspan="1">N</td>
          </tr>
          <tr>
            <td align="left" colspan="1" rowspan="1">9</td>
            <td align="left" colspan="1" rowspan="1">OSPFv3 Link MSD</td>
            <td align="center" colspan="1" rowspan="1">N</td>
          </tr>
          <tr>
            <td align="left" colspan="1" rowspan="1">11</td>
            <td align="left" colspan="1" rowspan="1">Application-Specific Link Attributes</td>
            <td align="center" colspan="1" rowspan="1">Y</td>
          </tr>
          <tr>
            <td align="left" colspan="1" rowspan="1">12</td>
            <td align="left" colspan="1" rowspan="1">Shared Risk Link Group</td>
            <td align="center" colspan="1" rowspan="1">Y</td>
          </tr>
          <tr>
            <td align="left" colspan="1" rowspan="1">13</td>
            <td align="left" colspan="1" rowspan="1">Unidirectional Link Delay</td>
            <td align="center" colspan="1" rowspan="1">Y</td>
          </tr>
          <tr>
            <td align="left" colspan="1" rowspan="1">14</td>
            <td align="left" colspan="1" rowspan="1">Min/Max Unidirectional Link Delay</td>
            <td align="center" colspan="1" rowspan="1">Y</td>
          </tr>
          <tr>
            <td align="left" colspan="1" rowspan="1">15</td>
            <td align="left" colspan="1" rowspan="1">Unidirectional Delay Variation</td>
            <td align="center" colspan="1" rowspan="1">Y</td>
          </tr>
          <tr>
            <td align="left" colspan="1" rowspan="1">16</td>
            <td align="left" colspan="1" rowspan="1">Unidirectional Link Loss</td>
            <td align="center" colspan="1" rowspan="1">Y</td>
          </tr>
          <tr>
            <td align="left" colspan="1" rowspan="1">17</td>
            <td align="left" colspan="1" rowspan="1">Unidirectional Residual Bandwidth</td>
            <td align="center" colspan="1" rowspan="1">Y</td>
          </tr>
          <tr>
            <td align="left" colspan="1" rowspan="1">18</td>
            <td align="left" colspan="1" rowspan="1">Unidirectional Available Bandwidth</td>
            <td align="center" colspan="1" rowspan="1">Y</td>
          </tr>
          <tr>
            <td align="left" colspan="1" rowspan="1">19</td>
            <td align="left" colspan="1" rowspan="1">Unidirectional Utilized Bandwidth</td>
            <td align="center" colspan="1" rowspan="1">Y</td>
          </tr>
          <tr>
            <td align="left" colspan="1" rowspan="1">20</td>
            <td align="left" colspan="1" rowspan="1">Administrative Group</td>
            <td align="center" colspan="1" rowspan="1">Y</td>
          </tr>
          <tr>
            <td align="left" colspan="1" rowspan="1">21</td>
            <td align="left" colspan="1" rowspan="1">Extended Administrative Group</td>
            <td align="center" colspan="1" rowspan="1">Y</td>
          </tr>
          <tr>
            <td align="left" colspan="1" rowspan="1">22</td>
            <td align="left" colspan="1" rowspan="1">TE Metric</td>
            <td align="center" colspan="1" rowspan="1">Y</td>
          </tr>
          <tr>
            <td align="left" colspan="1" rowspan="1">23</td>
            <td align="left" colspan="1" rowspan="1">Maximum Link Bandwidth</td>
            <td align="center" colspan="1" rowspan="1">Y</td>
          </tr>
          <tr>
            <td align="left" colspan="1" rowspan="1">24</td>
            <td align="left" colspan="1" rowspan="1">Local Interface IPv6 Address</td>
            <td align="center" colspan="1" rowspan="1">N</td>
          </tr>
          <tr>
            <td align="left" colspan="1" rowspan="1">25</td>
            <td align="left" colspan="1" rowspan="1">Remote Interface IPv6 Address</td>
            <td align="center" colspan="1" rowspan="1">N</td>
          </tr>
          <tr>
            <td align="left" colspan="1" rowspan="1">26</td>
            <td align="left" colspan="1" rowspan="1">Flexible Algorithm Prefix Metric (FAPM)</td>
            <td align="center" colspan="1" rowspan="1">X</td>
          </tr>
          <tr>
            <td align="left" colspan="1" rowspan="1">27</td>
            <td align="left" colspan="1" rowspan="1">Prefix Source OSPF Router-ID</td>
            <td align="center" colspan="1" rowspan="1">X</td>
          </tr>
          <tr>
            <td align="left" colspan="1" rowspan="1">28</td>
            <td align="left" colspan="1" rowspan="1">Prefix Source Router Address</td>
            <td align="center" colspan="1" rowspan="1">X</td>
          </tr>
          <tr>
            <td align="left" colspan="1" rowspan="1">29</td>
            <td align="left" colspan="1" rowspan="1">L2 Bundle Member Attributes</td>
            <td align="center" colspan="1" rowspan="1">N</td>
          </tr>
          <tr>
            <td align="left" colspan="1" rowspan="1">33</td>
            <td align="left" colspan="1" rowspan="1">OSPF Flexible Algorithm ASBR Metric</td>
            <td align="center" colspan="1" rowspan="1">X</td>
          </tr>
        </tbody>
      </table>
      <t indent="0" pn="section-2-15">Applicability:</t>
      <dl newline="false" spacing="normal" indent="5" pn="section-2-16">
        <dt pn="section-2-16.1">Y:</dt>
        <dd pn="section-2-16.2">This sub-TLV <bcp14>MAY</bcp14> appear in the L2 Bundle Member Attributes sub-TLV.</dd>
        <dt pn="section-2-16.3">N:</dt>
        <dd pn="section-2-16.4">This sub-TLV <bcp14>MUST NOT</bcp14> appear in the L2 Bundle Member Attributes sub-TLV.</dd>
        <dt pn="section-2-16.5">X:</dt>
        <dd pn="section-2-16.6">This is not a sub-TLV of the Router-Link TLV; it <bcp14>MUST NOT</bcp14> appear in the L2 Bundle Member Attributes sub-TLV.</dd>
      </dl>
    </section>
    <section anchor="BGPLS" numbered="true" toc="include" removeInRFC="false" pn="section-3">
      <name slugifiedName="name-bgp-ls-advertisement">BGP-LS Advertisement</name>
      <t indent="0" pn="section-3-1">The BGP-LS extensions for the advertisement of L2 bundle members
      and their attributes were specified in <xref target="RFC9085" format="default" sectionFormat="of" derivedContent="RFC9085"/>. Using the OSPF L2 Bundle Member Attributes sub-TLV
      defined in this document, the L2 bundle member information can now be
      advertised from OSPF into BGP-LS on the same lines as discussed for
      IS-IS in <xref target="RFC9085" sectionFormat="of" section="2.2.3" format="default" derivedLink="https://rfc-editor.org/rfc/rfc9085#section-2.2.3" derivedContent="RFC9085"/>.</t>
    </section>
    <section anchor="IANA" numbered="true" toc="include" removeInRFC="false" pn="section-4">
      <name slugifiedName="name-iana-considerations">IANA Considerations</name>
      <t indent="0" pn="section-4-1">IANA has allocated the following code point in
      the "OSPFv2 Extended Link TLV Sub-TLVs" subregistry under the "Open Shortest Path First v2 (OSPFv2)
      Parameters" registry:</t>
      <dl newline="false" spacing="normal" indent="3" pn="section-4-2">
        <dt pn="section-4-2.1">Value:</dt>
        <dd pn="section-4-2.2">24</dd>
        <dt pn="section-4-2.3">Designation:</dt>
        <dd pn="section-4-2.4">L2 Bundle Member Attributes</dd>
      </dl>
      <t indent="0" pn="section-4-3">IANA has allocated the following code point in
      the "OSPFv3 Extended-LSA Sub-TLVs" subregistry under the "Open Shortest Path First v3 (OSPFv3)
      Parameters" registry:</t>
      <dl newline="false" spacing="normal" indent="3" pn="section-4-4">
        <dt pn="section-4-4.1">Value:</dt>
        <dd pn="section-4-4.2">29</dd>
        <dt pn="section-4-4.3">Description:</dt>
        <dd pn="section-4-4.4">L2 Bundle Member Attributes</dd>
      </dl>
      <t indent="0" pn="section-4-5">IANA has also introduced a column titled "L2BM" in the "OSPFv2
      Extended Link TLV Sub-TLVs" registry. The "L2BM" column indicates
      applicability to the L2 Bundle Attributes Member sub-TLV. The initial
      allocations (Y/N) for this column are indicated in <xref target="OSPFV2L2EXCL" format="default" sectionFormat="of" derivedContent="Table 1"/>.  The following explanatory
      note has been added to the registry:</t>
      <blockquote pn="section-4-6">
        <t indent="0" pn="section-4-6.1">The "L2BM" column indicates applicability to the L2 Bundle Attributes
  Member sub-TLV. The options for the "L2BM" column are:
</t>
        <t indent="0" pn="section-4-6.2">Y - This sub-TLV <bcp14>MAY</bcp14> appear in the L2 Bundle Member Attributes sub-TLV.</t>
        <t indent="0" pn="section-4-6.3">N - This sub-TLV <bcp14>MUST NOT</bcp14> appear in the L2 Bundle Member Attributes sub-TLV.</t>
      </blockquote>
      <t indent="0" pn="section-4-7">Similarly, IANA has introduced a column titled "L2BM" in the "OSPFv3
      Extended-LSA Sub-TLVs" registry. The "L2BM" column indicates
      applicability to the L2 Bundle Attributes Member sub-TLV. The initial
      allocations (Y/N/X) for this column are indicated in <xref target="OSPFV3L2EXCL" format="default" sectionFormat="of" derivedContent="Table 2"/>. The following explanatory note
      has been added to the registry:</t>
      <blockquote pn="section-4-8">
        <t indent="0" pn="section-4-8.1">The "L2BM" column indicates applicability to the L2 Bundle Attributes
Member sub-TLV. The options for the "L2BM" column are:
</t>
        <t indent="0" pn="section-4-8.2">Y - This sub-TLV <bcp14>MAY</bcp14> appear in the L2 Bundle Member Attributes sub-TLV.</t>
        <t indent="0" pn="section-4-8.3">N - This sub-TLV <bcp14>MUST NOT</bcp14> appear in the L2 Bundle Member Attributes sub-TLV.</t>
        <t indent="0" pn="section-4-8.4">X - This is not a sub-TLV of the Router-Link TLV; it <bcp14>MUST NOT</bcp14> appear in the L2 Bundle Member Attributes sub-TLV.</t>
      </blockquote>
      <t indent="0" pn="section-4-9">Future allocations in these two registries are required to indicate
      the applicability of the introduced sub-TLV to the L2 Bundle Member
      Attributes sub-TLV. IANA has added this document as a reference for
      both registries.</t>
    </section>
    <section anchor="OPER" numbered="true" toc="include" removeInRFC="false" pn="section-5">
      <name slugifiedName="name-operational-considerations">Operational Considerations</name>
      <t indent="0" pn="section-5-1">Implementations <bcp14>MUST NOT</bcp14> enable the advertisement of L2 bundle
      member links and their attributes in OSPF LSAs by default and <bcp14>MUST</bcp14>
      provide a configuration option to enable their advertisement on specific
      links.</t>
      <t indent="0" pn="section-5-2"><xref target="RFC9129" format="default" sectionFormat="of" derivedContent="RFC9129"/> specifies the base YANG data
      model for OSPF. The required configuration and operational elements for this
      feature are expected to be introduced as augmentation to this base YANG data model for OSPF.</t>
    </section>
    <section anchor="Security" numbered="true" toc="include" removeInRFC="false" pn="section-6">
      <name slugifiedName="name-security-considerations">Security Considerations</name>
      <t indent="0" pn="section-6-1">The OSPF protocol has supported the advertisement of link attribute
      information, including link identifiers, for many years. The
      advertisements defined in this document are identical to the existing
      advertisements defined in <xref target="RFC3630" format="default" sectionFormat="of" derivedContent="RFC3630"/>,
      <xref target="RFC4203" format="default" sectionFormat="of" derivedContent="RFC4203"/>, <xref target="RFC5329" format="default" sectionFormat="of" derivedContent="RFC5329"/>, <xref target="RFC7471" format="default" sectionFormat="of" derivedContent="RFC7471"/>, <xref target="RFC8665" format="default" sectionFormat="of" derivedContent="RFC8665"/>, and <xref target="RFC8666" format="default" sectionFormat="of" derivedContent="RFC8666"/>, but they are associated with L2 links that are part of
      a bundle interface on which the OSPF protocol operates. Therefore, the
      security considerations of these documents are applicable, and there are
      no new security issues introduced by the extensions in this
      document.</t>
      <t indent="0" pn="section-6-2">As always, if the protocol is used in an environment where
      unauthorized access to the physical links on which OSPF packets are sent
      occurs, then attacks are possible. The use of authentication as defined
      in <xref target="RFC5709" format="default" sectionFormat="of" derivedContent="RFC5709"/>, <xref target="RFC7474" format="default" sectionFormat="of" derivedContent="RFC7474"/>, <xref target="RFC4552" format="default" sectionFormat="of" derivedContent="RFC4552"/>, and <xref target="RFC7166" format="default" sectionFormat="of" derivedContent="RFC7166"/> is recommended for
      preventing such attacks.</t>
    </section>
  </middle>
  <back>
    <references pn="section-7">
      <name slugifiedName="name-references">References</name>
      <references pn="section-7.1">
        <name slugifiedName="name-normative-references">Normative References</name>
        <reference anchor="IEEE802.1AX" quoteTitle="true" target="https://doi.org/10.1109/IEEESTD.2020.9105034" derivedAnchor="IEEE802.1AX">
          <front>
            <title>IEEE Standard for Local and Metropolitan Area Networks--Link Aggregation</title>
            <author>
              <organization showOnFrontPage="true">IEEE</organization>
            </author>
            <date month="May" year="2020"/>
          </front>
          <seriesInfo name="IEEE Std" value="802.1AX"/>
          <seriesInfo name="DOI" value="10.1109/IEEESTD.2020.9105034"/>
        </reference>
        <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"/>
          <format target="https://www.rfc-editor.org/info/rfc2119" type="TXT"/>
        </reference>
        <reference anchor="RFC4202" target="https://www.rfc-editor.org/info/rfc4202" quoteTitle="true" derivedAnchor="RFC4202">
          <front>
            <title>Routing Extensions in Support of Generalized Multi-Protocol Label Switching (GMPLS)</title>
            <author fullname="K. Kompella" initials="K." role="editor" surname="Kompella"/>
            <author fullname="Y. Rekhter" initials="Y." role="editor" surname="Rekhter"/>
            <date month="October" year="2005"/>
            <abstract>
              <t indent="0">This document specifies routing extensions in support of carrying link state information for Generalized Multi-Protocol Label Switching (GMPLS).  This document enhances the routing extensions required to support MPLS Traffic Engineering (TE). [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="4202"/>
          <seriesInfo name="DOI" value="10.17487/RFC4202"/>
          <format target="https://www.rfc-editor.org/info/rfc4202" type="TXT"/>
        </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"/>
          <format target="https://www.rfc-editor.org/info/rfc7684" type="TXT"/>
        </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"/>
          <format target="https://www.rfc-editor.org/info/rfc8174" type="TXT"/>
        </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"/>
          <format target="https://www.rfc-editor.org/info/rfc8362" type="TXT"/>
        </reference>
        <reference anchor="RFC8665" target="https://www.rfc-editor.org/info/rfc8665" quoteTitle="true" derivedAnchor="RFC8665">
          <front>
            <title>OSPF Extensions for Segment Routing</title>
            <author fullname="P. Psenak" initials="P." role="editor" surname="Psenak"/>
            <author fullname="S. Previdi" initials="S." role="editor" surname="Previdi"/>
            <author fullname="C. Filsfils" initials="C." surname="Filsfils"/>
            <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"/>
            <date month="December" year="2019"/>
            <abstract>
              <t indent="0">Segment Routing (SR) allows a flexible definition of end-to-end paths within IGP topologies by encoding paths as sequences of topological subpaths called "segments". These segments are advertised by the link-state routing protocols (IS-IS and OSPF).</t>
              <t indent="0">This document describes the OSPFv2 extensions required for Segment Routing.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8665"/>
          <seriesInfo name="DOI" value="10.17487/RFC8665"/>
          <format target="https://www.rfc-editor.org/info/rfc8665" type="TXT"/>
        </reference>
        <reference anchor="RFC8666" target="https://www.rfc-editor.org/info/rfc8666" quoteTitle="true" derivedAnchor="RFC8666">
          <front>
            <title>OSPFv3 Extensions for Segment Routing</title>
            <author fullname="P. Psenak" initials="P." role="editor" surname="Psenak"/>
            <author fullname="S. Previdi" initials="S." role="editor" surname="Previdi"/>
            <date month="December" year="2019"/>
            <abstract>
              <t indent="0">Segment Routing (SR) allows a flexible definition of end-to-end paths within IGP topologies by encoding paths as sequences of topological subpaths called "segments". These segments are advertised by the link-state routing protocols (IS-IS and OSPF).</t>
              <t indent="0">This document describes the OSPFv3 extensions required for Segment Routing with the MPLS data plane.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8666"/>
          <seriesInfo name="DOI" value="10.17487/RFC8666"/>
          <format target="https://www.rfc-editor.org/info/rfc8666" type="TXT"/>
        </reference>
        <reference anchor="RFC9085" target="https://www.rfc-editor.org/info/rfc9085" quoteTitle="true" derivedAnchor="RFC9085">
          <front>
            <title>Border Gateway Protocol - Link State (BGP-LS) Extensions for Segment Routing</title>
            <author fullname="S. Previdi" initials="S." surname="Previdi"/>
            <author fullname="K. Talaulikar" initials="K." role="editor" surname="Talaulikar"/>
            <author fullname="C. Filsfils" initials="C." surname="Filsfils"/>
            <author fullname="H. Gredler" initials="H." surname="Gredler"/>
            <author fullname="M. Chen" initials="M." surname="Chen"/>
            <date month="August" year="2021"/>
            <abstract>
              <t indent="0">Segment Routing (SR) allows for a flexible definition of end-to-end paths by encoding paths as sequences of topological subpaths, called "segments". These segments are advertised by routing protocols, e.g., by the link-state routing protocols (IS-IS, OSPFv2, and OSPFv3) within IGP topologies.</t>
              <t indent="0">This document defines extensions to the Border Gateway Protocol - Link State (BGP-LS) address family in order to carry SR information via BGP.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9085"/>
          <seriesInfo name="DOI" value="10.17487/RFC9085"/>
          <format target="https://www.rfc-editor.org/info/rfc9085" type="TXT"/>
        </reference>
      </references>
      <references pn="section-7.2">
        <name slugifiedName="name-informative-references">Informative References</name>
        <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"/>
          <format target="https://www.rfc-editor.org/info/rfc3630" type="TXT"/>
        </reference>
        <reference anchor="RFC4203" target="https://www.rfc-editor.org/info/rfc4203" quoteTitle="true" derivedAnchor="RFC4203">
          <front>
            <title>OSPF Extensions in Support of Generalized Multi-Protocol Label Switching (GMPLS)</title>
            <author fullname="K. Kompella" initials="K." role="editor" surname="Kompella"/>
            <author fullname="Y. Rekhter" initials="Y." role="editor" surname="Rekhter"/>
            <date month="October" year="2005"/>
            <abstract>
              <t indent="0">This document specifies encoding of extensions to the OSPF routing protocol in support of Generalized Multi-Protocol Label Switching (GMPLS). [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="4203"/>
          <seriesInfo name="DOI" value="10.17487/RFC4203"/>
          <format target="https://www.rfc-editor.org/info/rfc4203" type="TXT"/>
        </reference>
        <reference anchor="RFC4552" target="https://www.rfc-editor.org/info/rfc4552" quoteTitle="true" derivedAnchor="RFC4552">
          <front>
            <title>Authentication/Confidentiality for OSPFv3</title>
            <author fullname="M. Gupta" initials="M." surname="Gupta"/>
            <author fullname="N. Melam" initials="N." surname="Melam"/>
            <date month="June" year="2006"/>
            <abstract>
              <t indent="0">This document describes means and mechanisms to provide authentication/confidentiality to OSPFv3 using an IPv6 Authentication Header/Encapsulating Security Payload (AH/ESP) extension header. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="4552"/>
          <seriesInfo name="DOI" value="10.17487/RFC4552"/>
          <format target="https://www.rfc-editor.org/info/rfc4552" type="TXT"/>
        </reference>
        <reference anchor="RFC4655" target="https://www.rfc-editor.org/info/rfc4655" quoteTitle="true" derivedAnchor="RFC4655">
          <front>
            <title>A Path Computation Element (PCE)-Based Architecture</title>
            <author fullname="A. Farrel" initials="A." surname="Farrel"/>
            <author fullname="J.-P. Vasseur" initials="J.-P." surname="Vasseur"/>
            <author fullname="J. Ash" initials="J." surname="Ash"/>
            <date month="August" year="2006"/>
            <abstract>
              <t indent="0">Constraint-based path computation is a fundamental building block for traffic engineering systems such as Multiprotocol Label Switching (MPLS) and Generalized Multiprotocol Label Switching (GMPLS) networks. Path computation in large, multi-domain, multi-region, or multi-layer networks is complex and may require special computational components and cooperation between the different network domains.</t>
              <t indent="0">This document specifies the architecture for a Path Computation Element (PCE)-based model to address this problem space. This document does not attempt to provide a detailed description of all the architectural components, but rather it describes a set of building blocks for the PCE architecture from which solutions may be constructed. This memo provides information for the Internet community.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="4655"/>
          <seriesInfo name="DOI" value="10.17487/RFC4655"/>
          <format target="https://www.rfc-editor.org/info/rfc4655" type="TXT"/>
        </reference>
        <reference anchor="RFC5329" target="https://www.rfc-editor.org/info/rfc5329" quoteTitle="true" derivedAnchor="RFC5329">
          <front>
            <title>Traffic Engineering Extensions to OSPF Version 3</title>
            <author fullname="K. Ishiguro" initials="K." surname="Ishiguro"/>
            <author fullname="V. Manral" initials="V." surname="Manral"/>
            <author fullname="A. Davey" initials="A." surname="Davey"/>
            <author fullname="A. Lindem" initials="A." role="editor" surname="Lindem"/>
            <date month="September" year="2008"/>
            <abstract>
              <t indent="0">This document describes extensions to OSPFv3 to support intra-area Traffic Engineering (TE).  This document extends OSPFv2 TE to handle IPv6 networks.  A new TLV and several new sub-TLVs are defined to support IPv6 networks. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="5329"/>
          <seriesInfo name="DOI" value="10.17487/RFC5329"/>
          <format target="https://www.rfc-editor.org/info/rfc5329" type="TXT"/>
        </reference>
        <reference anchor="RFC5709" target="https://www.rfc-editor.org/info/rfc5709" quoteTitle="true" derivedAnchor="RFC5709">
          <front>
            <title>OSPFv2 HMAC-SHA Cryptographic Authentication</title>
            <author fullname="M. Bhatia" initials="M." surname="Bhatia"/>
            <author fullname="V. Manral" initials="V." surname="Manral"/>
            <author fullname="M. Fanto" initials="M." surname="Fanto"/>
            <author fullname="R. White" initials="R." surname="White"/>
            <author fullname="M. Barnes" initials="M." surname="Barnes"/>
            <author fullname="T. Li" initials="T." surname="Li"/>
            <author fullname="R. Atkinson" initials="R." surname="Atkinson"/>
            <date month="October" year="2009"/>
            <abstract>
              <t indent="0">This document describes how the National Institute of Standards and Technology (NIST) Secure Hash Standard family of algorithms can be used with OSPF version 2's built-in, cryptographic authentication mechanism.  This updates, but does not supercede, the cryptographic authentication mechanism specified in RFC 2328. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="5709"/>
          <seriesInfo name="DOI" value="10.17487/RFC5709"/>
          <format target="https://www.rfc-editor.org/info/rfc5709" type="TXT"/>
        </reference>
        <reference anchor="RFC7166" target="https://www.rfc-editor.org/info/rfc7166" quoteTitle="true" derivedAnchor="RFC7166">
          <front>
            <title>Supporting Authentication Trailer for OSPFv3</title>
            <author fullname="M. Bhatia" initials="M." surname="Bhatia"/>
            <author fullname="V. Manral" initials="V." surname="Manral"/>
            <author fullname="A. Lindem" initials="A." surname="Lindem"/>
            <date month="March" year="2014"/>
            <abstract>
              <t indent="0">Currently, OSPF for IPv6 (OSPFv3) uses IPsec as the only mechanism for authenticating protocol packets. This behavior is different from authentication mechanisms present in other routing protocols (OSPFv2, Intermediate System to Intermediate System (IS-IS), RIP, and Routing Information Protocol Next Generation (RIPng)). In some environments, it has been found that IPsec is difficult to configure and maintain and thus cannot be used. This document defines an alternative mechanism to authenticate OSPFv3 protocol packets so that OSPFv3 does not depend only upon IPsec for authentication.</t>
              <t indent="0">The OSPFv3 Authentication Trailer was originally defined in RFC 6506. This document obsoletes RFC 6506 by providing a revised definition, including clarifications and refinements of the procedures.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7166"/>
          <seriesInfo name="DOI" value="10.17487/RFC7166"/>
          <format target="https://www.rfc-editor.org/info/rfc7166" type="TXT"/>
        </reference>
        <reference anchor="RFC7471" target="https://www.rfc-editor.org/info/rfc7471" quoteTitle="true" derivedAnchor="RFC7471">
          <front>
            <title>OSPF Traffic Engineering (TE) Metric Extensions</title>
            <author fullname="S. Giacalone" initials="S." surname="Giacalone"/>
            <author fullname="D. Ward" initials="D." surname="Ward"/>
            <author fullname="J. Drake" initials="J." surname="Drake"/>
            <author fullname="A. Atlas" initials="A." surname="Atlas"/>
            <author fullname="S. Previdi" initials="S." surname="Previdi"/>
            <date month="March" year="2015"/>
            <abstract>
              <t indent="0">In certain networks, such as, but not limited to, financial information networks (e.g., stock market data providers), network performance information (e.g., link propagation delay) is becoming critical to data path selection.</t>
              <t indent="0">This document describes common extensions to RFC 3630 "Traffic Engineering (TE) Extensions to OSPF Version 2" and RFC 5329 "Traffic Engineering Extensions to OSPF Version 3" to enable network performance information to be distributed in a scalable fashion. The information distributed using OSPF TE Metric Extensions can then be used to make path selection decisions based on network performance.</t>
              <t indent="0">Note that this document only covers the mechanisms by which network performance information is distributed. The mechanisms for measuring network performance information or using that information, once distributed, are outside the scope of this document.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7471"/>
          <seriesInfo name="DOI" value="10.17487/RFC7471"/>
          <format target="https://www.rfc-editor.org/info/rfc7471" type="TXT"/>
        </reference>
        <reference anchor="RFC7474" target="https://www.rfc-editor.org/info/rfc7474" quoteTitle="true" derivedAnchor="RFC7474">
          <front>
            <title>Security Extension for OSPFv2 When Using Manual Key Management</title>
            <author fullname="M. Bhatia" initials="M." surname="Bhatia"/>
            <author fullname="S. Hartman" initials="S." surname="Hartman"/>
            <author fullname="D. Zhang" initials="D." surname="Zhang"/>
            <author fullname="A. Lindem" initials="A." role="editor" surname="Lindem"/>
            <date month="April" year="2015"/>
            <abstract>
              <t indent="0">The current OSPFv2 cryptographic authentication mechanism as defined in RFCs 2328 and 5709 is vulnerable to both inter-session and intra- session replay attacks when using manual keying. Additionally, the existing cryptographic authentication mechanism does not cover the IP header. This omission can be exploited to carry out various types of attacks.</t>
              <t indent="0">This document defines changes to the authentication sequence number mechanism that will protect OSPFv2 from both inter-session and intra- session replay attacks when using manual keys for securing OSPFv2 protocol packets. Additionally, we also describe some changes in the cryptographic hash computation that will eliminate attacks resulting from OSPFv2 not protecting the IP header.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7474"/>
          <seriesInfo name="DOI" value="10.17487/RFC7474"/>
          <format target="https://www.rfc-editor.org/info/rfc7474" type="TXT"/>
        </reference>
        <reference anchor="RFC7752" target="https://www.rfc-editor.org/info/rfc7752" quoteTitle="true" derivedAnchor="RFC7752">
          <front>
            <title>North-Bound Distribution of Link-State and Traffic Engineering (TE) Information Using BGP</title>
            <author fullname="H. Gredler" initials="H." role="editor" surname="Gredler"/>
            <author fullname="J. Medved" initials="J." surname="Medved"/>
            <author fullname="S. Previdi" initials="S." surname="Previdi"/>
            <author fullname="A. Farrel" initials="A." surname="Farrel"/>
            <author fullname="S. Ray" initials="S." surname="Ray"/>
            <date month="March" year="2016"/>
            <abstract>
              <t indent="0">In a number of environments, a component external to a network is called upon to perform computations based on the network topology and current state of the connections within the network, including Traffic Engineering (TE) information. This is information typically distributed by IGP routing protocols within the network.</t>
              <t indent="0">This document describes a mechanism by which link-state and TE information can be collected from networks and shared with external components using the BGP routing protocol. This is achieved using a new BGP Network Layer Reachability Information (NLRI) encoding format. The mechanism is applicable to physical and virtual IGP links. The mechanism described is subject to policy control.</t>
              <t indent="0">Applications of this technique include Application-Layer Traffic Optimization (ALTO) servers and Path Computation Elements (PCEs).</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7752"/>
          <seriesInfo name="DOI" value="10.17487/RFC7752"/>
          <format target="https://www.rfc-editor.org/info/rfc7752" type="TXT"/>
        </reference>
        <reference anchor="RFC8402" target="https://www.rfc-editor.org/info/rfc8402" quoteTitle="true" derivedAnchor="RFC8402">
          <front>
            <title>Segment Routing Architecture</title>
            <author fullname="C. Filsfils" initials="C." role="editor" surname="Filsfils"/>
            <author fullname="S. Previdi" initials="S." role="editor" surname="Previdi"/>
            <author fullname="L. Ginsberg" initials="L." surname="Ginsberg"/>
            <author fullname="B. Decraene" initials="B." surname="Decraene"/>
            <author fullname="S. Litkowski" initials="S." surname="Litkowski"/>
            <author fullname="R. Shakir" initials="R." surname="Shakir"/>
            <date month="July" year="2018"/>
            <abstract>
              <t indent="0">Segment Routing (SR) leverages the source routing paradigm. A node steers a packet through an ordered list of instructions, called "segments". A segment can represent any instruction, topological or service based. A segment can have a semantic local to an SR node or global within an SR domain. SR provides a mechanism that allows a flow to be restricted to a specific topological path, while maintaining per-flow state only at the ingress node(s) to the SR domain.</t>
              <t indent="0">SR can be directly applied to the MPLS architecture with no change to the forwarding plane. A segment is encoded as an MPLS label. An ordered list of segments is encoded as a stack of labels. The segment to process is on the top of the stack. Upon completion of a segment, the related label is popped from the stack.</t>
              <t indent="0">SR can be applied to the IPv6 architecture, with a new type of routing header. A segment is encoded as an IPv6 address. An ordered list of segments is encoded as an ordered list of IPv6 addresses in the routing header. The active segment is indicated by the Destination Address (DA) of the packet. The next active segment is indicated by a pointer in the new routing header.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8402"/>
          <seriesInfo name="DOI" value="10.17487/RFC8402"/>
          <format target="https://www.rfc-editor.org/info/rfc8402" type="TXT"/>
        </reference>
        <reference anchor="RFC8510" target="https://www.rfc-editor.org/info/rfc8510" quoteTitle="true" derivedAnchor="RFC8510">
          <front>
            <title>OSPF Link-Local Signaling (LLS) Extensions for Local Interface ID Advertisement</title>
            <author fullname="P. Psenak" initials="P." role="editor" surname="Psenak"/>
            <author fullname="K. Talaulikar" initials="K." surname="Talaulikar"/>
            <author fullname="W. Henderickx" initials="W." surname="Henderickx"/>
            <author fullname="P. Pillay-Esnault" initials="P." surname="Pillay-Esnault"/>
            <date month="January" year="2019"/>
            <abstract>
              <t indent="0">Every OSPF interface is assigned an Interface ID that uniquely identifies the interface on the router. In some cases, it is useful to know the assigned Interface ID on the remote side of the adjacency (Remote Interface ID).</t>
              <t indent="0">This document describes the extensions to OSPF link-local signaling (LLS) to advertise the Local Interface ID.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8510"/>
          <seriesInfo name="DOI" value="10.17487/RFC8510"/>
          <format target="https://www.rfc-editor.org/info/rfc8510" type="TXT"/>
        </reference>
        <reference anchor="RFC8668" target="https://www.rfc-editor.org/info/rfc8668" quoteTitle="true" derivedAnchor="RFC8668">
          <front>
            <title>Advertising Layer 2 Bundle Member Link Attributes in IS-IS</title>
            <author fullname="L. Ginsberg" initials="L." role="editor" surname="Ginsberg"/>
            <author fullname="A. Bashandy" initials="A." surname="Bashandy"/>
            <author fullname="C. Filsfils" initials="C." surname="Filsfils"/>
            <author fullname="M. Nanduri" initials="M." surname="Nanduri"/>
            <author fullname="E. Aries" initials="E." surname="Aries"/>
            <date month="December" year="2019"/>
            <abstract>
              <t indent="0">There are deployments where the Layer 3 interface on which IS-IS operates is a Layer 2 interface bundle. Existing IS-IS advertisements only support advertising link attributes of the Layer 3 interface. If entities external to IS-IS wish to control traffic flows on the individual physical links that comprise the Layer 2 interface bundle, link attribute information about the bundle members is required.</t>
              <t indent="0">This document introduces the ability for IS-IS to advertise the link attributes of Layer 2 (L2) Bundle Members.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8668"/>
          <seriesInfo name="DOI" value="10.17487/RFC8668"/>
          <format target="https://www.rfc-editor.org/info/rfc8668" type="TXT"/>
        </reference>
        <reference anchor="RFC9129" target="https://www.rfc-editor.org/info/rfc9129" quoteTitle="true" derivedAnchor="RFC9129">
          <front>
            <title>YANG Data Model for the OSPF Protocol</title>
            <author fullname="D. Yeung" initials="D." surname="Yeung"/>
            <author fullname="Y. Qu" initials="Y." surname="Qu"/>
            <author fullname="Z. Zhang" initials="Z." surname="Zhang"/>
            <author fullname="I. Chen" initials="I." surname="Chen"/>
            <author fullname="A. Lindem" initials="A." surname="Lindem"/>
            <date month="October" year="2022"/>
            <abstract>
              <t indent="0">This document defines a YANG data model that can be used to configure and manage OSPF.  The model is based on YANG 1.1 as defined in RFC 7950 and conforms to the Network Management Datastore Architecture (NMDA) as described in RFC 8342.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9129"/>
          <seriesInfo name="DOI" value="10.17487/RFC9129"/>
          <format target="https://www.rfc-editor.org/info/rfc9129" type="TXT"/>
        </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">This document leverages similar work done for IS-IS, and the
      authors of this document would like to acknowledge the contributions of
      the authors of <xref target="RFC8668" format="default" sectionFormat="of" derivedContent="RFC8668"/>.</t>
      <t indent="0" pn="section-appendix.a-2">The authors would like to thank <contact fullname="Anoop Ghanwani"/>,
      <contact fullname="Paul Kyzivat"/>, <contact fullname="Dan Romascanu"/>,
      and <contact fullname="Russ Mundy"/> for their review and feedback on
      this document. The authors would also like to thank <contact fullname="Acee Lindem"/> for his detailed shepherd review of this
      document. The authors would also like to thank <contact fullname="John       Scudder"/> for his AD review and the discussion related to the
      applicability of TLVs/sub-TLVs to the L2 Bundle Member Attributes sub-TLV.</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 fullname="Ketan Talaulikar" initials="K." role="editor" surname="Talaulikar">
        <organization showOnFrontPage="true">Cisco Systems</organization>
        <address>
          <postal>
            <street/>
            <city/>
            <code/>
            <region/>
            <country>India</country>
          </postal>
          <email>ketant.ietf@gmail.com</email>
        </address>
      </author>
      <author fullname="Peter Psenak" initials="P." surname="Psenak">
        <organization showOnFrontPage="true">Cisco Systems</organization>
        <address>
          <postal>
            <extaddr>Apollo Business Center</extaddr>
            <street>Mlynske nivy 43</street>
            <city>Bratislava</city>
            <code>821 09</code>
            <country>Slovakia</country>
          </postal>
          <email>ppsenak@cisco.com</email>
        </address>
      </author>
    </section>
  </back>
</rfc>
