<?xml version="1.0" encoding="US-ASCII"?>
<!-- edited with XMLSPY v5 rel. 3 U (http://www.xmlspy.com)
     by Daniel M Kohn (private) -->
<!DOCTYPE rfc SYSTEM "rfc2629.dtd" [
<!ENTITY rfc2119 PUBLIC "" "http://xml.resource.org/public/rfc/bibxml/reference.RFC.2119.xml">
]>
<?rfc toc="yes"?>
<?rfc tocompact="yes"?>
<?rfc tocdepth="3"?>
<?rfc tocindent="yes"?>
<?rfc symrefs="yes"?>
<?rfc sortrefs="yes"?>
<?rfc comments="yes"?>
<?rfc inline="yes"?>
<?rfc compact="yes"?>
<?rfc subcompact="no"?>
<rfc category="exp" docName="draft-wang-idr-vpn-prefix-orf-propagation-00"
     ipr="trust200902">
  <front>
    <title abbrev="source-propagation-ORF">Source-Directed Propagation of VPN
    Prefix ORF for BGP-4</title>

    <author fullname="Aijun Wang" initials="A" surname="Wang">
      <organization>China Telecom</organization>

      <address>
        <postal>
          <street>Beiqijia Town, Changping District</street>

          <city>Beijing</city>

          <region>Beijing</region>

          <code>102209</code>

          <country>China</country>
        </postal>

        <email>wangaj3@chinatelecom.cn</email>
      </address>
    </author>

    <date day="14" month="October" year="2026"/>

    <area>RTG Area</area>

    <workgroup>IDR Working Group</workgroup>

    <keyword>RFC</keyword>

    <abstract>
      <t>The Virtual Private Network (VPN) Prefix Outbound Route Filter (ORF)
      <xref target="I-D.ietf-idr-vpn-prefix-orf"/> mechanism allows a Border
      Gateway Protocol (BGP) speaker to request that an adjacent peer filter
      matching VPN routes. In deployments using Route Reflectors (RRs) or
      Autonomous System Border Routers (ASBRs), the adjacent peer may not be
      the source of the affected routes.</t>

      <t>This document specifies when an intermediate router may send an
      ordinary VPN Prefix ORF to the upstream peer from which the affected
      routes were received. Upstream transmission is permitted only after the
      intermediate router determines that no relevant downstream router
      requires the affected routes. This document also defines an Interest
      Query/Response procedure for making that determination.</t>
    </abstract>
  </front>

  <middle>
    <section title="Introduction">
      <t><xref target="I-D.ietf-idr-vpn-prefix-orf"/> defines a VPN Prefix ORF
      that a receiver can send to the peer advertising excessive VPN routes.
      The peer then filters matching routes toward that receiver.</t>

      <t>In an RR or inter-AS topology, the peer receiving the ORF may be an
      intermediate router. Applying the ORF only on the downstream session
      protects the overloaded receiver but does not reduce the corresponding
      state on upstream sessions. The intermediate router can reduce that
      state by sending an equivalent VPN Prefix ORF upstream, provided that
      doing so does not remove routes still required by another downstream
      router.</t>

      <t>This document defines procedures for that determination. The VPN
      Prefix ORF sent upstream is an ordinary VPN Prefix ORF. This document
      defines neither a new ORF Type nor a propagation-specific VPN Prefix ORF
      encoding.</t>

      <t>"Upstream" and "downstream" are relative to the direction of VPN
      route advertisement. VPN routes flow from upstream to downstream; VPN
      Prefix ORFs flow in the reverse direction.</t>

      <section title="Requirements Language">
        <t>The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
        "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and
        "OPTIONAL" 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>

    <section title="Terminology ">
      <t>This document uses the terminology of <xref
      target="I-D.ietf-idr-vpn-prefix-orf"/>:<list style="symbols">
          <t>Affected Routes: VPN routes matching a VPN Prefix ORF entry.</t>

          <t>Upstream Router: A BGP speaker from which the affected routes are
          received.</t>

          <t>Downstream Router: A BGP speaker to which the affected routes are
          advertised.</t>

          <t>Intermediate Router: A router, such as an RR or ASBR, that
          receives the affected routes from an upstream router and advertises
          them to downstream routers.</t>

          <t>Relevant Downstream Router: A downstream router to which the
          intermediate router has advertised, or may advertise, the affected
          routes.</t>

          <t>Interest Query: A request asking whether a downstream router
          requires any route in the affected route set.</t>

          <t>Interest Response: A response indicating INTERESTED,
          UNINTERESTED, or UNKNOWN.</t>
        </list></t>
    </section>

    <section title="Problem Statement">
      <t>Consider the following intra-Autonomous System (intra-AS) topology.
      The Provider Edge (PE) routers are connected to the RR as follows:</t>

      <t><figure align="center">
          <artwork><![CDATA[                                       +---------+      
                           +-----------+Source PE|      
                           |           +---------+      
                           |                            
                         +-++                           
       +-----------------+RR+--------------------+      
       |                 ++-+                    |      
       |                  |                      |      
       |                  |                      |      
+------+-----+      +-----+------+        +------+-----+
|Receiver PE1|      |Receiver PE2+        |Receiver PE3+
+------------+      +------------+        +------------+

affected VPN routes:
    Receiver PE1/PE2/PE3  <--  RR  <--  Source PE
VPN Prefix ORF:
    Receiver PE1  -->  RR  -->  Source PE

 Figure 1 VPN Prefix ORF Propagation Scenario
]]></artwork>
        </figure></t>

      <t>Receiver PE1 can send a VPN Prefix ORF to the RR. The RR can then
      stop advertising matching routes to Receiver PE1. The RR MUST NOT send
      an equivalent VPN Prefix ORF to the Source PE unless it has determined
      that Receiver PE2 and Receiver PE3 also do not require the affected
      routes.</t>
    </section>

    <section title="Design Overview">
      <t>An intermediate router first processes a received VPN Prefix ORF as
      specified in <xref target="I-D.ietf-idr-vpn-prefix-orf"/>. It MAY then
      determine whether every relevant downstream router is uninterested in
      the same route set. The determination may use VPN Prefix ORFs received
      from downstream routers, the Interest Query/Response procedure, or
      both.</t>

      <t>If every relevant downstream router is UNINTERESTED, the intermediate
      router MAY send an equivalent VPN Prefix ORF to the upstream peer from
      which the affected routes were received. If any relevant downstream
      router is INTERESTED or UNKNOWN, it MUST NOT do so.</t>

      <section title="Determination from Received VPN Prefix ORFs ">
        <t>A relevant downstream router is UNINTERESTED when the intermediate
        router has received an equivalent VPN Prefix ORF from that router.
        Entries identifying different route sets MUST NOT be treated as
        equivalent. The intermediate router MAY send separate upstream ORF
        entries for route sets whose downstream interest has been determined
        independently.</t>

        <t>In Figure 1, if all the downstream routers(PE1/PE2/PE3) send out
        the VPN Prefix ORF messages to RR, then RR can propagate such message
        to the source PE safely.</t>
      </section>

      <section title="Query-Based Determination">
        <t>If RR receives only the VPN Prefix ORF message from PE1, before
        sending the ORF upstream, the RR may query Receiver PE2 and Receiver
        PE3. A queried router returns:</t>

        <t>INTERESTED: It requires one or more affected routes.</t>

        <t>UNINTERESTED: It requires none of the affected routes.</t>

        <t>UNKNOWN: It cannot determine whether it requires the affected
        routes.</t>

        <t>A missing, malformed, or unsupported response MUST be treated as
        UNKNOWN.</t>

        <t>Only all the downstream routers express UNINTERESTED, then the RR
        can send propagate such message to the source PE safely.</t>
      </section>
    </section>

    <section anchor="interest-cap" title="Interest Query/Response Capability">
      <t>A BGP speaker advertises support for the Interest Query and Interest
      Response subtypes using the VPN Prefix ORF Interest Query/Response
      Capability defined in this document. The Capability Value contains one
      or more four-octet Address Family Identifier (AFI) and Subsequent
      Address Family Identifier (SAFI) tuples:</t>

      <t><figure>
          <artwork align="center"><![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
 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 |              AFI              |   Reserved    |     SAFI    |
 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Figure 2: Interest Query/Response Capability Encoding Format
]]></artwork>
        </figure></t>

      <t>Reserved MUST be set to zero by the sender and ignored by the
      receiver. The Capability Length MUST be a nonzero multiple of four.</t>

      <t>An intermediate router MUST NOT send an Interest Query for an
      AFI/SAFI unless the peer has advertised the corresponding tuple. A
      relevant downstream router that has not advertised the tuple MUST be
      treated as UNKNOWN for query-based determination. It may still be
      classified as UNINTERESTED based on an equivalent VPN Prefix ORF
      received from it.</t>

      <t>The VPN Prefix ORF sent upstream is an ordinary VPN Prefix ORF. Its
      transmission is governed by the Outbound Route Filtering Capability
      [RFC5291]; the capability defined here is not required on the upstream
      session.</t>
    </section>

    <section title="Relevant Downstream Routers">
      <t>The relevant downstream router set comprises the peers to which the
      intermediate router has advertised, or may advertise, the affected
      routes. The set may be derived from outbound Adjacent Routing
      Information Base (Adj-RIB-Out) state, Route Target Constraint (RTC)
      state, import policy, route-reflection state, or equivalent local
      state.</t>

      <t>If the set cannot be determined, the intermediate router MUST NOT
      send the VPN Prefix ORF upstream.</t>
    </section>

    <section title="Procedures">
      <section title="Downstream Router">
        <t>A downstream router detecting overload sends a VPN Prefix ORF to
        the peer from which the affected routes were received, as specified in
        <xref target="I-D.ietf-idr-vpn-prefix-orf"/>. No propagation
        indication is required.</t>
      </section>

      <section title=" Intermediate Router">
        <t>An intermediate router receiving a VPN Prefix ORF:</t>

        <t>1. Processes it on the downstream session according to <xref
        target="I-D.ietf-idr-vpn-prefix-orf"/>;</t>

        <t>2. Identifies the affected route set and relevant downstream
        routers;</t>

        <t>3. Determines each relevant downstream router's interest state;
        and</t>

        <t>4. If all are UNINTERESTED, MAY send an equivalent VPN Prefix ORF
        to the upstream peer, subject to local policy and <xref
        target="RFC5291"/> capability negotiation.</t>

        <t>If any relevant downstream router is INTERESTED or UNKNOWN, the
        intermediate router MUST NOT send the ORF upstream.</t>
      </section>

      <section title="Upstream Router">
        <t>A router receiving the VPN Prefix ORF processes it according to
        <xref target="I-D.ietf-idr-vpn-prefix-orf"/> . It need not know why
        its peer sent the ORF. If it is also an intermediate router, it MAY
        independently apply this document before sending an equivalent ORF
        farther upstream.</t>
      </section>

      <section title="Interest Query/Response Procedure">
        <t>The intermediate router assigns a Query Identifier that is unique
        among its outstanding queries on the BGP session. The Interest Query
        carries one or more VPN Prefix ORF entries identifying the affected
        route set.</t>

        <t>A queried router evaluates its local import interest for the
        complete route set identified by the query. It returns INTERESTED if
        it requires at least one matching route, UNINTERESTED if it requires
        no matching route, and UNKNOWN if it cannot make that
        determination.</t>

        <t>The intermediate router correlates the response using the Query
        Identifier. An unexpected Query Identifier, invalid response, or query
        timeout is treated as UNKNOWN. The Query Identifier may be reused
        after the query has completed or timed out.</t>
      </section>
    </section>

    <section title="State Changes">
      <t>An intermediate router that has sent a VPN Prefix ORF upstream MUST
      withdraw or replace it when the condition that justified it no longer
      holds. This includes a downstream interest-state change, removal of a
      downstream ORF, a change to the relevant downstream router set, RTC or
      import-policy changes, or a local-policy change.</t>

      <t>Withdrawal and replacement use the ordinary VPN Prefix ORF
      procedures.</t>
    </section>

    <section title="Interest Query and Interest Response Encoding">
      <t>Interest Query and Interest Response are encoded as BGP ROUTE-REFRESH
      messages <xref target="RFC7313"/> using two new Message Subtype values.
      They do not install, remove, or modify an ORF on the receiving
      router.</t>

      <t>A normal ROUTE-REFRESH message, with or without ORF entries, uses
      Message Subtype 0. For Subtype 0, the BGP Message Length distinguishes a
      plain ROUTE-REFRESH message from a ROUTE-REFRESH message carrying ORF
      entries as specified in <xref target="RFC5291"/>. </t>

      <t>The Interest Query and Interest Response messages are distinguished
      by the TBD2 and TBD3 subtype values, respectively.</t>

      <section title="Interest Query">
        <t>The Interest Query message is encoded as follows:</t>

        <t><figure>
            <artwork align="center"><![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
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  |              AFI              | Subtype=TBD2  |     SAFI    |
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  |                       Query Identifier                      |
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  | ORF Type=66   |   Reserved    |       ORF Entries Length    |
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  |                                                             |
   ~                 VPN Prefix ORF Entries                     ~
  |                                                             |
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       Figure 3: Interest Query Message Encoding Format
]]></artwork>
          </figure></t>

        <t>AFI and SAFI: identify the address family to which the query
        applies. </t>

        <t>Subtype is TBD2. </t>

        <t>Query Identifier: an unsigned 32-bit value selected by the sender.
        </t>

        <t>ORF Type: MUST be 66. </t>

        <t>Reserved: MUST be set to zero by the sender and ignored by the
        receiver. </t>

        <t>ORF Entries Length: an unsigned 16-bit value containing the total
        length, in octets, of the following VPN Prefix ORF entries.</t>

        <t>VPN Prefix ORF Entries: use the entry encoding defined in <xref
        target="I-D.ietf-idr-vpn-prefix-orf"/>. Each entry MUST have Action
        ADD and Match DENY. REMOVE, REMOVE-ALL, and PERMIT entries are invalid
        in an Interest Query. The entries are used only to identify the route
        set; they MUST NOT be installed in the receiver's ORF table.</t>

        <t>The query applies to the union of the route sets identified by all
        entries in the message. The message MUST contain at least one complete
        VPN Prefix ORF entry, and ORF Entries Length MUST equal the number of
        remaining octets in the message.</t>
      </section>

      <section title="Interest Response">
        <t>The Interest Response message is encoded as follows:</t>

        <t><figure>
            <artwork align="center"><![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
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    |              AFI              | Subtype=TBD3  |     SAFI    |
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    |                       Query Identifier                      |
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    | Interest State|   Reserved    |           Reserved          |
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       Figure 4: Interest Response Message Encoding Format
]]></artwork>
          </figure></t>

        <t>AFI, SAFI, and Query Identifier MUST equal the corresponding fields
        in the Interest Query. </t>

        <t>Interest State is encoded as follows:</t>

        <t><figure>
            <artwork align="center"><![CDATA[       Value     Meaning
        -----     ------------
        0         Reserved
        1         INTERESTED
        2         UNINTERESTED
        3         UNKNOWN
]]></artwork>
          </figure>Reserved fields MUST be set to zero by the sender and
        ignored by the receiver. </t>

        <t>The Interest Response has a fixed payload length of 12 octets,
        excluding the BGP message header.</t>
      </section>

      <section title="Error Handling">
        <t>A speaker receiving an Interest Query or Interest Response without
        having advertised the capability defined in <xref
        target="interest-cap"/> MUST discard the message and SHOULD log the
        event.</t>

        <t>A message with an invalid length is handled as specified for an
        invalid ROUTE-REFRESH message in <xref target="RFC7313"/>. A query
        containing an invalid ORF Type, invalid VPN Prefix ORF entry, or
        inconsistent ORF-entry length MUST be answered with UNKNOWN when the
        Query Identifier can be parsed; otherwise it MUST be discarded. An
        Interest Response containing an unrecognized Interest State or nonzero
        Reserved field MUST be treated as UNKNOWN.</t>
      </section>
    </section>

    <section title="Operational Considerations ">
      <t>Query-based determination SHOULD be enabled only on trusted sessions.
      Implementations SHOULD rate-limit queries and avoid concurrent queries
      for the same peer and route set. Implementations SHOULD expose the
      relevant downstream router set, current interest states, and dependent
      upstream ORFs.</t>
    </section>

    <section title="Security Considerations">
      <t>An incorrect interest determination can suppress routes required by a
      downstream router. Unsupported peers, invalid responses, and timeouts
      MUST therefore be treated as UNKNOWN.</t>

      <t>A malicious peer can send false responses or trigger repeated state
      changes. Existing BGP session protection, local policy, rate limiting,
      and monitoring apply. The Interest Query/Response Capability does not
      imply support for VPN Prefix ORF; the <xref target="RFC5291"/>
      capability state MUST be checked separately before an ORF is sent
      upstream.</t>
    </section>

    <section title="IANA Considerations">
      <section anchor="iana" title="Capability Code">
        <t>The Internet Assigned Numbers Authority (IANA) is requested to
        assign a new value from the "Capability Codes" registry:</t>

        <figure align="center">
          <artwork><![CDATA[ +============+=============================================+=========================+
 | Value      | Description                                 | Reference               |
 +============+=============================================+=========================+
 | TBD1       | VPN Prefix ORF Interest Query/Response      | This document           |
 +------------+---------------------------------------------+-------------------------+
]]></artwork>
        </figure>

        <t>The Capability Value consists of one or more AFI/SAFI tuples as
        specified in <xref target="interest-cap"/>. The Capability Length is a
        nonzero multiple of four.</t>
      </section>

      <section title="BGP Route Refresh Subcodes">
        <t>IANA is requested to assign two values from the "BGP Route Refresh
        Subcodes" registry:</t>

        <t><figure align="center">
            <artwork><![CDATA[ +============+=============================================+=========================+
 | Value      | Description                                 | Reference               |
 +============+=============================================+=========================+
 | TBD2       | VPN Prefix ORF Interest Query               | This document           |
 +------------+---------------------------------------------+-------------------------+
 | TBD3       | VPN Prefix ORF Interest Response            | This document           |
 +------------+---------------------------------------------+-------------------------+
]]></artwork>
          </figure></t>
      </section>

      <section title="VPN Prefix ORF Interest States">
        <t>IANA is requested to create the "VPN Prefix ORF Interest States"
        registry under "Border Gateway Protocol (BGP) Parameters".</t>

        <t>The registration policy is IETF Review <xref target="RFC8126"/>.
        The initial contents are:</t>

        <t><figure align="center">
            <artwork><![CDATA[Under "Border Gateway Protocol (BGP) Parameters"
Registry: "VPN Prefix ORF Interest States"
 +==========+=========================+================+
 | Value    | Description             | Reference      |
 +====================================+================+
 | 0        | Reserved                | This document  |
 +----------+-------------------------+----------------+
 | 1        | INTERESTED              | This document  | 
 +----------+-------------------------+----------------+
 | 2        | UNINTERESTED            | This document  |
 +----------+-------------------------+----------------+
 | 3        | UNKNOWN                 | This document  |
 +----------+-------------------------+----------------+
 | 4-250    | Unassigned              | This document  |
 +----------+-------------------------+----------------+
 | 251-254  | Experimental Use        | This document  |
 +----------+-------------------------+----------------+
 | 255      | Reserved                | This document  |
 +----------+-------------------------+----------------+
]]></artwork>
          </figure></t>
      </section>
    </section>

    <section title="Contributor">
      <t>TBD</t>
    </section>

    <section title="Acknowledgement">
      <t>TBD.</t>
    </section>
  </middle>

  <back>
    <references title="Normative References">
      <?rfc include="reference.RFC.2119"?>

      <?rfc include="reference.RFC.5291"?>

      <?rfc include='reference.RFC.7313'?>

      <?rfc include='reference.RFC.8126'?>

      <?rfc include='reference.RFC.8174'?>

      <?rfc include='reference.I-D.ietf-idr-vpn-prefix-orf'?>
    </references>

    <references title="Informative References"/>
  </back>
</rfc>
