<?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" ?>
<!-- generated by https://github.com/cabo/kramdown-rfc version 1.7.39 (Ruby 3.2.3) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-huang-savnet-pi-sav-for-cc-02" category="info" submissionType="IETF" version="3">
  <!-- xml2rfc v2v3 conversion 3.33.0 -->
  <front>
    <title abbrev="PI-SAV for CC Sources">Provider Interface SAV for Customer Cone Sources</title>
    <seriesInfo name="Internet-Draft" value="draft-huang-savnet-pi-sav-for-cc-02"/>
    <author initials="M." surname="Huang" fullname="Mingqing Huang">
      <organization>Zhongguancun Laboratory</organization>
      <address>
        <postal>
          <city>Beijing</city>
          <country>China</country>
        </postal>
        <email>huangmq@zgclab.edu.cn</email>
      </address>
    </author>
    <author initials="N." surname="Geng" fullname="Nan Geng">
      <organization>Huawei Technologies</organization>
      <address>
        <postal>
          <city>Beijing</city>
          <country>China</country>
        </postal>
        <email>gengnan@huawei.com</email>
      </address>
    </author>
    <author initials="D." surname="Li" fullname="Dan Li">
      <organization>Tsinghua University</organization>
      <address>
        <postal>
          <city>Beijing</city>
          <country>China</country>
        </postal>
        <email>tolidan@tsinghua.edu.cn</email>
      </address>
    </author>
    <date year="2026" month="May" day="25"/>
    <area>Routing</area>
    <workgroup>savnet</workgroup>
    <keyword>Internet-Draft</keyword>
    <abstract>
      <?line 52?>
<t>Current source address validation (SAV) on an AS's provider interfaces mainly relies on loose uRPF, which cannot defend against IP spoofing using routable prefixes and is ineffective when a default route is present. This document describes a <strong>framework</strong> for provider interface source address validation against spoofing of customer cone source prefixes (PI-SAV for CC). Two architectural approaches are presented:</t>
      <ul spacing="normal">
        <li>
          <t><strong>PI-SAV for Standalone CC</strong>: a static solution that builds a blocklist based on topology information from BGP RIBs, RPKI ASPA, and local configuration (SLURM) etc.  It requires no inter-AS communication.</t>
        </li>
        <li>
          <t><strong>PI-SAV for Standalone+ CC</strong>: an enhanced solution that uses lightweight query-response coordination between the top AS and member ASes to identify sub-cones that do not actually cause traffic detours, thereby enlarging the effective blocklist.</t>
        </li>
      </ul>
      <t>This document is <strong>informational</strong> and provides only the framework, conceptual procedures, and requirements for future protocol specifications. Detailed wire protocols (e.g., for partial transit information provisioning or for query-response messaging) are out of scope and will be defined in separate documents.</t>
    </abstract>
  </front>
  <middle>
    <?line 61?>

