<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE rfc [
  <!ENTITY nbsp    "&#160;">
  <!ENTITY zwsp   "&#8203;">
  <!ENTITY nbhy   "&#8209;">
  <!ENTITY wj     "&#8288;">
]>
<?xml-stylesheet type="text/xsl" href="rfc2629.xslt" ?>
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-krierhorn-idr-upa-02" category="std" consensus="true" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <front>
    <title abbrev="BGP UPA">BGP Unreachable Prefix Announcement (UPA)</title>
    <seriesInfo name="Internet-Draft" value="draft-krierhorn-idr-upa-02"/>
    <author initials="S." surname="Krier" fullname="Serge Krier" role="editor">
      <organization>Cisco Systems</organization>
      <address>
        <postal>
          <street>De Kleetlaan 6a</street>
          <city>Diegem</city>
          <code>1831</code>
          <country>Belgium</country>
        </postal>
        <email>sekrier@cisco.com</email>
      </address>
    </author>
    <author initials="J." surname="Horn" fullname="Jakub Horn">
      <organization>Cisco Systems</organization>
      <address>
        <postal>
          <city>Milpitas</city>
          <code>CA 95035</code>
          <country>USA</country>
        </postal>
        <email>jakuhorn@cisco.com</email>
      </address>
    </author>
    <author initials="M." surname="Ciurea" fullname="Mihai Ciurea">
      <organization>Swisscom AG</organization>
      <address>
        <postal>
          <street>Alte Tiefenaustrasse 6</street>
          <city>Worblaufen</city>
          <code>3048</code>
          <country>Switzerland</country>
        </postal>
        <email>mihai.ciurea@swisscom.com</email>
      </address>
    </author>

    <author initials="J." surname="Tantsura" fullname="Jeff Tantsura">
      <organization>Nvidia</organization>
      <address>
        <postal>
          <country>USA</country>
        </postal>
        <email>jefftant.ietf@gmail.com</email>
      </address>
    </author>

      <author initials="K." surname="Patel" fullname="Keyur Patel">
      <organization>Arrcus, Inc.</organization>
      <address>
        <postal>
          <street>2077 Gateway Pl</street>
          <city>San Jose, CA</city>
          <code>95110</code>
          <country>USA</country>
        </postal>
        <email>keyur@arrcus.com</email>
      </address>
    </author>
    <date year="2026" month="May" day="18"/>
    <area>Routing</area>
    <workgroup>Inter-Domain Routing</workgroup>
    <keyword>UPA</keyword>
    <keyword>PIC</keyword>
    <abstract>
      <t>Summarization is often used in multi-domain networks to improve
   network efficiency and scalability. With summarization in place,
   there is a need to signal loss of reachability to an individual
   prefix covered by the summary. This enables fast convergence by
   steering traffic away from the node which owns the prefix and is
   no longer reachable.</t>
   <t>
     This document specifies the mechanism, referred to as Unreachable Prefix Announcement (UPA),
     for networks where BGP is used to carry summary routes. It is also equally beneficial for operators
     to share the unreachable prefixes.
      </t>
    </abstract>
    <note removeInRFC="true">
      <name>About This Document</name>
      <t>
        Status information for this document may be found at <eref target="https://datatracker.ietf.org/doc/draft-krierhorn-idr-upa/"/>.
      </t>
      <t>
        Discussion of this document takes place on the
        Inter-Domain Routing Working Group mailing list (<eref target="mailto:idr@ietf.org"/>),
        which is archived at <eref target="https://mailarchive.ietf.org/arch/browse/idr/"/>.
        Subscribe at <eref target="https://www.ietf.org/mailman/listinfo/idr/"/>.
      </t>
    </note>
  </front>
  <middle>
    <section anchor="introduction">
      <name>Introduction</name>
      <t>
