<?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-bess-srv6-services-15" indexInclude="true" ipr="trust200902" number="9252" prepTime="2022-07-18T11:14:17" 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-bess-srv6-services-15" rel="prev"/>
  <link href="https://dx.doi.org/10.17487/rfc9252" rel="alternate"/>
  <link href="urn:issn:2070-1721" rel="alternate"/>
  <front>
    <title abbrev="SRv6-Based BGP Overlay Services">BGP Overlay Services Based on Segment Routing over IPv6 (SRv6)</title>
    <seriesInfo name="RFC" value="9252" stream="IETF"/>
    <author fullname="Gaurav Dawra" initials="G" role="editor" surname="Dawra">
      <organization showOnFrontPage="true">LinkedIn</organization>
      <address>
        <postal>
          <street/>
          <country>United States of America</country>
        </postal>
        <email>gdawra.ietf@gmail.com</email>
      </address>
    </author>
    <author fullname="Ketan Talaulikar" initials="K" role="editor" surname="Talaulikar">
      <organization showOnFrontPage="true">Cisco Systems</organization>
      <address>
        <postal>
          <street/>
          <country>India</country>
        </postal>
        <email>ketant.ietf@gmail.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="Bruno Decraene" initials="B" surname="Decraene">
      <organization showOnFrontPage="true">Orange</organization>
      <address>
        <postal>
          <street/>
          <country>France</country>
        </postal>
        <email>bruno.decraene@orange.com</email>
      </address>
    </author>
    <author fullname="Shunwan Zhuang" initials="S" surname="Zhuang">
      <organization showOnFrontPage="true">Huawei Technologies</organization>
      <address>
        <postal>
          <street/>
          <country>China</country>
        </postal>
        <email>zhuangshunwan@huawei.com</email>
      </address>
    </author>
    <author fullname="Jorge Rabadan" initials="J" surname="Rabadan">
      <organization showOnFrontPage="true">Nokia</organization>
      <address>
        <postal>
          <street/>
          <country>United States of America</country>
        </postal>
        <email>jorge.rabadan@nokia.com</email>
      </address>
    </author>
    <date month="07" year="2022"/>
    <area>RTG</area>
    <workgroup>BESS</workgroup>
    <keyword>BGP</keyword>
    <keyword>SRv6</keyword>
    <abstract pn="section-abstract">
      <t indent="0" pn="section-abstract-1">This document defines procedures and messages for SRv6-based BGP
      services, including Layer 3 Virtual Private Network (L3VPN),
      Ethernet VPN (EVPN), and Internet services. It builds on
      "BGP/MPLS IP Virtual Private Networks (VPNs)" (RFC 4364) and
      "BGP MPLS-Based Ethernet VPN" (RFC 7432).</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/rfc9252" 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) 2022 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-srv6-services-tlvs">SRv6 Services TLVs</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-srv6-service-sub-tlvs">SRv6 Service Sub-TLVs</xref></t>
            <ul bare="true" empty="true" indent="2" spacing="compact" pn="section-toc.1-1.3.2">
              <li pn="section-toc.1-1.3.2.1">
                <t indent="0" pn="section-toc.1-1.3.2.1.1"><xref derivedContent="3.1" format="counter" sectionFormat="of" target="section-3.1"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-srv6-sid-information-sub-tl">SRv6 SID Information Sub-TLV</xref></t>
              </li>
              <li pn="section-toc.1-1.3.2.2">
                <t indent="0" pn="section-toc.1-1.3.2.2.1"><xref derivedContent="3.2" format="counter" sectionFormat="of" target="section-3.2"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-srv6-service-data-sub-sub-t">SRv6 Service Data Sub-Sub-TLVs</xref></t>
                <ul bare="true" empty="true" indent="2" spacing="compact" pn="section-toc.1-1.3.2.2.2">
                  <li pn="section-toc.1-1.3.2.2.2.1">
                    <t indent="0" pn="section-toc.1-1.3.2.2.2.1.1"><xref derivedContent="3.2.1" format="counter" sectionFormat="of" target="section-3.2.1"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-srv6-sid-structure-sub-sub-">SRv6 SID Structure Sub-Sub-TLV</xref></t>
                  </li>
                </ul>
              </li>
            </ul>
          </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-encoding-srv6-sid-informati">Encoding SRv6 SID Information</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-bgp-based-l3-service-over-s">BGP-Based L3 Service over SRv6</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-ipv4-vpn-over-srv6-core">IPv4 VPN over SRv6 Core</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-ipv6-vpn-over-srv6-core">IPv6 VPN over SRv6 Core</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-global-ipv4-over-srv6-core">Global IPv4 over SRv6 Core</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-global-ipv6-over-srv6-core">Global IPv6 over SRv6 Core</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-bgp-based-ethernet-vpn-evpn">BGP-Based Ethernet VPN (EVPN) over SRv6</xref></t>
            <ul bare="true" empty="true" indent="2" spacing="compact" pn="section-toc.1-1.6.2">
              <li pn="section-toc.1-1.6.2.1">
                <t indent="0" pn="section-toc.1-1.6.2.1.1"><xref derivedContent="6.1" format="counter" sectionFormat="of" target="section-6.1"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-ethernet-auto-discovery-rou">Ethernet Auto-Discovery Route over SRv6 Core</xref></t>
                <ul bare="true" empty="true" indent="2" spacing="compact" pn="section-toc.1-1.6.2.1.2">
                  <li pn="section-toc.1-1.6.2.1.2.1">
                    <t indent="0" pn="section-toc.1-1.6.2.1.2.1.1"><xref derivedContent="6.1.1" format="counter" sectionFormat="of" target="section-6.1.1"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-ethernet-a-d-per-es-route">Ethernet A-D per ES Route</xref></t>
                  </li>
                  <li pn="section-toc.1-1.6.2.1.2.2">
                    <t indent="0" pn="section-toc.1-1.6.2.1.2.2.1"><xref derivedContent="6.1.2" format="counter" sectionFormat="of" target="section-6.1.2"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-ethernet-a-d-per-evi-route">Ethernet A-D per EVI Route</xref></t>
                  </li>
                </ul>
              </li>
              <li pn="section-toc.1-1.6.2.2">
                <t indent="0" pn="section-toc.1-1.6.2.2.1"><xref derivedContent="6.2" format="counter" sectionFormat="of" target="section-6.2"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-mac-ip-advertisement-route-">MAC/IP Advertisement Route over SRv6 Core</xref></t>
                <ul bare="true" empty="true" indent="2" spacing="compact" pn="section-toc.1-1.6.2.2.2">
                  <li pn="section-toc.1-1.6.2.2.2.1">
                    <t indent="0" pn="section-toc.1-1.6.2.2.2.1.1"><xref derivedContent="6.2.1" format="counter" sectionFormat="of" target="section-6.2.1"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-mac-ip-advertisement-route-w">MAC/IP Advertisement Route with MAC Only</xref></t>
                  </li>
                  <li pn="section-toc.1-1.6.2.2.2.2">
                    <t indent="0" pn="section-toc.1-1.6.2.2.2.2.1"><xref derivedContent="6.2.2" format="counter" sectionFormat="of" target="section-6.2.2"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-mac-ip-advertisement-route-wi">MAC/IP Advertisement Route with MAC+IP</xref></t>
                  </li>
                </ul>
              </li>
              <li pn="section-toc.1-1.6.2.3">
                <t indent="0" pn="section-toc.1-1.6.2.3.1"><xref derivedContent="6.3" format="counter" sectionFormat="of" target="section-6.3"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-inclusive-multicast-etherne">Inclusive Multicast Ethernet Tag Route over SRv6 Core</xref></t>
              </li>
              <li pn="section-toc.1-1.6.2.4">
                <t indent="0" pn="section-toc.1-1.6.2.4.1"><xref derivedContent="6.4" format="counter" sectionFormat="of" target="section-6.4"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-ethernet-segment-route-over">Ethernet Segment Route over SRv6 Core</xref></t>
              </li>
              <li pn="section-toc.1-1.6.2.5">
                <t indent="0" pn="section-toc.1-1.6.2.5.1"><xref derivedContent="6.5" format="counter" sectionFormat="of" target="section-6.5"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-ip-prefix-route-over-srv6-c">IP Prefix Route over SRv6 Core</xref></t>
              </li>
              <li pn="section-toc.1-1.6.2.6">
                <t indent="0" pn="section-toc.1-1.6.2.6.1"><xref derivedContent="6.6" format="counter" sectionFormat="of" target="section-6.6"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-evpn-multicast-routes-route">EVPN Multicast Routes (Route Types 6, 7, and 8) over SRv6 Core</xref></t>
              </li>
            </ul>
          </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-error-handling">Error Handling</xref></t>
          </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-iana-considerations">IANA Considerations</xref></t>
            <ul bare="true" empty="true" indent="2" spacing="compact" pn="section-toc.1-1.8.2">
              <li pn="section-toc.1-1.8.2.1">
                <t indent="0" pn="section-toc.1-1.8.2.1.1"><xref derivedContent="8.1" format="counter" sectionFormat="of" target="section-8.1"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-bgp-prefix-sid-tlv-types-re">BGP Prefix-SID TLV Types Registry</xref></t>
              </li>
              <li pn="section-toc.1-1.8.2.2">
                <t indent="0" pn="section-toc.1-1.8.2.2.1"><xref derivedContent="8.2" format="counter" sectionFormat="of" target="section-8.2"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-srv6-service-sub-tlv-types-">SRv6 Service Sub-TLV Types Registry</xref></t>
              </li>
              <li pn="section-toc.1-1.8.2.3">
                <t indent="0" pn="section-toc.1-1.8.2.3.1"><xref derivedContent="8.3" format="counter" sectionFormat="of" target="section-8.3"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-srv6-service-data-sub-sub-tlv">SRv6 Service Data Sub-Sub-TLV Types Registry</xref></t>
              </li>
              <li pn="section-toc.1-1.8.2.4">
                <t indent="0" pn="section-toc.1-1.8.2.4.1"><xref derivedContent="8.4" format="counter" sectionFormat="of" target="section-8.4"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-bgp-srv6-service-sid-flags-">BGP SRv6 Service SID Flags Registry</xref></t>
              </li>
              <li pn="section-toc.1-1.8.2.5">
                <t indent="0" pn="section-toc.1-1.8.2.5.1"><xref derivedContent="8.5" format="counter" sectionFormat="of" target="section-8.5"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-safi-values-registry">SAFI Values Registry</xref></t>
              </li>
            </ul>
          </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-security-considerations">Security Considerations</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-considerations-related-to-b">Considerations Related to BGP Sessions</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-considerations-related-to-bg">Considerations Related to BGP Services</xref></t>
              </li>
              <li pn="section-toc.1-1.9.2.3">
                <t indent="0" pn="section-toc.1-1.9.2.3.1"><xref derivedContent="9.3" format="counter" sectionFormat="of" target="section-9.3"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-considerations-related-to-s">Considerations Related to SR over IPv6 Data Plane</xref></t>
              </li>
            </ul>
          </li>
          <li pn="section-toc.1-1.10">
            <t indent="0" pn="section-toc.1-1.10.1"><xref derivedContent="10" format="counter" sectionFormat="of" target="section-10"/>. <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.10.2">
              <li pn="section-toc.1-1.10.2.1">
                <t indent="0" pn="section-toc.1-1.10.2.1.1"><xref derivedContent="10.1" format="counter" sectionFormat="of" target="section-10.1"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-normative-references">Normative References</xref></t>
              </li>
              <li pn="section-toc.1-1.10.2.2">
                <t indent="0" pn="section-toc.1-1.10.2.2.1"><xref derivedContent="10.2" format="counter" sectionFormat="of" target="section-10.2"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-informative-references">Informative References</xref></t>
              </li>
            </ul>
          </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.a"/><xref derivedContent="" format="title" sectionFormat="of" target="name-acknowledgements">Acknowledgements</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.b"/><xref derivedContent="" format="title" sectionFormat="of" target="name-contributors">Contributors</xref></t>
          </li>
          <li pn="section-toc.1-1.13">
            <t indent="0" pn="section-toc.1-1.13.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="INTRO" numbered="true" toc="include" removeInRFC="false" pn="section-1">
      <name slugifiedName="name-introduction">Introduction</name>
      <t indent="0" pn="section-1-1">SRv6 refers to Segment Routing instantiated on the IPv6 data plane
      <xref target="RFC8402" format="default" sectionFormat="of" derivedContent="RFC8402"/>.</t>
      <t indent="0" pn="section-1-2">BGP is used to advertise the reachability of prefixes of a particular
      service from an egress Provider Edge (PE) to ingress PE nodes.</t>
      <t indent="0" pn="section-1-3">SRv6-based BGP services refer to the Layer 3 (L3) and Layer 2 (L2) overlay
      services with BGP as the control plane and SRv6 as the data plane. This document
      defines procedures and messages for SRv6-based BGP services, including
      L3VPN, EVPN, and Internet services. It builds on "BGP/MPLS IP Virtual
      Private Networks (VPNs)" <xref target="RFC4364" format="default" sectionFormat="of" derivedContent="RFC4364"/> and
      "BGP MPLS-Based Ethernet VPN" <xref target="RFC7432" format="default" sectionFormat="of" derivedContent="RFC7432"/>.</t>
      <t indent="0" pn="section-1-4">SRv6 SID refers to an SRv6 Segment Identifier, as defined in <xref target="RFC8402" format="default" sectionFormat="of" derivedContent="RFC8402"/>.</t>
      <t indent="0" pn="section-1-5">SRv6 Service SID refers to an SRv6 SID associated with one of the
      service-specific SRv6 Endpoint Behaviors on the advertising
      PE router, such as (but not limited to) End.DT (look up in the
      Virtual Routing and Forwarding (VRF) table) or End.DX (cross-connect to a
      next hop) behaviors in the case of
      L3VPN service, as defined in <xref target="RFC8986" format="default" sectionFormat="of" derivedContent="RFC8986"/>. This document describes how existing
      BGP messages between PEs may carry SRv6 Service SIDs to interconnect PEs
      and form VPNs.</t>
      <t indent="0" pn="section-1-6">To provide SRv6 service with best-effort connectivity, the egress PE
      signals an SRv6 Service SID with the BGP overlay service route. The
      ingress PE encapsulates the payload in an outer IPv6 header where the
      destination address is the SRv6 Service SID provided by the egress
      PE. The underlay between the PEs only needs to support
      plain IPv6 forwarding <xref target="RFC8200" format="default" sectionFormat="of" derivedContent="RFC8200"/>.</t>
      <t indent="0" pn="section-1-7">To provide SRv6 service in conjunction with an underlay Service Level Agreement (SLA) from the
      ingress PE to the egress PE, the egress PE colors the overlay service
      route with a Color Extended Community <xref target="RFC9012" format="default" sectionFormat="of" derivedContent="RFC9012"/> for steering flows
      for those routes, as specified in <xref target="I-D.ietf-spring-segment-routing-policy" section="8" sectionFormat="of" format="default" derivedLink="https://datatracker.ietf.org/doc/html/draft-ietf-spring-segment-routing-policy-22#section-8" derivedContent="SEGMENT-ROUTING-POLICY"/>. The ingress PE
      encapsulates the payload packet in an outer IPv6 header with the 
      SR Policy segment list associated with the related SLA along with the SRv6
      Service SID associated with the route using the Segment Routing Header
      (SRH) <xref target="RFC8754" format="default" sectionFormat="of" derivedContent="RFC8754"/>. The underlay nodes whose SRv6
      SIDs are part of the SRH segment list <bcp14>MUST</bcp14> support the SRv6 data
      plane.</t>
      <section anchor="REQ" 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 anchor="SIDTLV" numbered="true" toc="include" removeInRFC="false" pn="section-2">
      <name slugifiedName="name-srv6-services-tlvs">SRv6 Services TLVs</name>
      <t indent="0" pn="section-2-1">This document extends the use of the BGP Prefix-SID attribute <xref target="RFC8669" format="default" sectionFormat="of" derivedContent="RFC8669"/> to carry SRv6 SIDs and their associated information
      with the BGP address families that are listed further in this
      section.</t>
      <t indent="0" pn="section-2-2">The SRv6 Service TLVs are defined as two new TLVs of the BGP
      Prefix-SID attribute to achieve signaling of SRv6 SIDs for L3 and L2
      services.</t>
      <dl newline="true" spacing="normal" indent="3" pn="section-2-3">
        <dt pn="section-2-3.1">SRv6 L3 Service TLV:</dt>
        <dd pn="section-2-3.2">This TLV encodes Service SID information for
          SRv6-based L3 services. It corresponds to the equivalent
          functionality provided by an MPLS label when received with a Layer 3
          service route, as defined in <xref target="RFC4364" format="default" sectionFormat="of" derivedContent="RFC4364"/>, <xref target="RFC4659" format="default" sectionFormat="of" derivedContent="RFC4659"/>, <xref target="RFC8950" format="default" sectionFormat="of" derivedContent="RFC8950"/>, and <xref target="RFC9136" format="default" sectionFormat="of" derivedContent="RFC9136"/>. Some SRv6 Endpoint Behaviors that may be
          encoded are, but not limited to, End.DX4, End.DT4, End.DX6, End.DT6,
          and End.DT46.</dd>
        <dt pn="section-2-3.3">SRv6 L2 Service TLV:</dt>
        <dd pn="section-2-3.4">This TLV encodes Service SID information for
          SRv6-based L2 services. It corresponds to the equivalent
          functionality provided by an MPLS label for Ethernet VPN (EVPN)
          Route Types for Layer 2 services, as defined in <xref target="RFC7432" format="default" sectionFormat="of" derivedContent="RFC7432"/>. Some SRv6
          Endpoint Behaviors that may be encoded are, but not limited to,
          End.DX2, End.DX2V, End.DT2U, and End.DT2M.</dd>
      </dl>
      <t indent="0" pn="section-2-4">When an egress PE is enabled for BGP Services over the SRv6 data plane,
      it signals one or more SRv6 Service SIDs enclosed in an SRv6 Service TLV(s)
      within the BGP Prefix-SID attribute attached to Multiprotocol BGP (MP-BGP) Network Layer Reachability Information (NLRI) defined in
      <xref target="RFC4760" format="default" sectionFormat="of" derivedContent="RFC4760"/>, <xref target="RFC4659" format="default" sectionFormat="of" derivedContent="RFC4659"/>, <xref target="RFC8950" format="default" sectionFormat="of" derivedContent="RFC8950"/>, <xref target="RFC7432" format="default" sectionFormat="of" derivedContent="RFC7432"/>, <xref target="RFC4364" format="default" sectionFormat="of" derivedContent="RFC4364"/>, and 
        <xref target="RFC9136" format="default" sectionFormat="of" derivedContent="RFC9136"/>, where applicable, as described in Sections <xref target="L3BGP" format="counter" sectionFormat="of" derivedContent="5"/> and <xref target="EVPNBGP" format="counter" sectionFormat="of" derivedContent="6"/>.</t>
      <t indent="0" pn="section-2-5">The support for BGP Multicast VPN (MVPN) Services <xref target="RFC6513" format="default" sectionFormat="of" derivedContent="RFC6513"/> with SRv6 is outside the scope of this document.</t>
      <t indent="0" pn="section-2-6">The following depicts the SRv6 Service TLVs encoded in the BGP
      Prefix-SID attribute:</t>
      <figure anchor="SRV6SVCTLV" align="left" suppress-title="false" pn="figure-1">
        <name slugifiedName="name-srv6-service-tlvs">SRv6 Service TLVs</name>
        <artwork name="" type="" align="left" alt="" pn="section-2-7.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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|   TLV Type    |         TLV Length            |   RESERVED    |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|   SRv6 Service Sub-TLVs                                      //
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
</artwork>
      </figure>
      <dl newline="true" spacing="normal" indent="3" pn="section-2-8">
        <dt pn="section-2-8.1">TLV Type (1 octet):</dt>
        <dd pn="section-2-8.2">This field is assigned a value from IANA's
          "BGP Prefix-SID TLV Types" subregistry. It is set to 5 for the SRv6 L3
          Service TLV. It is set to 6 for the SRv6 L2 Service TLV.</dd>
        <dt pn="section-2-8.3">TLV Length (2 octets):</dt>
        <dd pn="section-2-8.4">This field specifies the total length, in octets, of
          the TLV Value.</dd>
        <dt pn="section-2-8.5">RESERVED (1 octet):</dt>
        <dd pn="section-2-8.6">This field is reserved; it <bcp14>MUST</bcp14> be set to 0
          by the sender and ignored by the receiver.</dd>
        <dt pn="section-2-8.7">SRv6 Service Sub-TLVs (variable):</dt>
        <dd pn="section-2-8.8">This field contains SRv6
          service-related information and is encoded as an unordered list of
          Sub-TLVs whose format is described below.</dd>
      </dl>
      <t indent="0" pn="section-2-9">A BGP speaker receiving a route containing the BGP Prefix-SID attribute
      with one or more SRv6 Service TLVs observes the following rules when
      advertising the received route to other peers:</t>
      <ul spacing="normal" bare="false" empty="false" indent="3" pn="section-2-10">
        <li pn="section-2-10.1">If the BGP next hop is unchanged during the advertisement, the SRv6
          Service TLVs, including any unrecognized Types of Sub-TLV and
          Sub-Sub-TLV, <bcp14>SHOULD</bcp14> be propagated further. In addition, all Reserved
          fields in the TLV, Sub-TLV, or Sub-Sub-TLV <bcp14>MUST</bcp14> be propagated
          unchanged.</li>
        <li pn="section-2-10.2">If the BGP next hop is changed, the TLVs, Sub-TLVs, and Sub-Sub-TLVs
          <bcp14>SHOULD</bcp14> be updated with the locally allocated SRv6 SID information.
          Any received Sub-TLVs and Sub-Sub-TLVs that are unrecognized <bcp14>MUST</bcp14> be
          removed.</li>
      </ul>
    </section>
    <section anchor="SRv6-TLV" numbered="true" toc="include" removeInRFC="false" pn="section-3">
      <name slugifiedName="name-srv6-service-sub-tlvs">SRv6 Service Sub-TLVs</name>
      <t indent="0" pn="section-3-1">The format of a single SRv6 Service Sub-TLV is depicted below:</t>
      <figure anchor="SRV6SVCSTLV" align="left" suppress-title="false" pn="figure-2">
        <name slugifiedName="name-srv6-service-sub-tlvs-2">SRv6 Service Sub-TLVs</name>
        <artwork name="" type="" align="left" alt="" pn="section-3-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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| SRv6 Service  |    SRv6 Service               | SRv6 Service //