<section anchor="sec-intro">
      <name>Introduction</name>
      <t>As described in <xref target="RFC3704"/>, <xref target="RFC8704"/>, and <xref target="I-D.ietf-savnet-inter-domain-problem-statement"/>, current source address validation on AS provider interfaces is mainly based on the loose uRPF mechanism. This mechanism can only check whether the source address is a valid internet prefix but cannot provide protection for routable prefixes spoofing. Furthermore, if the AS has a default route (many stub ASes configure default routes to reduce BGP processing and FIB table pressure), the protective effect of loose uRPF on routable prefixes will also be nullified.</t>
      <t>Meanwhile, normally the vast majority of DDoS attack traffic flows into the local network through the provider interface side. Studies further indicate that reflective amplification attacks based on source address spoofing are among the most prevalent types of large-scale DDoS attacks.</t>
      <t>The solutions described in this document, based on the customer cone (CC) source address information and its routing characteristics, generate the provider interface based source prefix blocklist for the customer cone prefixes (IBB-mode in <xref target="I-D.ietf-savnet-general-sav-capabilities"/>, or IBA-mode combined with loose uRPF if applicable). The design goal is to prevent spoofing packets with the customer cone prefixes from flowing into the local networks, which can reduce the threat of reflective amplification DDoS attacks that leverage local servers to target local users.</t>
      <t>This document is intentionally limited to an <strong>informational framework</strong>. It describes the solution architecture, operational assumptions, and requirements for both Standalone CC and Standalone+ CC. The actual protocols for obtaining partial transit information (Section 2.2) and for query-response coordination (Section 3.3) are left for future specifications. This approach allows the community to review and agree on the overall design before committing to protocol details.</t>
      <section anchor="terminology">
        <name>Terminology</name>
        <t>Customer Cone (CC): a set of ASes that includes an AS and its direct/indirect customer ASes, including the customer AS's customer ASes and so on, till the stub ASes.</t>
        <t>CC-Top-AS: the top AS for the customer cone, which means all other ASes in the CC are its direct/indirect customer ASes.</t>
        <t>CC-Top-ASBR: ASBR (AS Border Router) with the provider interface(s) of the CC-Top-AS, which is the deployment position for the solutions in this document.</t>
        <t>CC-Member-AS: an AS in the customer cone under the CC-Top-AS.</t>
        <t>Partial Transit: a special transit provider service between two eBGP neighbors, a less common but operationally significant scenario. When an AS (AS-a) receives BGP update messages from its customer AS (AS-b), it disseminates the messages only to its peer AS(es) and other customer AS(es), not to its upper transit providers as usual. In this case, AS-a is partial transit provider for AS-b. Partial transit can make the customer AS (and its sub-CC) invisible for the upper transit AS.</t>
        <t>CC-sub-Transit-AS: a CC-Member-AS that has alternative transit provider(s) outside the CC.</t>
        <t>Sub-Transit-CC: the customer cone of a CC-sub-Transit-AS (including the CC-sub-Transit-AS and its direct/indirect customer ASes). According valley-free policy of BGP routing, traffic from the Sub-Transit-CC to other CC-Member-AS may go through the alternative transit link and provider interfaces of CC-Top-ASBR.</t>
        <t>Standalone CC (SCC): a subset of CC, all ASes within a Standalone CC share same transit provider(s) on the CC-Top-AS (i.e. no member AS of a Standalone CC has an alternative transit provider outside the CC), all Sub-Transit-CCs in the CC must be excluded. Based on the valley-free principle of BGP routing, traffic between Standalone CC hosts will not go through the CC-Top-AS's provider interfaces.</t>
        <t>Standalone+ CC (SPCC): a superset of a Standalone CC that includes the Sub-Transit-CC(s) for which no detour actually occurs for intra-CC traffic. In other words, traffic between Standalone+ CC hosts will not go through the provider interfaces of the CC-Top-AS. Note that the range of Standalone+ CC may change dynamically due to traffic engineering configuration or transit link failure.</t>
        <t>Detour Path: in the context of this document, a detour path refers to a route taken by intra-CC traffic that enters the CC via a provider interface of the CC-Top-AS (i.e., the traffic flows from an external alternative provider into the CC). Such a path makes the corresponding source prefix unsuitable for the PI-SAV blocklist, because legitimate packets with that source prefix may enter the CC through that interface.</t>
        <t>Independence Degree: a metric that evaluates the degree of independence of a Standalone CC or Standalone+ CC within its customer cone, defined as the percentage of IP prefixes inside the CC that qualify as belonging to the Standalone CC or Standalone+ CC. A higher Independence Degree indicates that a larger fraction of the customer cone's prefixes can be protected from spoofing via the provider interface blocklist.</t>
      </section>
      <section anchor="requirements-language">
        <name>Requirements Language</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>
    <section anchor="basic-solution-pi-sav-for-standalone-cc">
      <name>Basic Solution: PI-SAV for Standalone CC</name>
      <section anchor="general-procedure-for-scc-solution">
        <name>General Procedure for SCC Solution</name>
        <t>The PI-SAV for Standalone CC solution focuses on constructing the Standalone CC by deducting Sub-Transit-CCs from the whole CC without omission, and then generating a source prefix blocklist for the Standalone CC (after subtracting prefixes with multiple origin ASes).</t>
        <t>Standalone CC construction requires complete knowledge of the CC-Member-ASes and whether each of them has an alternative transit provider outside the CC. The general procedure for a CC-Top-ASBR to generate the PI-SAV blocklist for Standalone CC is as follows:</t>
        <ol spacing="normal" type="1"><li>
            <t><strong>Initial CC-Member-AS collection</strong>: includes (a) ASNs for all direct customer ASes of the CC-Top-AS (obtained from system configuration), and  (b) partial transit deployment information for the target CC (using SLURM-based local management as suggested).</t>
          </li>
          <li>
            <t><strong>CC construction</strong>: based on the initial ASNs, find all CC-Member-ASes by searching the local-RIBs for ASes that appear under the initial ASN in the AS-PATHs. The transit relationship between member ASes must be saved for later Sub-Transit-CC construction.</t>
          </li>
          <li>
            <t><strong>Sub-Transit-CC construction</strong>: check whether any alternative transit provider outside the CC exists for each CC-Member-AS. If such a provider exists, mark the AS as a CC-sub-Transit-AS. This can be done using RPKI ASPA records <xref target="I-D.ietf-sidrops-aspa-profile"/>, and local SLURM-based support for additional information is encouraged. If the transit provider information is not available for a CC-Member-AS, the AS <bcp14>MUST</bcp14> be marked as a CC-sub-Transit-AS. Then construct the Sub-Transit-CC for each CC-sub-Transit-AS.</t>
          </li>
          <li>
            <t><strong>Standalone CC construction</strong>: deduct all the Sub-Transit-CCs from the original CC to form the Standalone CC.</t>
          </li>
          <li>
            <t><strong>Initial prefix list generation</strong>: based on local-RIBs, collect all prefixes originated from the member ASes of the Standalone CC.</t>
          </li>
          <li>
            <t><strong>Final prefix blocklist generation</strong>: check whether any prefix in the initial list has multiple origin ASes (MOAS). If a prefix is originated not only by AS(es) inside the CC but also by AS(es) outside the CC, deduct it from the initial list. MOAS prefix identification can be based on RPKI ROA <xref target="RFC9582"/> and/or local ROA SLURM records. BGP adj-RIBs-in can also be used to identify external origins.</t>
          </li>
        </ol>
      </section>
      <section anchor="requirements-for-scc-solution">
        <name>Requirements for SCC Solution</name>
        <t>The Standalone CC solution relies on three distinct types of information to correctly construct the blocklist. Each is described below as a set of requirements, independent of any particular implementation or external database (e.g., RPKI ASPA). This separation ensures that the framework remains implementation-agnostic and can be satisfied by different mechanisms (e.g., local configuration, future protocols, or a combination).</t>
        <section anchor="complete-member-as-discovery-hidden-ases">
          <name>Complete Member AS Discovery (Hidden ASes)</name>
          <t>The CC-Top-AS must know the full set of CC-Member-ASes, including those that may be invisible from local-RIBs due to partial transit relationships or No-Export BGP communities.</t>
          <t><strong>Requirements</strong>:</t>
          <ul spacing="normal">
            <li>
              <t><strong>Observability gap</strong>: BGP local-RIBs alone is insufficient to guarantee a complete view. Hidden ASes (child ASes that do not advertise their prefixes upward) cannot be automatically inferred.</t>
            </li>
            <li>
              <t><strong>Explicit provisioning</strong>: If a CC-Member-AS engages in partial transit or otherwise hides its prefixes from the CC-Top-AS, the operator of the CC-Top-AS <bcp14>MUST</bcp14> explicitly supply this information, e.g., via local SLURM <xref target="RFC8416"/> entries or a future declarative protocol. The CC-Top-AS cannot "assume" a hidden subtree; it can only act on explicitly known information.</t>
            </li>
            <li>
              <t><strong>Future specification</strong>: A future specification document <bcp14>MAY</bcp14> define a mechanism (e.g., an extension to RPKI ASPA or a BGP attribute) for an AS to voluntarily declare its partial transit relationships, thereby making hidden ASes discoverable. Until such a mechanism exists, operators must rely on local configuration.</t>
            </li>
            <li>
              <t><strong>Handling missing information</strong>: If the CC-Top-AS lacks information about whether a particular customer AS has hidden downstream ASes, it is impossible to make a safe assumption for Standalone CC - the construction of Sub-Transit-CC related to the hidden AS might be omitted. Therefore, operators <bcp14>MUST</bcp14> ensure that no partial transit information is missing, either via local configuration or a future specification; otherwise, they <bcp14>MUST</bcp14> use the Standalone+ CC solution (Section 3), which can dynamically discover hidden ASes through the diffusion-based query mechanism (R7 in Section 3.3). This requirement ensures that SCC is deployed only where topology information is complete, avoiding unsafe default assumptions.</t>
            </li>
          </ul>
        </section>
        <section anchor="detection-of-alternative-transit-providers">
          <name>Detection of Alternative Transit Providers</name>
          <t>For each CC-Member-AS, the CC-Top-AS must determine whether that AS has any transit provider outside the CC. Such ASes are marked as CC-sub-Transit-AS, and their entire sub-cone is excluded from the Standalone CC.</t>
          <t><strong>Requirements</strong>:</t>
          <ul spacing="normal">
            <li>
              <t><strong>Provider set completeness</strong>: The CC-Top-AS <bcp14>MUST</bcp14> obtain the set of all transit providers for each CC-Member-AS. This can be done using RPKI ASPA records <xref target="I-D.ietf-sidrops-aspa-profile"/>, local SLURM, or other means.</t>
            </li>
            <li>
              <t><strong>Safe default - assume external provider</strong>: If the provider information for a CC-Member-AS is incomplete or unavailable (e.g., no ASPA record and no local override), the CC-Top-AS <bcp14>MUST</bcp14> assume that the AS has an external transit provider and therefore <bcp14>MUST</bcp14> mark it as a CC-sub-Transit-AS. This ensures that the blocklist never incorrectly includes prefixes that might have a feasible detour path.</t>
            </li>
          </ul>
        </section>
        <section anchor="moas-prefix-handling">
          <name>MOAS Prefix Handling</name>
          <t>A prefix originated by multiple ASes (MOAS) <bcp14>MUST</bcp14> be excluded from the blocklist only if at least one of its origin ASes lies outside the Standalone CC. If all origin ASes are inside the Standalone CC, the prefix <bcp14>MAY</bcp14> remain in the blocklist (internal MOAS does not create a detour path).</t>
          <t>Detecting external origins is challenging due to two inherent limitations:</t>
          <ul spacing="normal">
            <li>
              <t><strong>Best-path-only visibility</strong>: BGP best path selection hides alternate origin ASes from the Loc-RIBs (Adj-RIBs-in may also be missing).</t>
            </li>
            <li>
              <t><strong>Adj-RIBs-in incompleteness</strong>: Memory-constrained routers may not retain a full Adj-RIBs-in.</t>
            </li>
          </ul>
          <t><strong>A practical deployment</strong> <bcp14>SHOULD</bcp14> combine the following information sources:</t>
          <ul spacing="normal">
            <li>
              <t><strong>RPKI ROA</strong> - Preferred when valid records exist.</t>
            </li>
            <li>
              <t><strong>Local SLURM</strong> - Operator-provided overrides (especially for critical prefixes).</t>
            </li>
            <li>
              <t><strong>BGP Adj-RIBs-in</strong> - Usable as a supplementary signal, with recognition that it may be incomplete.</t>
            </li>
          </ul>
          <t>If external origin information is incomplete, the operator <bcp14>MAY</bcp14> choose a local policy:</t>
          <ul spacing="normal">
            <li>
              <t><strong>Conservative (<bcp14>RECOMMENDED</bcp14>)</strong>: Exclude the prefix from the blocklist unless it can be confidently determined that no external origin exists. This avoids false blocking at the cost of reduced protection.</t>
            </li>
            <li>
              <t><strong>Optimistic</strong>: Include the prefix in the blocklist unless an external origin is positively confirmed. This maximizes protection but risks blocking legitimate traffic if an unknown external origin exists.</t>
            </li>
          </ul>
          <t>Operators should weigh the impact of false blocking (denial of service for legitimate customers) versus under-protection (spoofing risk).  Feedback from deployment (see Section 4.5) can help refine the information over time.</t>
        </section>
      </section>
    </section>
    <section anchor="improved-solution-pi-sav-for-standalone-cc">
      <name>Improved Solution: PI-SAV for Standalone+ CC</name>
      <section anchor="motivations-and-operational-assumptions">
        <name>Motivations and Operational Assumptions</name>
        <t>Although an alternative transit link may cause traffic between CC member ASes to detour through provider interfaces of the CC-Top-AS, such detours normally only happen under specific routing policy configurations or internal transit path failures. In many cases, Sub-Transit-CCs do not actually use their external providers for intra-CC traffic.</t>
        <t>Standalone+ CC relaxes the strict exclusion of all Sub-Transit-CCs. Instead, it verifies whether detours actually occur, and includes those Sub-Transit-CCs (or even finer-grained prefixes) that have no detour. This can significantly improve the prefix independence ratio, especially for deep customer cones.</t>
        <t>The Standalone+ CC solution assumes a communication mechanism between the CC-Top-AS and CC-Member-ASes. This document only describes the conceptual model and the requirements for such a communication protocol; the actual protocol design is left for future Standards Track documents.</t>
      </section>
      <section anchor="query-response-coordination-model">
        <name>Query-Response Coordination Model</name>
        <t>In the conceptual model, the CC-Top-AS sends <strong>queries</strong> to member ASes to determine whether detour paths actually exist. Two communication approaches are possible:</t>
        <ul spacing="normal">
          <li>
            <t><strong>Targeted queries</strong>: The CC-Top-AS first constructs the CC topology (using BGP RIB and possibly RPKI/ASPA) to identify which member ASes have or may have alternative transit providers.  It then sends queries only to those CC-sub-Transit-ASes. This approach requires pre-existing topology knowledge and connectivity information for the targeted ASes.</t>
          </li>
          <li>
            <t><strong>Diffusion-based queries (recommended)</strong>: The CC-Top-AS injects the query into BGP (e.g., as a new BGP attribute or NLRI) and relies on existing BGP propagation to deliver the query to <strong>all</strong> CC-Member-ASes. This approach requires no pre-computed topology and naturally reaches all ASes, including those that would otherwise be hidden due to partial transit. Moreover, it allows member ASes to respond not only with "no detour" indications but also with auxiliary information (e.g., hidden AS, their provider set, MOAS origins), thereby <strong>replacing or complementing out-of-band registries</strong> (RPKI ASPA, ROA and SLURM etc.) for Standalone CC.</t>
          </li>
        </ul>
        <t>The <strong>diffusion-based model</strong> is the recommended baseline for Standalone+ CC, because it:</t>
        <ul spacing="normal">
          <li>
            <t>Eliminates the need for pre-computed CC topology before queries,</t>
          </li>
          <li>
            <t>Reaches all member ASes without requiring their explicit addresses,</t>
          </li>
          <li>
            <t>Enables incremental deployment (ASes that ignore the BGP attribute simply do not respond; the CC-Top-AS then assumes a detour),</t>
          </li>
          <li>
            <t>Provides a unified channel for both detour detection and topology/prefix information collection.</t>
          </li>
        </ul>
        <t>Two operational modes are defined, regardless of the underlying communication model:</t>
        <ul spacing="normal">
          <li>
            <t><strong>Conservative mode</strong>: The CC-Top-AS starts with the Standalone CC as the initial blocklist. It then sends a query to member ASes (via the chosen mechanism). If a member AS responds that no detour exists for its sub-cone (or for specific prefixes), the CC-Top-AS adds the corresponding prefixes to the Standalone+ CC blocklist.  Non-responsive ASes are assumed to have a detour.</t>
          </li>
          <li>
            <t><strong>Aggressive mode</strong>: The CC-Top-AS starts with the whole CC as the initial blocklist. It then sends a query. If a member AS responds that a detour does exist, the CC-Top-AS removes the corresponding prefixes from the blocklist. Non-responsive ASes are also treated as having a detour after a timeout. This mode works best when most member ASes support the protocol.</t>
          </li>
        </ul>
        <t>The detailed timing, retransmission, and state machines depend on the chosen communication model and are left for future specification. The remainder of this document assumes the diffusion-based model as the reference; the targeted model is considered an optional simplification (e.g., for small-scale deployments).</t>
      </section>
      <section anchor="requirements-for-a-future-communication-protocol">
        <name>Requirements for a Future Communication Protocol</name>
        <t>The SPCC solution requires a communication mechanism between the CC-Top-AS and CC-Member-ASes to exchange queries and responses. This document does not define a protocol; instead, it lists the mandatory requirements that any future Standards Track protocol <bcp14>MUST</bcp14> satisfy.</t>
        <t><strong>R1 - Query dissemination</strong>: The query <bcp14>MUST</bcp14> be deliverable to all CC-Member-ASes without requiring the CC-Top-AS to pre-compute their identities or addresses. A diffusion mechanism that leverages existing BGP propagation (e.g., a new BGP attribute or NLRI) is <bcp14>RECOMMENDED</bcp14>. The query <bcp14>MUST</bcp14> include at least:
   - A unique query identifier,
   - The mode (conservative or aggressive),
   - A timeout value (default recommended 30 seconds),
   - Optionally, a list of specific ASes or prefixes to be checked.</t>
        <t><strong>R2 - Response collection</strong>: A CC-Member-AS that receives a query <bcp14>MUST</bcp14> be able to send a response back to the CC-Top-AS. The response <bcp14>MUST</bcp14> include:
   - The same query identifier,
   - For each checked item, an indication of whether a detour path is observed (or, in fine-grained operation, a list of prefixes with no detour).</t>
        <t><strong>R3 - Transport reliability</strong>: The response channel <bcp14>MUST</bcp14> provide reliable delivery (e.g., TCP). The query channel <bcp14>MAY</bcp14> use an unreliable or reliable transport; if unreliable, the protocol <bcp14>MUST</bcp14> define retransmission or