In modern networks, route summarization is a common practice to
   reduce routing table size and improve scalability.  However,
   summarization can mask the loss of reachability of specific prefixes
   covered by the summary route, leading to slower convergence times.
      </t>
      <t>
   To address this, 
   an Unreachable Prefix Announcement (UPA) mechanism <xref target="RFC9929"/> has been 
   specified for Interior Gateway Protocols (IGPs) to
   explicitly signal the loss of specific prefixes, enabling fast
   convergence mechanisms like BGP Prefix Independent Convergence (PIC)
   <xref target="I-D.ietf-rtgwg-bgp-pic"/> on ingress devices.
      </t>
      <t>
   This document proposes a similar UPA mechanism for BGP. In multi-AS
   networks where IGP is not running end-to-end, a BGP-based UPA is
   crucial.  It ensures that the loss of reachability for a specific
   prefix which might be part of a summarized route, can be quickly signaled across AS
   boundaries, thereby enabling fast convergence without compromising on the scaling
    benefits of route summarization.

   </t>
    </section>
    <section anchor="conventions-and-definitions">
      <name>Conventions and Definitions</name>
      <t>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"/> <xref target="RFC8174"/> when, and only when, they
appear in all capitals, as shown here.</t>
    </section>
    <section anchor="terminology">
      <name>Terminology</name>
      <ul spacing="normal">
        <li>
          <t>UPA: Unreachable Prefix Announcement.</t>
        </li>
        <li>
          <t>BGP PIC: BGP Prefix Independent Convergence.</t>
        </li>
        <li>
          <t>PE: Provider Edge router.</t>
        </li>
        <li>
          <t>AS: Autonomous System.</t>
        </li>
        <li>
          <t>RIB: Routing Information Base.</t>
        </li>
        <li>
          <t>MP_REACH: Multiprotocol Reachable NLRI.</t>
        </li>
        <li>
          <t>MP_UNREACH: Multiprotocol Unreachable NLRI.</t>
        </li>
        <li>
          <t>ExtCom: Extended Community.</t>
        </li>
        <li>
          <t>AFI: Address Family Identifier.</t>
        </li>
        <li>
          <t>SAFI: Subsequent Address Family Identifier.</t>
        </li>
      </ul>
    </section>

    <section anchor="applicability">
      <name>Applicability</name>
      <t>
	   BGP UPA applies to any operator network where BGP carries
   reachability information and summarization is performed.  When a specific prefix within a summary becomes
   unreachable, the UPA mechanism is needed to signal this loss of reachability across
   the network to edge or leaf routers to trigger fast reconvergence (e.g., to trigger BGP-PIC at the ingress PEs).
      </t>
      <t>
        A typical deployment scenario is a multi-AS network where BGP is
   used to carry IP Prefixes using either AFI=1/2, SAFI=1.  However, the mechanism
   described in this document is equally applicable to any BGP address
   family that uses route summarization, such as BGP CAR for SRv6 <xref target="RFC9871"/>
   or Ethernet VPN (EVPN) Route Type 5 <xref target="RFC9136"/>.
   </t>
   <t>
     The BGP UPA mechanism is intended to be enabled and deployed in a
   network under the administration of a single operator or cooperative
   operators (either a single AS or multi-AS).
   </t>
    </section>

    <section anchor="bgp-upa-signaling">
      <name>BGP UPA Signaling</name>
      <t>A BGP UPA is signaled as a BGP UPDATE used to indicate the loss of
   reachability of a specific prefix.</t>
      <t>The specific prefix whose reachability is lost is encoded in the
   MP_REACH_NLRI attribute <xref target="RFC4760"/>. The next-hop is set
   following standard BGP procedures.</t>
      <t>The UPA Extended Community (as defined in Section 5.1) <bcp14>MUST</bcp14> be
   attached to the route to identify it as a UPA.</t>
      <t>An Update message carrying a UPA <bcp14>MUST</bcp14> only contain UPA prefixes (i.e.,
   no other reachability advertisements or withdrawals) due to the
   presence of the UPA Extended Community.</t>
      <t>To withdraw a previously announced UPA, a BGP speaker sends an
      MP_UNREACH_NLRI <xref target="RFC4760"/> for the UPA prefix.</t>
      
      <section anchor="upa-extended-community">
        <name>UPA Extended Community</name>
        <t>A new  Transitive Opaque Extended Community is defined
   for UPA.</t>
        <t>The structure of this Extended Community is as follows:</t>
        <artwork><![CDATA[
 0                   1                   2                   3
 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|     Type      |   Sub-Type    |     Flags     |   Reserved    |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                       BGP Router ID                           |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
]]></artwork>
        <ul spacing="normal">
          <li>
            <t>Type Field: 0x03 (Transitive Opaque Extended Community, per <xref target="RFC7153"/>).</t>
          </li>
          <li>
            <t>Sub-Type Field: TBD (assigned by IANA).</t>
          </li>
          <li>
            <t>Flags Field (1 byte): See below.</t>
          </li>
          <li>
            <t>Reserved (1 byte): <bcp14>MUST</bcp14> be set to zero on transmission and