| Sub-TLV       |    Sub-TLV                    | Sub-TLV      //
| Type          |    Length                     | Value        //
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
</artwork>
      </figure>
      <dl newline="true" spacing="normal" indent="3" pn="section-3-3">
        <dt pn="section-3-3.1">SRv6 Service Sub-TLV Type (1 octet):</dt>
        <dd pn="section-3-3.2">This field identifies the type of SRv6
          service information. It is assigned a value from IANA's
          "SRv6 Service Sub-TLV Types" subregistry.</dd>
        <dt pn="section-3-3.3">SRv6 Service Sub-TLV Length (2 octets):</dt>
        <dd pn="section-3-3.4">This field specifies the total
          length, in octets, of the Sub-TLV Value field.</dd>
        <dt pn="section-3-3.5">SRv6 Service Sub-TLV Value (variable):</dt>
        <dd pn="section-3-3.6">This field contains data specific to
          the Sub-TLV Type. In addition to fixed-length data, it contains
          other properties of the SRv6 service encoded as a set of SRv6
          Service Data Sub-Sub-TLVs whose format is described in <xref target="SID-SERVICE-DATA-TLV" format="default" sectionFormat="of" derivedContent="Section 3.2"/> below.</dd>
      </dl>
      <section anchor="SRv6-SID-INFO" numbered="true" toc="include" removeInRFC="false" pn="section-3.1">
        <name slugifiedName="name-srv6-sid-information-sub-tl">SRv6 SID Information Sub-TLV</name>
        <t indent="0" pn="section-3.1-1">SRv6 Service Sub-TLV Type 1 is assigned for the SRv6 SID Information
        Sub-TLV. This Sub-TLV contains a single SRv6 SID along with its
        properties. Its encoding is depicted below:</t>
        <figure anchor="SRV6SIDINFO" align="left" suppress-title="false" pn="figure-3">
          <name slugifiedName="name-srv6-sid-information-sub-tlv">SRv6 SID Information Sub-TLV</name>
          <artwork name="" type="" align="left" alt="" pn="section-3.1-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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| SRv6 Service  |    SRv6 Service               |               |
| Sub-TLV       |    Sub-TLV                    |               |
| Type=1        |    Length                     |  RESERVED1    |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|  SRv6 SID Value (16 octets)                                  //
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Svc SID Flags |   SRv6 Endpoint Behavior      |   RESERVED2   |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|  SRv6 Service Data Sub-Sub-TLVs                              //
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
</artwork>
        </figure>
        <dl newline="true" spacing="normal" indent="3" pn="section-3.1-3">
          <dt pn="section-3.1-3.1">SRv6 Service Sub-TLV Type (1 octet):</dt>
          <dd pn="section-3.1-3.2">This field is set to 1 to
            represent the SRv6 SID Information Sub-TLV.</dd>
          <dt pn="section-3.1-3.3">SRv6 Service Sub-TLV Length (2 octets):</dt>
          <dd pn="section-3.1-3.4">This field contains the
            total length, in octets, of the Value field of the Sub-TLV.</dd>
          <dt pn="section-3.1-3.5">RESERVED1 (1 octet):</dt>
          <dd pn="section-3.1-3.6">This field <bcp14>MUST</bcp14> be set to 0 by the sender and ignored
            by the receiver.</dd>
          <dt pn="section-3.1-3.7">SRv6 SID Value (16 octets):</dt>
          <dd pn="section-3.1-3.8">This field encodes an SRv6 SID, as defined in
            <xref target="RFC8986" format="default" sectionFormat="of" derivedContent="RFC8986"/>.</dd>
          <dt pn="section-3.1-3.9">SRv6 Service SID Flags (1 octet):</dt>
          <dd pn="section-3.1-3.10">This field encodes SRv6 Service SID
            Flags -- none are currently defined. It <bcp14>MUST</bcp14> be set to 0 by the
            sender and any unknown flags <bcp14>MUST</bcp14> be ignored by the receiver.</dd>
          <dt pn="section-3.1-3.11">SRv6 Endpoint Behavior (2 octets):</dt>
          <dd pn="section-3.1-3.12">This field encodes the SRv6 Endpoint
            Behavior codepoint value that is associated with the SRv6 SID. The
            codepoints used are from IANA's "SRv6 Endpoint Behaviors" subregistry
            under the "Segment Routing" registry that was
            introduced by <xref target="RFC8986" format="default" sectionFormat="of" derivedContent="RFC8986"/>. The opaque SRv6 Endpoint
            Behavior (i.e., value 0xFFFF) <bcp14>MAY</bcp14> be used when the advertising
            router wishes to abstract the actual behavior of its locally
            instantiated SRv6 SID.</dd>
          <dt pn="section-3.1-3.13">RESERVED2 (1 octet):</dt>
          <dd pn="section-3.1-3.14">This field <bcp14>MUST</bcp14> be set to 0 by the sender and ignored
            by the receiver.</dd>
          <dt pn="section-3.1-3.15">SRv6 Service Data Sub-Sub-TLV Value (variable):</dt>
          <dd pn="section-3.1-3.16">This field is used to
            advertise properties of the SRv6 SID. It is encoded as a set of
            SRv6 Service Data Sub-Sub-TLVs.</dd>
        </dl>
        <t indent="0" pn="section-3.1-4">The choice of SRv6 Endpoint Behavior of the SRv6 SID is entirely up
        to the originator of the advertisement. While Sections <xref target="L3BGP" format="counter" sectionFormat="of" derivedContent="5"/> and <xref target="EVPNBGP" format="counter" sectionFormat="of" derivedContent="6"/> list the
	SRv6 Endpoint Behaviors that are
        normally expected to be used by the specific route advertisements, the
        reception of other SRv6 Endpoint Behaviors (e.g., new behaviors that
        may be introduced in the future) is not considered an error. An
        unrecognized SRv6 Endpoint Behavior <bcp14>MUST NOT</bcp14> be considered invalid by the
        receiver, except for behaviors that involve the use of arguments (refer
        to <xref target="SRv6-SID-STRUCTURE" format="default" sectionFormat="of" derivedContent="Section 3.2.1"/> for details on argument
        validation). An implementation <bcp14>MAY</bcp14> log a rate-limited warning when it
        receives an unexpected behavior.</t>
        <t indent="0" pn="section-3.1-5">When multiple SRv6 SID Information Sub-TLVs are present, the
        ingress PE <bcp14>SHOULD</bcp14> use the SRv6 SID from the first instance of the
        Sub-TLV. An implementation <bcp14>MAY</bcp14> provide a local policy to override this
        selection.</t>
      </section>
      <section anchor="SID-SERVICE-DATA-TLV" numbered="true" toc="include" removeInRFC="false" pn="section-3.2">
        <name slugifiedName="name-srv6-service-data-sub-sub-t">SRv6 Service Data Sub-Sub-TLVs</name>
        <t indent="0" pn="section-3.2-1">The format of the SRv6 Service Data Sub-Sub-TLV is depicted
        below:</t>
        <figure anchor="SRV6SVCDATASTLV" align="left" suppress-title="false" pn="figure-4">
          <name slugifiedName="name-srv6-service-data-sub-sub-tl">SRv6 Service Data Sub-Sub-TLVs</name>
          <artwork name="" type="" align="left" alt="" pn="section-3.2-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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Service Data |  Sub-Sub-TLV Length               |Sub-Sub TLV //
| Sub-Sub-TLV  |                                   |  Value     //
| Type         |                                   |            //
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
</artwork>
        </figure>
        <dl newline="true" spacing="normal" indent="3" pn="section-3.2-3">
          <dt pn="section-3.2-3.1">SRv6 Service Data Sub-Sub-TLV Type (1 octet):</dt>
          <dd pn="section-3.2-3.2">This field identifies the
            type of Sub-Sub-TLV. It is assigned a value from IANA's
            "SRv6 Service Data Sub-Sub-TLV Types" subregistry.</dd>
          <dt pn="section-3.2-3.3">SRv6 Service Data Sub-Sub-TLV Length (2 octets):</dt>
          <dd pn="section-3.2-3.4">This field specifies the
            total length, in octets, of the Sub-Sub-TLV Value field.</dd>
          <dt pn="section-3.2-3.5">SRv6 Service Data Sub-Sub-TLV Value (variable):</dt>
          <dd pn="section-3.2-3.6">This field contains data
            specific to the Sub-Sub-TLV Type.</dd>
        </dl>
        <section anchor="SRv6-SID-STRUCTURE" numbered="true" toc="include" removeInRFC="false" pn="section-3.2.1">
          <name slugifiedName="name-srv6-sid-structure-sub-sub-">SRv6 SID Structure Sub-Sub-TLV</name>
          <t indent="0" pn="section-3.2.1-1">SRv6 Service Data Sub-Sub-TLV Type 1 is assigned for the SRv6 SID
          Structure Sub-Sub-TLV. The SRv6 SID Structure Sub-Sub-TLV is used to
          advertise the lengths of the individual parts of the SRv6 SID, as
          defined in <xref target="RFC8986" format="default" sectionFormat="of" derivedContent="RFC8986"/>. The terms Locator Block and
          Locator Node correspond to the B and N parts, respectively, of the
          SRv6 Locator that is defined in <xref target="RFC8986" section="3.1" sectionFormat="of" format="default" derivedLink="https://rfc-editor.org/rfc/rfc8986#section-3.1" derivedContent="RFC8986"/>. It is
	  carried as Sub-Sub-TLV in the SRv6 SID Information Sub-TLV.</t>
          <figure anchor="SRV6SIDSTRUCT" align="left" suppress-title="false" pn="figure-5">
            <name slugifiedName="name-srv6-sid-structure-sub-sub-t">SRv6 SID Structure Sub-Sub-TLV</name>
            <artwork name="" type="" align="left" alt="" pn="section-3.2.1-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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| SRv6 Service  |    SRv6 Service               | Locator Block |