fallback behavior.</t>
        <t><strong>R4 - Security</strong>: All communication <bcp14>MUST</bcp14> be authenticated and encrypted to prevent forgery of "no detour" responses. Use of TLS with router certificates is <bcp14>RECOMMENDED</bcp14>.</t>
        <t><strong>R5 - Timeout and fallback</strong>: If the CC-Top-AS does not receive a response within the timeout, it <bcp14>MUST</bcp14> assume that a detour exists for the corresponding ASes or prefixes (i.e., they are excluded from the Standalone+ CC blocklist).</t>
        <t><strong>R6 - Incremental updates</strong>: To avoid obsolete blocklist entries that could cause false blocking, a CC-Member-AS <bcp14>MUST</bcp14> send unsolicited update messages to the CC-Top-AS when its routing state changes (e.g., a previously direct path becomes a detour path, or a detour path reverts to direct). The CC-Top-AS <bcp14>MUST NOT</bcp14> rely on periodic polling.</t>
        <t><strong>R7 - Auxiliary information collection</strong>: In addition to detour indications, the protocol <bcp14>MAY</bcp14> allow a CC-Member-AS to include in its response other information that is useful for Standalone CC, such as:
   - Its complete set of transit providers (including those outside the CC),
   - Prefixes that are originated by it but hidden from the CC-Top-AS (e.g., due to No-Export),
   - MOAS prefixes and their origin ASes.