ignored on receipt.</t>
          </li>
          <li>
            <t>BGP Router ID (4 bytes): This field carries the BGP
Router-ID of the node originating the UPA in BGP. This is helpful
for the identification of the originator in a multi-domain network
since the deployment is intended within a single administrative
domain. It is assumed that BGP Router-IDs are unique within the
operator's managed ASes. It does not influence route selection or forwarding behavior.</t>
          </li>
        </ul>
        <t>The Flags field is 8 bits in length and is defined as follows:</t>
        <artwork><![CDATA[
 0 1 2 3 4 5 6 7
+-+-+-+-+-+-+-+-+
|D|   Reserved  |
+-+-+-+-+-+-+-+-+
]]></artwork>
        <ul spacing="normal">
          <li>
            <t>Bit 0 (D bit): If set, the forwarding entry corresponding to the route 
            <bcp14>SHOULD</bcp14> be set to drop the traffic received for it. 
            The receiver <bcp14>MAY</bcp14> skip installing such a forwarding entry due to local policy 
            or when it is a route-reflector that is not in the forwarding path.
            </t>
          </li>
          <li>
            <t>Bits 1-7: These bits <bcp14>MUST</bcp14> be set to zero and ignored on
receipt.</t>
          </li>
        </ul>
      </section>
    </section>

    
    <section anchor="trigger-for-upa-origination-in-bgp">
      <name>Trigger for UPA Origination in BGP</name>
      <t>UPA origination in BGP can be triggered by multiple scenarios
   and following are two scenarios:</t>
      <section anchor="scenario-a-igp-redistribution-of-summary-into-bgp">
        <name>Scenario A: IGP Redistribution of Summary into BGP</name>
        <t>When an IGP summary route is redistributed into BGP, and a specific
   component prefix within that summary loses reachability in the IGP,
   the UPA indication is conveyed from IGP to BGP. The details of this
   mechanism is implementation specific and outside the scope of this
   document.</t>
      </section>
      <section anchor="scenario-b-bgp-aggregationsummarization">
        <name>Scenario B: BGP Aggregation/Summarization</name>
        <t>When BGP itself is performing summarization, and a
   constituent specific route goes away, the UPA is triggered internally
   within BGP.</t>
        <t>Implementations <bcp14>SHOULD</bcp14> provide a configurable option to specify which
   types of specific prefixes trigger UPA (e.g., only /48 prefixes for
   SRv6 locators).</t>
      </section>
    </section>
    
    <section anchor="upa-origination-in-bgp">
      <name>UPA Origination in BGP</name>
      <t>
	UPA origination is triggered
   by BGP only in the absence of a valid reachable route for
   that specific prefix.  The origination of UPA indication involves the
   update generation of the BGP UPA message as specified in
   <xref target="bgp-upa-signaling"/>.
      </t>

      <t>
   The UPA route <bcp14>MUST</bcp14> be withdrawn when the specific prefix becomes reachable. The originator <bcp14>MAY</bcp14> withdraw the UPA route before the specific prefix becomes reachable if the use of the UPA in the deployment was only to serve as an event notification of unreachability that does not require the unreachability state to be maintained until that prefix becomes reachable.
      </t>
    </section>
    
    <section anchor="upa-propagation-in-bgp">
      <name>UPA Propagation in BGP</name>
      <t>
	The propagation of UPA messages in BGP follows the same principles as
   UPA origination. BGP speakers receiving a UPA will process it (refer
   to <xref target="upa-processing-in-bgp"/>) and propagate it to their peers as appropriate.
      </t>
      <t>
	When a BGP speaker receives routes with the UPA ExtCom from multiple
   peers, it <bcp14>MUST</bcp14> aggregate the UPA ExtComs from all UPA routes when
   propagating the UPA message. This ensures that the receiver gets all
   the originators of the UPA when this is being triggered from multiple
   routers.</t>
    </section>
    
    <section anchor="upa-processing-in-bgp">
      <name>UPA Processing in BGP</name>
      <t>
	A BGP speaker processes UPA messages only for those prefixes for
   which it does not have a valid reachable route. A route carrying the
   UPA Extended Community is not considered a valid reachable route for
   this purpose. If a valid reachable route for the prefix is
   subsequently received, it <bcp14>MUST</bcp14> take precedence over the UPA route.
      </t>
      <t>
	In the absence of a valid reachable route for a prefix, the UPA
   route for that prefix becomes the best route. However, since it is
   not a reachable route, it <bcp14>MUST NOT</bcp14> be considered as valid for
   forwarding traffic or redistribution into other protocols except as
   unreachable. A forwarding entry <bcp14>SHOULD</bcp14> be programmed with indication
   to drop traffic matching that prefix, if the UPA ExtCom has the
   drop D-bit flag set.
      </t>
      <t>
	The processing of UPA message on certain BGP speakers would also involve notification of unreachability depending on the deployment use case.  The details of this mechanism
   are outside the scope of this document.
      </t>
    </section>
    
    <section anchor="backwards-compatibility">
      <name>Backwards Compatibility</name>
      <t>
	   A BGP speaker that does not understand the UPA Extended Community
   will treat the UPA as a standard route advertisement for the prefix.
   Due to longest-prefix-match, this may attract traffic toward a next-hop
   that cannot deliver it to the unreachable destination.  However, this would not be significantly
   different than when the forwarding happens using the summary.
   This can be addressed by mechanisms in <xref target="operational-considerations"/>.
      </t>
      <t>
	Also, the UPA ExtCom being transitive will be carried as unknown ExtCom across BGP Speakers which do not understand it and get treated correctly at routers that understand UPA.
	To prevent this, a BGP speaker <bcp14>MUST</bcp14> only send UPA messages to peers that
   are known to support UPA processing.

      </t>
      <t>
	   Implementations <bcp14>SHOULD</bcp14> provide a configuration knob to enable UPA
   propagation to specific neighbors.  The default <bcp14>MUST</bcp14> be to not
   propagate UPA messages.  This ensures that UPA propagation can be
   limited to the desired domain or network boundary.

      </t>
    </section>

    <section anchor="operational-considerations">
      <name>Operational Considerations</name>
      <t>By default, UPA origination <bcp14>MUST</bcp14> be disabled. Implementations
   <bcp14>SHOULD</bcp14> provide a configurable option to enable UPA origination on
   a per-address-family basis.</t>
      <t>By default, the propagation of UPA <bcp14>MUST</bcp14> be disabled across AS
   boundaries. Implementations <bcp14>SHOULD</bcp14> provide a configuration knob to
   enable UPA propagation to specific neighbors. This ensures that UPA
   propagation can be limited to the desired domain or network
   boundary.</t>
      <t>Implementations <bcp14>SHOULD</bcp14> provide configuration to allow operators to enforce limits
       on the number of UPA routes
   that can be originated at any given time. This prevents excessive
   UPA generation during large-scale failures which could overwhelm
   BGP speakers and degrade network stability. The specific limits are
   implementation-defined and <bcp14>SHOULD</bcp14> be configurable by the operator.</t>
    </section>

    <section anchor="security-considerations">
      <name>Security Considerations</name>
      <t>The primary security consideration relates to the potential for
   leakage of internal infrastructure details into the public Internet
   if filtering route policies are misconfigured. The explicit signaling
   of unreachable prefixes via UPA could reveal more granular internal
   network topology information if not properly contained.</t>
      <t>Operators <bcp14>SHOULD</bcp14> ensure robust filtering policies are in place at AS
   boundaries. The operational considerations in this document can serve
   as a mitigation strategy to limit the scope of UPA messages to trusted
   domains.</t>
    </section>
    

    
    <section anchor="IANA">
      <name>IANA Considerations</name>
  <t>
    This document requests IANA to perform the following actions.
  </t>

  <section anchor="IANA_Ext_Comm">
    <name>BGP Transitive Opaque Extended Community Sub-Type</name>
    <t>
      IANA is requested to assign a Sub-Type for the "UPA Extended Community" 
      (defined in this document) from the "BGP Extended Communities" registry, 
      specifically within the "Transitive Opaque Extended Community Sub-Types" sub-registry.
    </t>
    <table anchor="table_sub_type" align="center">
      <name>New Transitive Opaque Extended Community Sub-Type</name>
      <thead>
        <tr>
          <th>Sub-Type Value</th>
          <th>Description</th>
          <th>Reference</th>
        </tr>
      </thead>
      <tbody>
        <tr>
          <td>TBD</td>
          <td>UPA Extended Community</td>
          <td>[This-Doc]</td>
        </tr>
      </tbody>
    </table>
    <t>
      Note to IANA: The assignment should be made from the First Come First Served (FCFS) 
      range (0x00-0xBF) as per <xref target="RFC7153"/>.
    </t>
  </section>

  <section anchor="IANA_Flags">
    <name>UPA Flags Registry</name>
    <t>
      IANA is requested to create a new registry for the 8-bit "UPA Flags" 
      field of the UPA Extended Community.
    </t>
    <t>
      The registration policy for this registry is "IETF Review" or "Expert Review" 
      as per <xref target="RFC8126"/>.
    </t>
    <table anchor="table_flags" align="center">
      <name>UPA Flags</name>
      <thead>
        <tr>
          <th>Bit</th>
          <th>Description</th>
          <th>Reference</th>
        </tr>
      </thead>
      <tbody>
        <tr>
          <td>0</td>
          <td>D-bit (Drop bit)</td>
          <td>[This-Doc]</td>
        </tr>
        <tr>
          <td>1-7</td>
          <td>Unassigned</td>
          <td></td>
        </tr>
      </tbody>
    </table>
  </section>