| Data Sub-Sub  |    Data Sub-Sub-TLV           | Length        |
| -TLV Type=1   |    Length                     |               |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Locator Node  | Function      | Argument      | Transposition |
| Length        | Length        | Length        | Length        |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Transposition |
| Offset        |
+-+-+-+-+-+-+-+-+
</artwork>
          </figure>
          <dl newline="true" spacing="normal" indent="3" pn="section-3.2.1-3">
            <dt pn="section-3.2.1-3.1">SRv6 Service Data Sub-Sub-TLV Type (1 octet):</dt>
            <dd pn="section-3.2.1-3.2">This field is set to 1 to represent the SRv6 SID Structure Sub-Sub-TLV.</dd>
            <dt pn="section-3.2.1-3.3">SRv6 Service Data Sub-Sub-TLV Length (2 octets):</dt>
            <dd pn="section-3.2.1-3.4">This field contains a total length of 6 octets.</dd>
            <dt pn="section-3.2.1-3.5">Locator Block Length (1 octet):</dt>
            <dd pn="section-3.2.1-3.6">This field contains the length of the SRv6 SID Locator Block in bits.</dd>
            <dt pn="section-3.2.1-3.7">Locator Node Length (1 octet):</dt>
            <dd pn="section-3.2.1-3.8">This field contains the length of the SRv6 SID Locator Node in bits.</dd>
            <dt pn="section-3.2.1-3.9">Function Length (1 octet):</dt>
            <dd pn="section-3.2.1-3.10">This field contains the length of the SRv6 SID Function in bits.</dd>
            <dt pn="section-3.2.1-3.11">Argument Length (1 octet):</dt>
            <dd pn="section-3.2.1-3.12">This field contains the length of the SRv6 SID Argument in bits.</dd>
            <dt pn="section-3.2.1-3.13">Transposition Length (1 octet):</dt>
            <dd pn="section-3.2.1-3.14">This field is the size in bits for the part of the
            SID that has been transposed (or shifted) into an MPLS Label
            field.</dd>
            <dt pn="section-3.2.1-3.15">Transposition Offset (1 octet):</dt>
            <dd pn="section-3.2.1-3.16">This field is the offset position in bits
              for the part of the SID that has been transposed (or shifted) into an
              MPLS Label field.</dd>
          </dl>
          <t indent="0" pn="section-3.2.1-4"><xref target="SIDENCODE" format="default" sectionFormat="of" derivedContent="Section 4"/> describes mechanisms for the signaling of
          the SRv6 Service SID by transposing a variable part of the SRv6 SID
          value and carrying this variable part in existing MPLS Label fields to achieve
          more efficient packing of those service prefix NLRIs in BGP update
          messages. The SRv6 SID Structure Sub-Sub-TLV contains appropriate
          length fields when the SRv6 Service SID is signaled in split parts
          to enable the receiver to put together the SID accurately.</t>
          <t indent="0" pn="section-3.2.1-5">Transposition Offset indicates the bit position, and Transposition
          Length indicates the number of bits that are being taken out of the
          SRv6 SID value and encoded in the MPLS Label field. The
          bits that have been shifted out <bcp14>MUST</bcp14> be set to 0 in the SID
          value.</t>
          <t indent="0" pn="section-3.2.1-6">A Transposition Length of 0 indicates nothing is transposed and
          that the entire SRv6 SID value is encoded in the SID Information
          Sub-TLV. In this case, the Transposition Offset <bcp14>MUST</bcp14> be set to
          0.</t>
          <t indent="0" pn="section-3.2.1-7">The size of the MPLS Label field limits the bits transposed from
          the SRv6 SID value into it. For example, the size of the MPLS Label field is 20 bits in
          <xref target="RFC4364" format="default" sectionFormat="of" derivedContent="RFC4364"/> and <xref target="RFC8277" format="default" sectionFormat="of" derivedContent="RFC8277"/>, and the size is 24 bits in <xref target="RFC7432" format="default" sectionFormat="of" derivedContent="RFC7432"/>.</t>
          <t indent="0" pn="section-3.2.1-8">As defined in <xref target="RFC8986" format="default" sectionFormat="of" derivedContent="RFC8986"/>, the sum of the Locator
          Block Length (LBL), Locator Node Length (LNL), Function Length (FL),
          and Argument Length (AL) fields <bcp14>MUST</bcp14> be less than or equal to 128
          and greater than the sum of Transposition Offset and Transposition
          Length.</t>
          <t indent="0" pn="section-3.2.1-9">As an example, consider that the sum of the Locator Block and the
          Locator Node parts is 64. For an SRv6 SID where the entire Function
          part of size 16 bits is transposed, the transposition offset is
          set to 64 and the transposition length is set to 16. While for an
          SRv6 SID for which the FL is 24 bits and only the lower
          order 20 bits are transposed (e.g., due to the limit of the MPLS
          Label field size), the transposition offset is set to 68 and
          the transposition length is set to 20.</t>
          <t indent="0" pn="section-3.2.1-10">BGP speakers that do not support this specification may
          misinterpret, on the reception of an SRv6-based BGP service route
          update, the part of the SRv6 SID encoded in an MPLS Label field(s) as
          MPLS label values for MPLS-based services. Implementations
          supporting this specification <bcp14>MUST</bcp14> provide a mechanism to control
          the advertisement of SRv6-based BGP service routes on a per-neighbor
          and per-service basis. The details of deployment designs and
          implementation options are outside the scope of this document.</t>
          <t indent="0" pn="section-3.2.1-11">Arguments may be generally applicable for SIDs of only specific
          SRv6 Endpoint Behaviors (e.g., End.DT2M); therefore, the AL
          <bcp14>MUST</bcp14> be set to 0 for SIDs where the Argument is not
          applicable. A receiver is unable to validate the applicability of
          arguments for SRv6 Endpoint Behaviors that are unknown to it and
          hence <bcp14>MUST</bcp14> ignore SRv6 SIDs with arguments (indicated by a non-zero
          AL) with unknown SRv6 Endpoint Behaviors. For SIDs
          corresponding to an SRv6 Endpoint Behavior that is known, a receiver <bcp14>MUST</bcp14>
          validate that the consistency of the AL with the
          specific SRv6 Endpoint Behavior definition.</t>
        </section>
      </section>
    </section>
    <section anchor="SIDENCODE" numbered="true" toc="include" removeInRFC="false" pn="section-4">
      <name slugifiedName="name-encoding-srv6-sid-informati">Encoding SRv6 SID Information</name>
      <t indent="0" pn="section-4-1">The SRv6 Service SID(s) for a BGP service prefix is carried in the
      SRv6 Services TLVs of the BGP Prefix-SID attribute.</t>
      <t indent="0" pn="section-4-2">For certain types of BGP Services, like L3VPN where a per-VRF SID
      allocation is used (i.e., End.DT4 or End.DT6 behaviors), the same SID is
      shared across multiple NLRIs, thus providing efficient packing. However,
      for certain other types of BGP Services, like EVPN Virtual Private Wire
      Service (VPWS) where a per-PW
      SID allocation is required (i.e., End.DX2 behavior), each NLRI would
      have its own unique SID, thereby resulting in inefficient packing.</t>
      <t indent="0" pn="section-4-3"> To achieve efficient packing, this document allows either 1) the
      encoding of the SRv6 Service SID as a whole in the SRv6 Services
      TLVs or 2) the encoding of only the common part of the SRv6 SID (e.g.,
      Locator) in the SRv6 Services TLVs and the encoding of the variable
      (e.g., Function or Argument parts) in the existing label fields
      specific to that service encoding.
      This later form of encoding is referred to as the Transposition Scheme,
      where the SRv6 SID Structure Sub-Sub-TLV describes the sizes of the
      parts of the SRv6 SID and also indicates the offset of the variable part
      along with its length in the SRv6 SID value. The use of the Transposition
      Scheme is <bcp14>RECOMMENDED</bcp14> for the specific service encodings that allow it,
      as described further in Sections <xref target="L3BGP" format="counter" sectionFormat="of" derivedContent="5"/> and <xref target="EVPNBGP" format="counter" sectionFormat="of" derivedContent="6"/>.</t>
      <t indent="0" pn="section-4-4">As an example, for the EVPN VPWS service prefix described further in
      <xref target="PEREVI" format="default" sectionFormat="of" derivedContent="Section 6.1.2"/>, the Function part of the SRv6 SID is encoded in
      the MPLS Label field of the NLRI, and the SID value in the SRv6 Services
      TLV carries only the Locator part with the SRv6 SID Structure
      Sub-Sub-TLV. The SRv6 SID Structure Sub-Sub-TLV defines the lengths of
      Locator Block, Locator Node, and Function parts (Arguments are not
      applicable for the End.DX2 behavior). Transposition Offset indicates the
      bit position, and Transposition Length indicates the number of bits that
      are being taken out of the SID and put into the label field.</t>
      <t indent="0" pn="section-4-5">In yet another example, for the EVPN Ethernet Auto-Discovery (A-D) per Ethernet
      Segment (ES) route described further in <xref target="PERES" format="default" sectionFormat="of" derivedContent="Section 6.1.1"/>, only the
      Argument of the SID needs to be signaled. This Argument part of the SRv6
      SID <bcp14>MAY</bcp14> be transposed in the Ethernet Segment Identifier (ESI) Label
      field of the ESI Label extended community, and the SID value in the SRv6
      Services TLV is set to 0 along with the inclusion of the SRv6 SID Structure
      Sub-Sub-TLV. The SRv6 SID Structure Sub-Sub-TLV defines the lengths of
      Locator Block, Locator Node, Function, and Argument parts. The offset and
      length of the Argument part SID value moved to the label field is set in
      transposition offset and length of the SID Structure TLV. The receiving
      router is then able to put together the entire SRv6 Service SID (e.g.,
      for the End.DT2M behavior), placing the label value received in the ESI
      Label field of the Ethernet A-D per ES route into the correct
      transposition offset and length in the SRv6 SID with the End.DT2M
      behavior received for an EVPN Route Type 3 value.</t>
    </section>
    <section anchor="L3BGP" numbered="true" toc="include" removeInRFC="false" pn="section-5">
      <name slugifiedName="name-bgp-based-l3-service-over-s">BGP-Based L3 Service over SRv6</name>
      <t indent="0" pn="section-5-1">BGP egress nodes (egress PEs) advertise a set of reachable prefixes.
      Standard BGP update propagation schemes <xref target="RFC4271" format="default" sectionFormat="of" derivedContent="RFC4271"/>, which
      may make use of route reflectors <xref target="RFC4456" format="default" sectionFormat="of" derivedContent="RFC4456"/>, are used to
      propagate these prefixes. BGP ingress nodes (ingress PEs) receive these
      advertisements and may add the prefix to the RIB in an appropriate
      VRF.</t>
      <t indent="0" pn="section-5-2">Egress PEs that support SRv6-based L3 services advertise overlay
      service prefixes along with a Service SID enclosed in an SRv6 L3 Service
      TLV within the BGP Prefix-SID attribute. This TLV serves two purposes --
      first, it indicates that the egress PE supports SRv6 overlay, and the BGP
      ingress PE receiving this route <bcp14>MUST</bcp14> perform IPv6 encapsulation and
      insert an SRH <xref target="RFC8754" format="default" sectionFormat="of" derivedContent="RFC8754"/> when required; second, it
      indicates the value of the Service SID to be used in the
      encapsulation.</t>
      <t indent="0" pn="section-5-3">Thus, the Service SID signaled only has local significance at the
      egress PE, where it may be allocated or configured on a per-Customer-Edge (CE) or
      per-VRF basis. In practice, the SID may encode a cross-connect to a
      specific address family table (End.DT) or next hop / interface (End.DX), as
      defined in <xref target="RFC8986" format="default" sectionFormat="of" derivedContent="RFC8986"/>.</t>
      <t indent="0" pn="section-5-4">The SRv6 Service SID <bcp14>SHOULD</bcp14> be routable (refer to <xref target="RFC8986" section="3.3" sectionFormat="of" format="default" derivedLink="https://rfc-editor.org/rfc/rfc8986#section-3.3" derivedContent="RFC8986"/>) within the Autonomous System (AS) of the egress PE and serves the dual
      purpose of providing reachability between ingress PE and egress PE while
      also encoding the SRv6 Endpoint Behavior.</t>
      <t indent="0" pn="section-5-5">When steering for SRv6 services is based on shortest path forwarding
      (e.g., best effort or IGP Flexible Algorithm <xref target="I-D.ietf-lsr-flex-algo" format="default" sectionFormat="of" derivedContent="IGP-FLEX-ALGO"/>) to the egress PE, the ingress PE
      encapsulates the IPv4 or IPv6 customer packet in an outer IPv6 header
      (using H.Encaps or H.Encaps.Red flavors specified in <xref target="RFC8986" format="default" sectionFormat="of" derivedContent="RFC8986"/>), where the destination address is the SRv6 Service
      SID associated with the related BGP route update. Therefore, the ingress
      PE <bcp14>MUST</bcp14> perform a resolvability check for the SRv6 Service SID before
      considering the received prefix for the BGP best path computation. The
      resolvability is evaluated as per <xref target="RFC4271" format="default" sectionFormat="of" derivedContent="RFC4271"/>. If the SRv6
      SID is reachable via more than one forwarding table, local policy is
      used to determine which table to use. The result of an SRv6 Service SID
      resolvability (e.g., when provided via IGP Flexible Algorithm) can be
      ignored if the ingress PE has a local policy that allows an alternate
      steering mechanism to reach the egress PE. The details of such steering
      mechanisms are outside the scope of this document.</t>
      <t indent="0" pn="section-5-6">For service over SRv6 core, the egress PE sets the BGP next hop to one of
      its IPv6 addresses. Such an address <bcp14>MAY</bcp14> be covered by the SRv6 Locator
      from which the SRv6 Service SID is allocated. The BGP next hop is used for
      tracking the reachability of the egress PE based on existing BGP
      procedures.</t>
      <t indent="0" pn="section-5-7">When the BGP route received at an ingress PE is colored with a
      Color Extended Community and a valid SRv6 Policy is available, the
      steering for service flows is performed as described in <xref target="I-D.ietf-spring-segment-routing-policy" section="8" sectionFormat="of" format="default" derivedLink="https://datatracker.ietf.org/doc/html/draft-ietf-spring-segment-routing-policy-22#section-8" derivedContent="SEGMENT-ROUTING-POLICY"/>. When the
      ingress PE determines (with the help of the SRv6 SID Structure) that the
      Service SID belongs to the same SRv6 Locator as the last SRv6 SID (of
      the egress PE) in the SR Policy segment list, it <bcp14>MAY</bcp14> exclude that last
      SRv6 SID when steering the service flow. For example, the effective
      segment list of the SRv6 Policy associated with SID list &lt;S1, S2,
      S3&gt; would be &lt;S1, S2, S3-Service-SID&gt;.</t>
      <section anchor="L3BGPVPNv4" numbered="true" toc="include" removeInRFC="false" pn="section-5.1">
        <name slugifiedName="name-ipv4-vpn-over-srv6-core">IPv4 VPN over SRv6 Core</name>
        <t indent="0" pn="section-5.1-1">The MP_REACH_NLRI over SRv6 core is encoded according to IPv4 VPN
   unicast over IPv6 core defined in <xref target="RFC8950" format="default" sectionFormat="of" derivedContent="RFC8950"/>.</t>
        <t indent="0" pn="section-5.1-2">The label field of IPv4-VPN NLRI is encoded as specified in <xref target="RFC8277" format="default" sectionFormat="of" derivedContent="RFC8277"/> with the 20-bit Label Value set to the whole or a
        portion of the Function part of the SRv6 SID when the Transposition
        Scheme of encoding (<xref target="SIDENCODE" format="default" sectionFormat="of" derivedContent="Section 4"/>) is used; otherwise,
        it is set to Implicit NULL. When using the Transposition Scheme, the
        Transposition Length <bcp14>MUST</bcp14> be less than or equal to 20 and less than or
        equal to the FL.</t>
        <t indent="0" pn="section-5.1-3">The SRv6 Service SID is encoded as part of the SRv6 L3 Service TLV. The
        SRv6 Endpoint Behavior <bcp14>SHOULD</bcp14> be one of these: End.DX4, End.DT4, or
        End.DT46.</t>
      </section>
      <section anchor="L3BGPVPNv6" numbered="true" toc="include" removeInRFC="false" pn="section-5.2">
        <name slugifiedName="name-ipv6-vpn-over-srv6-core">IPv6 VPN over SRv6 Core</name>
        <t indent="0" pn="section-5.2-1">The MP_REACH_NLRI over SRv6 core is encoded according to IPv6 VPN
        over IPv6 core, as defined in <xref target="RFC4659" format="default" sectionFormat="of" derivedContent="RFC4659"/>.</t>
        <t indent="0" pn="section-5.2-2">The label field of the IPv6-VPN NLRI is encoded as specified in <xref target="RFC8277" format="default" sectionFormat="of" derivedContent="RFC8277"/> with the 20-bit Label Value set to the whole or a
        portion of the Function part of the SRv6 SID when the Transposition
        Scheme of encoding (<xref target="SIDENCODE" format="default" sectionFormat="of" derivedContent="Section 4"/>) is used; otherwise,
        it is set to Implicit NULL. When using the Transposition Scheme, the
        Transposition Length <bcp14>MUST</bcp14> be less than or equal to 20 and less than or
        equal to the FL.</t>
        <t indent="0" pn="section-5.2-3">The SRv6 Service SID is encoded as part of the SRv6 L3 Service TLV. The
        SRv6 Endpoint Behavior <bcp14>SHOULD</bcp14> be one of these: End.DX6, End.DT6, or
        End.DT46.</t>
      </section>
      <section anchor="L3BGPINTv4" numbered="true" toc="include" removeInRFC="false" pn="section-5.3">
        <name slugifiedName="name-global-ipv4-over-srv6-core">Global IPv4 over SRv6 Core</name>
        <t indent="0" pn="section-5.3-1">The MP_REACH_NLRI over SRv6 core is encoded according to IPv4 over
        IPv6 core, as defined in <xref target="RFC8950" format="default" sectionFormat="of" derivedContent="RFC8950"/>.</t>
        <t indent="0" pn="section-5.3-2">SRv6 Service SID is encoded as part of the SRv6 L3 Service TLV. The
        SRv6 Endpoint Behavior <bcp14>SHOULD</bcp14> be one of these: End.DX4, End.DT4, or
        End.DT46.</t>
      </section>
      <section anchor="L3BGPINTv6" numbered="true" toc="include" removeInRFC="false" pn="section-5.4">
        <name slugifiedName="name-global-ipv6-over-srv6-core">Global IPv6 over SRv6 Core</name>
        <t indent="0" pn="section-5.4-1">The MP_REACH_NLRI over SRv6 core is encoded according to <xref target="RFC2545" format="default" sectionFormat="of" derivedContent="RFC2545"> </xref>.</t>
        <t indent="0" pn="section-5.4-2">The SRv6 Service SID is encoded as part of the SRv6 L3 Service TLV. The
        SRv6 Endpoint Behavior <bcp14>SHOULD</bcp14> be one of these: End.DX6, End.DT6, or
        End.DT46.</t>
      </section>
    </section>
    <section anchor="EVPNBGP" numbered="true" toc="include" removeInRFC="false" pn="section-6">
      <name slugifiedName="name-bgp-based-ethernet-vpn-evpn">BGP-Based Ethernet VPN (EVPN) over SRv6</name>
      <t indent="0" pn="section-6-1"><xref target="RFC7432" format="default" sectionFormat="of" derivedContent="RFC7432"/> provides an extendable method of building an
      EVPN overlay. It primarily focuses on MPLS-based EVPNs,
      and <xref target="RFC8365" format="default" sectionFormat="of" derivedContent="RFC8365"/> extends to IP-based EVPN overlays. <xref target="RFC7432" format="default" sectionFormat="of" derivedContent="RFC7432"/> defines Route Types 1, 2, and 3, which carry prefixes
      and MPLS Label fields; the Label fields have a specific use for MPLS
      encapsulation of EVPN traffic. Route Type 5 carrying MPLS label
      information (and thus encapsulation information) for an EVPN is defined in
      <xref target="RFC9136" format="default" sectionFormat="of" derivedContent="RFC9136"/>. Route Types 6, 7, and 8 are defined in <xref target="RFC9251" format="default" sectionFormat="of" derivedContent="RFC9251"/>.</t>
      <ul spacing="normal" bare="false" empty="false" indent="3" pn="section-6-2">
        <li pn="section-6-2.1">Ethernet Auto-Discovery (A-D) route (Route Type 1)</li>
        <li pn="section-6-2.2">MAC/IP Advertisement route (Route Type 2)</li>
        <li pn="section-6-2.3">Inclusive Multicast Ethernet Tag route (Route Type 3)</li>
        <li pn="section-6-2.4">Ethernet Segment route (Route Type 4)</li>
        <li pn="section-6-2.5">IP Prefix route (Route Type 5)</li>
        <li pn="section-6-2.6">Selective Multicast Ethernet Tag route (Route Type 6)</li>
        <li pn="section-6-2.7">Multicast Membership Report Synch route (Route Type 7)</li>
        <li pn="section-6-2.8">Multicast Leave Synch route (Route Type 8)</li>
      </ul>
      <t indent="0" pn="section-6-3">The specifications for other EVPN Route Types are outside the scope
      of this document.</t>
      <t indent="0" pn="section-6-4">To support SRv6-based EVPN overlays, one or more SRv6 Service SIDs
      are advertised with Route Types 1, 2, 3, and 5. The SRv6 Service SID(s)
      per Route Type is advertised in SRv6 L3/L2 Service TLVs within the BGP
      Prefix-SID attribute. Signaling of the SRv6 Service SID(s) serves two
      purposes -- first, it indicates that the BGP egress device supports SRv6
      overlay, and the BGP ingress device receiving this route <bcp14>MUST</bcp14> perform
      IPv6 encapsulation and insert an SRH <xref target="RFC8754" format="default" sectionFormat="of" derivedContent="RFC8754"/> when
      required; second, it indicates the value of the Service SID(s) to be
      used in the encapsulation.</t>
      <t indent="0" pn="section-6-5">The SRv6 Service SID <bcp14>SHOULD</bcp14> be routable (refer to <xref target="RFC8986" section="3.3" sectionFormat="of" format="default" derivedLink="https://rfc-editor.org/rfc/rfc8986#section-3.3" derivedContent="RFC8986"/>) within the AS of the egress PE and serves the dual
      purpose of providing reachability between the ingress PE and egress PE while
      also encoding the SRv6 Endpoint Behavior.</t>
      <t indent="0" pn="section-6-6">When steering for SRv6 services is based on shortest path forwarding
      (e.g., best effort or IGP Flexible Algorithm <xref target="I-D.ietf-lsr-flex-algo" format="default" sectionFormat="of" derivedContent="IGP-FLEX-ALGO"/>) to the egress PE, the ingress PE
      encapsulates the customer Layer 2 Ethernet packet in an outer IPv6
      header (using H.Encaps.L2 or H.Encaps.L2.Red flavors specified in <xref target="RFC8986" format="default" sectionFormat="of" derivedContent="RFC8986"/>) where the destination address is the SRv6 Service
      SID associated with the related BGP route update. Therefore, the ingress
      PE <bcp14>MUST</bcp14> perform a resolvability check for the SRv6 Service SID before
      considering the received prefix for the BGP best path computation. The
      resolvability is evaluated as per <xref target="RFC4271" format="default" sectionFormat="of" derivedContent="RFC4271"/>. If the SRv6
      SID is reachable via more than one forwarding table, local policy is
      used to determine which table to use. The result of an SRv6 Service SID
      resolvability (e.g., when provided via IGP Flexible Algorithm) can be
      ignored if the ingress PE has a local policy that allows an alternate
      steering mechanism to reach the egress PE. The details of such steering
      mechanisms are outside the scope of this document.</t>
      <t indent="0" pn="section-6-7">For service over SRv6 core, the egress PE sets the BGP next hop to one
      of its IPv6 addresses. Such an address <bcp14>MAY</bcp14> be covered by
      the SRv6 Locator
      from which the SRv6 Service SID is allocated. The BGP next hop is used for
      tracking the reachability of the egress PE based on existing BGP
      procedures.</t>
      <t indent="0" pn="section-6-8">When the BGP route received at an ingress PE is colored with a
      Color Extended Community and a valid SRv6 Policy is available, the
      steering for service flows is performed as described in <xref target="I-D.ietf-spring-segment-routing-policy" section="8" sectionFormat="of" format="default" derivedLink="https://datatracker.ietf.org/doc/html/draft-ietf-spring-segment-routing-policy-22#section-8" derivedContent="SEGMENT-ROUTING-POLICY"/>. When the
      ingress PE determines (with the help of the SRv6 SID Structure) that the
      Service SID belongs to the same SRv6 Locator as the last SRv6 SID (of
      the egress PE) in the SR Policy segment list, it <bcp14>MAY</bcp14> exclude that last
      SRv6 SID when steering the service flow. For example, the effective
      segment list of the SRv6 Policy associated with SID list &lt;S1, S2,
      S3&gt; would be &lt;S1, S2, S3-Service-SID&gt;.</t>
      <section anchor="RT1" numbered="true" toc="include" removeInRFC="false" pn="section-6.1">
        <name slugifiedName="name-ethernet-auto-discovery-rou">Ethernet Auto-Discovery Route over SRv6 Core</name>
        <t indent="0" pn="section-6.1-1">Ethernet A-D routes are Route Type 1, as defined in
        <xref target="RFC7432" format="default" sectionFormat="of" derivedContent="RFC7432"/>, and may be used to achieve
	split-horizon filtering, fast convergence, and aliasing.
        EVPN Route Type 1 is also used in EVPN-VPWS as well as in EVPN-flexible
	cross-connect, mainly to advertise point-to-point service IDs.</t>
        <t indent="0" pn="section-6.1-2">As a reminder, EVPN Route Type 1 is encoded as follows:</t>
        <figure anchor="EVPNRT1" align="left" suppress-title="false" pn="figure-6">
          <name slugifiedName="name-evpn-route-type-1">EVPN Route Type 1</name>
          <artwork name="" type="" align="left" alt="" pn="section-6.1-3.1">
                +-----------------------------------------+
                |  RD (8 octets)                          |
                +-----------------------------------------+
                |  Ethernet Segment Identifier (10 octets)|
                +-----------------------------------------+
                |  Ethernet Tag ID (4 octets)             |
                +-----------------------------------------+
                |  MPLS label (3 octets)                  |
                +-----------------------------------------+