This capability allows Standalone+ CC to gradually <strong>replace</strong> out-of-band registries (Partial Transit, RPKI ROA/MOAS, RPKI ASPA, SLURM etc.) for the purpose of constructing the initial Standalone CC blocklist, thereby reducing deployment dependencies.</t>
        <t>The detailed design of message formats, state machines, and IANA registrations is left for future specification.</t>
      </section>
    </section>
    <section anchor="deployment-and-management-considerations">
      <name>Deployment and Management Considerations</name>
      <section anchor="data-completeness-requirements">
        <name>Data Completeness Requirements</name>
        <t>Deploying Standalone CC requires different levels of completeness for different types of information:</t>
        <ul spacing="normal">
          <li>
            <t><strong>Hidden ASes (complete subtree missing)</strong> - This is the most critical gap. If a whole AS (and its downstream) is invisible due to partial transit, the operator <bcp14>MUST</bcp14> supply that information (e.g., via SLURM) or use Standalone+ CC instead. Without it, the blocklist may incorrectly retain prefixes that actually have a detour path, causing false blocking.</t>
          </li>
          <li>
            <t><strong>Provider set (alternative transit providers)</strong> - For any AS where the operator provides explicit provider information (e.g., via SLURM or ASPA), that information <bcp14>MUST</bcp14> be accurate and complete for that AS. However, the operator is NOT required to provide information for every AS; for ASes without explicit data, the safe default (assume external provider) applies, which avoids false blocking at the cost of reduced protection.</t>
          </li>
          <li>
            <t><strong>Prefix list (originated prefixes)</strong> - The CC-Top-AS collects prefixes from local-RIBs. Missing prefixes (e.g., due to No-Export) simply reduce protection (the blocklist is smaller) and do NOT cause false blocking. No completeness guarantee is required. However, when a hidden AS is discovered (by explicit provisioning or via Standalone+ CC), operators are encouraged to also retrieve the complete prefix list of that AS to improve protection coverage.</t>
          </li>
          <li>
            <t><strong>MOAS external origins</strong> - As discussed in Section 2.2.3, incomplete external origin information may lead to false blocking if an optimistic policy is used, or under-protection if a conservative policy is used. Operators should choose a policy that matches their risk tolerance and use the feedback mechanism (Section 4.5) to refine their information.</t>
          </li>
        </ul>
        <t>This graduated approach allows operators to deploy Standalone CC with manageable assumptions, understanding where gaps are safe and where they are not.</t>
      </section>
      <section anchor="incremental-deployment-and-blind-spots">
        <name>Incremental Deployment and Blind Spots</name>
        <t>The solutions support incremental deployment within a region. Not all member ASes need to support Standalone+ CC communication. For those that do not, the CC-Top-AS <bcp14>MUST</bcp14> assume that detours exist (i.e., exclude them from Standalone+ CC). Over time, as more ASes adopt the protocol, the blocklist can expand.</t>
        <t>For Standalone CC, blind spots (e.g., hidden ASes due to partial transit) can be addressed by local SLURM configuration. Operators should prioritize configuring SLURM entries for customer ASes that are known to have complex routing policies.</t>
      </section>
      <section anchor="independence-degree-as-a-metric">
        <name>Independence Degree as a Metric</name>
        <t>The Prefix Independence Degree defined in Section 1.1 can help operators evaluate the potential benefit of PI-SAV for CC before deployment. For example:
- If the Independence Degree for Standalone CC is high (e.g., &gt;80%), the static solution already provides good coverage.
- If it is low for Standalone CC but high for Standalone+ CC (e.g., &gt;80%), deploying Standalone+ CC (with the communication protocol) is beneficial.
- If both are low, the customer cone may be too intertwined with external providers, and PI-SAV for CC may offer limited protection.</t>
        <t>These thresholds are illustrative; operators should determine their own based on network topology and risk tolerance.</t>
      </section>
      <section anchor="feedback-driven-refinement">
        <name>Feedback-Driven Refinement</name>
        <t>The Standalone CC and Standalone+ CC solutions rely on static or dynamically collected topology information. Incomplete information (e.g., hidden ASes due to partial transit, unknown external providers, or MOAS origins) can lead to suboptimal blocklists - either under-protection or false blocking.</t>
        <t>To address this, an operator <bcp14>MAY</bcp14> deploy a feedback loop that uses <strong>observed SAV validation results</strong> to refine the information base. This applies to all types of information gaps discussed in Section 2 (hidden ASes, alternative providers, MOAS), as well as incomplete ASPA or SLURM entries.</t>
        <t><strong>Example feedback loop</strong>:</t>
        <ul spacing="normal">
          <li>
            <t><strong>Detection</strong>: The ASBR logs dropped packets (sampled) and their source prefixes that are blocked by the PI-SAV blocklist. If a prefix is frequently dropped but the operator later determines that the traffic is legitimate (e.g., through customer reports or traffic analysis), this indicates a possible false positive.</t>
          </li>
          <li>
            <t><strong>Investigation</strong>: The operator investigates the topology around that prefix. The investigation may reveal previously missing information, such as an undisclosed external transit provider, a hidden AS, or an unknown MOAS origin.</t>
          </li>
          <li>
            <t><strong>Refinement</strong>: The operator updates the local SLURM or, if using Standalone+ CC, triggers a new query to collect fresh information. The updated information is used to regenerate a more accurate blocklist.</t>
          </li>
        </ul>
        <t>Conversely, if spoofed packets with a CC source prefix are observed entering through a provider interface, that indicates the corresponding prefix should have been excluded from the blocklist.  The operator can then similarly investigate and refine the information base.</t>
        <t>The feedback loop can be semi-automated:</t>
        <ul spacing="normal">
          <li>
            <t>The ASBR exports sampled drop logs to an offline collector.</t>
          </li>
          <li>
            <t>An analytics process correlates drops with known topology and flags anomalous patterns (e.g., a prefix that experiences a high drop rate but has no known external provider).</t>
          </li>
          <li>
            <t>Alerts are raised for operator review and potential SLURM updates.</t>
          </li>
        </ul>
        <t>Over time, this iterative process helps the system converge to a more accurate blocklist, compensating for initial information gaps.</t>
      </section>
    </section>
    <section anchor="future-work-protocol-specification-roadmap">
      <name>Future Work: Protocol Specification Roadmap</name>
      <t>This document intentionally does not define wire protocols for:</t>
      <ul spacing="normal">
        <li>
          <t>Provisioning of partial transit information (see Section 2.2.1),</t>
        </li>
        <li>
          <t>Query-response coordination for Standalone+ CC (see Section 3.3).</t>
        </li>
      </ul>
      <t>The authors intend to collaborate with the SAVNET WG to produce one or more Standards Track documents that specify these protocols. Possible directions include:</t>
      <ul spacing="normal">
        <li>
          <t>Extending RPKI ASPA to carry partial transit declarations,</t>
        </li>
        <li>
          <t>Defining a BGP attribute or a new NLRI for query dissemination (the diffusion-based model described in Section 3.2),</t>
        </li>
        <li>
          <t>Designing a lightweight TCP-based protocol with TLS for responses.</t>
        </li>
      </ul>
      <t>Among the possible communication models, the diffusion-based (BGP-integrated) approach is preferred for its scalability and ability to also collect topology information.  Future specifications may also define a targeted query mode as a lightweight alternative.</t>
      <t>These future specifications will update or extend the framework described in this document. Implementers are encouraged to experiment with the framework and provide feedback.</t>
    </section>
    <section anchor="security-considerations">
      <name>Security Considerations</name>
      <t>The security considerations for PI-SAV for CC mainly relate to the communication mechanism for Standalone+ CC. As required in Section 3.3, any future protocol <bcp14>MUST</bcp14> provide authentication and encryption to prevent an attacker from forging "no detour" responses, which would cause the CC-Top-AS to incorrectly include a Sub-Transit-CC in the blocklist, leading to denial of service for legitimate traffic.</t>
      <t>Additionally, the source prefixes used in response messages should not be blocked by the PI-SAV blocklist itself; otherwise, responses may be dropped. This can be avoided by ensuring that the response channel uses source addresses that are not in the blocklist (e.g., addresses from a dedicated management network).</t>
      <t>For Standalone CC, security considerations are limited to the correctness of the input data (BGP RIB, RPKI, SLURM). Incorrect or incomplete data may result in a blocklist that either misses spoofed packets (under-protection) or blocks legitimate traffic (over-protection). Operators should validate their data sources and use the feedback mechanism (Section 4.5) to detect and correct information gaps.</t>
    </section>
    <section anchor="sec-iana">
      <name>IANA Considerations</name>
      <t>This document includes no request to IANA.</t>
    </section>
  </middle>
  <back>
    <references anchor="sec-combined-references">
      <name>References</name>
      <references anchor="sec-normative-references">
        <name>Normative References</name>
        <reference anchor="RFC8174" target="https://www.rfc-editor.org/info/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>
        <reference anchor="RFC8416" target="https://www.rfc-editor.org/info/rfc8416" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8416.xml">
          <front>
            <title>Simplified Local Internet Number Resource Management with the RPKI (SLURM)</title>
            <author fullname="D. Ma" initials="D." surname="Ma"/>
            <author fullname="D. Mandelberg" initials="D." surname="Mandelberg"/>
            <author fullname="T. Bruijnzeels" initials="T." surname="Bruijnzeels"/>
            <date month="August" year="2018"/>
            <abstract>
              <t>The Resource Public Key Infrastructure (RPKI) is a global authorization infrastructure that allows the holder of Internet Number Resources (INRs) to make verifiable statements about those resources. Network operators, e.g., Internet Service Providers (ISPs), can use the RPKI to validate BGP route origin assertions. ISPs can also use the RPKI to validate the path of a BGP route. However, ISPs may want to establish a local view of exceptions to the RPKI data in the form of local filters and additions. The mechanisms described in this document provide a simple way to enable INR holders to establish a local, customized view of the RPKI, overriding global RPKI repository data as needed.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8416"/>
          <seriesInfo name="DOI" value="10.17487/RFC8416"/>
        </reference>
        <reference anchor="RFC2119" target="https://www.rfc-editor.org/info/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>
      </references>
      <references anchor="sec-informative-references">
        <name>Informative References</name>
        <reference anchor="RFC3704" target="https://www.rfc-editor.org/info/rfc3704" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.3704.xml">
          <front>
            <title>Ingress Filtering for Multihomed Networks</title>
            <author fullname="F. Baker" initials="F." surname="Baker"/>
            <author fullname="P. Savola" initials="P." surname="Savola"/>
            <date month="March" year="2004"/>
            <abstract>
              <t>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="RFC8704" target="https://www.rfc-editor.org/info/rfc8704" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8704.xml">
          <front>
            <title>Enhanced Feasible-Path Unicast Reverse Path Forwarding</title>
            <author fullname="K. Sriram" initials="K." surname="Sriram"/>
            <author fullname="D. Montgomery" initials="D." surname="Montgomery"/>
            <author fullname="J. Haas" initials="J." surname="Haas"/>
            <date month="February" year="2020"/>
            <abstract>
              <t>This document identifies a need for and proposes improvement of the unicast Reverse Path Forwarding (uRPF) techniques (see RFC 3704) for detection and mitigation of source address spoofing (see BCP 38). Strict uRPF is inflexible about directionality, the loose uRPF is oblivious to directionality, and the current feasible-path uRPF attempts to strike a balance between the two (see RFC 3704). However, as shown in this document, the existing feasible-path uRPF still has shortcomings. This document describes enhanced feasible-path uRPF (EFP-uRPF) techniques that are more flexible (in a meaningful way) about directionality than the feasible-path uRPF (RFC 3704). The proposed EFP-uRPF methods aim to significantly reduce false positives regarding invalid detection in source address validation (SAV). Hence, they can potentially alleviate ISPs' concerns about the possibility of disrupting service for their customers and encourage greater deployment of uRPF techniques. This document updates RFC 3704.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="84"/>
          <seriesInfo name="RFC" value="8704"/>
          <seriesInfo name="DOI" value="10.17487/RFC8704"/>
        </reference>
        <reference anchor="RFC9582" target="https://www.rfc-editor.org/info/rfc9582" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.9582.xml">
          <front>
            <title>A Profile for Route Origin Authorizations (ROAs)</title>
            <author fullname="J. Snijders" initials="J." surname="Snijders"/>
            <author fullname="B. Maddison" initials="B." surname="Maddison"/>
            <author fullname="M. Lepinski" initials="M." surname="Lepinski"/>
            <author fullname="D. Kong" initials="D." surname="Kong"/>
            <author fullname="S. Kent" initials="S." surname="Kent"/>
            <date month="May" year="2024"/>
            <abstract>
              <t>This document defines a standard profile for Route Origin Authorizations (ROAs). A ROA is a digitally signed object that provides a means of verifying that an IP address block holder has authorized an Autonomous System (AS) to originate routes to one or more prefixes within the address block. This document obsoletes RFC 6482.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9582"/>
          <seriesInfo name="DOI" value="10.17487/RFC9582"/>
        </reference>
        <reference anchor="I-D.ietf-savnet-inter-domain-problem-statement" target="https://datatracker.ietf.org/doc/html/draft-ietf-savnet-inter-domain-problem-statement-16" xml:base="https://bib.ietf.org/public/rfc/bibxml3/reference.I-D.ietf-savnet-inter-domain-problem-statement.xml">
          <front>
            <title>Gap Analysis, Problem Statement, and Requirements for Inter-Domain SAV</title>
            <author fullname="Dan Li" initials="D." surname="Li">
              <organization>Tsinghua University</organization>
            </author>
            <author fullname="Lancheng Qin" initials="L." surname="Qin">
              <organization>Zhongguancun Laboratory</organization>
            </author>
            <author fullname="Libin Liu" initials="L." surname="Liu">
              <organization>Zhongguancun Laboratory</organization>
            </author>
            <author fullname="Mingqing(Michael) Huang" initials="M." surname="Huang">
              <organization>Huawei</organization>
            </author>
            <author fullname="Kotikalapudi Sriram" initials="K." surname="Sriram">
              <organization>USA National Institute of Standards and Technology</organization>
            </author>
            <date day="7" month="April" year="2026"/>
            <abstract>
              <t>This document provides a gap analysis of existing inter-domain source address validation mechanisms, describes the problem space, and defines the requirements for technical improvements.</t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-savnet-inter-domain-problem-statement-16"/>
        </reference>
        <reference anchor="I-D.ietf-savnet-general-sav-capabilities" target="https://datatracker.ietf.org/doc/html/draft-ietf-savnet-general-sav-capabilities-02" xml:base="https://bib.ietf.org/public/rfc/bibxml3/reference.I-D.ietf-savnet-general-sav-capabilities.xml">
          <front>
            <title>General Source Address Validation Capabilities</title>
            <author fullname="Mingqing(Michael) Huang" initials="M." surname="Huang">
              <organization>Zhongguancun Laboratory</organization>
            </author>
            <author fullname="Weiqiang Cheng" initials="W." surname="Cheng">
              <organization>China Mobile</organization>
            </author>
            <author fullname="Dan Li" initials="D." surname="Li">
              <organization>Tsinghua University</organization>
            </author>
            <author fullname="Nan Geng" initials="N." surname="Geng">
              <organization>Huawei Technologies</organization>
            </author>
            <author fullname="Li Chen" initials="L." surname="Chen">
              <organization>Zhongguancun Laboratory</organization>
            </author>
            <date day="10" month="October" year="2025"/>
            <abstract>
              <t>The SAV rules of existing source address validation (SAV) mechanisms, are derived from other core data structures, e.g., FIB-based uRPF, which are not dedicatedly designed for source filtering. Therefore there are some limitations related to deployable scenarios and traffic handling policies. To overcome these limitations, this document introduces the general SAV capabilities from data plane perspective. How to implement the capabilities and how to generate SAV rules are not in the scope of this document.</t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-savnet-general-sav-capabilities-02"/>
        </reference>
        <reference anchor="I-D.ietf-sidrops-aspa-profile" target="https://datatracker.ietf.org/doc/html/draft-ietf-sidrops-aspa-profile-26" xml:base="https://bib.ietf.org/public/rfc/bibxml3/reference.I-D.ietf-sidrops-aspa-profile.xml">
          <front>
            <title>A Profile for Autonomous System Provider Authorization</title>
            <author fullname="Job Snijders" initials="J." surname="Snijders">
              <organization>BSD Software Development</organization>
            </author>
            <author fullname="Alexander Azimov" initials="A." surname="Azimov">
              <organization>Yandex</organization>
            </author>
            <author fullname="Eugene Uskov" initials="E." surname="Uskov">
              <organization>JetLend</organization>
            </author>
            <author fullname="Randy Bush" initials="R." surname="Bush">
              <organization>Internet Initiative Japan</organization>
            </author>
            <author fullname="Russ Housley" initials="R." surname="Housley">
              <organization>Vigil Security, LLC</organization>
            </author>
            <author fullname="Ben Maddison" initials="B." surname="Maddison">
              <organization>Workonline</organization>
            </author>
            <date day="19" month="April" year="2026"/>
            <abstract>
              <t>This document defines a Cryptographic Message Syntax (CMS) protected content type for Autonomous System Provider Authorization (ASPA) objects for use with the Resource Public Key Infrastructure (RPKI). An ASPA is a digitally signed object through which the issuer (the holder of an Autonomous System identifier), can authorize one or more other Autonomous Systems (ASes) as its transit providers. When validated, an ASPA's eContent can be used for detection and mitigation of route leaks.</t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-sidrops-aspa-profile-26"/>
        </reference>
      </references>
    </references>
  </back>
  <!-- ##markdown-source:
H4sIAAAAAAAAA61d63Ibx5X+j6folWtrARqALVm+hE4lgUjJZq0oMSQVVzbl
H42ZBjDWYAaeniFFp/wu+yz7ZHtufZsZUPZmf8ShgLl0nz6X75zzdWOxWEza
oi3Nqbpq6rsiN426qFrTbHRm1M3qb2pTN+qss229h6/O6go+rbsmM3ai1+vG
3MGNFwt/4Zn/Nq+zSu/huXmjN+1i1+lqu7D6rjLt4lDgXwu4Y5Fli8+fTeq1
rUvTGns66Q65pj/w/04nGfx3WzcPp6qoNvXEdut9YW1RV7cPB3j4xcvbV5NJ
cWhOVdvAKJ99/vkf4Hm6MfpUXdddW1TbyX3dvN82dXc4VTyAyXvzAB/mpzxX
HNI5jnIy0V27q5vTiVpMFLzRnqrLpfoexw7/5vlcwiN/hv/5j+tmq6viF93C
qE7Vf+3qaruFr7KuUq/1um50C+OH68xeF+WpIknsf/7LL9us1OulybtlVsHX
WdHCLF+Y4qeCHpvVXdXixM92RaWjEb1Zqu9MNKA3unIfpEOBAd6bQt2abFfV
Zb0tYFn8MLZwR6Wrv+zoomVW73/PGM6X6nXhR3AOI6B/pu+/tfAUeL56VxV3
prHw8PD+ti6LHN7fykW/WRCTqm728IY70A6lrl+dffP06+fuz+dPvzoFfQBV
Sa/54uvP/TXhzz98+c0z/PNicb4sTLtx+lmgVizyGkZaLQ5NvS7NfmFbUMW9
qdqxO0CaptElqXWmD3pdlEVboBrH1xZ5Ux/sQtuDxsduCrC7yXK5nEwWi4XS
a9s2OmsnZ13TwHuUJVNSOs8bY6260ygxFK2agsHNFPwBgl/d/IdVB2e8hTNe
q3D05YNqTAkDwYvLurZGdddXr+bqfldkO5XpqqpblZuNqXKlt3CHbdXFlbKH
GoYHSt7h8igwnlaDFOA9ZlN8gMdpuL6w8Dqz2ZgMJQ2PNDAgfJjuypbuMXgN
3GNhOkt1u4N/gV/oUIpwnc2aYo3PUicnmwY0CQ315IQ8yXBCj4jDDdyPut6o
zPmsDH2W3OuHP02c1gzGdl8r3WS7ooXZdLCUSh9gDDrb4QAb42ZhctCvBQw4
esBNC9LQJb7n7Ozk5BQmhMpSZPDasqMRtjvdqnVXlDlOd13W2fuygBGvtTU5
rk1bH9BEH5TXXfhw09R79eK7K3V98cLO1fXVf17Acl+t5iR+eAgME6a3KbYw
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
BRO9iPINObCP9K/mBoFy5/lFlXzHfaKxZ5Trck6V1sjn/RYyhxE0966yNeVA
MNj+vvG+6TM6is8wYWDDIdMGf42KUdSdJVoHbTYg012jQ4xyHfpUKIfppkSk
vnHVim6f9blbbjORZxOBzRd1jpAc3CCe5UNS/Rrd82jCnXrLi8ozxKOyd5TE
980O7JdKA4Nd4bWPOLL9zmsgMwQS9iqlkLgX3my6cphwSyldW/GrF220vUXo
D0Pqw7RfB+lvO+aHXSVNdDq1KumAFy0VLqQiMaT3ucWWMoonV7rnRxxlQVEM
FaLW7XIiNeiDY1hKuaVnK8ilbHTO5UlX7IDU5khtQ017hzTMPQv6MxxVcuRb
v+JBy9w1h5od1mA7lUuPetuqwh5SV5Shdh31xUPlwJfRC18e9+mDVJHhnWJ+
ihUFVC/NHjijuFi9Wbk5S51ppACd5gnYfDoPo8HHXIY9NmeC7bU0k5C3pFvt
ib/YF08QO5ID8GG0eycRh8fkgY+MaK+0LNLoedQ78BeNcbylqpAyZr0RMFPT
N/apEU1KJbUoyuR8G3urD5K2ctYbHw8R+H8zbi47uvF4nbDfciZ/6hisuh0r
7mFdQg4SRM6OHcQEyRiW6gfB4O41wd9jVTvmxAgDIWXE+FJ+UiAQZ4vhAVcs
DRDLETrW9NHKOcv6Vc2bKTg2SCnMS8Wf8GcSDnKf4tSXj6JtV1crqqr0ZOmR
CXbHiLFC5XTRB7ZgIsEt1ff1vaE6bjImWFuOG6SiAmMYxvUL8Yag3Orm27AR
zGVHfkJI+Oc3JBzA6TG614zPyTL+uKp/rfd/Fe29mUYO3BemxCIS3jOHvj55
O1Dal+pSiLcB3xxx9q7QKQduxQ31VHFx6wPWAkgCsGR5TcswBlawxJN6icCk
D2TOPFpgOSM1EGiLQFHGLAHPrRxjwaOikdYldjiLObYE5vwWMc6ZbU1YuzDS
JvXqF++EoioM0zERFEhXNRIQE6i3RlaS4mWfY0Wrt+LJdNby/u3omK3lF/OY
CvgYYQY9B2TANIWesjE3o/Y0EteIZ2iSz5li2CNM4E0qSY7Tu5ZqwOXwnBy5
UrZ3tFSyZ3SA5As8xBjuxGYzaoqjFm8cHyNi/CYsDGrMOP5FkbgYd0YbwwjK
ZXpniIUVJ/yHca0X1HhnMsVLITpFx66ReCxejwJlVwjRhvWH6eK83ZhdJCcJ
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

-->

</rfc>