</section>


  </middle>
  <back>
  
    <references anchor="sec-combined-references">
      <name>References</name>
      <references anchor="sec-normative-references">
        <name>Normative References</name>
        
        <!-- RFC 7153: IANA Registries for BGP Extended Communities -->
      <reference anchor="RFC7153" target="https://www.rfc-editor.org/info/rfc7153">
        <front>
          <title>IANA Registries for BGP Extended Communities</title>
          <author initials="E." surname="Rosen" fullname="E. Rosen"/>
          <date year="2014" month="January"/>
        </front>
        <seriesInfo name="RFC" value="7153"/>
        <seriesInfo name="DOI" value="10.17487/RFC7153"/>
      </reference>

      <!-- RFC 8126: Guidelines for Writing an IANA Considerations Section -->
      <reference anchor="RFC8126" target="https://www.rfc-editor.org/info/rfc8126">
        <front>
          <title>Guidelines for Writing an IANA Considerations Section in RFCs</title>
          <author initials="M." surname="Cotton" fullname="M. Cotton"/>
          <author initials="B." surname="Leiba" fullname="B. Leiba"/>
          <author initials="T." surname="Narten" fullname="T. Narten"/>
          <date year="2017" month="June"/>
        </front>
        <seriesInfo name="RFC" value="8126"/>
        <seriesInfo name="DOI" value="10.17487/RFC8126"/>
      </reference>
      
        <reference anchor="RFC4760" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.4760.xml">
          <front>
            <title>Multiprotocol Extensions for BGP-4</title>
            <author fullname="T. Bates" initials="T." surname="Bates"/>
            <author fullname="R. Chandra" initials="R." surname="Chandra"/>
            <author fullname="D. Katz" initials="D." surname="Katz"/>
            <author fullname="Y. Rekhter" initials="Y." surname="Rekhter"/>
            <date month="January" year="2007"/>
            <abstract>
              <t>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="RFC2119" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.2119.xml">
          <front>
            <title>Key words for use in RFCs to Indicate Requirement Levels</title>
            <author fullname="S. Bradner" initials="S." surname="Bradner"/>
            <date month="March" year="1997"/>
            <abstract>
              <t>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="RFC8174" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8174.xml">
          <front>
            <title>Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words</title>
            <author fullname="B. Leiba" initials="B." surname="Leiba"/>
            <date month="May" year="2017"/>
            <abstract>
              <t>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>
      </references>
      <references anchor="sec-informative-references">
        <name>Informative References</name>
        <reference anchor="RFC9929" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.9929.xml">
          <front>
            <title>IGP Unreachable Prefix Announcement</title>
            <author fullname="P. Psenak" initials="P." surname="Psenak"/>
            <author fullname="C. Filsfils" initials="C." surname="Filsfils"/>
            <author fullname="D. Voyer" initials="D." surname="Voyer"/>
            <author fullname="S. Hegde" initials="S." surname="Hegde"/>
            <author fullname="G. S. Mishra" initials="G. S." surname="Mishra"/>
            <date month="March" year="2026"/>
          </front>
          <seriesInfo name="RFC" value="9929"/>
          <seriesInfo name="DOI" value="10.17487/RFC9929"/>
        </reference>
        <reference anchor="I-D.ietf-rtgwg-bgp-pic">
          <front>
            <title>BGP Prefix Independent Convergence</title>
            <author fullname="Ahmed Bashandy" initials="A." surname="Bashandy">
              <organization>Cisco Systems</organization>
            </author>
            <author fullname="Clarence Filsfils" initials="C." surname="Filsfils">
              <organization>Cisco Systems</organization>
            </author>
            <author fullname="Prodosh Mohapatra" initials="P." surname="Mohapatra">
              <organization>Sproute Networks</organization>
            </author>
            <date day="20" month="April" year="2025"/>
            <abstract>
              <t>In a network comprising thousands of BGP peers exchanging millions of