</artwork>
        </figure>
        <section anchor="PERES" numbered="true" toc="include" removeInRFC="false" pn="section-6.1.1">
          <name slugifiedName="name-ethernet-a-d-per-es-route">Ethernet A-D per ES Route</name>
          <t indent="0" pn="section-6.1.1-1">Ethernet A-D per ES route NLRI encoding over SRv6 core is as per
          <xref target="RFC7432" format="default" sectionFormat="of" derivedContent="RFC7432"/>.</t>
          <t indent="0" pn="section-6.1.1-2">The 24-bit ESI Label field of the ESI Label extended community
          carries the whole or a portion of the Argument part of the SRv6 SID
          when the ESI filtering approach is used along with the Transposition
          Scheme of encoding (<xref target="SIDENCODE" format="default" sectionFormat="of" derivedContent="Section 4"/>);
	  otherwise, it is set to Implicit NULL in the higher-order 20 bits (i.e., as 0x000030). In either case, the value is set in the 24 bits. When
          using the Transposition Scheme, the Transposition Length <bcp14>MUST</bcp14> be
          less than or equal to 24 and less than or equal to the AL.</t>
          <t indent="0" pn="section-6.1.1-3">A Service SID enclosed in an SRv6 L2 Service TLV within the BGP
          Prefix-SID attribute is advertised along with the A-D route. The
          SRv6 Endpoint Behavior <bcp14>SHOULD</bcp14> be End.DT2M. When the ESI filtering
          approach is used, the Service SID is used to signal the Arg.FE2 SID
          Argument for applicable End.DT2M behavior <xref target="RFC8986" format="default" sectionFormat="of" derivedContent="RFC8986"/>.
          When the local-bias approach <xref target="RFC8365" format="default" sectionFormat="of" derivedContent="RFC8365"/> is used, the
          Service SID <bcp14>MAY</bcp14> be of value 0.</t>
        </section>
        <section anchor="PEREVI" numbered="true" toc="include" removeInRFC="false" pn="section-6.1.2">
          <name slugifiedName="name-ethernet-a-d-per-evi-route">Ethernet A-D per EVI Route</name>
          <t indent="0" pn="section-6.1.2-1">Ethernet A-D per EVPN Instance (EVI) route NLRI encoding over SRv6 core is
          similar to what is described in <xref target="RFC7432" format="default" sectionFormat="of" derivedContent="RFC7432"/> and <xref target="RFC8214" format="default" sectionFormat="of" derivedContent="RFC8214"/>
          with the following change:</t>
          <dl newline="true" spacing="normal" indent="3" pn="section-6.1.2-2">
            <dt pn="section-6.1.2-2.1">MPLS Label:</dt>
            <dd pn="section-6.1.2-2.2">The 24-bit field carries the whole or a portion of
              the Function part of the SRv6 SID when the Transposition Scheme
              of encoding (<xref target="SIDENCODE" format="default" sectionFormat="of" derivedContent="Section 4"/>) is used;
	      otherwise,  it is set to Implicit NULL in the higher-order 20 bits (i.e., as 0x000030). In either case, the value is set in the 24 bits. When using the Transposition Scheme, the
              Transposition Length <bcp14>MUST</bcp14> be less than or equal to 24 and less
              than or equal to the FL.</dd>
          </dl>
          <t indent="0" pn="section-6.1.2-3">A Service SID enclosed in an SRv6 L2 Service TLV within the BGP
          Prefix-SID attribute is advertised along with the A-D route. The
          SRv6 Endpoint Behavior <bcp14>SHOULD</bcp14> be one of these: End.DX2, End.DX2V, or
          End.DT2U.</t>
        </section>
      </section>
      <section anchor="RT2" numbered="true" toc="include" removeInRFC="false" pn="section-6.2">
        <name slugifiedName="name-mac-ip-advertisement-route-">MAC/IP Advertisement Route over SRv6 Core</name>
        <t indent="0" pn="section-6.2-1">EVPN Route Type 2 is used to advertise unicast traffic Media Access Control (MAC)
	+ IP address reachability through MP-BGP to all other PEs in a given EVPN
        instance.</t>
        <t indent="0" pn="section-6.2-2">As a reminder, EVPN Route Type 2 is encoded as follows:</t>
        <figure anchor="EVPNRT2" align="left" suppress-title="false" pn="figure-7">
          <name slugifiedName="name-evpn-route-type-2">EVPN Route Type 2</name>
          <artwork name="" type="" align="left" alt="" pn="section-6.2-3.1">
                +-----------------------------------------+
                |  RD (8 octets)                          |
                +-----------------------------------------+
                |  Ethernet Segment Identifier (10 octets)|
                +-----------------------------------------+
                |  Ethernet Tag ID (4 octets)             |
                +-----------------------------------------+
                |  MAC Address Length (1 octet)           |
                +-----------------------------------------+
                |  MAC Address (6 octets)                 |
                +-----------------------------------------+
                |  IP Address Length (1 octet)            |
                +-----------------------------------------+
                |  IP Address (0, 4, or 16 octets)        |
                +-----------------------------------------+
                |  MPLS Label1 (3 octets)                 |
                +-----------------------------------------+
                |  MPLS Label2 (0 or 3 octets)            |
                +-----------------------------------------+
</artwork>
        </figure>
        <t indent="0" pn="section-6.2-4">NLRI encoding over SRv6 core is similar to what is described in <xref target="RFC7432" format="default" sectionFormat="of" derivedContent="RFC7432"/> with the following changes:</t>
        <dl newline="true" spacing="normal" indent="3" pn="section-6.2-5">
          <dt pn="section-6.2-5.1">MPLS Label1:</dt>
          <dd pn="section-6.2-5.2">This is associated with the SRv6 L2 Service TLV. This
            24-bit field carries the whole or a portion of the Function part
            of the SRv6 SID when the Transposition Scheme of encoding (<xref target="SIDENCODE" format="default" sectionFormat="of" derivedContent="Section 4"/>) is used; otherwise, it is set to Implicit NULL in the higher-order 20 bits (i.e., as 0x000030). In either case, the value is set in the 24 bits. When using the
            Transposition Scheme, the Transposition Length <bcp14>MUST</bcp14> be less than
            or equal to 24 and less than or equal to the FL.</dd>
          <dt pn="section-6.2-5.3">MPLS Label2:</dt>
          <dd pn="section-6.2-5.4">This is associated with the SRv6 L3 Service TLV. This
            24-bit field carries the whole or a portion of the Function part
            of the SRv6 SID when the Transposition Scheme of encoding (<xref target="SIDENCODE" format="default" sectionFormat="of" derivedContent="Section 4"/>) is used; otherwise, it is set to Implicit NULL in the higher-order 20 bits (i.e., as 0x000030). In either case, the value is set in the 24 bits. When using the
            Transposition Scheme, the Transposition Length <bcp14>MUST</bcp14> be less than
            or equal to 24 and less than or equal to the FL.</dd>
        </dl>
        <t indent="0" pn="section-6.2-6">Service SIDs enclosed in the SRv6 L2 Service TLV and optionally in the SRv6
        L3 Service TLV within the BGP Prefix-SID attribute are advertised along
        with the MAC/IP Advertisement route.</t>
        <t indent="0" pn="section-6.2-7">Described below are different types of Route Type 2
        advertisements.</t>
        <section numbered="true" toc="include" removeInRFC="false" pn="section-6.2.1">
          <name slugifiedName="name-mac-ip-advertisement-route-w">MAC/IP Advertisement Route with MAC Only</name>
          <dl newline="true" spacing="normal" indent="3" pn="section-6.2.1-1">
            <dt pn="section-6.2.1-1.1">MPLS Label1:</dt>
            <dd pn="section-6.2.1-1.2">This is associated with the SRv6 L2 Service TLV. This
              24-bit field carries the whole or a portion of the Function part
              of the SRv6 SID when the Transposition Scheme of encoding (<xref target="SIDENCODE" format="default" sectionFormat="of" derivedContent="Section 4"/>) is used; otherwise, it is set to Implicit NULL in the higher-order 20 bits (i.e., as 0x000030). In either case, the value is set in the 24 bits. When
              using the Transposition Scheme, the Transposition Length <bcp14>MUST</bcp14> be
              less than or equal to 24 and less than or equal to the FL.</dd>
          </dl>
          <t indent="0" pn="section-6.2.1-2">A Service SID enclosed in an SRv6 L2 Service TLV within the BGP
          Prefix-SID attribute is advertised along with the route. The SRv6
          Endpoint Behavior <bcp14>SHOULD</bcp14> be one of these: End.DX2 or End.DT2U.</t>
        </section>
        <section numbered="true" toc="include" removeInRFC="false" pn="section-6.2.2">
          <name slugifiedName="name-mac-ip-advertisement-route-wi">MAC/IP Advertisement Route with MAC+IP</name>
          <dl newline="true" spacing="normal" indent="3" pn="section-6.2.2-1">
            <dt pn="section-6.2.2-1.1">MPLS Label1:</dt>
            <dd pn="section-6.2.2-1.2">This is associated with the SRv6 L2 Service TLV. This
              24-bit field carries the whole or a portion of the Function part
              of the SRv6 SID when the Transposition Scheme of encoding (<xref target="SIDENCODE" format="default" sectionFormat="of" derivedContent="Section 4"/>) is used; otherwise, it is set to Implicit NULL in the higher-order 20 bits (i.e., as 0x000030). In either case, the value is set in the 24 bits. When
              using the Transposition Scheme, the Transposition Length <bcp14>MUST</bcp14> be
              less than or equal to 24 and less than or equal to the FL.</dd>
            <dt pn="section-6.2.2-1.3">MPLS Label2:</dt>
            <dd pn="section-6.2.2-1.4">This is associated with the SRv6 L3 Service TLV. This
              24-bit field carries the whole or a portion of the Function part
              of the SRv6 SID when the Transposition Scheme of encoding (<xref target="SIDENCODE" format="default" sectionFormat="of" derivedContent="Section 4"/>) is used; otherwise, it is set to Implicit NULL in the higher-order 20 bits (i.e., as 0x000030). In either case, the value is set in the 24 bits. When
              using the Transposition Scheme, the Transposition Length <bcp14>MUST</bcp14> be
              less than or equal to 24 and less than or equal to the FL.</dd>
          </dl>
          <t indent="0" pn="section-6.2.2-2">An L2 Service SID enclosed in an SRv6 L2 Service TLV within the
          BGP Prefix-SID attribute is advertised along with the route. In
          addition, an L3 Service SID enclosed in an SRv6 L3 Service TLV
          within the BGP Prefix-SID attribute <bcp14>MAY</bcp14> also be advertised along
          with the route. The SRv6 Endpoint Behavior <bcp14>SHOULD</bcp14> be one of these:
          for the L2 Service SID, End.DX2 or End.DT2U and for the L3 Service SID,
          End.DT46, End.DT4, End.DT6, End.DX4, or End.DX6.</t>
        </section>
      </section>
      <section anchor="RT3" numbered="true" toc="include" removeInRFC="false" pn="section-6.3">
        <name slugifiedName="name-inclusive-multicast-etherne">Inclusive Multicast Ethernet Tag Route over SRv6 Core</name>
        <t indent="0" pn="section-6.3-1">EVPN Route Type 3 is used to advertise multicast traffic
        reachability information through MP-BGP to all other PEs in a given
        EVPN instance.</t>
        <t indent="0" pn="section-6.3-2">As a reminder, EVPN Route Type 3 is encoded as follows:</t>
        <figure anchor="EVPNRT3" align="left" suppress-title="false" pn="figure-8">
          <name slugifiedName="name-evpn-route-type-3">EVPN Route Type 3</name>
          <artwork name="" type="" align="left" alt="" pn="section-6.3-3.1">
               +---------------------------------------+
               |  RD (8 octets)                        |
               +---------------------------------------+
               |  Ethernet Tag ID (4 octets)           |
               +---------------------------------------+
               |  IP Address Length (1 octet)          |
               +---------------------------------------+
               |  Originating Router's IP Address      |
               |          (4 or 16 octets)             |
               +---------------------------------------+
