<?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-01" category="std" consensus="true" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <front>
    <title abbrev="BGP UPA">SRv6 BGP Unreachable Prefix Announcement (UPA)</title>
    <seriesInfo name="Internet-Draft" value="draft-krierhorn-idr-upa-01"/>
    <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>
	   <street></street>
	   <city></city>
	   <code></code>
	   <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="2025" month="October" day="20"/>
    <area>Routing</area>
    <workgroup>Inter-Domain Routing</workgroup>
    <keyword>UPA</keyword>
    <keyword>PIC</keyword>
    <abstract>
      <?line 57?>

<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 mechanism, referred to as Unreachable Prefix Announcement
   (UPA), has been specified for IGPs. This document specifies an
   and equivalent BGP mechanism for multi-AS networks where BGP
   is used to carry summary routes.</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>
    <?line 72?>

<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. To
   address this, Interior Gateway Protocols (IGPs) have implemented an
   Unreachable Prefix Announcement (UPA) mechanism
   <xref target="I-D.ietf-lsr-igp-ureach-prefix-announce"/> 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, particularly those leveraging SRv6, where IGP is not
   running end-to-end, a BGP-based UPA is crucial. It ensures that the
   loss of reachability for an SRv6 locator or an egress PE loopback,
   which might be part of a summarized route, can be quickly communicated
   across AS boundaries, thereby maintaining fast convergence and network
   stability.</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>
      <?line -18?>

</section>
    <section anchor="terminology">
      <name>Terminology</name>
      <ul spacing="normal">
        <li>
          <t>UPA: Unreachable Prefix Announcement.</t>
        </li>
        <li>
          <t>SRv6: Segment Routing over IPv6.</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_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="reference-deployment-scenario">
      <name>Reference Deployment Scenario</name>
      <t>The primary deployment scenario for BGP UPA is a multi-AS network
   with an SRv6 deployment. In this environment, BGP is used to carry
   SRv6 locators across AS boundaries, and summarization is performed at
   these boundaries to maintain scalability. When a specific SRv6
   locator within a summary becomes unreachable, the UPA mechanism is
   needed to signal this event across the ASes to the ingress PEs to
   trigger BGP-PIC.</t>
      <t>This document considers two primary BGP transport options for SRv6:</t>
      <ul spacing="normal">
        <li>
          <t>BGP IPv6 Unicast (AFI=2, SAFI=1)</t>
        </li>
        <li>
          <t>BGP CAR for SRv6 (AFI=2, SAFI=83)</t>
        </li>
      </ul>
      <t>While both options are viable, the rest of this document primarily
   considers the use of BGP IPv6 Unicast but the described UPA mechanism
   is applicable to just as well to BGP CAR or any other BGP transport
   routing deployment that uses route summarization.</t>
    </section>
    <section anchor="bgp-upa-message-format">
      <name>BGP UPA Message Format</name>
      <t>A BGP UPA message is used to announce the loss of reachability of a
   specific prefix.</t>
      <t>The specific prefix whose reachability is lost is encoded in the
   MP_UNREACH_NLRI attribute <xref target="RFC4760"/>.</t>
      <t>The UPA Extended Community (as defined in Section 5.1) is the only
   other attribute that applies to a UPA message.</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>
      <section anchor="upa-extended-community">
        <name>UPA Extended Community</name>
        <t>A new Transitive IPv4-Address-Specific Extended Community is defined
   for UPA.</t>
        <t>The structure of this Extended Community is as follows:</t>
        <ul spacing="normal">
          <li>
            <t>Type Field: TBD (assigned by IANA).</t>
          </li>
          <li>
            <t>Sub-Type Field: TBD (assigned by IANA).</t>
          </li>
          <li>
            <t>Global Administrator Field (4 bytes): This field carries the BGP
Router-ID of the node originating the UPA in BGP. This is helpful
for troubleshooting and tracing the originator in a multi-domain
network. It is assumed that BGP Router-IDs are unique within the
operator's managed ASes.</t>
          </li>
          <li>
            <t>Local Administrator Field (2 bytes): This field is set to zero.</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 two main 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 aggregation or 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 trigger (in either of the two scenarios) is processed
   by BGP only when in the absense of a valid reachable route in BGP for
   that specific prefix. The origination of UPA indication involves the
   update generation of the BGP UPA message as specified in Section 5.</t>
      <t>The UPA state for the prefix <bcp14>SHOULD</bcp14> be retained for a time period to
   ensure it has been propagated to its neighbors and avoid generation
   of multiple UPA messages for the same prefix.</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
   Section 7) and propagate it to their peers as appropriate.</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. The processing
   of UPA message involves notification of unreachability within
   the router to trigger BGP PIC. The details of this mechanism are
   outside the scope of this document.</t>
    </section>
    <section anchor="upa-timer">
      <name>UPA Timer</name>
      <t>The UPA state needs to be retained in the BGP table for a
   configurable duration. This is crucial to prevent unwanted flooding
   and to allow sufficient time for the UPA to be propagated to all
   relevant peers.</t>
    </section>
    <section anchor="backwards-compatibility">
      <name>Backwards Compatibility</name>
      <t>The UPA mechanism is designed to be backwards compatible. Since a UPA
   is propagated as an MP_UNREACH_NLRI, a BGP speaker that does not
   understand the UPA Extended Community will simply discard or ignore
   the update as a withdrawal for a non-existent prefix.</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="security-considerations">
      <name>Security Considerations</name>
      <t>The primary security consideration relates to the use of BGP IPv6
   Unicast for carrying SRv6 locators. There is a 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 configurable knob to disable UPA propagation to
   specific neighbors (Section 11) can serve as a mitigation strategy to
   limit the scope of UPA messages to trusted domains.</t>
    </section>
    <section anchor="iana-considerations">
      <name>IANA Considerations</name>
      <t>This document requests that IANA assign a new Transitive IPv4-Address-
   Specific Extended Community type and sub-type from the FCFS range for
   UPA.</t>
    </section>
  </middle>
  <back>
    <references anchor="sec-combined-references">
      <name>References</name>
      <references anchor="sec-normative-references">
        <name>Normative References</name>
        <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="I-D.ietf-lsr-igp-ureach-prefix-announce" xml:base="https://bib.ietf.org/public/rfc/bibxml3/reference.I-D.ietf-lsr-igp-ureach-prefix-announce.xml">
          <front>
            <title>IGP Unreachable Prefix Announcement</title>
            <author fullname="Peter Psenak" initials="P." surname="Psenak">
              <organization>Cisco Systems</organization>
            </author>
            <author fullname="Clarence Filsfils" initials="C." surname="Filsfils">
              <organization>Cisco Systems</organization>
            </author>
            <author fullname="Daniel Voyer" initials="D." surname="Voyer">
              <organization>Cisco Systems</organization>
            </author>
            <author fullname="Shraddha Hegde" initials="S." surname="Hegde">
              <organization>Juniper Networks, Inc.</organization>
            </author>
            <author fullname="Gyan Mishra" initials="G. S." surname="Mishra">
              <organization>Verizon Inc.</organization>
            </author>
            <date day="2" month="July" year="2025"/>
            <abstract>
              <t>Summarization is often used in multi-area or 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. This document describes how to use the existing protocol mechanisms in IS-IS and OSPF, together with the two new flags, to advertise such prefix reachability loss.</t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-lsr-igp-ureach-prefix-announce-09"/>
        </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>
      </references>
    </references>
    <?line 270?>

<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>
  </back>
</rfc>