routes, many routes are reachable via more than one next-hop. Given
the large scaling targets, it is desirable to restore traffic after
failure in a time period that does not depend on the number of BGP
prefixes.

This document describes an architecture by which traffic can be re-
routed to equal cost multi-path (ECMP) or pre-calculated backup paths
in a timeframe that does not depend on the number of BGP prefixes.
The objective is achieved through organizing the forwarding data
structures in a hierarchical manner and sharing forwarding elements
among the maximum possible number of routes. The described technique
yields prefix independent convergence while ensuring incremental
deployment, complete automation, and zero management and provisioning
effort. It is noteworthy to mention that the benefits of BGP Prefix
Independent Convergence (BGP-PIC) are hinged on the existence of more
than one path whether as ECMP or primary-backup.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-rtgwg-bgp-pic-22"/>
        </reference>
        <reference anchor="RFC9136">
          <front>
            <title>IP Prefix Advertisement in Ethernet VPN (EVPN)</title>
            <author fullname="J. Rabadan" initials="J." surname="Rabadan"/>
            <author fullname="W. Henderickx" initials="W." surname="Henderickx"/>
            <author fullname="J. Drake" initials="J." surname="Drake"/>
            <author fullname="W. Lin" initials="W." surname="Lin"/>
            <author fullname="A. Sajassi" initials="A." surname="Sajassi"/>
            <date month="October" year="2021"/>
          </front>
          <seriesInfo name="RFC" value="9136"/>
          <seriesInfo name="DOI" value="10.17487/RFC9136"/>
        </reference>
        <reference anchor="RFC9871">
          <front>
            <title>BGP Color-Aware Routing (CAR)</title>
            <author fullname="D. Rao" initials="D." surname="Rao"/>
            <author fullname="K. Talaulikar" initials="K." surname="Talaulikar"/>
            <author fullname="R. Raszuk" initials="R." surname="Raszuk"/>
            <author fullname="B. Decraene" initials="B." surname="Decraene"/>
            <author fullname="L. Jalil" initials="L." surname="Jalil"/>
            <date day="20" month="November" year="2025"/>
          </front>
          <seriesInfo name="RFC" value="9871"/>
          <seriesInfo name="DOI" value="10.17487/RFC9871"/>
        </reference>
      </references>
    </references>
    <section numbered="false" anchor="acknowledgments">
      <name>Acknowledgments</name>
      <t>The authors would like to acknowledge the contribution of Ketan Talaulikar,
      Clarence Filsfils for their valuable input and review of this document. The authors would like also to
      recognize Swadesh Agrawal and Dhananjaya Rao for the initial idea.</t>
    </section>
    <section numbered="false" anchor="contributors">
      <name>Contributors</name>
      <contact fullname="Krishnaswamy Ananthamurthy">
        <organization>Cisco Systems</organization>
        <address>
          <postal>
            <street>170 W. Tasman Drive</street>
            <city>San Jose, CA</city>
            <code>95134</code>
            <country>United States of America</country>
          </postal>
          <email>kriswamy@cisco.com</email>
        </address>
      </contact>
    </section>
  </back>
</rfc>
