<?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-ospf-encapsulation-cap-09" indexInclude="true" ipr="trust200902" number="9013" prepTime="2021-04-27T14:48:18" scripts="Common,Latin" sortRefs="true" submissionType="IETF" symRefs="true" tocDepth="3" tocInclude="true" xml:lang="en">
  <link href="https://datatracker.ietf.org/doc/draft-ietf-ospf-encapsulation-cap-09" rel="prev"/>
  <link href="https://dx.doi.org/10.17487/rfc9013" rel="alternate"/>
  <link href="urn:issn:2070-1721" rel="alternate"/>
  <front>
    <title abbrev="Tunnel Encapsulations RI">OSPF Advertisement of Tunnel Encapsulations</title>
    <seriesInfo name="RFC" value="9013" stream="IETF"/>
    <author fullname="Xiaohu Xu" initials="X" role="editor" surname="Xu">
      <organization showOnFrontPage="true">Capitalonline</organization>
      <address>
        <email>xiaohu.xu@capitalonline.net</email>
      </address>
    </author>
    <author fullname="Bruno Decraene" initials="B" role="editor" surname="Decraene">
      <organization showOnFrontPage="true">Orange</organization>
      <address>
        <email>bruno.decraene@orange.com</email>
      </address>
    </author>
    <author fullname="Robert Raszuk" initials="R" surname="Raszuk">
      <organization showOnFrontPage="true">NTT Network Innovations</organization>
      <address>
        <postal>
          <street>940 Stewart Dr</street>
          <city>Sunnyvale</city>
          <region>CA</region>
          <code>94085</code>
          <country>United States of America</country>
        </postal>
        <email>robert@raszuk.net</email>
      </address>
    </author>
    <author fullname="Luis M. Contreras" initials="L" surname="Contreras">
      <organization showOnFrontPage="true">Telefonica I+D</organization>
      <address>
        <email>luismiguel.contrerasmurillo@telefonica.com</email>
      </address>
    </author>
    <author fullname="Luay Jalil" initials="L" surname="Jalil">
      <organization showOnFrontPage="true">Verizon</organization>
      <address>
        <email>luay.jalil@verizon.com</email>
      </address>
    </author>
    <date month="04" year="2021"/>
    <keyword>BGP</keyword>
    <abstract pn="section-abstract">
      <t indent="0" pn="section-abstract-1">Networks use tunnels for a variety of reasons. A large variety of
      tunnel types are defined, and the tunnel encapsulator router needs to select a
      type of tunnel that is supported by the tunnel decapsulator router. This document
      defines how to advertise, in OSPF Router Information Link State Advertisements (LSAs),
      the list of tunnel encapsulations supported by the tunnel decapsulator.</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/rfc9013" 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) 2021 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 Simplified BSD License text as described in
            Section 4.e of the Trust Legal Provisions and are provided without
            warranty as described in the Simplified BSD License.
        </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>
          </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-terminology">Terminology</xref></t>
          </li>
          <li pn="section-toc.1-1.3">
            <t indent="0" keepWithNext="true" 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-tunnel-encapsulations-tlv">Tunnel Encapsulations TLV</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-tunnel-sub-tlv">Tunnel Sub-TLV</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-tunnel-parameter-sub-tlvs">Tunnel Parameter Sub-TLVs</xref></t>
            <ul bare="true" empty="true" indent="2" spacing="compact" pn="section-toc.1-1.5.2">
              <li pn="section-toc.1-1.5.2.1">
                <t indent="0" pn="section-toc.1-1.5.2.1.1"><xref derivedContent="5.1" format="counter" sectionFormat="of" target="section-5.1"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-encapsulation-sub-tlv">Encapsulation Sub-TLV</xref></t>
              </li>
              <li pn="section-toc.1-1.5.2.2">
                <t indent="0" pn="section-toc.1-1.5.2.2.1"><xref derivedContent="5.2" format="counter" sectionFormat="of" target="section-5.2"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-protocol-type-sub-tlv">Protocol Type Sub-TLV</xref></t>
              </li>
              <li pn="section-toc.1-1.5.2.3">
                <t indent="0" pn="section-toc.1-1.5.2.3.1"><xref derivedContent="5.3" format="counter" sectionFormat="of" target="section-5.3"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-tunnel-egress-endpoint-sub-">Tunnel Egress Endpoint Sub-TLV</xref></t>
              </li>
              <li pn="section-toc.1-1.5.2.4">
                <t indent="0" pn="section-toc.1-1.5.2.4.1"><xref derivedContent="5.4" format="counter" sectionFormat="of" target="section-5.4"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-color-sub-tlv">Color Sub-TLV</xref></t>
              </li>
              <li pn="section-toc.1-1.5.2.5">
                <t indent="0" pn="section-toc.1-1.5.2.5.1"><xref derivedContent="5.5" format="counter" sectionFormat="of" target="section-5.5"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-load-balancing-block-sub-tl">Load-Balancing Block Sub-TLV</xref></t>
              </li>
              <li pn="section-toc.1-1.5.2.6">
                <t indent="0" pn="section-toc.1-1.5.2.6.1"><xref derivedContent="5.6" format="counter" sectionFormat="of" target="section-5.6"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-ds-field-sub-tlv">DS Field Sub-TLV</xref></t>
              </li>
              <li pn="section-toc.1-1.5.2.7">
                <t indent="0" pn="section-toc.1-1.5.2.7.1"><xref derivedContent="5.7" format="counter" sectionFormat="of" target="section-5.7"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-udp-destination-port-sub-tl">UDP Destination Port Sub-TLV</xref></t>
              </li>
            </ul>
          </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-operation">Operation</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-iana-considerations">IANA Considerations</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-ospf-router-information-ri-">OSPF Router Information (RI) TLVs Registry</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-ospf-tunnel-parameter-sub-t">OSPF Tunnel Parameter Sub-TLVs Registry</xref></t>
              </li>
            </ul>
          </li>
          <li pn="section-toc.1-1.8">
            <t indent="0" pn="section-toc.1-1.8.1"><xref derivedContent="8" format="counter" sectionFormat="of" target="section-8"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-security-considerations">Security Considerations</xref></t>
          </li>
          <li pn="section-toc.1-1.9">
            <t indent="0" pn="section-toc.1-1.9.1"><xref derivedContent="9" format="counter" sectionFormat="of" target="section-9"/>.  <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.9.2">
              <li pn="section-toc.1-1.9.2.1">
                <t indent="0" pn="section-toc.1-1.9.2.1.1"><xref derivedContent="9.1" format="counter" sectionFormat="of" target="section-9.1"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-normative-references">Normative References</xref></t>
              </li>
              <li pn="section-toc.1-1.9.2.2">
                <t indent="0" pn="section-toc.1-1.9.2.2.1"><xref derivedContent="9.2" format="counter" sectionFormat="of" target="section-9.2"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-informative-references">Informative References</xref></t>
              </li>
            </ul>
          </li>
          <li pn="section-toc.1-1.10">
            <t indent="0" pn="section-toc.1-1.10.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.11">
            <t indent="0" pn="section-toc.1-1.11.1"><xref derivedContent="" format="none" sectionFormat="of" target="section-appendix.b"/><xref derivedContent="" format="title" sectionFormat="of" target="name-contributors">Contributors</xref></t>
          </li>
          <li pn="section-toc.1-1.12">
            <t indent="0" pn="section-toc.1-1.12.1"><xref derivedContent="" format="none" sectionFormat="of" target="section-appendix.c"/><xref derivedContent="" format="title" sectionFormat="of" target="name-authors-addresses">Authors' Addresses</xref></t>
          </li>
        </ul>
      </section>
    </toc>
  </front>
  <middle>
    <section anchor="Introduction" numbered="true" toc="include" removeInRFC="false" pn="section-1">
      <name slugifiedName="name-introduction">Introduction</name>
      <t indent="0" pn="section-1-1">Networks use tunnels for a variety of reasons, such as:</t>
      <ul spacing="normal" bare="false" empty="false" indent="3" pn="section-1-2">
        <li pn="section-1-2.1">Partial deployment of IPv6 in IPv4 networks or IPv4 in IPv6
          networks, as described in <xref target="RFC5565" format="default" sectionFormat="of" derivedContent="RFC5565"/>, where IPvx
          tunnels are used between IPvx-enabled routers so as to traverse
          non-IPvx routers.</li>
        <li pn="section-1-2.2">Remote Loop-Free Alternate (RLFA) repair tunnels as described in

         <xref target="RFC7490" format="default" sectionFormat="of" derivedContent="RFC7490"/>, where tunnels are used between the Point
          of Local Repair and the selected PQ node.</li>
      </ul>
      <t indent="0" pn="section-1-3">The tunnel encapsulator router needs to select a type of tunnel that is
      supported by the tunnel decapsulator router. This document
      defines how to advertise, in OSPF Router Information Link State Advertisements (LSAs),
      the list of tunnel encapsulations supported by the tunnel decapsulator.
      In this document, OSPF refers to both OSPFv2
      <xref target="RFC2328" format="default" sectionFormat="of" derivedContent="RFC2328"/> and OSPFv3 <xref target="RFC5340" format="default" sectionFormat="of" derivedContent="RFC5340"/>.</t>
    </section>
    <section anchor="Terminology" numbered="true" toc="include" removeInRFC="false" pn="section-2">
      <name slugifiedName="name-terminology">Terminology</name>
      <t indent="0" pn="section-2-1">This memo makes use of the terms defined in <xref target="RFC7770" format="default" sectionFormat="of" derivedContent="RFC7770"/>.</t>
      <t indent="0" pn="section-2-2">
    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 anchor="RI" numbered="true" toc="include" removeInRFC="false" pn="section-3">
      <name slugifiedName="name-tunnel-encapsulations-tlv">Tunnel Encapsulations TLV</name>
      <t indent="0" pn="section-3-1">Routers advertise their supported tunnel encapsulation type(s) by
      advertising a new TLV of the OSPF Router Information (RI) Opaque LSA
      <xref target="RFC7770" format="default" sectionFormat="of" derivedContent="RFC7770"/>, referred to as the "Tunnel Encapsulations TLV".
      This TLV is applicable to both OSPFv2 and OSPFv3.</t>
      <t indent="0" pn="section-3-2">The Type code of the Tunnel Encapsulations TLV is 13, the
      Length value is variable, and the Value field contains one or more
      Tunnel Sub-TLVs, as defined in <xref target="TunnelType" format="default" sectionFormat="of" derivedContent="Section 4"/>.
      Each Tunnel Sub-TLV indicates a particular encapsulation
      format that the advertising router supports, along with the parameters
	  corresponding to the tunnel type.</t>
      <t indent="0" pn="section-3-3">The Tunnel Encapsulations TLV <bcp14>MAY</bcp14> appear more than once
      within a given OSPF Router Information (RI) Opaque LSA. If the Tunnel
      Encapsulations TLV appears more than once in an OSPF Router
      Information LSA, the set of all Tunnel Sub-TLVs from all Tunnel
      Encapsulations TLVs <bcp14>SHOULD</bcp14> be considered. The scope of
      the advertisement depends on the
      application, but it is recommended that it <bcp14>SHOULD</bcp14> be
      domain wide.</t>
    </section>
    <section anchor="TunnelType" numbered="true" toc="include" removeInRFC="false" pn="section-4">
      <name slugifiedName="name-tunnel-sub-tlv">Tunnel Sub-TLV</name>
      <t indent="0" pn="section-4-1">The Tunnel Sub-TLV is structured as shown in <xref target="Tunnel_Sub-TLV" format="default" sectionFormat="of" derivedContent="Figure 1"/>.</t>
      <figure anchor="Tunnel_Sub-TLV" align="left" suppress-title="false" pn="figure-1">
        <name slugifiedName="name-tunnel-sub-tlv-2">Tunnel Sub-TLV</name>
        <artwork name="" type="" align="left" alt="" pn="section-4-2.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
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |    Tunnel Type (2 octets)     |        Length (2 octets)      |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                                                               |
   |               Tunnel Parameter Sub-TLVs                       |
   |                                                               |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
        </artwork>
      </figure>
      <dl newline="false" indent="3" spacing="normal" pn="section-4-3">
        <dt pn="section-4-3.1">Tunnel Type (2 octets):</dt>
        <dd pn="section-4-3.2">Identifies the type of tunneling
          technology signaled. Tunnel types are shared with the BGP
          extension <xref target="RFC9012" format="default" sectionFormat="of" derivedContent="RFC9012"/> and hence are
          defined in the IANA registry "BGP Tunnel Encapsulation Attribute
          Tunnel Types". Unknown tunnel types are to be ignored upon
          receipt.</dd>
        <dt pn="section-4-3.3">Length (2 octets):</dt>
        <dd pn="section-4-3.4">Unsigned 16-bit integer indicating the total
          number of octets of the Tunnel Parameter Sub-TLVs field.</dd>
        <dt pn="section-4-3.5">Tunnel Parameter Sub-TLVs (variable):</dt>
        <dd pn="section-4-3.6">Zero or more Tunnel Parameter
          Sub-TLVs, as defined in <xref target="ParameterTLVs" format="default" sectionFormat="of" derivedContent="Section 5"/>.</dd>
      </dl>
      <t indent="0" pn="section-4-4">If a Tunnel Sub-TLV is invalid, it <bcp14>MUST</bcp14> be ignored and skipped. However,
      other Tunnel Sub-TLVs <bcp14>MUST</bcp14> be considered.</t>
    </section>
    <section anchor="ParameterTLVs" numbered="true" toc="include" removeInRFC="false" pn="section-5">
      <name slugifiedName="name-tunnel-parameter-sub-tlvs">Tunnel Parameter Sub-TLVs</name>
      <t indent="0" pn="section-5-1">A Tunnel Parameter Sub-TLV is structured as shown in <xref target="Tunnel_Parameter_Sub-TLV" format="default" sectionFormat="of" derivedContent="Figure 2"/>.</t>
      <figure anchor="Tunnel_Parameter_Sub-TLV" align="left" suppress-title="false" pn="figure-2">
        <name slugifiedName="name-tunnel-parameter-sub-tlv">Tunnel Parameter Sub-TLV</name>
        <artwork name="" type="" align="left" alt="" pn="section-5-2.1">
           +---------------------------------------------+
           |   Tunnel Parameter Sub-Type (2 octets)      |
           +---------------------------------------------+
           |   Tunnel Parameter Length (2 octets)        |
           +---------------------------------------------+
           |   Tunnel Parameter Value (variable)         |
           |                                             |
           +---------------------------------------------+
        </artwork>
      </figure>
      <dl newline="false" indent="3" spacing="normal" pn="section-5-3">
        <dt pn="section-5-3.1">Tunnel Parameter Sub-Type (2 octets):</dt>
        <dd pn="section-5-3.2">Each sub-type defines a 
          parameter of the Tunnel Sub-TLV. Sub-types are
          registered in the IANA registry "OSPF Tunnel Parameter Sub-TLVs"
	(see <xref target="ParameterRegistry" format="default" sectionFormat="of" derivedContent="Section 7.2"/>).</dd>
        <dt pn="section-5-3.3">Tunnel Parameter Length (2 octets):</dt>
        <dd pn="section-5-3.4">Unsigned 16-bit integer indicating the
          total number of octets of the Tunnel Parameter Value field.</dd>
        <dt pn="section-5-3.5">Tunnel Parameter Value (variable):</dt>
        <dd pn="section-5-3.6">Encodings of the Value field depend on
          the sub-TLV type. The following subsections
          define the encoding in detail.</dd>
      </dl>
      <t indent="0" pn="section-5-4">Any unknown Tunnel Parameter sub-type <bcp14>MUST</bcp14> be ignored
      and skipped upon receipt. When a reserved
      value (see <xref target="ParameterRegistry" format="default" sectionFormat="of" derivedContent="Section 7.2"/>) is seen in an LSA, it
      <bcp14>MUST</bcp14> be treated as an invalid Tunnel Parameter Sub-TLV. When a Tunnel Parameter Value has an incorrect syntax or semantics, it <bcp14>MUST</bcp14> be treated as an invalid Tunnel Parameter Sub-TLV. If a Tunnel Parameter Sub-TLV is invalid, its
      Tunnel Sub-TLV <bcp14>MUST</bcp14> be ignored. However,
      other Tunnel Sub-TLVs <bcp14>MUST</bcp14> be considered.</t>
      <section anchor="EncapsulationTLV" numbered="true" toc="include" removeInRFC="false" pn="section-5.1">
        <name slugifiedName="name-encapsulation-sub-tlv">Encapsulation Sub-TLV</name>
        <t indent="0" pn="section-5.1-1">This sub-TLV type is 1. The syntax, semantics, and usage of its
	Value field are defined in Section <xref target="RFC9012" sectionFormat="bare" section="3.2" format="default" derivedLink="https://rfc-editor.org/rfc/rfc9012#section-3.2" derivedContent="RFC9012">"Encapsulation Sub-TLVs for
	Particular Tunnel Types"</xref> of <xref target="RFC9012" format="default" sectionFormat="of" derivedContent="RFC9012"/>.</t>
      </section>
      <section anchor="ProtocolTLV" numbered="true" toc="include" removeInRFC="false" pn="section-5.2">
        <name slugifiedName="name-protocol-type-sub-tlv">Protocol Type Sub-TLV</name>
        <t indent="0" pn="section-5.2-1">This sub-TLV type is 2. The syntax, semantics, and usage of its
	Value field are defined in Section <xref target="RFC9012" sectionFormat="bare" section="3.4.1" format="default" derivedLink="https://rfc-editor.org/rfc/rfc9012#section-3.4.1" derivedContent="RFC9012">"Protocol Type Sub-TLV"</xref> of
	<xref target="RFC9012" format="default" sectionFormat="of" derivedContent="RFC9012"/>.</t>
      </section>
      <section anchor="EndpointTLV" numbered="true" toc="include" removeInRFC="false" pn="section-5.3">
        <name slugifiedName="name-tunnel-egress-endpoint-sub-">Tunnel Egress Endpoint Sub-TLV</name>
        <t indent="0" pn="section-5.3-1">The Tunnel Egress Endpoint Sub-TLV specifies the address of the egress endpoint of the tunnel -- that is, the address of the router that will decapsulate the payload.</t>
        <t indent="0" pn="section-5.3-2">This sub-TLV type is 3. It <bcp14>MUST</bcp14> be present once and only once in a given Tunnel Sub-TLV. The Value field contains two subfields:
        </t>
        <ul spacing="normal" bare="false" empty="false" indent="3" pn="section-5.3-3">
          <li pn="section-5.3-3.1">a two-octet Address Family subfield</li>
          <li pn="section-5.3-3.2">an Address subfield, whose length depends upon the Address Family</li>
        </ul>
        <figure anchor="Endpoint_Sub-TLV" align="left" suppress-title="false" pn="figure-3">
          <name slugifiedName="name-tunnel-egress-endpoint-sub-t">Tunnel Egress Endpoint Sub-TLV</name>
          <artwork name="" type="" align="left" alt="" pn="section-5.3-4.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
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    |      Address Family           |           Address             ~
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+                               +
    ~                     (variable length)                         ~
    |                                                               |
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
        </artwork>
        </figure>
        <t indent="0" pn="section-5.3-5">The Address Family subfield contains a value from IANA's "Address
   Family Numbers" registry.  In this document, we assume that the
   Address Family is either IPv4 or IPv6; use of other address families
   is outside the scope of this document.</t>
        <t indent="0" pn="section-5.3-6">If the Address Family subfield contains the value for IPv4, the
   Address subfield <bcp14>MUST</bcp14> contain an IPv4 address (a /32 IPv4 prefix).
   In this case, the Length field of the Tunnel Egress Endpoint Sub-TLV <bcp14>MUST</bcp14> contain the value 6.</t>
        <t indent="0" pn="section-5.3-7">If the Address Family subfield contains the value for IPv6, the
   address subfield <bcp14>MUST</bcp14> contain an IPv6 address (a /128 IPv6 prefix).
   In this case, the Length field of the Tunnel Egress Endpoint Sub-TLV <bcp14>MUST</bcp14>
   contain the value 18 (0x12).  IPv6 link-local addresses are not valid
   values of the IP address field.</t>
      </section>
      <section anchor="ColorTLV" numbered="true" toc="include" removeInRFC="false" pn="section-5.4">
        <name slugifiedName="name-color-sub-tlv">Color Sub-TLV</name>
        <t indent="0" pn="section-5.4-1">This sub-TLV type is 4. It may appear zero or more times in a given
	Tunnel Sub-TLV. The Value field is a 4-octet opaque unsigned
        integer.</t>
        <t indent="0" pn="section-5.4-2">The color value is user-defined and configured locally on the
        advertising routers. It may be used by service providers to define
        policies on the tunnel encapsulator routers, for example, to control the
        selection of the tunnel to use.</t>
        <t indent="0" pn="section-5.4-3">This color value can be referenced by BGP routes carrying the Color
        Extended Community <xref target="RFC9012" format="default" sectionFormat="of" derivedContent="RFC9012"/>. If the
        tunnel is used to reach the BGP next hop of BGP routes, then attaching
        a Color Extended Community to those routes expresses the
        willingness of the BGP speaker to use a tunnel of the same color.</t>
      </section>
      <section anchor="Load-Balancing" numbered="true" toc="include" removeInRFC="false" pn="section-5.5">
        <name slugifiedName="name-load-balancing-block-sub-tl">Load-Balancing Block Sub-TLV</name>
        <t indent="0" pn="section-5.5-1">This sub-TLV type is 5. The syntax, semantics, and usage of its
	Value field are defined in <xref target="RFC5640" format="default" sectionFormat="of" derivedContent="RFC5640"/>.</t>
      </section>
      <section anchor="IP.QoS" numbered="true" toc="include" removeInRFC="false" pn="section-5.6">
        <name slugifiedName="name-ds-field-sub-tlv">DS Field Sub-TLV</name>
        <t indent="0" pn="section-5.6-1">This sub-TLV type is 6. The syntax, semantics, and usage of its
	Value field are defined in Section <xref target="RFC9012" sectionFormat="bare" section="3.3.1" format="default" derivedLink="https://rfc-editor.org/rfc/rfc9012#section-3.3.1" derivedContent="RFC9012">"DS Field"</xref>
        of <xref target="RFC9012" format="default" sectionFormat="of" derivedContent="RFC9012"/>.</t>
      </section>
      <section anchor="UDP" numbered="true" toc="include" removeInRFC="false" pn="section-5.7">
        <name slugifiedName="name-udp-destination-port-sub-tl">UDP Destination Port Sub-TLV</name>
        <t indent="0" pn="section-5.7-1">This sub-TLV type is 7. The syntax, semantics, and usage of its
	Value field are defined in Section <xref target="RFC9012" sectionFormat="bare" section="3.3.2" format="default" derivedLink="https://rfc-editor.org/rfc/rfc9012#section-3.3.2" derivedContent="RFC9012">"UDP Destination Port"</xref> of <xref target="RFC9012" format="default" sectionFormat="of" derivedContent="RFC9012"/>.</t>
      </section>
    </section>
    <section anchor="Operation" numbered="true" toc="include" removeInRFC="false" pn="section-6">
      <name slugifiedName="name-operation">Operation</name>
      <t indent="0" pn="section-6-1">The advertisement of a Tunnel Encapsulations Sub-TLV indicates that the advertising router
      supports a particular tunnel decapsulation along with the parameters to
      be used for the tunnel. The decision to use that tunnel is driven by the
      capability of the tunnel encapsulator router to support the encapsulation type and
      the policy on the tunnel encapsulator router. The Color Sub-TLV (see <xref target="ColorTLV" format="default" sectionFormat="of" derivedContent="Section 5.4"/>) may be used as an input to this policy. Note that
      some tunnel types may require the execution of an explicit tunnel setup
      protocol before they can be used to transit data.</t>
      <t indent="0" pn="section-6-2">  A tunnel <bcp14>MUST NOT</bcp14> be
      used if there is no route toward the IP address specified in the
      Tunnel Egress Endpoint Sub-TLV (see <xref target="EndpointTLV" format="default" sectionFormat="of" derivedContent="Section 5.3"/>) or if the route is
      not advertised in the same OSPF domain.</t>
    </section>
    <section anchor="IANA" numbered="true" toc="include" removeInRFC="false" pn="section-7">
      <name slugifiedName="name-iana-considerations">IANA Considerations</name>
      <section anchor="IANA.RI" numbered="true" toc="include" removeInRFC="false" pn="section-7.1">
        <name slugifiedName="name-ospf-router-information-ri-">OSPF Router Information (RI) TLVs Registry</name>
        <t indent="0" pn="section-7.1-1">IANA has allocated the following new code point in the
        "OSPF Router Information (RI) TLVs" registry.

        </t>
        <table anchor="encaps-router" align="center" pn="table-1">
          <name slugifiedName="name-addition-to-ospf-router-inf">Addition to OSPF Router Information (RI) TLVs Registry</name>
          <thead>
            <tr>
              <th align="left" colspan="1" rowspan="1">Value</th>
              <th align="left" colspan="1" rowspan="1">TLV Name</th>
              <th align="left" colspan="1" rowspan="1">Reference</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left" colspan="1" rowspan="1">13</td>
              <td align="left" colspan="1" rowspan="1">Tunnel Encapsulations</td>
              <td align="left" colspan="1" rowspan="1">RFC 9013</td>
            </tr>
          </tbody>
        </table>
      </section>
      <section anchor="ParameterRegistry" numbered="true" toc="include" removeInRFC="false" pn="section-7.2">
        <name slugifiedName="name-ospf-tunnel-parameter-sub-t">OSPF Tunnel Parameter Sub-TLVs Registry</name>
        <t indent="0" pn="section-7.2-1">IANA has created a new subregistry called the "OSPF Tunnel
        Parameter Sub-TLVs" registry under the "Open Shortest Path
	First (OSPF) Parameters" registry. The registration procedures are as follows:</t>
        <ul spacing="normal" bare="false" empty="false" indent="3" pn="section-7.2-2">
          <li pn="section-7.2-2.1">The values in the range 1-34999 are to be allocated using the
            "Standards Action" registration procedure defined in <xref target="RFC8126" format="default" sectionFormat="of" derivedContent="RFC8126"/>.</li>
          <li pn="section-7.2-2.2">The values in the range 35000-65499 are to be allocated using the
            "First Come First Served" registration procedure.</li>
        </ul>
        <t indent="0" pn="section-7.2-3">The initial contents of the registry are as follows:</t>
        <table anchor="sub-TLV-reg" align="center" pn="table-2">
          <name slugifiedName="name-initial-contents-of-ospf-tu">Initial Contents of OSPF Tunnel Parameter Sub-TLVs Registry</name>
          <thead>
            <tr>
              <th align="left" colspan="1" rowspan="1">Value</th>
              <th align="left" colspan="1" rowspan="1">TLV Name</th>
              <th align="left" colspan="1" rowspan="1">Reference</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left" colspan="1" rowspan="1">0</td>
              <td align="left" colspan="1" rowspan="1">Reserved</td>
              <td align="left" colspan="1" rowspan="1">RFC 9013</td>
            </tr>
            <tr>
              <td align="left" colspan="1" rowspan="1">1</td>
              <td align="left" colspan="1" rowspan="1">Encapsulation</td>
              <td align="left" colspan="1" rowspan="1">RFC 9013 &amp; RFC 9012</td>
            </tr>
            <tr>
              <td align="left" colspan="1" rowspan="1">2</td>
              <td align="left" colspan="1" rowspan="1">Protocol Type</td>
              <td align="left" colspan="1" rowspan="1">RFC 9013 &amp; RFC 9012</td>
            </tr>
            <tr>
              <td align="left" colspan="1" rowspan="1">3</td>
              <td align="left" colspan="1" rowspan="1">Endpoint</td>
              <td align="left" colspan="1" rowspan="1">RFC 9013</td>
            </tr>
            <tr>
              <td align="left" colspan="1" rowspan="1">4</td>
              <td align="left" colspan="1" rowspan="1">Color</td>
              <td align="left" colspan="1" rowspan="1">RFC 9013</td>
            </tr>
            <tr>
              <td align="left" colspan="1" rowspan="1">5</td>
              <td align="left" colspan="1" rowspan="1">Load-Balancing Block</td>
              <td align="left" colspan="1" rowspan="1">RFC 9013 &amp; RFC 5640</td>
            </tr>
            <tr>
              <td align="left" colspan="1" rowspan="1">6</td>
              <td align="left" colspan="1" rowspan="1">DS Field</td>
              <td align="left" colspan="1" rowspan="1">RFC 9013 &amp; RFC 9012</td>
            </tr>
            <tr>
              <td align="left" colspan="1" rowspan="1">7</td>
              <td align="left" colspan="1" rowspan="1">UDP Destination Port</td>
              <td align="left" colspan="1" rowspan="1">RFC 9013 &amp; RFC 9012</td>
            </tr>
            <tr>
              <td align="left" colspan="1" rowspan="1">8-65499</td>
              <td align="left" colspan="1" rowspan="1">Unassigned</td>
              <td align="left" colspan="1" rowspan="1"/>
            </tr>
            <tr>
              <td align="left" colspan="1" rowspan="1">65500-65534</td>
              <td align="left" colspan="1" rowspan="1">Experimental</td>
              <td align="left" colspan="1" rowspan="1">RFC 9013</td>
            </tr>
            <tr>
              <td align="left" colspan="1" rowspan="1">65535</td>
              <td align="left" colspan="1" rowspan="1">Reserved</td>
              <td align="left" colspan="1" rowspan="1">RFC 9013</td>
            </tr>
          </tbody>
        </table>
      </section>
    </section>
    <section anchor="Security" numbered="true" toc="include" removeInRFC="false" pn="section-8">
      <name slugifiedName="name-security-considerations">Security Considerations</name>
      <t indent="0" pn="section-8-1">Security considerations applicable to softwires can be found in the
      mesh framework <xref target="RFC5565" format="default" sectionFormat="of" derivedContent="RFC5565"/>. In general, security issues of
      the tunnel protocols signaled through this OSPF capability extension are
      inherited.</t>
      <t indent="0" pn="section-8-2">If a third party is able to modify any of the information that is
      used to form encapsulation headers, choose a tunnel type, or
      choose a particular tunnel for a particular payload type, user data
      packets may end up getting misrouted, misdelivered, and/or dropped.
      However, since an OSPF routing domain is usually a well-controlled network
      under a single administrative domain, the possibility of the above attack is very low.</t>
      <t indent="0" pn="section-8-3">We note that the last paragraph of <xref target="Operation" format="default" sectionFormat="of" derivedContent="Section 6"/> forbids the establishment of a tunnel toward
      arbitrary destinations. It prohibits a destination outside of the OSPF
      domain. This prevents a third
      party that has gained access to an OSPF router from being able to send 
      the traffic to other destinations, e.g., for inspection purposes.</t>
      <t indent="0" pn="section-8-4">Security considerations for the base OSPF protocol are covered in
      <xref target="RFC2328" format="default" sectionFormat="of" derivedContent="RFC2328"/> and <xref target="RFC5340" format="default" sectionFormat="of" derivedContent="RFC5340"/>.</t>
    </section>
  </middle>
  <back>
    <references pn="section-9">
      <name slugifiedName="name-references">References</name>
      <references pn="section-9.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 initials="S." surname="Bradner" fullname="S. Bradner">
              <organization showOnFrontPage="true"/>
            </author>
            <date year="1997" month="March"/>
            <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="RFC5640" target="https://www.rfc-editor.org/info/rfc5640" quoteTitle="true" derivedAnchor="RFC5640">
          <front>
            <title>Load-Balancing for Mesh Softwires</title>
            <author initials="C." surname="Filsfils" fullname="C. Filsfils">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="P." surname="Mohapatra" fullname="P. Mohapatra">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="C." surname="Pignataro" fullname="C. Pignataro">
              <organization showOnFrontPage="true"/>
            </author>
            <date year="2009" month="August"/>
            <abstract>
              <t indent="0">Payloads transported over a Softwire mesh service (as defined by BGP Encapsulation Subsequent Address Family Identifier (SAFI) information exchange) often carry a number of identifiable, distinct flows.  It can, in some circumstances, be desirable to distribute these flows over the equal cost multiple paths (ECMPs) that exist in the packet switched network.  Currently, the payload of a packet entering the Softwire can only be interpreted by the ingress and egress routers. Thus, the load-balancing decision of a core router is only based on the encapsulating header, presenting much less entropy than available in the payload or the encapsulated header since the Softwire encapsulation acts in a tunneling fashion.  This document describes a method for achieving comparable load-balancing efficiency in a network carrying Softwire mesh service over Layer Two Tunneling Protocol - Version 3 (L2TPv3) over IP or Generic Routing Encapsulation (GRE) encapsulation to what would be achieved without such encapsulation.  [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="5640"/>
          <seriesInfo name="DOI" value="10.17487/RFC5640"/>
        </reference>
        <reference anchor="RFC7770" target="https://www.rfc-editor.org/info/rfc7770" quoteTitle="true" derivedAnchor="RFC7770">
          <front>
            <title>Extensions to OSPF for Advertising Optional Router Capabilities</title>
            <author initials="A." surname="Lindem" fullname="A. Lindem" role="editor">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="N." surname="Shen" fullname="N. Shen">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="JP." surname="Vasseur" fullname="JP. Vasseur">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="R." surname="Aggarwal" fullname="R. Aggarwal">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="S." surname="Shaffer" fullname="S. Shaffer">
              <organization showOnFrontPage="true"/>
            </author>
            <date year="2016" month="February"/>
            <abstract>
              <t indent="0">It is useful for routers in an OSPFv2 or OSPFv3 routing domain to know the capabilities of their neighbors and other routers in the routing domain.  This document proposes extensions to OSPFv2 and OSPFv3 for advertising optional router capabilities.  The Router Information (RI) Link State Advertisement (LSA) is defined for this purpose.  In OSPFv2, the RI LSA will be implemented with an Opaque LSA type ID.  In OSPFv3, the RI LSA will be implemented with a unique LSA type function code.  In both protocols, the RI LSA can be advertised at any of the defined flooding scopes (link, area, or autonomous system (AS)).  This document obsoletes RFC 4970 by providing a revised specification that includes support for advertisement of multiple instances of the RI LSA and a TLV for functional capabilities.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7770"/>
          <seriesInfo name="DOI" value="10.17487/RFC7770"/>
        </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 initials="M." surname="Cotton" fullname="M. Cotton">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="B." surname="Leiba" fullname="B. Leiba">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="T." surname="Narten" fullname="T. Narten">
              <organization showOnFrontPage="true"/>
            </author>
            <date year="2017" month="June"/>
            <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 initials="B." surname="Leiba" fullname="B. Leiba">
              <organization showOnFrontPage="true"/>
            </author>
            <date year="2017" month="May"/>
            <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="RFC9012" target="https://www.rfc-editor.org/info/rfc9012" quoteTitle="true" derivedAnchor="RFC9012">
          <front>
            <title>The BGP Tunnel Encapsulation Attribute</title>
            <author initials="K" surname="Patel">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="G" surname="Van de Velde">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="S" surname="Sangli">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="J" surname="Scudder">
              <organization showOnFrontPage="true"/>
            </author>
            <date month="April" year="2021"/>
          </front>
          <seriesInfo name="RFC" value="9012"/>
          <seriesInfo name="DOI" value="10.17487/RFC9012"/>
        </reference>
      </references>
      <references pn="section-9.2">
        <name slugifiedName="name-informative-references">Informative References</name>
        <reference anchor="RFC2328" target="https://www.rfc-editor.org/info/rfc2328" quoteTitle="true" derivedAnchor="RFC2328">
          <front>
            <title>OSPF Version 2</title>
            <author initials="J." surname="Moy" fullname="J. Moy">
              <organization showOnFrontPage="true"/>
            </author>
            <date year="1998" month="April"/>
            <abstract>
              <t indent="0">This memo documents version 2 of the OSPF protocol.  OSPF is a link- state routing protocol.  [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="STD" value="54"/>
          <seriesInfo name="RFC" value="2328"/>
          <seriesInfo name="DOI" value="10.17487/RFC2328"/>
        </reference>
        <reference anchor="RFC5340" target="https://www.rfc-editor.org/info/rfc5340" quoteTitle="true" derivedAnchor="RFC5340">
          <front>
            <title>OSPF for IPv6</title>
            <author initials="R." surname="Coltun" fullname="R. Coltun">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="D." surname="Ferguson" fullname="D. Ferguson">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="J." surname="Moy" fullname="J. Moy">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="A." surname="Lindem" fullname="A. Lindem">
              <organization showOnFrontPage="true"/>
            </author>
            <date year="2008" month="July"/>
            <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="RFC5512" target="https://www.rfc-editor.org/info/rfc5512" quoteTitle="true" derivedAnchor="RFC5512">
          <front>
            <title>The BGP Encapsulation Subsequent Address Family Identifier (SAFI) and the BGP Tunnel Encapsulation Attribute</title>
            <author initials="P." surname="Mohapatra" fullname="P. Mohapatra">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="E." surname="Rosen" fullname="E. Rosen">
              <organization showOnFrontPage="true"/>
            </author>
            <date year="2009" month="April"/>
            <abstract>
              <t indent="0">In certain situations, transporting a packet from one Border Gateway Protocol (BGP) speaker to another (the BGP next hop) requires that the packet be encapsulated by the first BGP speaker and decapsulated by the second.  To support these situations, there needs to be some agreement between the two BGP speakers with regard to the "encapsulation information", i.e., the format of the encapsulation header as well as the contents of various fields of the header.</t>
              <t indent="0">The encapsulation information need not be signaled for all encapsulation types.  In cases where signaling is required (such as Layer Two Tunneling Protocol - Version 3 (L2TPv3) or Generic Routing Encapsulation (GRE) with key), this document specifies a method by which BGP speakers can signal encapsulation information to each other.  The signaling is done by sending BGP updates using the Encapsulation Subsequent Address Family Identifier (SAFI) and the IPv4 or IPv6 Address Family Identifier (AFI).  In cases where no encapsulation information needs to be signaled (such as GRE without key), this document specifies a BGP extended community that can be attached to BGP UPDATE messages that carry payload prefixes in order to indicate the encapsulation protocol type to be used.  [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="5512"/>
          <seriesInfo name="DOI" value="10.17487/RFC5512"/>
        </reference>
        <reference anchor="RFC5565" target="https://www.rfc-editor.org/info/rfc5565" quoteTitle="true" derivedAnchor="RFC5565">
          <front>
            <title>Softwire Mesh Framework</title>
            <author initials="J." surname="Wu" fullname="J. Wu">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="Y." surname="Cui" fullname="Y. Cui">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="C." surname="Metz" fullname="C. Metz">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="E." surname="Rosen" fullname="E. Rosen">
              <organization showOnFrontPage="true"/>
            </author>
            <date year="2009" month="June"/>
            <abstract>
              <t indent="0">The Internet needs to be able to handle both IPv4 and IPv6 packets. However, it is expected that some constituent networks of the Internet will be "single-protocol" networks.  One kind of single-protocol network can parse only IPv4 packets and can process only IPv4 routing information; another kind can parse only IPv6 packets and can process only IPv6 routing information.  It is nevertheless required that either kind of single-protocol network be able to provide transit service for the "other" protocol.  This is done by passing the "other kind" of routing information from one edge of the single-protocol network to the other, and by tunneling the "other kind" of data packet from one edge to the other.  The tunnels are known as "softwires".  This framework document explains how the routing information and the data packets of one protocol are passed through a single-protocol network of the other protocol.  The document is careful to specify when this can be done with existing technology and when it requires the development of new or modified technology.  [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="5565"/>
          <seriesInfo name="DOI" value="10.17487/RFC5565"/>
        </reference>
        <reference anchor="RFC7490" target="https://www.rfc-editor.org/info/rfc7490" quoteTitle="true" derivedAnchor="RFC7490">
          <front>
            <title>Remote Loop-Free Alternate (LFA) Fast Reroute (FRR)</title>
            <author initials="S." surname="Bryant" fullname="S. Bryant">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="C." surname="Filsfils" fullname="C. Filsfils">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="S." surname="Previdi" fullname="S. Previdi">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="M." surname="Shand" fullname="M. Shand">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="N." surname="So" fullname="N. So">
              <organization showOnFrontPage="true"/>
            </author>
            <date year="2015" month="April"/>
            <abstract>
              <t indent="0">This document describes an extension to the basic IP fast reroute mechanism, described in RFC 5286, that provides additional backup connectivity for point-to-point link failures when none can be provided by the basic mechanisms.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7490"/>
          <seriesInfo name="DOI" value="10.17487/RFC7490"/>
        </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 is partially inspired by <xref target="RFC5512" format="default" sectionFormat="of" derivedContent="RFC5512"/>.</t>
      <t indent="0" pn="section-appendix.a-2">The authors would like to thank <contact fullname="Greg Mirsky"/>,
      <contact fullname="John E. Drake"/>, <contact fullname="Carlos       Pignataro"/>, and <contact fullname="Karsten Thomann"/> for their
      valuable comments on this
      document. Special thanks should be given to <contact fullname="Acee       Lindem"/> for his multiple
      detailed reviews of this document and help. The authors would like to
      thank <contact fullname="Pete Resnick"/>, <contact fullname="Joe       Touch"/>, <contact fullname="David Mandelberg"/>, <contact fullname="Sabrina Tanamal"/>, <contact fullname="Tim Wicinski"/>, and
      <contact fullname="Amanda Baber"/> for their Last Call reviews. The authors also thank
      <contact fullname="Spencer Dawkins"/>, <contact fullname="Mirja       Kühlewind"/>, <contact fullname="Ben Campbell"/>, <contact fullname="Benoit Claise"/>, <contact fullname="Alvaro Retana"/>,
      <contact fullname="Adam Roach"/>, and <contact fullname="Suresh       Krishnan"/> for their AD reviews.</t>
    </section>
    <section numbered="false" toc="include" removeInRFC="false" pn="section-appendix.b">
      <name slugifiedName="name-contributors">Contributors</name>
      <contact fullname="Uma Chunduri">
        <organization showOnFrontPage="true">Huawei</organization>
        <address>
          <email>uma.chunduri@gmail.com</email>
        </address>
      </contact>
    </section>
    <section anchor="authors-addresses" numbered="false" removeInRFC="false" toc="include" pn="section-appendix.c">
      <name slugifiedName="name-authors-addresses">Authors' Addresses</name>
      <author fullname="Xiaohu Xu" initials="X" role="editor" surname="Xu">
        <organization showOnFrontPage="true">Capitalonline</organization>
        <address>
          <email>xiaohu.xu@capitalonline.net</email>
        </address>
      </author>
      <author fullname="Bruno Decraene" initials="B" role="editor" surname="Decraene">
        <organization showOnFrontPage="true">Orange</organization>
        <address>
          <email>bruno.decraene@orange.com</email>
        </address>
      </author>
      <author fullname="Robert Raszuk" initials="R" surname="Raszuk">
        <organization showOnFrontPage="true">NTT Network Innovations</organization>
        <address>
          <postal>
            <street>940 Stewart Dr</street>
            <city>Sunnyvale</city>
            <region>CA</region>
            <code>94085</code>
            <country>United States of America</country>
          </postal>
          <email>robert@raszuk.net</email>
        </address>
      </author>
      <author fullname="Luis M. Contreras" initials="L" surname="Contreras">
        <organization showOnFrontPage="true">Telefonica I+D</organization>
        <address>
          <email>luismiguel.contrerasmurillo@telefonica.com</email>
        </address>
      </author>
      <author fullname="Luay Jalil" initials="L" surname="Jalil">
        <organization showOnFrontPage="true">Verizon</organization>
        <address>
          <email>luay.jalil@verizon.com</email>
        </address>
      </author>
    </section>
  </back>
</rfc>