</artwork>
        </figure>
        <t indent="0" pn="section-6.3-4">NLRI encoding over SRv6 core is similar to what is described in <xref target="RFC7432" format="default" sectionFormat="of" derivedContent="RFC7432"/>.</t>
        <t indent="0" pn="section-6.3-5">The P-Multicast Service Interface (PMSI) Tunnel Attribute <xref target="RFC6514" format="default" sectionFormat="of" derivedContent="RFC6514"/> is used to identify
        the Provider tunnel (P-tunnel) used for sending Broadcast, Unknown Unicast, or Multicast
        (BUM) traffic. The format of the PMSI Tunnel Attribute is encoded as
        follows over SRv6 core: </t>
        <figure anchor="PMSITA" align="left" suppress-title="false" pn="figure-9">
          <name slugifiedName="name-pmsi-tunnel-attribute">PMSI Tunnel Attribute</name>
          <artwork name="" type="" align="left" alt="" pn="section-6.3-6.1">
	       +---------------------------------------+
               |  Flag (1 octet)                       |
               +---------------------------------------+
               |  Tunnel Type (1 octet)                |
               +---------------------------------------+
               |  MPLS label (3 octets)                 |
               +---------------------------------------+
               |  Tunnel Identifier (variable)         |
               +---------------------------------------+
</artwork>
        </figure>
        <dl newline="true" spacing="normal" indent="3" pn="section-6.3-7">
          <dt pn="section-6.3-7.1">Flag:</dt>
          <dd pn="section-6.3-7.2">This field has a value of 0, as defined per <xref target="RFC7432" format="default" sectionFormat="of" derivedContent="RFC7432"/>.</dd>
          <dt pn="section-6.3-7.3">Tunnel Type:</dt>
          <dd pn="section-6.3-7.4">This field is defined per <xref target="RFC6514" format="default" sectionFormat="of" derivedContent="RFC6514"/>.</dd>
          <dt pn="section-6.3-7.5">MPLS label:</dt>
          <dd pn="section-6.3-7.6">This 24-bit field carries the whole or a portion of
            the Function part of the SRv6 SID when ingress replication is used
            and the Transposition Scheme of encoding (<xref target="SIDENCODE" format="default" sectionFormat="of" derivedContent="Section 4"/>) is used; otherwise, it is set as defined
            in <xref target="RFC6514" format="default" sectionFormat="of" derivedContent="RFC6514"/>. When using the Transposition Scheme,
            the Transposition Length <bcp14>MUST</bcp14> be less than or equal to 24 and less
            than or equal to the FL.</dd>
          <dt pn="section-6.3-7.7">Tunnel Identifier:</dt>
          <dd pn="section-6.3-7.8">This field is the IP address of egress PE.</dd>
        </dl>
        <t indent="0" pn="section-6.3-8">A Service SID enclosed in an SRv6 L2 Service TLV within the
        BGP Prefix-SID attribute is advertised along with the route. The SRv6
        Endpoint Behavior <bcp14>SHOULD</bcp14> be End.DT2M.</t>
        <ul spacing="normal" bare="false" empty="false" indent="3" pn="section-6.3-9">
          <li pn="section-6.3-9.1">When ESI-based filtering is used for multihoming or Ethernet Tree (E-Tree)
            procedures, the ESI Filtering Argument (the Arg.FE2 notation
            introduced in <xref target="RFC8986" format="default" sectionFormat="of" derivedContent="RFC8986"/>) of the Service SID carried
            along with EVPN Route Type 1 <bcp14>SHOULD</bcp14> be merged with the
            applicable End.DT2M SID of Route Type 3 advertised by the remote PE by
            doing a bitwise logical-OR operation to create a single SID on
            the ingress PE. Details of split-horizon, ESI-based filtering
            mechanisms for multihoming are described in <xref target="RFC7432" format="default" sectionFormat="of" derivedContent="RFC7432"/>. Details of filtering mechanisms for
            Leaf-originated BUM traffic in EVPN E-Tree services are provided
            in <xref target="RFC8317" format="default" sectionFormat="of" derivedContent="RFC8317"/>.</li>
          <li pn="section-6.3-9.2">When "local-bias" is used as the multihoming
            split-horizon method, the ESI Filtering Argument <bcp14>SHOULD NOT</bcp14> be
            merged with the corresponding End.DT2M SID on the ingress PE.
            Details of the local-bias procedures are described
            in <xref target="RFC8365" format="default" sectionFormat="of" derivedContent="RFC8365"/>.</li>
        </ul>
        <t indent="0" pn="section-6.3-10">Usage of multicast trees as P-tunnels is outside the scope of this
        document.</t>
      </section>
      <section anchor="RT4" numbered="true" toc="include" removeInRFC="false" pn="section-6.4">
        <name slugifiedName="name-ethernet-segment-route-over">Ethernet Segment Route over SRv6 Core</name>
        <t indent="0" pn="section-6.4-1">As a reminder, an Ethernet Segment route (i.e., EVPN Route Type 4)
        is encoded as follows: </t>
        <figure anchor="EVPNRT4" align="left" suppress-title="false" pn="figure-10">
          <name slugifiedName="name-evpn-route-type-4">EVPN Route Type 4</name>
          <artwork name="" type="" align="left" alt="" pn="section-6.4-2.1">
               +---------------------------------------+
               |  RD (8 octets)                        |
               +---------------------------------------+
               |  Ethernet Tag ID (4 octets)           |
               +---------------------------------------+
               |  IP Address Length (1 octet)          |
               +---------------------------------------+
               |  Originating Router's IP Address      |
               |          (4 or 16 octets)             |
               +---------------------------------------+
</artwork>
        </figure>
        <t indent="0" pn="section-6.4-3">NLRI encoding over SRv6 core is similar to what is described in <xref target="RFC7432" format="default" sectionFormat="of" derivedContent="RFC7432"/>.</t>
        <t indent="0" pn="section-6.4-4">SRv6 Service TLVs within the BGP Prefix-SID attribute are not
        advertised along with this route. The processing of the route has not
        changed -- it remains as described in <xref target="RFC7432" format="default" sectionFormat="of" derivedContent="RFC7432"/>.</t>
      </section>
      <section anchor="RT5" numbered="true" toc="include" removeInRFC="false" pn="section-6.5">
        <name slugifiedName="name-ip-prefix-route-over-srv6-c">IP Prefix Route over SRv6 Core</name>
        <t indent="0" pn="section-6.5-1">EVPN Route Type 5 is used to advertise IP address reachability
        through MP-BGP to all other PEs in a given EVPN instance. The IP
        address may include a host IP prefix or any specific subnet.</t>
        <t indent="0" pn="section-6.5-2">As a reminder, EVPN Route Type 5 is encoded as follows: </t>
        <figure anchor="EVPNRT5" align="left" suppress-title="false" pn="figure-11">
          <name slugifiedName="name-evpn-route-type-5">EVPN Route Type 5</name>
          <artwork name="" type="" align="left" alt="" pn="section-6.5-3.1">
               +-----------------------------------------+
               |  RD (8 octets)                          |
               +-----------------------------------------+
               |  Ethernet Segment Identifier (10 octets)|
               +-----------------------------------------+
               |  Ethernet Tag ID (4 octets)             |
               +-----------------------------------------+
               |  IP Prefix Length (1 octet)             |
               +-----------------------------------------+
               |  IP Prefix (4 or 16 octets)             |
               +-----------------------------------------+
               |  GW IP Address (4 or 16 octets)         |
               +-----------------------------------------+
               |  MPLS Label (3 octets)                  |
               +-----------------------------------------+
</artwork>
        </figure>
        <t indent="0" pn="section-6.5-4">NLRI encoding over SRv6 core is similar to what is described in <xref target="RFC9136" format="default" sectionFormat="of" derivedContent="RFC9136"/>
        with the following change:</t>
        <dl newline="true" spacing="normal" indent="3" pn="section-6.5-5">
          <dt pn="section-6.5-5.1">MPLS Label:</dt>
          <dd pn="section-6.5-5.2">This 24-bit field carries the whole or a portion of
            the Function part of the SRv6 SID when the Transposition Scheme of
            encoding (<xref target="SIDENCODE" format="default" sectionFormat="of" derivedContent="Section 4"/>) is used;
	    otherwise, it is set to Implicit NULL in the higher-order 20 bits (i.e., as 0x000030). In either case, the value is set in the 24 bits.
            When using the Transposition Scheme, the Transposition Length <bcp14>MUST</bcp14>
            be less than or equal to 24 and less than or equal to the FL.</dd>
        </dl>
        <t indent="0" pn="section-6.5-6">The SRv6 Service SID is encoded as part of the SRv6 L3 Service TLV. The
        SRv6 Endpoint Behavior <bcp14>SHOULD</bcp14> be one of these: End.DT4, End.DT6,
        End.DT46, End.DX4, or End.DX6.</t>
      </section>
      <section anchor="RT678" numbered="true" toc="include" removeInRFC="false" pn="section-6.6">
        <name slugifiedName="name-evpn-multicast-routes-route">EVPN Multicast Routes (Route Types 6, 7, and 8) over SRv6 Core</name>
        <t indent="0" pn="section-6.6-1">These routes do not require the advertisement of SRv6 Service TLVs
        along with them. Similar to EVPN Route Type 4, the BGP next hop is
        equal to the IPv6 address of egress PE.</t>
      </section>
    </section>
    <section anchor="ERROR" numbered="true" toc="include" removeInRFC="false" pn="section-7">
      <name slugifiedName="name-error-handling">Error Handling</name>
      <t indent="0" pn="section-7-1">In case of any errors encountered while processing SRv6 Service TLVs,
      the details of the error <bcp14>SHOULD</bcp14> be logged for further analysis.</t>
      <t indent="0" pn="section-7-2">If multiple instances of the SRv6 L3 Service TLV are encountered, all but
      the first instance <bcp14>MUST</bcp14> be ignored.</t>
      <t indent="0" pn="section-7-3">If multiple instances of the SRv6 L2 Service TLV are encountered, all but
      the first instance <bcp14>MUST</bcp14> be ignored.</t>
      <t indent="0" pn="section-7-4">An SRv6 Service TLV is considered malformed in the following cases:</t>
      <ul spacing="normal" bare="false" empty="false" indent="3" pn="section-7-5">
        <li pn="section-7-5.1">The TLV Length is less than 1.</li>
        <li pn="section-7-5.2">The TLV Length is inconsistent with the length of the BGP Prefix-SID
          attribute.</li>
        <li pn="section-7-5.3">At least one of the constituent Sub-TLVs is malformed.</li>
      </ul>
      <t indent="0" pn="section-7-6">An SRv6 Service Sub-TLV is considered malformed in the following
      case:</t>
      <ul spacing="normal" bare="false" empty="false" indent="3" pn="section-7-7">
        <li pn="section-7-7.1">The Sub-TLV Length is inconsistent with the length of the
          enclosing SRv6 Service TLV.</li>
      </ul>
      <t indent="0" pn="section-7-8">An SRv6 SID Information Sub-TLV is considered malformed in the
      following cases:</t>
      <ul spacing="normal" bare="false" empty="false" indent="3" pn="section-7-9">
        <li pn="section-7-9.1">The Sub-TLV Length is less than 21.</li>
        <li pn="section-7-9.2">The Sub-TLV Length is inconsistent with the length of the
              enclosing SRv6 Service TLV.</li>
        <li pn="section-7-9.3">At least one of the constituent Sub-Sub-TLVs is malformed.</li>
      </ul>
      <t indent="0" pn="section-7-10">An SRv6 Service Data Sub-Sub-TLV is considered malformed in the
      following case:</t>
      <ul spacing="normal" bare="false" empty="false" indent="3" pn="section-7-11">
        <li pn="section-7-11.1">The Sub-Sub-TLV Length is inconsistent with the length of the
          enclosing SRv6 service Sub-TLV.</li>
      </ul>
      <t indent="0" pn="section-7-12">Any TLV, Sub-TLV, or Sub-Sub-TLV is not considered malformed because
      its Type is unrecognized.</t>
      <t indent="0" pn="section-7-13">Any TLV, Sub-TLV, or Sub-Sub-TLV is not considered malformed because
      of failing any semantic validation of its Value field.</t>
      <t indent="0" pn="section-7-14">The SRv6 overlay service requires the Service SID for forwarding. The
      treat-as-withdraw action <xref target="RFC7606" format="default" sectionFormat="of" derivedContent="RFC7606"/> <bcp14>MUST</bcp14> be performed when
      at least one malformed SRv6 Service TLV is present in the BGP Prefix-SID
      attribute.</t>
      <t indent="0" pn="section-7-15">The SRv6 SID value in the SRv6 SID Information Sub-TLV is invalid when the SID
      Structure Sub-Sub-TLV transposition length is greater than the number of
      bits of the label field or if any of the conditions for the fields of
      the Sub-Sub-TLV, as specified in <xref target="SRv6-SID-STRUCTURE" format="default" sectionFormat="of" derivedContent="Section 3.2.1"/>, is
      not met. The transposition offset and length <bcp14>MUST</bcp14> be 0 when the
      Sub-Sub-TLV is advertised along with routes where the Transposition Scheme
      is not applicable (e.g., for global IPv6 service <xref target="RFC2545" format="default" sectionFormat="of" derivedContent="RFC2545"/> where there is no label field). The path having any such
      Prefix-SID attribute without any valid SRv6 SID information <bcp14>MUST</bcp14> be
      considered ineligible during the selection of the best path for the
      corresponding prefix.</t>
    </section>
    <section anchor="IANA" numbered="true" toc="include" removeInRFC="false" pn="section-8">
      <name slugifiedName="name-iana-considerations">IANA Considerations</name>
      <section numbered="true" toc="include" removeInRFC="false" pn="section-8.1">
        <name slugifiedName="name-bgp-prefix-sid-tlv-types-re">BGP Prefix-SID TLV Types Registry</name>
        <t indent="0" pn="section-8.1-1">This document introduces two new TLV Types of the BGP Prefix-SID
        attribute. IANA has assigned Type values in the "BGP
        Prefix-SID TLV Types" subregistry as follows: </t>
        <table anchor="IANAPFXSIDTYPES" align="center" pn="table-1">
          <name slugifiedName="name-bgp-prefix-sid-tlv-types-su">BGP Prefix-SID TLV Types Subregistry</name>
          <thead>
            <tr>
              <th align="left" colspan="1" rowspan="1">Value</th>
              <th align="left" colspan="1" rowspan="1">Type</th>
              <th align="left" colspan="1" rowspan="1">Reference</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left" colspan="1" rowspan="1">4</td>
              <td align="left" colspan="1" rowspan="1">Deprecated</td>
              <td align="left" colspan="1" rowspan="1">RFC 9252</td>
            </tr>
            <tr>
              <td align="left" colspan="1" rowspan="1">5</td>
              <td align="left" colspan="1" rowspan="1">SRv6 L3 Service TLV</td>
              <td align="left" colspan="1" rowspan="1">RFC 9252</td>
            </tr>
            <tr>
              <td align="left" colspan="1" rowspan="1">6</td>
              <td align="left" colspan="1" rowspan="1">SRv6 L2 Service TLV</td>
              <td align="left" colspan="1" rowspan="1">RFC 9252</td>
            </tr>
          </tbody>
        </table>
        <t indent="0" pn="section-8.1-3">Value 4 previously corresponded to the SRv6-VPN SID TLV, which
        was specified in earlier draft versions of this document and used by early
        implementations of this specification. It was deprecated and replaced
        by the SRv6 L3 Service and SRv6 L2 Service TLVs.</t>
      </section>
      <section numbered="true" toc="include" removeInRFC="false" pn="section-8.2">
        <name slugifiedName="name-srv6-service-sub-tlv-types-">SRv6 Service Sub-TLV Types Registry</name>
        <t indent="0" pn="section-8.2-1">IANA has created and now maintains a new subregistry called
        "SRv6 Service Sub-TLV Types" under the "Border Gateway Protocol (BGP)
        Parameters" registry. The registration procedures, per <xref target="RFC8126" format="default" sectionFormat="of" derivedContent="RFC8126"/>, for this subregistry are according to <xref target="IANASRV6SVCTYPESAP" format="default" sectionFormat="of" derivedContent="Table 2"/>.
        </t>
        <table anchor="IANASRV6SVCTYPESAP" align="center" pn="table-2">
          <name slugifiedName="name-srv6-service-sub-tlv-types-s">SRv6 Service Sub-TLV Types Subregistry Registration Procedures</name>
          <thead>
            <tr>
              <th align="left" colspan="1" rowspan="1">Range</th>
              <th align="left" colspan="1" rowspan="1">Registration Procedures</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left" colspan="1" rowspan="1">1-127</td>
              <td align="left" colspan="1" rowspan="1">IETF Review</td>
            </tr>
            <tr>
              <td align="left" colspan="1" rowspan="1">128-254</td>
              <td align="left" colspan="1" rowspan="1">First Come First Served</td>
            </tr>
            <tr>
              <td align="left" colspan="1" rowspan="1">255</td>
              <td align="left" colspan="1" rowspan="1">IETF Review</td>
            </tr>
          </tbody>
        </table>
        <t indent="0" pn="section-8.2-3">IANA has populated this subregistry as follows. Note that the SRv6 SID Information Sub-TLV
	is defined in this document: </t>
        <table anchor="IANASRV6DATATYPES" align="center" pn="table-3">
          <name slugifiedName="name-srv6-service-sub-tlv-types-su">SRv6 Service Sub-TLV Types Subregistry Initial Contents</name>
          <thead>
            <tr>
              <th align="left" colspan="1" rowspan="1">Value</th>
              <th align="left" colspan="1" rowspan="1">Type</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 9252</td>
            </tr>
            <tr>
              <td align="left" colspan="1" rowspan="1">1</td>
              <td align="left" colspan="1" rowspan="1">SRv6 SID Information Sub-TLV</td>
              <td align="left" colspan="1" rowspan="1">RFC 9252</td>
            </tr>
            <tr>
              <td align="left" colspan="1" rowspan="1">255</td>
              <td align="left" colspan="1" rowspan="1">Reserved</td>
              <td align="left" colspan="1" rowspan="1">RFC 9252</td>
            </tr>
          </tbody>
        </table>
      </section>
      <section numbered="true" toc="include" removeInRFC="false" pn="section-8.3">
        <name slugifiedName="name-srv6-service-data-sub-sub-tlv">SRv6 Service Data Sub-Sub-TLV Types Registry</name>
        <t indent="0" pn="section-8.3-1">IANA has created and now maintains a new subregistry called
        "SRv6 Service Data Sub-Sub-TLV Types" under the "Border Gateway
        Protocol (BGP) Parameters" registry. The registration procedures for this
        subregistry are according to <xref target="IANASRV6DATASSTYPESAP" format="default" sectionFormat="of" derivedContent="Table 4"/>. </t>
        <table anchor="IANASRV6DATASSTYPESAP" align="center" pn="table-4">
          <name slugifiedName="name-srv6-service-data-sub-sub-tlv-">SRv6 Service Data Sub-Sub-TLV Types Subregistry Registration Procedures</name>
          <thead>
            <tr>
              <th align="left" colspan="1" rowspan="1">Range</th>
              <th align="left" colspan="1" rowspan="1">Registration Procedure</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left" colspan="1" rowspan="1">1-127</td>
              <td align="left" colspan="1" rowspan="1">IETF Review</td>
            </tr>
            <tr>
              <td align="left" colspan="1" rowspan="1">128-254</td>
              <td align="left" colspan="1" rowspan="1">First Come First Served</td>
            </tr>
            <tr>
              <td align="left" colspan="1" rowspan="1">255</td>
              <td align="left" colspan="1" rowspan="1">IETF Review</td>
            </tr>
          </tbody>
        </table>
        <t indent="0" pn="section-8.3-3">The following Sub-Sub-TLV Type is defined in this document: </t>
        <table anchor="IANASRV6DATASSTYPES" align="center" pn="table-5">
          <name slugifiedName="name-srv6-service-data-sub-sub-tlv-t">SRv6 Service Data Sub-Sub-TLV Types Subregistry Initial Contents</name>
          <thead>
            <tr>
              <th align="left" colspan="1" rowspan="1">Value</th>
              <th align="left" colspan="1" rowspan="1">Type</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 9252</td>
            </tr>
            <tr>
              <td align="left" colspan="1" rowspan="1">1</td>
              <td align="left" colspan="1" rowspan="1">SRv6 SID Structure Sub-Sub-TLV</td>
              <td align="left" colspan="1" rowspan="1">RFC 9252</td>
            </tr>
            <tr>
              <td align="left" colspan="1" rowspan="1">255</td>
              <td align="left" colspan="1" rowspan="1">Reserved</td>
              <td align="left" colspan="1" rowspan="1">RFC 9252</td>
            </tr>
          </tbody>
        </table>
      </section>
      <section numbered="true" toc="include" removeInRFC="false" pn="section-8.4">
        <name slugifiedName="name-bgp-srv6-service-sid-flags-">BGP SRv6 Service SID Flags Registry</name>
        <t indent="0" pn="section-8.4-1">IANA has created and now maintains a new subregistry called "BGP
        SRv6 Service SID Flags" under the "Border Gateway Protocol (BGP)
        Parameters" registry. The registration procedure for this subregistry is IETF
        Review, and all 8-bit positions of the flags are currently
        unassigned.</t>
      </section>
      <section numbered="true" toc="include" removeInRFC="false" pn="section-8.5">
        <name slugifiedName="name-safi-values-registry">SAFI Values Registry</name>
        <t indent="0" pn="section-8.5-1">IANA has added this document as a reference for value 128 
   ("MPLS-labeled VPN address") in the "SAFI Values" subregistry 
   under the "Subsequent Address Family Identifiers 
   (SAFI) Parameters" registry.</t>
      </section>
    </section>
    <section anchor="SEC" numbered="true" toc="include" removeInRFC="false" pn="section-9">
      <name slugifiedName="name-security-considerations">Security Considerations</name>
      <t indent="0" pn="section-9-1">This document specifies extensions to the BGP protocol for the signaling
      of services for SRv6. These specifications leverage existing BGP
      protocol mechanisms for the signaling of various types of services. It
      also builds upon existing elements of the SR architecture (more
      specifically, SRv6). As such, this section largely provides pointers (as
      a reminder) to the security considerations of those existing
      specifications while also covering certain, newer security aspects for
      the specifications newly introduced by this document.</t>
      <section anchor="SECSESS" numbered="true" toc="include" removeInRFC="false" pn="section-9.1">
        <name slugifiedName="name-considerations-related-to-b">Considerations Related to BGP Sessions</name>
        <t indent="0" pn="section-9.1-1">Techniques related to authentication of BGP sessions for securing
        messages between BGP peers, as discussed in the BGP specification <xref target="RFC4271" format="default" sectionFormat="of" derivedContent="RFC4271"/> and in the security analysis for BGP <xref target="RFC4272" format="default" sectionFormat="of" derivedContent="RFC4272"/>, apply. The discussion of the use of the TCP
        Authentication Option to protect BGP sessions is found in <xref target="RFC5925" format="default" sectionFormat="of" derivedContent="RFC5925"/>, while <xref target="RFC6952" format="default" sectionFormat="of" derivedContent="RFC6952"/> includes an
        analysis of BGP keying and authentication issues. This document does
        not introduce any additional BGP session security considerations.</t>
      </section>
      <section anchor="SECSVC" numbered="true" toc="include" removeInRFC="false" pn="section-9.2">
        <name slugifiedName="name-considerations-related-to-bg">Considerations Related to BGP Services</name>
        <t indent="0" pn="section-9.2-1">This document does not introduce new services or BGP NLRI types but
        extends the signaling of existing ones for SRv6. Therefore, the
        security considerations for the respective BGP services, such as <xref target="RFC8950" format="default" sectionFormat="of" derivedContent="RFC8950">BGP IPv4 over IPv6 NH</xref>, <xref target="RFC4659" format="default" sectionFormat="of" derivedContent="RFC4659">BGP IPv6 L3VPN</xref>, <xref target="RFC2545" format="default" sectionFormat="of" derivedContent="RFC2545">BGP
        IPv6</xref>, <xref target="RFC7432" format="default" sectionFormat="of" derivedContent="RFC7432">BGP EVPN</xref>, and <xref target="RFC9136" format="default" sectionFormat="of" derivedContent="RFC9136">IP EVPN</xref>, apply as discussed in their respective
        documents.
	<xref target="RFC8669" format="default" sectionFormat="of" derivedContent="RFC8669"/> discusses mechanisms to prevent
        the leaking of the BGP Prefix-SID attribute, which carries SR information,
        outside the SR domain.</t>
        <t indent="0" pn="section-9.2-2">As a reminder, several of the BGP services (i.e., the AFI/SAFI used
        for their signaling) were initially introduced for one encapsulation
        mechanism and later extended for others, e.g., EVPN MPLS <xref target="RFC7432" format="default" sectionFormat="of" derivedContent="RFC7432"/> was extended for Virtual eXtensible Local Area Network (VXLAN) encapsulation and Network Virtualization Using Generic Routing Encapsulation (NVGRE) <xref target="RFC8365" format="default" sectionFormat="of" derivedContent="RFC8365"/>. <xref target="RFC9012" format="default" sectionFormat="of" derivedContent="RFC9012"/> enables the use of
        various IP encapsulation mechanisms along with different BGP SAFIs for
        their respective services. The existing filtering mechanisms for
        preventing the leak of the encapsulation information (carried in BGP
        attributes) and preventing the advertisement of prefixes from the
        provider's internal address space (especially the SRv6 Block, as
        discussed in <xref target="RFC8986" format="default" sectionFormat="of" derivedContent="RFC8986"/>) to external peers (or into the
        Internet) also apply in the case of SRv6.</t>
        <t indent="0" pn="section-9.2-3">Specific to SRv6, a misconfiguration or error in the BGP
        filtering mechanisms mentioned above may result in exposing information, such as SRv6
        Service SIDs to external peers or other unauthorized entities.
        However, an attempt to exploit this information or to raise an attack
        by injecting packets into the network (e.g., customer networks in case
        of VPN services) is mitigated by the existing SRv6 data plane security
        mechanisms, as described in the next section.</t>
      </section>
      <section anchor="SECSRV6" numbered="true" toc="include" removeInRFC="false" pn="section-9.3">
        <name slugifiedName="name-considerations-related-to-s">Considerations Related to SR over IPv6 Data Plane</name>
        <t indent="0" pn="section-9.3-1">This section provides a brief reminder and an overview of the
        security considerations related to SRv6 with pointers to existing
        specifications. This document introduces no new security
        considerations of its own from the SRv6 data plane perspective.</t>
        <t indent="0" pn="section-9.3-2">SRv6 operates within a trusted SR domain. The data packets
        corresponding to service flows between PE routers are encapsulated
        (using SRv6 SIDs advertised via BGP) and carried within this trusted
        SR domain (e.g., within a single AS or between multiple ASes within a
        single provider network).</t>
        <t indent="0" pn="section-9.3-3">The security considerations of the SR architecture are
        covered by <xref target="RFC8402" format="default" sectionFormat="of" derivedContent="RFC8402"/>. More detailed security
        considerations, specifically of SRv6 and SRH, are covered by <xref target="RFC8754" format="default" sectionFormat="of" derivedContent="RFC8754"/> as they relate to SR Attacks (Section <xref target="RFC8754" section="7.1" sectionFormat="bare" format="default" derivedLink="https://rfc-editor.org/rfc/rfc8754#section-7.1" derivedContent="RFC8754"/>), Service
        Theft (Section <xref target="RFC8754" section="7.2" sectionFormat="bare" format="default" derivedLink="https://rfc-editor.org/rfc/rfc8754#section-7.2" derivedContent="RFC8754"/>), and Topology Disclosure (Section <xref target="RFC8754" section="7.3" sectionFormat="bare" format="default" derivedLink="https://rfc-editor.org/rfc/rfc8754#section-7.3" derivedContent="RFC8754"/>).


	As such, an
        operator deploying SRv6 <bcp14>MUST</bcp14> follow the considerations described in
        <xref target="RFC8754" section="7" sectionFormat="of" format="default" derivedLink="https://rfc-editor.org/rfc/rfc8754#section-7" derivedContent="RFC8754"/> to implement the infrastructure
        Access Control Lists (ACLs) and the recommendations described in <xref target="RFC2827" format="default" sectionFormat="of" derivedContent="RFC2827">BCP 38</xref> and <xref target="RFC3704" format="default" sectionFormat="of" derivedContent="RFC3704">BCP 84</xref>.</t>
        <t indent="0" pn="section-9.3-4">The SRv6 deployment and SID allocation guidelines, as described in
        <xref target="RFC8986" format="default" sectionFormat="of" derivedContent="RFC8986"/>, simplify the deployment of the ACL filters
        (e.g., a single ACL corresponding to the SRv6 Block applied to the
        external interfaces on border nodes is sufficient to block packets
        destined to any SRv6 SID in the domain from external/unauthorized
        networks). While there is an assumed trust model within an SR domain,
        such that any node sending a packet to an SRv6 SID is assumed to be
        allowed to do so, there is also the option of using an SRH Hashed Message Authentication
	Code (HMAC) TLV <xref target="RFC8754" format="default" sectionFormat="of" derivedContent="RFC8754"/>, as described in <xref target="RFC8986" format="default" sectionFormat="of" derivedContent="RFC8986"/>, for validation.</t>
        <t indent="0" pn="section-9.3-5">   The SRv6 Endpoint Behaviors implementing the services signaled
   in this document are defined in <xref target="RFC8986" format="default" sectionFormat="of" derivedContent="RFC8986"/>; hence, the security
   considerations of that document apply. These considerations
        are independent of the protocol used for service deployment, i.e.,
        independent of BGP signaling of SRv6 services.</t>
        <t indent="0" pn="section-9.3-6">These considerations help protect transit traffic as well as
        services, such as VPNs, to avoid service theft or injection of traffic
        into customer VPNs.</t>
      </section>
    </section>
  </middle>
  <back>
    <displayreference target="I-D.ietf-spring-segment-routing-policy" to="SEGMENT-ROUTING-POLICY"/>
    <displayreference target="I-D.ietf-lsr-flex-algo" to="IGP-FLEX-ALGO"/>
    <references pn="section-10">
      <name slugifiedName="name-references">References</name>
      <references pn="section-10.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="RFC2545" target="https://www.rfc-editor.org/info/rfc2545" quoteTitle="true" derivedAnchor="RFC2545">
          <front>
            <title>Use of BGP-4 Multiprotocol Extensions for IPv6 Inter-Domain Routing</title>
            <author initials="P." surname="Marques" fullname="P. Marques">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="F." surname="Dupont" fullname="F. Dupont">
              <organization showOnFrontPage="true"/>
            </author>
            <date year="1999" month="March"/>
            <abstract>
              <t indent="0">BGP-4 Multiprotocol Extensions (BGP-MP) defines the format of two BGP attributes (MP_REACH_NLRI and MP_UNREACH_NLRI) that can be used to announce and withdraw the announcement of reachability information. This document defines how compliant systems should make use of those attributes for the purpose of conveying IPv6 routing information. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="2545"/>
          <seriesInfo name="DOI" value="10.17487/RFC2545"/>
        </reference>
        <reference anchor="RFC4271" target="https://www.rfc-editor.org/info/rfc4271" quoteTitle="true" derivedAnchor="RFC4271">
          <front>
            <title>A Border Gateway Protocol 4 (BGP-4)</title>
            <author initials="Y." surname="Rekhter" fullname="Y. Rekhter" role="editor">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="T." surname="Li" fullname="T. Li" role="editor">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="S." surname="Hares" fullname="S. Hares" role="editor">
              <organization showOnFrontPage="true"/>
            </author>
            <date year="2006" month="January"/>
            <abstract>
              <t indent="0">This document discusses the Border Gateway Protocol (BGP), which is an inter-Autonomous System routing protocol.</t>
              <t indent="0">The primary function of a BGP speaking system is to exchange network reachability information with other BGP systems.  This network reachability information includes information on the list of Autonomous Systems (ASes) that reachability information traverses. This information is sufficient for constructing a graph of AS connectivity for this reachability from which routing loops may be pruned, and, at the AS level, some policy decisions may be enforced.</t>
              <t indent="0">BGP-4 provides a set of mechanisms for supporting Classless Inter-Domain Routing (CIDR).  These mechanisms include support for advertising a set of destinations as an IP prefix, and eliminating the concept of network "class" within BGP.  BGP-4 also introduces mechanisms that allow aggregation of routes, including aggregation of AS paths.</t>
              <t indent="0">This document obsoletes RFC 1771.  [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="4271"/>
          <seriesInfo name="DOI" value="10.17487/RFC4271"/>
        </reference>
        <reference anchor="RFC4364" target="https://www.rfc-editor.org/info/rfc4364" quoteTitle="true" derivedAnchor="RFC4364">
          <front>
            <title>BGP/MPLS IP Virtual Private Networks (VPNs)</title>
            <author initials="E." surname="Rosen" fullname="E. Rosen">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="Y." surname="Rekhter" fullname="Y. Rekhter">
              <organization showOnFrontPage="true"/>
            </author>
            <date year="2006" month="February"/>
            <abstract>
              <t indent="0">This document describes a method by which a Service Provider may use an IP backbone to provide IP Virtual Private Networks (VPNs) for its customers.  This method uses a "peer model", in which the customers' edge routers (CE routers) send their routes to the Service Provider's edge routers (PE routers); there is no "overlay" visible to the customer's routing algorithm, and CE routers at different sites do not peer with each other.  Data packets are tunneled through the backbone, so that the core routers do not need to know the VPN routes.  [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="4364"/>
          <seriesInfo name="DOI" value="10.17487/RFC4364"/>
        </reference>
        <reference anchor="RFC4456" target="https://www.rfc-editor.org/info/rfc4456" quoteTitle="true" derivedAnchor="RFC4456">
          <front>
            <title>BGP Route Reflection: An Alternative to Full Mesh Internal BGP (IBGP)</title>
            <author initials="T." surname="Bates" fullname="T. Bates">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="E." surname="Chen" fullname="E. Chen">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="R." surname="Chandra" fullname="R. Chandra">
              <organization showOnFrontPage="true"/>
            </author>
            <date year="2006" month="April"/>
            <abstract>
              <t indent="0">The Border Gateway Protocol (BGP) is an inter-autonomous system routing protocol designed for TCP/IP internets.  Typically, all BGP speakers within a single AS must be fully meshed so that any external routing information must be re-distributed to all other routers within that Autonomous System (AS).  This represents a serious scaling problem that has been well documented with several alternatives proposed.</t>
              <t indent="0">This document describes the use and design of a method known as "route reflection" to alleviate the need for "full mesh" Internal BGP (IBGP).</t>
              <t indent="0">This document obsoletes RFC 2796 and RFC 1966.  [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="4456"/>
          <seriesInfo name="DOI" value="10.17487/RFC4456"/>
        </reference>
        <reference anchor="RFC4659" target="https://www.rfc-editor.org/info/rfc4659" quoteTitle="true" derivedAnchor="RFC4659">
          <front>
            <title>BGP-MPLS IP Virtual Private Network (VPN) Extension for IPv6 VPN</title>
            <author initials="J." surname="De Clercq" fullname="J. De Clercq">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="D." surname="Ooms" fullname="D. Ooms">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="M." surname="Carugi" fullname="M. Carugi">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="F." surname="Le Faucheur" fullname="F. Le Faucheur">
              <organization showOnFrontPage="true"/>
            </author>
            <date year="2006" month="September"/>
            <abstract>
              <t indent="0">This document describes a method by which a Service Provider may use its packet-switched backbone to provide Virtual Private Network (VPN) services for its IPv6 customers.  This method reuses, and extends where necessary, the "BGP/MPLS IP VPN" method for support of IPv6.  In BGP/MPLS IP VPN, "Multiprotocol BGP" is used for distributing IPv4 VPN routes over the service provider backbone, and MPLS is used to forward IPv4 VPN packets over the backbone.  This document defines an IPv6 VPN address family and describes the corresponding IPv6 VPN route distribution in "Multiprotocol BGP".</t>
              <t indent="0">This document defines support of the IPv6 VPN service over both an IPv4 and an IPv6 backbone, and for using various tunneling techniques over the core, including MPLS, IP-in-IP, Generic Routing Encapsulation (GRE) and IPsec protected tunnels.  The inter-working between an IPv4 site and an IPv6 site is outside the scope of this document.  [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="4659"/>
          <seriesInfo name="DOI" value="10.17487/RFC4659"/>
        </reference>
        <reference anchor="RFC4760" target="https://www.rfc-editor.org/info/rfc4760" quoteTitle="true" derivedAnchor="RFC4760">
          <front>
            <title>Multiprotocol Extensions for BGP-4</title>
            <author initials="T." surname="Bates" fullname="T. Bates">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="R." surname="Chandra" fullname="R. Chandra">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="D." surname="Katz" fullname="D. Katz">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="Y." surname="Rekhter" fullname="Y. Rekhter">
              <organization showOnFrontPage="true"/>
            </author>
            <date year="2007" month="January"/>
            <abstract>
              <t indent="0">This document defines extensions to BGP-4 to enable it to carry routing information for multiple Network Layer protocols (e.g., IPv6, IPX, L3VPN, etc.).  The extensions are backward compatible - a router that supports the extensions can interoperate with a router that doesn't support the extensions.  [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="4760"/>
          <seriesInfo name="DOI" value="10.17487/RFC4760"/>
        </reference>
        <reference anchor="RFC6514" target="https://www.rfc-editor.org/info/rfc6514" quoteTitle="true" derivedAnchor="RFC6514">
          <front>
            <title>BGP Encodings and Procedures for Multicast in MPLS/BGP IP VPNs</title>
            <author initials="R." surname="Aggarwal" fullname="R. Aggarwal">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="E." surname="Rosen" fullname="E. Rosen">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="T." surname="Morin" fullname="T. Morin">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="Y." surname="Rekhter" fullname="Y. Rekhter">
              <organization showOnFrontPage="true"/>
            </author>
            <date year="2012" month="February"/>
            <abstract>
              <t indent="0">This document describes the BGP encodings and procedures for exchanging the information elements required by Multicast in MPLS/BGP IP VPNs, as specified in RFC 6513.  [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="6514"/>
          <seriesInfo name="DOI" value="10.17487/RFC6514"/>
        </reference>
        <reference anchor="RFC7432" target="https://www.rfc-editor.org/info/rfc7432" quoteTitle="true" derivedAnchor="RFC7432">
          <front>
            <title>BGP MPLS-Based Ethernet VPN</title>
            <author initials="A." surname="Sajassi" fullname="A. Sajassi" role="editor">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="R." surname="Aggarwal" fullname="R. Aggarwal">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="N." surname="Bitar" fullname="N. Bitar">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="A." surname="Isaac" fullname="A. Isaac">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="J." surname="Uttaro" fullname="J. Uttaro">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="J." surname="Drake" fullname="J. Drake">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="W." surname="Henderickx" fullname="W. Henderickx">
              <organization showOnFrontPage="true"/>
            </author>
            <date year="2015" month="February"/>
            <abstract>
              <t indent="0">This document describes procedures for BGP MPLS-based Ethernet VPNs (EVPN).  The procedures described here meet the requirements specified in RFC 7209 -- "Requirements for Ethernet VPN (EVPN)".</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7432"/>
          <seriesInfo name="DOI" value="10.17487/RFC7432"/>
        </reference>
        <reference anchor="RFC7606" target="https://www.rfc-editor.org/info/rfc7606" quoteTitle="true" derivedAnchor="RFC7606">
          <front>
            <title>Revised Error Handling for BGP UPDATE Messages</title>
            <author initials="E." surname="Chen" fullname="E. Chen" role="editor">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="J." surname="Scudder" fullname="J. Scudder" role="editor">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="P." surname="Mohapatra" fullname="P. Mohapatra">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="K." surname="Patel" fullname="K. Patel">
              <organization showOnFrontPage="true"/>
            </author>
            <date year="2015" month="August"/>
            <abstract>
              <t indent="0">According to the base BGP specification, a BGP speaker that receives an UPDATE message containing a malformed attribute is required to reset the session over which the offending attribute was received. This behavior is undesirable because a session reset would impact not only routes with the offending attribute but also other valid routes exchanged over the session.  This document partially revises the error handling for UPDATE messages and provides guidelines for the authors of documents defining new attributes.  Finally, it revises the error handling procedures for a number of existing attributes.</t>
              <t indent="0">This document updates error handling for RFCs 1997, 4271, 4360, 4456, 4760, 5543, 5701, and 6368.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7606"/>
          <seriesInfo name="DOI" value="10.17487/RFC7606"/>
        </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="RFC8200" target="https://www.rfc-editor.org/info/rfc8200" quoteTitle="true" derivedAnchor="RFC8200">
          <front>
            <title>Internet Protocol, Version 6 (IPv6) Specification</title>
            <author initials="S." surname="Deering" fullname="S. Deering">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="R." surname="Hinden" fullname="R. Hinden">
              <organization showOnFrontPage="true"/>
            </author>
            <date year="2017" month="July"/>
            <abstract>
              <t indent="0">This document specifies version 6 of the Internet Protocol (IPv6). It obsoletes RFC 2460.</t>
            </abstract>
          </front>
          <seriesInfo name="STD" value="86"/>
          <seriesInfo name="RFC" value="8200"/>
          <seriesInfo name="DOI" value="10.17487/RFC8200"/>
        </reference>
        <reference anchor="RFC8214" target="https://www.rfc-editor.org/info/rfc8214" quoteTitle="true" derivedAnchor="RFC8214">
          <front>
            <title>Virtual Private Wire Service Support in Ethernet VPN</title>
            <author initials="S." surname="Boutros" fullname="S. Boutros">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="A." surname="Sajassi" fullname="A. Sajassi">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="S." surname="Salam" fullname="S. Salam">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="J." surname="Drake" fullname="J. Drake">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="J." surname="Rabadan" fullname="J. Rabadan">
              <organization showOnFrontPage="true"/>
            </author>
            <date year="2017" month="August"/>
            <abstract>
              <t indent="0">This document describes how Ethernet VPN (EVPN) can be used to support the Virtual Private Wire Service (VPWS) in MPLS/IP networks. EVPN accomplishes the following for VPWS: provides Single-Active as well as All-Active multihoming with flow-based load-balancing, eliminates the need for Pseudowire (PW) signaling, and provides fast protection convergence upon node or link failure.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8214"/>
          <seriesInfo name="DOI" value="10.17487/RFC8214"/>
        </reference>
        <reference anchor="RFC8277" target="https://www.rfc-editor.org/info/rfc8277" quoteTitle="true" derivedAnchor="RFC8277">
          <front>
            <title>Using BGP to Bind MPLS Labels to Address Prefixes</title>
            <author initials="E." surname="Rosen" fullname="E. Rosen">
              <organization showOnFrontPage="true"/>
            </author>
            <date year="2017" month="October"/>
            <abstract>
              <t indent="0">This document specifies a set of procedures for using BGP to advertise that a specified router has bound a specified MPLS label (or a specified sequence of MPLS labels organized as a contiguous part of a label stack) to a specified address prefix.  This can be done by sending a BGP UPDATE message whose Network Layer Reachability Information field contains both the prefix and the MPLS label(s) and whose Next Hop field identifies the node at which said prefix is bound to said label(s).  This document obsoletes RFC 3107.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8277"/>
          <seriesInfo name="DOI" value="10.17487/RFC8277"/>
        </reference>
        <reference anchor="RFC8317" target="https://www.rfc-editor.org/info/rfc8317" quoteTitle="true" derivedAnchor="RFC8317">
          <front>
            <title>Ethernet-Tree (E-Tree) Support in Ethernet VPN (EVPN) and Provider Backbone Bridging EVPN (PBB-EVPN)</title>
            <author initials="A." surname="Sajassi" fullname="A. Sajassi" role="editor">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="S." surname="Salam" fullname="S. Salam">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="J." surname="Drake" fullname="J. Drake">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="J." surname="Uttaro" fullname="J. Uttaro">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="S." surname="Boutros" fullname="S. Boutros">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="J." surname="Rabadan" fullname="J. Rabadan">
              <organization showOnFrontPage="true"/>
            </author>
            <date year="2018" month="January"/>
            <abstract>
              <t indent="0">The MEF Forum (MEF) has defined a rooted-multipoint Ethernet service known as Ethernet-Tree (E-Tree).  A solution framework for supporting this service in MPLS networks is described in RFC 7387, "A Framework                                for Ethernet-Tree (E-Tree) Service over a Multiprotocol Label                                       Switching (MPLS) Network".  This document discusses how those functional requirements can be met with a solution based on RFC 7432, "BGP MPLS Based Ethernet VPN (EVPN)", with some extensions and a description of how such a solution can offer a more efficient implementation of these functions than that of RFC 7796, "Ethernet-Tree (E-Tree) Support in Virtual Private LAN Service (VPLS)". This document makes use of the most significant bit of the Tunnel Type field (in the P-Multicast Service Interface (PMSI) Tunnel attribute) governed by the IANA registry created by RFC 7385; hence, it updates RFC 7385 accordingly.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8317"/>
          <seriesInfo name="DOI" value="10.17487/RFC8317"/>
        </reference>
        <reference anchor="RFC8365" target="https://www.rfc-editor.org/info/rfc8365" quoteTitle="true" derivedAnchor="RFC8365">
          <front>
            <title>A Network Virtualization Overlay Solution Using Ethernet VPN (EVPN)</title>
            <author initials="A." surname="Sajassi" fullname="A. Sajassi" role="editor">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="J." surname="Drake" fullname="J. Drake" role="editor">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="N." surname="Bitar" fullname="N. Bitar">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="R." surname="Shekhar" fullname="R. Shekhar">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="J." surname="Uttaro" fullname="J. Uttaro">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="W." surname="Henderickx" fullname="W. Henderickx">
              <organization showOnFrontPage="true"/>
            </author>
            <date year="2018" month="March"/>
            <abstract>
              <t indent="0">This document specifies how Ethernet VPN (EVPN) can be used as a Network Virtualization Overlay (NVO) solution and explores the various tunnel encapsulation options over IP and their impact on the EVPN control plane and procedures.  In particular, the following encapsulation options are analyzed: Virtual Extensible LAN (VXLAN), Network Virtualization using Generic Routing Encapsulation (NVGRE), and MPLS over GRE.  This specification is also applicable to Generic Network Virtualization Encapsulation (GENEVE); however, some incremental work is required, which will be covered in a separate document.  This document also specifies new multihoming procedures for split-horizon filtering and mass withdrawal.  It also specifies EVPN route constructions for VXLAN/NVGRE encapsulations and Autonomous System Border Router (ASBR) procedures for multihoming of Network Virtualization Edge (NVE) devices.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8365"/>
          <seriesInfo name="DOI" value="10.17487/RFC8365"/>
        </reference>
        <reference anchor="RFC8402" target="https://www.rfc-editor.org/info/rfc8402" quoteTitle="true" derivedAnchor="RFC8402">
          <front>
            <title>Segment Routing Architecture</title>
            <author initials="C." surname="Filsfils" fullname="C. Filsfils" role="editor">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="S." surname="Previdi" fullname="S. Previdi" role="editor">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="L." surname="Ginsberg" fullname="L. Ginsberg">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="B." surname="Decraene" fullname="B. Decraene">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="S." surname="Litkowski" fullname="S. Litkowski">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="R." surname="Shakir" fullname="R. Shakir">
              <organization showOnFrontPage="true"/>
            </author>
            <date year="2018" month="July"/>
            <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"/>
        </reference>
        <reference anchor="RFC8669" target="https://www.rfc-editor.org/info/rfc8669" quoteTitle="true" derivedAnchor="RFC8669">
          <front>
            <title>Segment Routing Prefix Segment Identifier Extensions for BGP</title>
            <author initials="S." surname="Previdi" fullname="S. Previdi">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="C." surname="Filsfils" fullname="C. Filsfils">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="A." surname="Lindem" fullname="A. Lindem" role="editor">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="A." surname="Sreekantiah" fullname="A. Sreekantiah">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="H." surname="Gredler" fullname="H. Gredler">
              <organization showOnFrontPage="true"/>
            </author>
            <date year="2019" month="December"/>
            <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. The ingress node prepends an SR header to a packet containing a set of segment identifiers (SIDs). Each SID represents a topological or service-based instruction. Per-flow state is maintained only on the ingress node of the SR domain. An "SR domain" is defined as a single administrative domain for global SID assignment.</t>
              <t indent="0">This document defines an optional, transitive BGP attribute for announcing information about BGP Prefix Segment Identifiers (BGP Prefix-SIDs) and the specification for SR-MPLS SIDs.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8669"/>
          <seriesInfo name="DOI" value="10.17487/RFC8669"/>
        </reference>
        <reference anchor="RFC8754" target="https://www.rfc-editor.org/info/rfc8754" quoteTitle="true" derivedAnchor="RFC8754">
          <front>
            <title>IPv6 Segment Routing Header (SRH)</title>
            <author initials="C." surname="Filsfils" fullname="C. Filsfils" role="editor">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="D." surname="Dukes" fullname="D. Dukes" role="editor">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="S." surname="Previdi" fullname="S. Previdi">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="J." surname="Leddy" fullname="J. Leddy">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="S." surname="Matsushima" fullname="S. Matsushima">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="D." surname="Voyer" fullname="D. Voyer">
              <organization showOnFrontPage="true"/>
            </author>
            <date year="2020" month="March"/>
            <abstract>
              <t indent="0">Segment Routing can be applied to the IPv6 data plane using a new type of Routing Extension Header called the Segment Routing Header (SRH). This document describes the SRH and how it is used by nodes that are Segment Routing (SR) capable.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8754"/>
          <seriesInfo name="DOI" value="10.17487/RFC8754"/>
        </reference>
        <reference anchor="RFC8950" target="https://www.rfc-editor.org/info/rfc8950" quoteTitle="true" derivedAnchor="RFC8950">
          <front>
            <title>Advertising IPv4 Network Layer Reachability Information (NLRI) with an IPv6 Next Hop</title>
            <author initials="S." surname="Litkowski" fullname="S. Litkowski">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="S." surname="Agrawal" fullname="S. Agrawal">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="K." surname="Ananthamurthy" fullname="K. Ananthamurthy">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="K." surname="Patel" fullname="K. Patel">
              <organization showOnFrontPage="true"/>
            </author>
            <date year="2020" month="November"/>
            <abstract>
              <t indent="0">Multiprotocol BGP (MP-BGP) specifies that the set of usable next-hop address families is determined by the Address Family Identifier (AFI) and the Subsequent Address Family Identifier (SAFI).  The AFI/SAFI definitions for the IPv4 address family only have provisions for advertising a next-hop address that belongs to the IPv4 protocol when advertising IPv4 Network Layer Reachability Information (NLRI) or VPN-IPv4 NLRI. </t>
              <t indent="0">This document specifies the extensions necessary to allow the advertising of IPv4 NLRI or VPN-IPv4 NLRI with a next-hop address that belongs to the IPv6 protocol.  This comprises an extension of the AFI/SAFI definitions to allow the address of the next hop for IPv4 NLRI or VPN-IPv4 NLRI to also belong to the IPv6 protocol, the encoding of the next hop to determine which of the protocols the address actually belongs to, and a BGP Capability allowing MP-BGP peers to dynamically discover whether they can exchange IPv4 NLRI and VPN-IPv4 NLRI with an IPv6 next hop. This document obsoletes RFC 5549.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8950"/>
          <seriesInfo name="DOI" value="10.17487/RFC8950"/>
        </reference>
        <reference anchor="RFC8986" target="https://www.rfc-editor.org/info/rfc8986" quoteTitle="true" derivedAnchor="RFC8986">
          <front>
            <title>Segment Routing over IPv6 (SRv6) Network Programming</title>
            <author initials="C." surname="Filsfils" fullname="C. Filsfils" role="editor">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="P." surname="Camarillo" fullname="P. Camarillo" role="editor">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="J." surname="Leddy" fullname="J. Leddy">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="D." surname="Voyer" fullname="D. Voyer">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="S." surname="Matsushima" fullname="S. Matsushima">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="Z." surname="Li" fullname="Z. Li">
              <organization showOnFrontPage="true"/>
            </author>
            <date year="2021" month="February"/>
            <abstract>
              <t indent="0">The Segment Routing over IPv6 (SRv6) Network Programming framework enables a network operator or an application to specify a packet processing program by encoding a sequence of instructions in the IPv6 packet header.</t>
              <t indent="0">Each instruction is implemented on one or several nodes in the network and identified by an SRv6 Segment Identifier in the packet.</t>
              <t indent="0">This document defines the SRv6 Network Programming concept and specifies the base set of SRv6 behaviors that enables the creation of interoperable overlays with underlay optimization.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8986"/>
          <seriesInfo name="DOI" value="10.17487/RFC8986"/>
        </reference>
        <reference anchor="RFC9136" target="https://www.rfc-editor.org/info/rfc9136" quoteTitle="true" derivedAnchor="RFC9136">
          <front>
            <title>IP Prefix Advertisement in Ethernet VPN (EVPN)</title>
            <author initials="J." surname="Rabadan" fullname="J. Rabadan" role="editor">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="W." surname="Henderickx" fullname="W. Henderickx">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="J." surname="Drake" fullname="J. Drake">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="W." surname="Lin" fullname="W. Lin">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="A." surname="Sajassi" fullname="A. Sajassi">
              <organization showOnFrontPage="true"/>
            </author>
            <date year="2021" month="October"/>
            <abstract>
              <t indent="0">The BGP MPLS-based Ethernet VPN (EVPN) (RFC 7432) mechanism provides a flexible control plane that allows intra-subnet connectivity in an MPLS and/or Network Virtualization Overlay (NVO) (RFC 7365) network. In some networks, there is also a need for dynamic and efficient inter-subnet connectivity across Tenant Systems and end devices that can be physical or virtual and do not necessarily participate in dynamic routing protocols. This document defines a new EVPN route type for the advertisement of IP prefixes and explains some use-case examples where this new route type is used.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9136"/>
          <seriesInfo name="DOI" value="10.17487/RFC9136"/>
        </reference>
        <reference anchor="RFC9251" target="https://www.rfc-editor.org/info/rfc9251" quoteTitle="true" derivedAnchor="RFC9251">
          <front>
            <title>Internet Group Management Protocol (IGMP) and Multicast Listener Discovery (MLD) Proxies for Ethernet VPN (EVPN)</title>
            <author initials="A." surname="Sajassi" fullname="A. Sajassi">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="S." surname="Thoria" fullname="S. Thoria">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="M." surname="Mishra" fullname="M. Mishra">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="K." surname="Patel" fullname="K. Patel">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="J." surname="Drake" fullname="J. Drake">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="W." surname="Lin" fullname="W. Lin">
              <organization showOnFrontPage="true"/>
            </author>
            <date year="2022" month="June"/>
            <abstract>
              <t indent="0">This document describes how to support endpoints running the Internet Group Management Protocol (IGMP) or Multicast Listener Discovery (MLD) efficiently for the multicast services over an Ethernet VPN (EVPN) network by incorporating IGMP/MLD Proxy procedures on EVPN Provider Edges (PEs).</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9251"/>
          <seriesInfo name="DOI" value="10.17487/RFC9251"/>
        </reference>
      </references>
      <references pn="section-10.2">
        <name slugifiedName="name-informative-references">Informative References</name>
        <reference anchor="I-D.ietf-lsr-flex-algo" quoteTitle="true" target="https://datatracker.ietf.org/doc/html/draft-ietf-lsr-flex-algo-20" derivedAnchor="IGP-FLEX-ALGO">
          <front>
            <title>IGP Flexible Algorithm</title>
            <author initials="P" surname="Psenak" fullname="Peter Psenak" role="editor">
              <organization showOnFrontPage="true">Cisco Systems</organization>
            </author>
            <author initials="S" surname="Hegde" fullname="Shraddha Hegde">
              <organization showOnFrontPage="true">Juniper Networks</organization>
            </author>
            <author initials="C" surname="Filsfils" fullname="Clarence Filsfils">
              <organization showOnFrontPage="true">Cisco Systems</organization>
            </author>
            <author initials="K" surname="Talaulikar" fullname="Ketan Talaulikar">
              <organization showOnFrontPage="true">Arrcus, Inc</organization>
            </author>
            <author initials="A" surname="Gulko" fullname="Arkadiy Gulko">
              <organization showOnFrontPage="true">Edward Jones</organization>
            </author>
            <date month="May" day="18" year="2022"/>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-lsr-flex-algo-20"/>
          <refcontent>Work in Progress</refcontent>
        </reference>
        <reference anchor="RFC2827" target="https://www.rfc-editor.org/info/rfc2827" quoteTitle="true" derivedAnchor="RFC2827">
          <front>
            <title>Network Ingress Filtering: Defeating Denial of Service Attacks which employ IP Source Address Spoofing</title>
            <author initials="P." surname="Ferguson" fullname="P. Ferguson">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="D." surname="Senie" fullname="D. Senie">
              <organization showOnFrontPage="true"/>
            </author>
            <date year="2000" month="May"/>
            <abstract>
              <t indent="0">This paper discusses a simple, effective, and straightforward method for using ingress traffic filtering to prohibit DoS (Denial of Service) attacks which use forged IP addresses to be propagated from 'behind' an Internet Service Provider's (ISP) aggregation point.  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="38"/>
          <seriesInfo name="RFC" value="2827"/>
          <seriesInfo name="DOI" value="10.17487/RFC2827"/>
        </reference>
        <reference anchor="RFC3704" target="https://www.rfc-editor.org/info/rfc3704" quoteTitle="true" derivedAnchor="RFC3704">
          <front>
            <title>Ingress Filtering for Multihomed Networks</title>
            <author initials="F." surname="Baker" fullname="F. Baker">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="P." surname="Savola" fullname="P. Savola">
              <organization showOnFrontPage="true"/>
            </author>
            <date year="2004" month="March"/>
            <abstract>
              <t indent="0">BCP 38, RFC 2827, is designed to limit the impact of distributed denial of service attacks, by denying traffic with spoofed addresses access to the network, and to help ensure that traffic is traceable to its correct source network.  As a side effect of protecting the Internet against such attacks, the network implementing the solution also protects itself from this and other attacks, such as spoofed management access to networking equipment.  There are cases when this may create problems, e.g., with multihoming.  This document describes the current ingress filtering operational mechanisms, examines generic issues related to ingress filtering, and delves into the effects on multihoming in particular.  This memo updates RFC 2827.  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="84"/>
          <seriesInfo name="RFC" value="3704"/>
          <seriesInfo name="DOI" value="10.17487/RFC3704"/>
        </reference>
        <reference anchor="RFC4272" target="https://www.rfc-editor.org/info/rfc4272" quoteTitle="true" derivedAnchor="RFC4272">
          <front>
            <title>BGP Security Vulnerabilities Analysis</title>
            <author initials="S." surname="Murphy" fullname="S. Murphy">
              <organization showOnFrontPage="true"/>
            </author>
            <date year="2006" month="January"/>
            <abstract>
              <t indent="0">Border Gateway Protocol 4 (BGP-4), along with a host of other infrastructure protocols designed before the Internet environment became perilous, was originally designed with little consideration for protection of the information it carries.  There are no mechanisms internal to BGP that protect against attacks that modify, delete, forge, or replay data, any of which has the potential to disrupt overall network routing behavior.</t>
              <t indent="0">This document discusses some of the security issues with BGP routing data dissemination.  This document does not discuss security issues with forwarding of packets.  This memo provides information for the Internet community.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="4272"/>
          <seriesInfo name="DOI" value="10.17487/RFC4272"/>
        </reference>
        <reference anchor="RFC5925" target="https://www.rfc-editor.org/info/rfc5925" quoteTitle="true" derivedAnchor="RFC5925">
          <front>
            <title>The TCP Authentication Option</title>
            <author initials="J." surname="Touch" fullname="J. Touch">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="A." surname="Mankin" fullname="A. Mankin">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="R." surname="Bonica" fullname="R. Bonica">
              <organization showOnFrontPage="true"/>
            </author>
            <date year="2010" month="June"/>
            <abstract>
              <t indent="0">This document specifies the TCP Authentication Option (TCP-AO), which obsoletes the TCP MD5 Signature option of RFC 2385 (TCP MD5).  TCP-AO specifies the use of stronger Message Authentication Codes (MACs), protects against replays even for long-lived TCP connections, and provides more details on the association of security with TCP connections than TCP MD5.  TCP-AO is compatible with either a static Master Key Tuple (MKT) configuration or an external, out-of-band MKT management mechanism; in either case, TCP-AO also protects connections when using the same MKT across repeated instances of a connection, using traffic keys derived from the MKT, and coordinates MKT changes between endpoints.  The result is intended to support current infrastructure uses of TCP MD5, such as to protect long-lived connections (as used, e.g., in BGP and LDP), and to support a larger set of MACs with minimal other system and operational changes.  TCP-AO uses a different option identifier than TCP MD5, even though TCP-AO and TCP MD5 are never permitted to be used simultaneously.  TCP-AO supports IPv6, and is fully compatible with the proposed requirements for the replacement of TCP MD5.  [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="5925"/>
          <seriesInfo name="DOI" value="10.17487/RFC5925"/>
        </reference>
        <reference anchor="RFC6513" target="https://www.rfc-editor.org/info/rfc6513" quoteTitle="true" derivedAnchor="RFC6513">
          <front>
            <title>Multicast in MPLS/BGP IP VPNs</title>
            <author initials="E." surname="Rosen" fullname="E. Rosen" role="editor">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="R." surname="Aggarwal" fullname="R. Aggarwal" role="editor">
              <organization showOnFrontPage="true"/>
            </author>
            <date year="2012" month="February"/>
            <abstract>
              <t indent="0">In order for IP multicast traffic within a BGP/MPLS IP VPN (Virtual Private Network) to travel from one VPN site to another, special protocols and procedures must be implemented by the VPN Service Provider.  These protocols and procedures are specified in this document.  [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="6513"/>
          <seriesInfo name="DOI" value="10.17487/RFC6513"/>
        </reference>
        <reference anchor="RFC6952" target="https://www.rfc-editor.org/info/rfc6952" quoteTitle="true" derivedAnchor="RFC6952">
          <front>
            <title>Analysis of BGP, LDP, PCEP, and MSDP Issues According to the Keying and Authentication for Routing Protocols (KARP) Design Guide</title>
            <author initials="M." surname="Jethanandani" fullname="M. Jethanandani">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="K." surname="Patel" fullname="K. Patel">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="L." surname="Zheng" fullname="L. Zheng">
              <organization showOnFrontPage="true"/>
            </author>
            <date year="2013" month="May"/>
            <abstract>
              <t indent="0">This document analyzes TCP-based routing protocols, the Border Gateway Protocol (BGP), the Label Distribution Protocol (LDP), the Path Computation Element Communication Protocol (PCEP), and the Multicast Source Distribution Protocol (MSDP), according to guidelines set forth in Section 4.2 of "Keying and Authentication for            Routing Protocols Design Guidelines", RFC 6518.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="6952"/>
          <seriesInfo name="DOI" value="10.17487/RFC6952"/>
        </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="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" fullname="K. Patel">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="G." surname="Van de Velde" fullname="G. Van de Velde">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="S." surname="Sangli" fullname="S. Sangli">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="J." surname="Scudder" fullname="J. Scudder">
              <organization showOnFrontPage="true"/>
            </author>
            <date year="2021" month="April"/>
            <abstract>
              <t indent="0">This document defines a BGP path attribute known as the "Tunnel Encapsulation attribute", which can be used with BGP UPDATEs of various Subsequent Address Family Identifiers (SAFIs) to provide information needed to create tunnels and their corresponding encapsulation headers. It provides encodings for a number of tunnel types, along with procedures for choosing between alternate tunnels and routing packets into tunnels.</t>
              <t indent="0">This document obsoletes RFC 5512, which provided an earlier definition of the Tunnel Encapsulation attribute. RFC 5512 was never deployed in production. Since RFC 5566 relies on RFC 5512, it is likewise obsoleted. This document updates RFC 5640 by indicating that the Load-Balancing Block sub-TLV may be included in any Tunnel Encapsulation attribute where load balancing is desired.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9012"/>
          <seriesInfo name="DOI" value="10.17487/RFC9012"/>
        </reference>
        <reference anchor="I-D.ietf-spring-segment-routing-policy" quoteTitle="true" target="https://datatracker.ietf.org/doc/html/draft-ietf-spring-segment-routing-policy-22" derivedAnchor="SEGMENT-ROUTING-POLICY">
          <front>
            <title>Segment Routing Policy Architecture</title>
            <author initials="C." surname="Filsfils" fullname="Clarence Filsfils">
              <organization showOnFrontPage="true">Cisco Systems</organization>
            </author>
            <author initials="K." surname="Talaulikar" fullname="Ketan Talaulikar" role="editor">
              <organization showOnFrontPage="true">Cisco Systems</organization>
            </author>
            <author initials="D." surname="Voyer" fullname="Daniel Voyer">
              <organization showOnFrontPage="true">Bell Canada</organization>
            </author>
            <author initials="A." surname="Bogdanov" fullname="Alex Bogdanov">
              <organization showOnFrontPage="true">British Telecom</organization>
            </author>
            <author initials="P." surname="Mattes" fullname="Paul Mattes">
              <organization showOnFrontPage="true">Microsoft</organization>
            </author>
            <date month="March" day="22" year="2022"/>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-spring-segment-routing-policy-22"/>
          <refcontent>Work in Progress</refcontent>
        </reference>
      </references>
    </references>
    <section anchor="ACK" numbered="false" toc="include" removeInRFC="false" pn="section-appendix.a">
      <name slugifiedName="name-acknowledgements">Acknowledgements</name>
      <t indent="0" pn="section-appendix.a-1">The authors of this document would like to thank <contact fullname="Stephane       Litkowski"/>, <contact fullname="Rishabh Parekh"/>, <contact fullname="Xiejingrong"/>,
      <contact fullname="Rajesh M."/>, <contact fullname="Mustapha Aissaoui"/>,
      <contact fullname="Alexander Vainshtein"/>, <contact fullname="Eduard Metz"/>,
      <contact fullname="Shraddha Hegde"/>, <contact fullname="Eduard Vasilenko"/>,
      <contact fullname="Ron Bonica"/>, and <contact fullname="Joel Halpern"/>
      for their comments and review of this document. The
      authors would also like to thank Document Shepherd <contact fullname="Matthew Bocci"/> for his review and AD <contact fullname="Martin Vigoureux"/> for his review that
      resulted in helpful comments for improving this document.</t>
    </section>
    <section numbered="false" toc="include" removeInRFC="false" pn="section-appendix.b">
      <name slugifiedName="name-contributors">Contributors</name>
      <contact fullname="Clarence Filsfils">
        <organization showOnFrontPage="true">Cisco</organization>
        <address>
          <postal/>
          <email>cfilsfil@cisco.com</email>
        </address>
      </contact>
      <contact fullname="Satoru Matsushima">
        <organization showOnFrontPage="true">SoftBank</organization>
        <address>
          <postal/>
          <email>satoru.matsushima@g.softbank.co.jp</email>
        </address>
      </contact>
      <contact fullname="Dirk Steinberg">
        <organization showOnFrontPage="true">Steinberg Consulting</organization>
        <address>
          <postal/>
          <email>dirk@lapishills.com</email>
        </address>
      </contact>
      <contact fullname="Daniel Bernier">
        <organization showOnFrontPage="true">Bell Canada</organization>
        <address>
          <postal/>
          <email>daniel.bernier@bell.ca</email>
        </address>
      </contact>
      <contact fullname="Daniel Voyer">
        <organization showOnFrontPage="true">Bell Canada</organization>
        <address>
          <postal/>
          <email>daniel.voyer@bell.ca</email>
        </address>
      </contact>
      <contact fullname="Jonn Leddy">
        <organization showOnFrontPage="true">Individual</organization>
        <address>
          <postal/>
          <email>john@leddy.net</email>
        </address>
      </contact>
      <contact fullname="Swadesh Agrawal">
        <organization showOnFrontPage="true">Cisco</organization>
        <address>
          <postal/>
          <email>swaagraw@cisco.com</email>
        </address>
      </contact>
      <contact fullname="Patrice Brissette">
        <organization showOnFrontPage="true">Cisco</organization>
        <address>
          <postal/>
          <email>pbrisset@cisco.com</email>
        </address>
      </contact>
      <contact fullname="Ali Sajassi">
        <organization showOnFrontPage="true">Cisco</organization>
        <address>
          <postal/>
          <email>sajassi@cisco.com</email>
        </address>
      </contact>
      <contact fullname="Bart Peirens">
        <organization showOnFrontPage="true">Proximus</organization>
        <address>
          <postal>
            <country>Belgium</country>
          </postal>
          <email>bart.peirens@proximus.com</email>
        </address>
      </contact>
      <contact fullname="Darren Dukes">
        <organization showOnFrontPage="true">Cisco</organization>
        <address>
          <postal/>
          <email>ddukes@cisco.com</email>
        </address>
      </contact>
      <contact fullname="Pablo Camarilo">
        <organization showOnFrontPage="true">Cisco</organization>
        <address>
          <postal/>
          <email>pcamaril@cisco.com</email>
        </address>
      </contact>
      <contact fullname="Shyam Sethuram">
        <organization showOnFrontPage="true">Cisco</organization>
        <address>
          <postal/>
          <email>shyam.ioml@gmail.com</email>
        </address>
      </contact>
      <contact fullname="Zafar Ali">
        <organization showOnFrontPage="true">Cisco</organization>
        <address>
          <postal/>
          <email>zali@cisco.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="Gaurav Dawra" initials="G" role="editor" surname="Dawra">
        <organization showOnFrontPage="true">LinkedIn</organization>
        <address>
          <postal>
            <street/>
            <country>United States of America</country>
          </postal>
          <email>gdawra.ietf@gmail.com</email>
        </address>
      </author>
      <author fullname="Ketan Talaulikar" initials="K" role="editor" surname="Talaulikar">
        <organization showOnFrontPage="true">Cisco Systems</organization>
        <address>
          <postal>
            <street/>
            <country>India</country>
          </postal>
          <email>ketant.ietf@gmail.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="Bruno Decraene" initials="B" surname="Decraene">
        <organization showOnFrontPage="true">Orange</organization>
        <address>
          <postal>
            <street/>
            <country>France</country>
          </postal>
          <email>bruno.decraene@orange.com</email>
        </address>
      </author>
      <author fullname="Shunwan Zhuang" initials="S" surname="Zhuang">
        <organization showOnFrontPage="true">Huawei Technologies</organization>
        <address>
          <postal>
            <street/>
            <country>China</country>
          </postal>
          <email>zhuangshunwan@huawei.com</email>
        </address>
      </author>
      <author fullname="Jorge Rabadan" initials="J" surname="Rabadan">
        <organization showOnFrontPage="true">Nokia</organization>
        <address>
          <postal>
            <street/>
            <country>United States of America</country>
          </postal>
          <email>jorge.rabadan@nokia.com</email>
        </address>
      </author>
    </section>
  </back>
</rfc>
