<?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.6.35 (Ruby 3.0.2) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-geng-idr-bgp-savnet-01" category="std" consensus="true" submissionType="IETF" version="3">
  <!-- xml2rfc v2v3 conversion 3.17.4 -->
  <front>
    <title abbrev="BGP Extensions for SAVNET">BGP Extensions for Source Address Validation Networks (BGP SAVNET)</title>
    <seriesInfo name="Internet-Draft" value="draft-geng-idr-bgp-savnet-01"/>
    <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="Z." surname="Li" fullname="Zhenbin Li">
      <organization>Huawei Technologies</organization>
      <address>
        <postal>
          <city>Beijing</city>
          <country>China</country>
        </postal>
        <email>lizhenbin@huawei.com</email>
      </address>
    </author>
    <author initials="Z." surname="Tan" fullname="Zhen Tan">
      <organization>Huawei Technologies</organization>
      <address>
        <postal>
          <city>Beijing</city>
          <country>China</country>
        </postal>
        <email>tanzhen6@huawei.com</email>
      </address>
    </author>
    <author initials="M." surname="Liu" fullname="Mingxing Liu">
      <organization>Huawei Technologies</organization>
      <address>
        <postal>
          <city>Beijing</city>
          <country>China</country>
        </postal>
        <email>liumingxing7@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>
    <author initials="F." surname="Gao" fullname="Fang Gao">
      <organization>Zhongguancun Laboratory</organization>
      <address>
        <postal>
          <city>Beijing</city>
          <country>China</country>
        </postal>
        <email>gaofang@zgclab.edu.cn</email>
      </address>
    </author>
    <date year="2023" month="July" day="10"/>
    <area>Routing</area>
    <workgroup>IDR</workgroup>
    <keyword>Internet-Draft</keyword>
    <abstract>
      <?line 82?>

<t>Many source address validation (SAV) mechanisms have been proposed for preventing source address spoofing. However, existing SAV mechanisms are faced with the problems of inaccurate validation or high operational overhead in some cases. This paper proposes BGP SAVNET by extending BGP protocol for SAV. This protocol can propagate SAV-related information through BGP messages. The propagated information will help routers automatically generate accurate SAV rules which are for checking the validity of data packets.</t>
    </abstract>
  </front>
  <middle>
    <?line 86?>

<section anchor="sec-intro">
      <name>Introduction</name>
      <t>Source address validation (SAV) is essential for preventing source address spoofing attacks (e.g., DDoS based on source address spoofing <xref target="RFC6959"/>) and tracing back network attackers. For a network, SAV mechanisms can be deployed on edge routers or aggregation routers for validating the packets from the connected subnets or neighboring ASes <xref target="manrs-antispoofing"/>.</t>
      <t>ACL-based ingress filtering can be used for SAV, which, however, has high operational overhead problems in dynamic networks <xref target="I-D.ietf-savnet-intra-domain-problem-statement"/><xref target="I-D.wu-savnet-inter-domain-problem-statement"/> and also has limited capacity of rules. Many SAV mechanisms, such as strict uRPF, loose uRPF, and EFP-uRPF <xref target="RFC3704"/><xref target="RFC8704"/>, leverage routing information to automatically generate SAV rules. The rules indicate the wanted incoming directions of source addresses. The packets with specified source addresses but from unwanted directions will be considered invalid <xref target="I-D.huang-savnet-sav-table"/>. However, there may be inaccurate validation problems under asymmetric routing <xref target="I-D.ietf-savnet-intra-domain-problem-statement"/><xref target="I-D.wu-savnet-inter-domain-problem-statement"/>. This is because these uRPF mechanisms are "single-point" designs. They leverage the local FIB or local RIB table to determine the incoming interfaces for source addresses, which may not match the real incoming directions. That is, purely relying on the original IGP or BGP protocols to obtain routing information for SAV rule generation cannot well meet the requirement of accurate validation.</t>
      <t>This document proposes an extension of BGP protocol for SAV, i.e., BGP SAVNET. Unlike existing "single-point" mechanisms, BGP SAVNET allows coordination between the routers within the network or the ASes outside the network by propagating SAV-related information through extended BGP messages. The propagated information can provide more accurate source address information and incoming direction information than the local FIB and RIB tables. The routers with BGP SAVNET can automatically generate accurate SAV rules with reduced operational overhead.</t>
      <t>The BGP SAVNET protocol is suitable to generating SAV rules for both IPv4 and IPv6 addresses. The SAV rules can be used for validating any native IP packets or IP-encapsulated packets.</t>
      <section anchor="terminology">
        <name>Terminology</name>
        <t>SAV: Source address validation, an approach to preventing source address spoofing.</t>
        <t>SAV Rule: The rule that indicates the valid incoming interfaces for a specific source prefix.</t>
        <t>SAV Table: The table or data structure that implements the SAV rules and is used for source address validation in the data plane.</t>
        <t>SPA: Source prefix advertisement, i.e., the process for advertising the origin source addresses/prefixes of a router or an AS.</t>
        <t>SPD: Source path discovery, i.e., the process for discovering the real incoming directions of particular source addresses/prefixes.</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="sec-relat">
      <name>BGP Protocol Relationship</name>
      <t>The BGP extensions for BGP SAVNET follow a backward compatible manner without impacting existing BGP functions. New BGP SAVNET subsequent address families will be introduced under the IPv4 address family and the IPv6 address family, respectively. The BGP UPDATE message (specifically the MP_REACH_NLRI and the MP_UNREACH_NLRI attributes) and the BGP Refresh message will be extended. AFI and SAFI can be used for distinguishing the BGP SAVNET messages from other messages.</t>
      <t>A few existing path attributes such as Originator_ID and Clister_list or new defined path attributes <bcp14>MAY</bcp14> be used for BGP SAVNET. Actually, most existing path attributes are not necessarily required for BGP SAVNET. However, if the unnecessary path attributes are carried in BGP updates, they will be accepted, validated, and propagated consistent with the BGP protocol.</t>
    </section>
    <section anchor="sec-solution">
      <name>BGP SAVNET Solution</name>
      <section anchor="application-scenarios-and-goals">
        <name>Application Scenarios and Goals</name>
        <t>BGP SAVNET aims to generate accurate SAV rules for most use cases including asymmetric routing. An SAV rule indicates the valid incoming interfaces for a specific source address/prefix. A router with BGP SVANET will locally maintain a SAV table storing the SAV rules. The SAV table can be used for validating data packets.</t>
        <t><xref target="fig-goal"/> shows the application scenarios where BGP SAVNET will enable SAV in data plane. There are generally two kinds of scenarios: SAV within an AS and SAV between ASes. SAV within an AS can prevent local customer networks (subnets or stub ASes) from generating source address spoofed packets and block external packets with internal source addresses. SAV rules are generated without any cooperations or interactions (such as prefix advertisements) between the local AS and subnets/other ASes. In contrast, SAV between ASes aims to checking the external packets spoofing other ASes' source addresses. Cooperations or interactions between the local AS and other ASes are required.</t>
        <ul spacing="normal">
          <li>
            <t>SAV within an AS
            </t>
            <ul spacing="normal">
              <li>Edge/Border routers: SAV can be deployed at '*' or '#' for checking the validity of the packets from customer networks and Internet.</li>
              <li>Aggregation routers: Aggregation routers can do validation at 'x' for any arrival packets.</li>
            </ul>
          </li>
          <li>
            <t>SAV between ASes
            </t>
            <ul spacing="normal">
              <li>Border routers connecting other ASes: SAV can be deployed at '#' for checking the validity of the packets from other ASes.</li>
            </ul>
          </li>
        </ul>
        <figure anchor="fig-goal">
          <name>BGP SAVNET application scenarios</name>
          <artwork><![CDATA[
        +-----+           +-----+
        | AS1 |           | AS2 |
        +-----+           +-----+
             \             /
+-------------\-----------/-------------+
| AS3        +-#--+   +--#-+            |
|            | R7 |---| R8 |            |
|            +----+   +----+            |
|              |         |              |
|            +-x--+   +--x-+            |
|      ------x R5 x---x R6 x------      |
|      |     +-x--+   +--x-+     |      |
|      |       |         |       |      |
|   +----+   +----+   +----+   +----+   |
|   | R1 |   | R2 |---| R3 |   | R4 |   |
|   +--*-+   +-*--+   +--#-+   +-#--+   |
+-------\-----/-----------\-----/-------+
       +-------+          +-----+
       |Subnet1|          | AS4 |
       +-------+          +-----+

]]></artwork>
        </figure>
      </section>
      <section anchor="sav-within-an-as-solution-for-edgeborder-routers">
        <name>SAV within an AS: Solution for Edge/Border Routers</name>
        <t><xref target="fig-goal-edge"/> shows a comprehensive example of application scenarios which includes different kinds of external interfaces. On the edge routers that connect to customers, BGP SAVNET can be enabled at access interfaces for validating outbound packets from subnets or stub ASes. On the border router, BGP SAVENT also can be applied at the external interfaces for validating the inbound packets from the Internet.</t>
        <figure anchor="fig-goal-edge">
          <name>BGP SAVNET application scenarios</name>
          <artwork><![CDATA[
+-----------------------------------------+
|               Internet                  |
+-----------------------------------------+
              |      |                |
              |      |                |
+-------------+------+----------------+---+
| AS          |      |                |   |
|       Intf.6|      |Intf.7          |   |
|           ┌─*──────*─┐              |   |
|           │ Router 3 │              |   |
|           └──────────┘              |   |
|              /     \                |   |
|             /       \               |   |
|            /         \              |   |
|   ┌──────────┐     ┌──────────┐     |   |
|   │ Router 1 │     │ Router 2 │     |   |
|   └──#─────#─┘     └─#──#──*──┘     |   |
|intf.1|intf.2\ intf.3/   |   \Intf.5 |   |
|      |       \     /  Intf.4 \      |   |
|      |        \   /     |     \     |   |
|   Subnet1    Subnet2    |      Subnet3  |
|                         |               |
+-------------------------+---------------+
                          |
                          |
                   +-------------+
                   |   Stub AS   |
                   +-------------+

intf '#': Mode "Interface-based prefix allowlist"
intf '*': Mode "Interface-based prefix blocklist"

]]></artwork>
        </figure>
        <t>In general, there are four types of external interface:</t>
        <ul spacing="normal">
          <li>Single-homing interface. When a customer network has only one uplink connects to the upper-layer network, the connected interface at the edge of upper-layer network can be defined as a "Sigle-homing interface", which corresponds to Intf.1 and Intf.4 in <xref target="fig-goal-edge"/>.</li>
          <li>Complete Multi-homing interface. When a customer network has dual or multiple uplinks that connect to a single upper-layer network with BGP SAVNET deployed, the connected interfaces at the edge router of upper-layer network are called "Complete Multi-homing interface", which corresponds to Intf.2 and Intf.3 in <xref target="fig-goal-edge"/>.</li>
          <li>Incomplete multi-homing interface. when a customer network has dual or multiple uplinks, all of which are not connected to a single upper-layer network, the interfaces at the edge of upper-layer network are called the "Incomplete Multi-homing interface", which corresponds to Intf.5 in <xref target="fig-goal-edge"/>. Specifically, Incomplete Multi-home interface exists in circumstances where source prefixes cannot be fully acknowledged, such as when only a portion of interfaces in upper-layer AS is BGP SAVNET enabled, or these interfaces belong to different upper-layer ASes.</li>
          <li>Internet interface. It's the external interfaces that connected to the Internet on border routers. Typically, a network contains multiple internet interfaces for load balancing, which corresponds to Intf.6 and Intf.7 as shown in <xref target="fig-goal-edge"/>.</li>
        </ul>
        <t>In order to perform accurate validation on different types of external interface, two typical modes are provided: "Interface-based prefix allowlist" and "Interface-based prefix blocklist" <xref target="I-D.huang-savnet-sav-table"/>. For interfaces that can learn all its legitimate source prefixes, the" Interface-based prefix allowlist" mode is recommended. For interfaces that cannot learn all its legitimate source prefixes, but in turns know the source prefixes that are surely not allowed, the "Interface-based prefix blocklist" mode is suitable.</t>
        <t>For the first two type of interfaces in the example scenario shown in <xref target="fig-goal-edge"/>, which are defined as "Single-homing interface" and "Complete Multi-homing interface", the "Interface-based prefix allowlist" mode is suitable. In this case, the allowlist should contain all source prefixes of the connected subnets or stub ASes. The key challenge to fulfill a complete list is to solve asymmetric routing problem in multi-homing scenarios, and the legacy uRPF approach is not sufficient.</t>
        <t>For the last two types of interfaces in the example scenario, which are defined as "Incomplete multi-homing interface" and "Internet interface", the "Interface-based prefix blocklist" mode is suitable. For a specific interface, its blocklist could contain the prefixes that are learned from other interfaces, such as "Single-homing interface" or "Complete Multi-homing interface". The key challenge in this case is how to maintain the source prefixes blocklist dynamically and efficiently.</t>
        <t>To address these two challenges mentioned above, BGP SAVNET is introduced in this document. The primary idea is to allow routers to advertise SAV-related information on the control plane, thus automatically generate accurate SAV rules on the data plane. The information advertised by BGP SAVNET requires to be concise and efficient.</t>
        <t>The main goal is to generate source prefixes allowlist/blocklist on border routers or edge routers. The corresponding solution consists of one major process, which is named Source Prefix Advertisement (SPA). During the SPA procedure, the router will advertise its local source prefixes information with the MIIG-type, MIIG-tag, and Prefix attributes:</t>
        <ul spacing="normal">
          <li>BGP SAVNET defines the Multi-homing Interface Group Type (MIIG-Type) to indicate the exact type of each external interface, which should be one of the four types mentioned above. MIIG-type determines the local validation mode of the interface (i.e., interface-based prefix allowlist/blocklist), and also assists remote peer route in generating prefixes allowlist/blocklist.</li>
          <li>BGP SAVNET defines the Multi-homing Interface Group Tag (MIIG-Tag) to identify customers. It is an identifier that represents a customer subnet, a lower-layer stub AS or the internet. In the design, different customer subnets/stub ASes use different MIIG-tag values, while the internet usually takes the same MIIG-tag value.</li>
          <li>In BGP SAVENT, the MIIG-Type and MIIT-Tag work together to generate source prefixes list on remote peer routers. On the remote router, source prefixes in SPA message that take the same MIIG-Type and same MIIT-Tag value as one of its local interfaces, will be recognized as legitimate prefixes of that interface.</li>
          <li>BGP SAVNET also defines the "Prefix attribute" to indicate the "Source" and "Dest" type of a prefix. "Source" attribute represents whether all origin interfaces of the prefix are known and learned. "Dest" attribute indicates whether route for this prefix exists in local RIB of this SPA advertising router. "Prefix Attribute" values are determined by the "MIIT-Type" of the prefixes in typical cases. For example, prefixes belonging to "Single-homing interface" and "Complete Multi-homing interface" will take both "Source" type value and "Dest" type value, while prefixes of "Incomplete multi-homing interface" and "Internet interface" are only assigned "Dest" type value. However, in same special cases, the prefix attribute value needs to be specified. For example, in the direct server return (DSR) scenario <xref target="I-D.wu-savnet-inter-domain-problem-statement"/>, the hidden prefix should be a "Source" type prefix but not a "Dest" type prefix, as it's not a reachable prefix in local routing table. Normally, the "Prefix attribute" value is set manually in this special hidden prefix scenario.</li>
        </ul>
        <t>Routers will announce the source prefixes within the above attribute values via SPA messages. In "Single-homing interface" and "Complete Multi-homing interface" scenarios, the router should advertise all prefixes of this interface. In the other scenarios, the prefixes could be determined to be published or not on the local router.</t>
        <t>Routers with "Single-homing interface" or "Complete Multi-homing interface" will generate "Interface-based prefix allowlist", and the building approach of the allowlist is different in these two scenarios.
In the case of "Single-homing interface", the allowlist can be generated only through local routing information (local RIB), without the engagement of SPA message. The method building the allowlist is, each Dest Prefix in RIB that records this interface as an outgoing interface will be added to the" Interface-based prefix allowlist".
In the case of "Complete Multi-homing interface", in addition to collecting prefixes of the interface itself in local RIB, routers also need merge prefixes from received SPA message or other local interfaces into allowlist to construct a complete list. First, the prefixes in received SPA, which take the same "MIIG-Type" and "MIIG-Tag" values as the local interface, are added to the allowlist. Second, if there are multiple interfaces having the same "MIIG-Type" and "MIIG-Tag" values, they will share prefixes collected from local RIB into each other’s allowlist.</t>
        <t>Routers with "Incomplete Multi-homing interface" or "Internet interface" will generate "Interface-based prefix blocklist" for the interface. Generally, the interface-based blocklist contains prefixes that surely not enter this interface. To construct the blocklist, there are three types of situations need to be taken into consideration separately. First, the local prefixes of other "Single-homing interface" or "Complete Multi-homing interface" on the same router could be recorded into the blocklist. Second, the prefixes in received SPA message, which belongs to the remote "Single-homing interface" or "Complete Multi-homing interface", also could be added into the blocklist. Third, the prefixes from any scenario taking the "source" type attribute which may be manually configured or set by RTBH, also can be added into the blocklist, even if the prefixes belong to the "Incomplete Multi-homing interface" or "Internet interface".</t>
      </section>
      <section anchor="sav-within-an-as-solution-for-aggregation-routers">
        <name>SAV within an AS: Solution for Aggregation Routers</name>
        <t>The solution consists of two main processes: SPA and Source Path Discovery (SPD). Edge routers can generate SAV rules through SPA on the interfaces connecting subnets. SPA and SPD can help aggregation routers generate SAV rules on the interfaces connecting other routers.</t>
        <t>Aggregation routers are to generate SAV rules for checking the validity of recorded source prefixes and ignore the validation of unrecorded source prefixes. Each edge router can first send SPA messages for propagating its router-id and its source prefixes that need to be validated. Aggregation routers will record the mapping from router-id to source prefixes. Then, each edge router will send an SPD messages to each neighbor router. The message carries the source router-id of the edge router and the destination router-ids whose mapped source prefixes take the neighbor router as the next forwarding hop. The neighbor router (e.g., aggregation router) receiving the message will record the incoming interface of the message, and SAV rules will be generated locally by binding the source router-id's source prefixes to the recorded incoming interface. Then neighbor router will remove its own router-id from the destination router-id list and relay the message to its neighbors according to local forwarding rules. The routers receiving the message will repeat the above process until the destination router-id list is empty. More details can be found in the version-00 of <xref target="I-D.li-savnet-intra-domain-architecture"/>.</t>
      </section>
      <section anchor="sav-between-ases-solution-for-border-routers">
        <name>SAV between ASes: Solution for Border Routers</name>
        <t>The solution consists of two main processes: SPA and SPD. Border routers can generate SAV rules at interfaces connecting to other ASes through SPA and SPD.</t>
        <t>Let AS X be the local AS which acts as a validation AS and generates SAV rules for other ASes. Let AS Y be one of the ASes deploying BGP SAVNET, which is named as source AS. Validation AS X will generate SAV rules for protecting the source prefixes of source AS Y.</t>
        <t>AS Y first advertise its own AS number and its own source prefixes to AS X through SPA messages. SPA is necessary because AS Y cannot learn the complete set of source prefixes of AS Y purely through BGP updates. Some hidden source prefixes that do not appear can be advertised to AS X through SPA messages.</t>
        <t>After SPA, AS Y can send SPD messages for notifying its preferred AS paths from AS Y to AS X. AS X will learn the incoming direction of AS Y's packets. Then, SAV rules can be generated. SPD can help AS X for discovering the real forwarding paths that do not match the control plane paths learned by AS X.</t>
        <t>Note that, the SAV solutions either within an AS or between ASes are under working on. The BGP SAVNET will be updated if the solutions are revised.</t>
      </section>
    </section>
    <section anchor="sec-peering">
      <name>BGP SAVNET Peering Models</name>
      <t>Several BGP SAVNET solutions are introduced that can be applied in different scenarios. Depending on the solution's feature, different peering models need to be taken.</t>
      <section anchor="full-mesh-ibgp-peering">
        <name>Full-mesh IBGP Peering</name>
        <t>This peering model is required by the SAV solution within an AS so that the edge/border routers can generate SAV rules. In this model, routers enabling BGP SAVNET <bcp14>MUST</bcp14> establish full-mesh iBGP sessions either through direct iBGP sessions or route-reflector. The BGP SAVNET sessions can be established only when the BGP SAVNET address family has been successfully negotiated. SPA messages within an AS can be advertised through the full-mesh BGP SAVNET sessions. The extensions of BGP messages for carrying SPA messages will be introduced in <xref target="sec-extension"/>.</t>
      </section>
      <section anchor="singe-hop-ibgp-peering-between-directly-connected-routers">
        <name>Singe-hop IBGP Peering between Directly Connected Routers</name>
        <t>This peering model meets the requirement of the SAV solution within an AS so that the aggregation routers can generate SAV rules. In this model, routers enabling BGP SAVNET <bcp14>MUST</bcp14> establish single-hop iBGP sessions through direct point-to-point links. For each link, a single-hop iBGP session needs to be established, and the messages transmitted over the session <bcp14>MUST</bcp14> be carried by the corresponding link. SPD messages within an AS can be advertised through these sessions. The extensions of BGP messages for carrying SPD messages will be introduced in <xref target="sec-extension"/>.</t>
      </section>
      <section anchor="ebgp-peering-between-ases">
        <name>EBGP Peering between ASes</name>
        <t>The SAV solution between ASes requires eBGP sessions which can be single-hop or multi-hop. In this model, for the AS enabling BGP SAVNET, at least one border router in the AS <bcp14>MUST</bcp14> establish the BGP SAVNET sessions with other border routers in the neighboring or remote ASes. SPA and SPD messages between ASes will be advertised through these sessions. The extensions of BGP messages for carrying SPA and SPD messages will be introduced in <xref target="sec-extension"/>.</t>
      </section>
    </section>
    <section anchor="sec-extension">
      <name>BGP SAVNET Protocol Extension</name>
      <section anchor="bgp-savnet-safi">
        <name>BGP SAVNET SAFI</name>
        <t>In order to transmitting and exchanging data needed to generate an independent SAV table, the document introduces the BGP SAVNET SAFI. The value is TBD and requires IANA registration as specified in <xref target="sec-iana"/>. In order for two BGP SAVNET speakers to exchange BGP SAVNET NLRI (SPA message), they <bcp14>MUST</bcp14> establish a BGP SAVNET peer and <bcp14>MUST</bcp14> exchange the Multiprotocol Extensions Capability <xref target="RFC5492"/> to ensure that they are both capable of processing such NLRI properly. Two BGP SAVNET speakers <bcp14>MUST</bcp14> exchange Route Refresh Capability <xref target="RFC2918"/> to ensure that they are both capable of processing the SPD message carried in the BGP Refresh message.</t>
      </section>
      <section anchor="bgp-savnet-nlri">
        <name>BGP SAVNET NLRI</name>
        <t>The BGP SAVNET NLRI is used to transmit Source Prefix (either IPv4 or IPv6) information to form a uniform Source Prefix list within a deployment domain.</t>
        <t>The BGP SAVNET NLRI TLVs are carried in BGP UPDATE messages as (1) route advertisement carried within Multiprotocol Reachable NLRI (MP_REACH_NLRI) <xref target="RFC4760"/>, and (2) route withdraw carried within Multiprotocol Unreachable NLRI (MP_UNREACH_NLRI).</t>
        <t>While encoding an MP_REACH_NLRI attribute containing BGP SAVNET NLRI TLVs, the "Length of Next Hop Network Address" field <bcp14>SHOULD</bcp14> be set to 0 upon the sender. The "Network Address of Next Hop" field should not be encoded upon the sender, because it has a 0 length and <bcp14>MUST</bcp14> be ignored upon the receiver.</t>
        <section anchor="spa-tlvs-within-an-as">
          <name>SPA TLVs within an AS</name>
          <t>The BGP SAVNET NLRI TLV each carries a Source Prefix and related information, therefore it is called an SPA TLV. 
This type of TLVs are used in SPA process within an AS. The format is shown below:</t>
          <figure>
            <name>SPA TLV format</name>
            <artwork><![CDATA[
 0                   1                   2                   3  
 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| RouteType (1) |   Length (1)  |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                        Origin router-id (4)                   |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|  MaskLen (1)  |        IP Prefix (variable)                   |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| MIIG-Type (1) | Flags (1) |D|S|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                         MIIG-Tag (32)                         |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
]]></artwork>
          </figure>
          <t>The meaning of these fields are as follows:</t>
          <ul spacing="normal">
            <li>RouteType(key): Type of the BGP SAVNET NLRI TLV, the value is 1 for SPA TLV within an AS.</li>
            <li>Length: The length of the BGP SAVNET NLRI value, the RouteType and Length fields are excluded.</li>
            <li>Origin router-id(key): The router ID of the originating node of the source prefix in the deployment domain.</li>
            <li>MaskLen(key): The mask length in bits, which also indicates the valid bits of the IP Prefix field.</li>
            <li>IP Prefix(key): IP address. The length ranges from 1 to 4 bytes for IPv4 and ranges from 1 to 16 bytes for IPv6. Format is consistent with BGP IPv4/IPv6 unicast address.</li>
            <li>MIIG-Type(non-key): Multi-homing Ingress Interface Group type, see <xref target="sec-miig-type"/> for details.</li>
            <li>
              <t>Flags(non-key): Bitmap, indicating the attribute flag of the SPA prefix, currently taken:
              </t>
              <ul spacing="normal">
                <li>bit 0(S bit) : source flag, indicates that the SPA prefix can be used as a source prefix.</li>
                <li>bit 1(D bit) : dest flag, indicates that the SPA prefix can be used as a destination prefix.</li>
              </ul>
            </li>
            <li>MIIG-Tag(non-key): Multi-homing Ingress Interface Group Tag. The value ranges from 1 to 0xFFFFFFFF. The value 0 is invalid and the value 0xFFFFFFFF is reserved.</li>
          </ul>
          <section anchor="sec-miig-type">
            <name>Multi-homing Ingress Interface Group Type</name>
            <ul spacing="normal">
              <li>Type value 0: Unknown. Indicates that this prefix does not come from any subnets. It can be a local prefix or a local domain prefix.</li>
              <li>Type value 1: Single-homed. Indicates that this prefix comes from a subnet that is single-homed to the local domain.</li>
              <li>Type value 2: Complete-multi-homed. Indicates that this prefix comes from a subnet that is multi-homed to the local domain, and is connected only to the local domain.</li>
              <li>Type value 3: Incomplete-multi-homed. Indicates that this prefix comes from a subnet that is multi-homed to the local domain and and other domains.</li>
              <li>Type value 4: Internet-Ingress. Indicates that this prefix comes from a interface that is connected to the Internet.</li>
              <li>Type value 5~255: Reserved for future use.</li>
            </ul>
          </section>
        </section>
        <section anchor="spa-tlvs-between-ases">
          <name>SPA TLVs between ASes</name>
          <t>This type of TLVs are used in SPA process between ASes.</t>
          <figure>
            <name>SPA TLV format</name>
            <artwork><![CDATA[
 0                   1                   2                   3  
 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| RouteType (1) |   Length (1)  |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                        Source AS Number (4)                   |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|  MaskLen (1)  |        IP Prefix (variable)                   |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|  Flags (1)    |
+-+-+-+-+-+-+-+-+
]]></artwork>
          </figure>
          <t>The meaning of these fields are as follows:</t>
          <ul spacing="normal">
            <li>RouteType(key): Type of the BGP SAVNET NLRI TLV, the value is 2 for SPA TLV between ASes.</li>
            <li>Length: The length of the BGP SAVNET NLRI value, the RouteType and Length fields are excluded.</li>
            <li>Source AS Number(key): The AS number of the originating AS of this advertised source prefix.</li>
            <li>MaskLen(key): The mask length in bits, which also indicates the valid bits of the IP Prefix field.</li>
            <li>IP Prefix(key): IP address. The length ranges from 1 to 4 bytes for IPv4 and ranges from 1 to 16 bytes for IPv6. Format is consistent with BGP IPv4/IPv6 unicast address.</li>
            <li>Flags(non-key): Reserved for future use.</li>
          </ul>
        </section>
      </section>
      <section anchor="bgp-savnet-refresh">
        <name>BGP SAVNET Refresh</name>
        <t>The SPD TLV is carried in a BGP Refresh message after the BGP Refresh message body, as follows:</t>
        <figure>
          <name>BGP-REFRESH with SPD TLV format</name>
          <artwork><![CDATA[
 0                   1                   2                   3  
 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|              AFI (2)          |  Reserved (1) |     SAFI (1)  |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                       SPD TLV (variable)                      |
~                                                               ~
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
]]></artwork>
        </figure>
        <t>By carrying an SPD TLV, a BGP SAVNET Refresh message <bcp14>MUST NOT</bcp14> be processed as a Route-Refresh (as a re-advertisement request) and <bcp14>SHOULD</bcp14> only be used in the SPD process. A BGP SAVNET Refresh message without an SPD TLV <bcp14>SHOULD</bcp14> be processed as a Route-Refresh as defined in Route Refresh Capability <xref target="RFC2918"/>.</t>
        <section anchor="the-spd-tlvs-within-an-as">
          <name>The SPD TLVs within an AS</name>
          <t>The SPD TLV carries the information that the Source Path Discovery process needed. 
This type of TLVs are used in SPD process within an AS. The format is shown below:</t>
          <figure>
            <name>SPD TLV format</name>
            <artwork><![CDATA[
 0                   1                   2                   3  
 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|   Type (1)   |   SubType (1)  |            Length (2)         |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                        Sequence Number (4)                    |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                        Origin router-id (4)                   |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|     Optional Data Length (2)  |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                        Optional Data (variable)               |
~                                                               ~
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                          Dest List (variable)                 |
~                                                               ~
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
]]></artwork>
          </figure>
          <t>The meaning of these fields are as follows:</t>
          <ul spacing="normal">
            <li>Type: TLV Type, the value is 2 for SPD TLV.</li>
            <li>SubType: TLV Sub-Type, value is 1 for SPD TLV within an AS.</li>
            <li>Length: The length of the SPD TLV value, the Type, SubType and Length fields are excluded.</li>
            <li>Sequence Number: Indicates the sequence of Source Path Discovery process. The initial value is 0 and the value increases monotonically.</li>
            <li>Origin router-id: The router ID of the originating node of the Source Path Discovery process.</li>
            <li>Optional Data Length: The length of the optional data field in bytes. The value can be 0 when there is no optional data.</li>
            <li>Optional Data: In Sub-TLV format, see <xref target="sec-spd-option-tlv"/> for details.</li>
            <li>Dest List: List of destination router-ids, using 4-bytes route-id, indicates the destinations of this Source Path Discovery process.</li>
          </ul>
        </section>
        <section anchor="the-spd-tlvs-between-ases">
          <name>The SPD TLVs between ASes</name>
          <t>This type of TLVs are used in SPD process between ASes.</t>
          <figure>
            <name>SPD TLV format</name>
            <artwork><![CDATA[
 0                   1                   2                   3  
 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|   Type (1)   |   SubType (1)  |            Length (2)         |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                        Sequence Number (4)                    |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                        Origin router-id (4)                   |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                        Source AS Number (4)                   |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                      Validation AS Number (4)                 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|     Optional Data Length (2)  |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                        Optional Data (variable)               |
~                                                               ~
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                     Neighbor AS Number List (variable)        |
~                                                               ~
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
]]></artwork>
          </figure>
          <t>The meaning of these fields are as follows:</t>
          <ul spacing="normal">
            <li>Type: TLV Type, the value is 2 for SPD TLV.</li>
            <li>SubType: TLV Sub-Type, value is 2 for SPD TLV between an AS.</li>
            <li>Length: The length of the SPD TLV value, the Type, SubType and Length fields are excluded.</li>
            <li>Sequence Number: Indicates the sequence of Source Path Discovery process. The initial value is 0 and the value increases monotonically.</li>
            <li>Origin router-id: The router ID of the originating node of the Source Path Discovery process.</li>
            <li>Source AS Number(key): The AS number of the source AS whose source prefixes need to be validated in the validation AS.</li>
            <li>Validation AS Number(key): The AS number of the validation AS who conducts validation for the source prefixes of source AS.</li>
            <li>Optional Data Length: The length of the optional data field in bytes. The value can be 0 when there is no optional data.</li>
            <li>Optional Data: In Sub-TLV format, see <xref target="sec-spd-option-tlv"/> for details.</li>
            <li>Neighbor AS Number List: List of neighbor AS, from which the validation AS will receive the data packets with the source prefixes of the source AS.</li>
          </ul>
        </section>
        <section anchor="sec-spd-option-tlv">
          <name>The SPD Optional Data Sub-TLVs</name>
          <t>Information in the Optional Data field of the SPD TLV is encoded in Sub-TLV format.  The format is shown below and applies to all types of Sub-TLVs. Each type of Sub-TLV <bcp14>SHOULD</bcp14> appear no more than once in an SPD TLV.</t>
          <figure>
            <name>SPD Optional Data Sub-TLV format</name>
            <artwork><![CDATA[
 0                   1                   2                   3  
 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|   Type (2)   |             Length (2)         |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                         values (variable)                     |
~                                                               ~
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
]]></artwork>
          </figure>
          <t>The meaning of these fields are as follows:</t>
          <ul spacing="normal">
            <li>Type: Sub-TLV Type. The value 1 and 2 have been taken. The sequence of values is TBD and requires IANA registration as specified in Section 9.</li>
            <li>Length: The length of the Sub-TLV value, the Type and Length fields are excluded.</li>
          </ul>
          <section anchor="sub-tlv-type-1-origin-router-id-list">
            <name>Sub-TLV Type 1: Origin Router-id List</name>
            <t>List of agent original router-ids, using 4-bytes route-id. This information is used in the SPD convergence process and can carry a maximum of 254 router-ids.</t>
          </section>
          <section anchor="sub-tlv-type-2-path-router-id-list">
            <name>Sub-TLV Type 2: Path Router-id List</name>
            <t>List of path router-ids, using 4-bytes route-id, record all the router-id of the routers that the SPD process has passed through. This information is used to prevent loops and can carry a maximum of 254 router-ids.</t>
            <t>Currently, the above two sub-TLVs are only used in SAV within an AS.</t>
          </section>
        </section>
      </section>
    </section>
    <section anchor="sec-dp">
      <name>Decision Process with BGP SAVNET</name>
      <t>The Decision Process described in <xref target="RFC4271"/> works to determines a degree of preference among routes with the same prefix. The Decision Process involves many BGP Path attributes, which are not necessary for BGP SAVNET SPA and SPD process, such as next-hop attributes and IGP-metric attributes. Therefore, this document introduces a simplified Decision Process for SAVNET SAFI.</t>
      <t>The purpose of SPA is to maintain a uniform Source Prefix list, which is the mapping from original router-id to IP addresses, across all routers in the deploy domain. To ensure this, it is <bcp14>RECOMMENDED</bcp14> that all routers deploy no ingress or egress route-policies.</t>
      <section anchor="bgp-savnet-nlri-selection">
        <name>BGP SAVNET NLRI Selection</name>
        <t>The Decision Process described in <xref target="RFC4271"/> no longer apply, and the Decision Process for BGP SAVNET NLRI are as follows:</t>
        <ol spacing="normal" type="1"><li>The locally imported route is preferred over the route received from a peer.</li>
          <li>The route received from a peer with the numerically larger originator is preferred.</li>
          <li>The route received from a peer with the numerically larger Peer IP Address is preferred.</li>
        </ol>
        <section anchor="self-originated-nlri">
          <name>Self-Originated NLRI</name>
          <t>BGP SAVNET NLRI with origin router-id matching the local router-id is considered self-originated. All locally imported routes should be considered self-originated by default.</t>
          <t>Since the origin router-id is part of the NLRI key, it is very unlikely that a self-originated NLRI would be received from a peer. Unless a router-id conflict occurs due to incorrect configuration. In this case, the self-originated NLRI <bcp14>MUST</bcp14> be discarded upon the receiver, and appropriate error logging is <bcp14>RECOMMENDED</bcp14>.</t>
          <t>On the other hand, besides the route learn from peers, a BGP SAVNET speaker <bcp14>MUST NOT</bcp14> advertise NLRI which is not self-originated.</t>
        </section>
      </section>
    </section>
    <section anchor="sec-error">
      <name>Error Handling</name>
      <section anchor="process-of-bgp-savnet-nlris">
        <name>Process of BGP SAVNET NLRIs</name>
        <t>When a BGP SAVNET speaker receives a BGP Update containing a malformed MP_REACH_NLRI or MP_UNREACH_NLRI, it <bcp14>MUST</bcp14> ignore the received TLV and <bcp14>MUST NOT</bcp14> pass it to other BGP peers. When discarding a malformed TLV, a BGP SAVNET speaker <bcp14>MAY</bcp14> log a specific error.</t>
        <t>If duplicate NLRIs exist in a MP_REACH_NLRI or MP_UNREACH_NLRI attribute, only the last one <bcp14>SHOULD</bcp14> be used.</t>
      </section>
      <section anchor="process-of-bgp-savnet-spa-tlvs">
        <name>Process of BGP SAVNET SPA TLVs</name>
        <t>When a BGP SAVNET speaker receives an SPA TLV with an undefined type, it <bcp14>MUST</bcp14> be considered malformed.</t>
        <t>When a BGP SAVNET speaker receives an SPA TLV with a 0 origin router-id, or the origin router-id is the same as the local router-id, it <bcp14>MUST</bcp14> be considered malformed.</t>
        <t>When a BGP SAVNET speaker receives an SPA TLV with an invalid MaskLen field, which is out of the range 1~32 for IPv4 and 1~128 for IPv6, it <bcp14>MUST</bcp14> be considered malformed.</t>
        <t>When a BGP SAVNET speaker receives an SPA TLV with an address field, whose length in bytes do not match with the remaining data, it <bcp14>MUST</bcp14> be considered malformed.</t>
        <t>When a BGP SAVNET speaker receives an SPA TLV with an unsupported miig-type, it <bcp14>MUST</bcp14> be considered malformed.</t>
        <t>When a BGP SAVNET speaker receives an SPA TLV with a miig-type 0(Unkonwn), its miig-tag must also be 0, vice versa. Otherwise this SPA TLV <bcp14>MUST</bcp14> be considered malformed.</t>
        <t>When a BGP SAVNET speaker receives a malformed SPA TLV, it <bcp14>MUST</bcp14> ignore the received TLV and <bcp14>MUST NOT</bcp14> pass it to other BGP peers. When discarding a malformed TLV, a BGP SAVNET speaker <bcp14>MAY</bcp14> log a specific error.</t>
        <t>When a BGP SAVNET speaker processes Flags in an SPA TLV, the defined bits <bcp14>MUST</bcp14> be processed and the undefined bits <bcp14>MUST</bcp14> be ignored.</t>
      </section>
      <section anchor="process-of-bgp-savnet-refresh">
        <name>Process of BGP SAVNET Refresh</name>
        <t>Each BGP Refresh message <bcp14>MUST</bcp14> contain at most one SPD TLV. When a BGP SAVNET speaker receives a BGP Refresh packet with multiple SPD TLVs, only the first one <bcp14>SHOULD</bcp14> be processed.</t>
      </section>
      <section anchor="process-of-bgp-savnet-spd-tlvs">
        <name>Process of BGP SAVNET SPD TLVs</name>
        <t>When a BGP SAVNET speaker receives an SPD TLV with an undefined type or subtype, it <bcp14>MUST</bcp14> be considered malformed.</t>
        <t>When a BGP SAVNET speaker receives an SPD TLV with a 0 origin router-id, or the origin router-id is the same as the local router-id, it <bcp14>MUST</bcp14> be considered malformed.</t>
        <t>When a BGP SAVNET speaker receives an SPD TLV with a 0 source AS number or validation AS number, or the source AS number equals the validation AS number, it <bcp14>MUST</bcp14> be considered malformed.</t>
        <t>When a BGP SAVNET speaker receives an SPD TLV with an optional data sub-TLV that is an undefined type, it <bcp14>MUST</bcp14> be considered malformed.</t>
        <t>When a BGP SAVNET speaker receives an SPD TLV with a DestList field that is not a multiple of 4 in length, it <bcp14>MUST</bcp14> be considered malformed.</t>
        <t>When a BGP SAVNET speaker receives a Refresh message with a malformed SPD TLV, it <bcp14>MUST</bcp14> ignore the received message. When discarding a malformed message, a BGP SAVNET speaker <bcp14>MAY</bcp14> log a specific error.</t>
        <t>When a BGP SAVNET speaker receives an SPD TLV with a sequence number that does not match the local recorded sequence number:</t>
        <ul spacing="normal">
          <li>If the newly received sequence number is numerically larger, the local recorded sequence number <bcp14>SHOULD</bcp14> be updated to the newly received sequence number.</li>
          <li>If the newly received sequence number is numerically smaller, the local recorded sequence number <bcp14>SHOULD NOT</bcp14> be updated, and the BGP SAVNET speaker <bcp14>SHOULD</bcp14> log a specific error.</li>
        </ul>
      </section>
    </section>
    <section anchor="sec-manage">
      <name>Management Considerations</name>
      <t>TBD</t>
    </section>
    <section anchor="sec-iana">
      <name>IANA Considerations</name>
      <t>The BGP SAVNET SAFIs under the IPv4 address family and the IPv6 address family need to be allocated by IANA.</t>
    </section>
    <section anchor="sec-security">
      <name>Security Considerations</name>
      <t>This document does not introduce any new security considerations.</t>
    </section>
    <section numbered="false" anchor="acknowledgements">
      <name>Acknowledgements</name>
      <t>TBD</t>
    </section>
  </middle>
  <back>
    <references>
      <name>References</name>
      <references>
        <name>Normative References</name>
        <reference anchor="RFC2918" target="https://www.rfc-editor.org/info/rfc2918" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.2918.xml">
          <front>
            <title>Route Refresh Capability for BGP-4</title>
            <author fullname="E. Chen" initials="E." surname="Chen"/>
            <date month="September" year="2000"/>
            <abstract>
              <t>This document defines a new Border Gateway Protocol (BGP) capability termed 'Route Refresh Capability', which would allow the dynamic exchange of route refresh request between BGP speakers and subsequent re-advertisement of the respective Adj-RIB-Out. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="2918"/>
          <seriesInfo name="DOI" value="10.17487/RFC2918"/>
        </reference>
        <reference anchor="RFC4760" target="https://www.rfc-editor.org/info/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="RFC5492" target="https://www.rfc-editor.org/info/rfc5492" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.5492.xml">
          <front>
            <title>Capabilities Advertisement with BGP-4</title>
            <author fullname="J. Scudder" initials="J." surname="Scudder"/>
            <author fullname="R. Chandra" initials="R." surname="Chandra"/>
            <date month="February" year="2009"/>
            <abstract>
              <t>This document defines an Optional Parameter, called Capabilities, that is expected to facilitate the introduction of new capabilities in the Border Gateway Protocol (BGP) by providing graceful capability advertisement without requiring that BGP peering be terminated.</t>
              <t>This document obsoletes RFC 3392. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="5492"/>
          <seriesInfo name="DOI" value="10.17487/RFC5492"/>
        </reference>
        <reference anchor="I-D.li-savnet-intra-domain-architecture" target="https://datatracker.ietf.org/doc/html/draft-li-savnet-intra-domain-architecture-02" xml:base="https://bib.ietf.org/public/rfc/bibxml3/reference.I-D.li-savnet-intra-domain-architecture.xml">
          <front>
            <title>Intra-domain Source Address Validation (SAVNET) Architecture</title>
            <author fullname="Dan Li" initials="D." surname="Li">
              <organization>Tsinghua University</organization>
            </author>
            <author fullname="Jianping Wu" initials="J." surname="Wu">
              <organization>Tsinghua University</organization>
            </author>
            <author fullname="Mingqing Huang" initials="M." surname="Huang">
              <organization>Huawei</organization>
            </author>
            <author fullname="Li Chen" initials="L." surname="Chen">
              <organization>Zhongguancun Laboratory</organization>
            </author>
            <author fullname="Nan Geng" initials="N." surname="Geng">
              <organization>Huawei</organization>
            </author>
            <author fullname="Lancheng Qin" initials="L." surname="Qin">
              <organization>Tsinghua University</organization>
            </author>
            <author fullname="Fang Gao" initials="F." surname="Gao">
              <organization>Zhongguancun Laboratory</organization>
            </author>
            <date day="4" month="May" year="2023"/>
            <abstract>
              <t>This document proposes an intra-domain source address validation (intra-domain SAVNET) architecture. Devices can communicate with each other and share more SAV-related information other than routing information, which allows SAV rules to be automatically and accurately generated.</t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-li-savnet-intra-domain-architecture-02"/>
        </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>
        <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>
      </references>
      <references>
        <name>Informative References</name>
        <reference anchor="RFC4271" target="https://www.rfc-editor.org/info/rfc4271" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.4271.xml">
          <front>
            <title>A Border Gateway Protocol 4 (BGP-4)</title>
            <author fullname="Y. Rekhter" initials="Y." role="editor" surname="Rekhter"/>
            <author fullname="T. Li" initials="T." role="editor" surname="Li"/>
            <author fullname="S. Hares" initials="S." role="editor" surname="Hares"/>
            <date month="January" year="2006"/>
            <abstract>
              <t>This document discusses the Border Gateway Protocol (BGP), which is an inter-Autonomous System routing protocol.</t>
              <t>The primary function of a BGP speaking system is to exchange network reachability information with other BGP systems. This network reachability information includes information on the list of Autonomous Systems (ASes) that reachability information traverses. This information is sufficient for constructing a graph of AS connectivity for this reachability from which routing loops may be pruned, and, at the AS level, some policy decisions may be enforced.</t>
              <t>BGP-4 provides a set of mechanisms for supporting Classless Inter-Domain Routing (CIDR). These mechanisms include support for advertising a set of destinations as an IP prefix, and eliminating the concept of network "class" within BGP. BGP-4 also introduces mechanisms that allow aggregation of routes, including aggregation of AS paths.</t>
              <t>This document obsoletes RFC 1771. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="4271"/>
          <seriesInfo name="DOI" value="10.17487/RFC4271"/>
        </reference>
        <reference anchor="RFC6959" target="https://www.rfc-editor.org/info/rfc6959" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.6959.xml">
          <front>
            <title>Source Address Validation Improvement (SAVI) Threat Scope</title>
            <author fullname="D. McPherson" initials="D." surname="McPherson"/>
            <author fullname="F. Baker" initials="F." surname="Baker"/>
            <author fullname="J. Halpern" initials="J." surname="Halpern"/>
            <date month="May" year="2013"/>
            <abstract>
              <t>The Source Address Validation Improvement (SAVI) effort aims to complement ingress filtering with finer-grained, standardized IP source address validation. This document describes threats enabled by IP source address spoofing both in the global and finer-grained context, describes currently available solutions and challenges, and provides a starting point analysis for finer-grained (host granularity) anti-spoofing work.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="6959"/>
          <seriesInfo name="DOI" value="10.17487/RFC6959"/>
        </reference>
        <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="I-D.ietf-savnet-intra-domain-problem-statement" target="https://datatracker.ietf.org/doc/html/draft-ietf-savnet-intra-domain-problem-statement-01" xml:base="https://bib.ietf.org/public/rfc/bibxml3/reference.I-D.ietf-savnet-intra-domain-problem-statement.xml">
          <front>
            <title>Source Address Validation in Intra-domain Networks Gap Analysis, Problem Statement, and Requirements</title>
            <author fullname="Dan Li" initials="D." surname="Li">
              <organization>Tsinghua University</organization>
            </author>
            <author fullname="Jianping Wu" initials="J." surname="Wu">
              <organization>Tsinghua University</organization>
            </author>
            <author fullname="Lancheng Qin" initials="L." surname="Qin">
              <organization>Tsinghua University</organization>
            </author>
            <author fullname="Mingqing Huang" initials="M." surname="Huang">
              <organization>Huawei</organization>
            </author>
            <author fullname="Nan Geng" initials="N." surname="Geng">
              <organization>Huawei</organization>
            </author>
            <date day="4" month="May" year="2023"/>
            <abstract>
              <t>This document provides the gap analysis of existing intra-domain source address validation mechanisms, describes the fundamental problems, and defines the requirements for technical improvements.</t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-savnet-intra-domain-problem-statement-01"/>
        </reference>
        <reference anchor="I-D.wu-savnet-inter-domain-problem-statement" target="https://datatracker.ietf.org/doc/html/draft-wu-savnet-inter-domain-problem-statement-09" xml:base="https://bib.ietf.org/public/rfc/bibxml3/reference.I-D.wu-savnet-inter-domain-problem-statement.xml">
          <front>
            <title>Source Address Validation in Inter-domain Networks Gap Analysis, Problem Statement, and Requirements</title>
            <author fullname="Jianping Wu" initials="J." surname="Wu">
              <organization>Tsinghua University</organization>
            </author>
            <author fullname="Dan Li" initials="D." surname="Li">
              <organization>Tsinghua University</organization>
            </author>
            <author fullname="Libin Liu" initials="L." surname="Liu">
              <organization>Zhongguancun Laboratory</organization>
            </author>
            <author fullname="Mingqing 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>
            <author fullname="Lancheng Qin" initials="L." surname="Qin">
              <organization>Tsinghua University</organization>
            </author>
            <author fullname="Nan Geng" initials="N." surname="Geng">
              <organization>Huawei</organization>
            </author>
            <date day="27" month="June" year="2023"/>
            <abstract>
              <t>This document provides the gap analysis of existing inter-domain source address validation mechanisms, describes the fundamental problems, and defines the requirements for technical improvements.</t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-wu-savnet-inter-domain-problem-statement-09"/>
        </reference>
        <reference anchor="I-D.huang-savnet-sav-table" target="https://datatracker.ietf.org/doc/html/draft-huang-savnet-sav-table-01" xml:base="https://bib.ietf.org/public/rfc/bibxml3/reference.I-D.huang-savnet-sav-table.xml">
          <front>
            <title>Source Address Validation Table Abstraction and Application</title>
            <author fullname="Mingqing Huang" initials="M." surname="Huang">
              <organization>Huawei</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</organization>
            </author>
            <author fullname="Mingxing Liu" initials="" surname="Liu">
              <organization>Huawei</organization>
            </author>
            <author fullname="Li Chen" initials="L." surname="Chen">
              <organization>Zhongguancun Laboratory</organization>
            </author>
            <date day="6" month="March" year="2023"/>
            <abstract>
              <t>Source address validation (SAV) table consists of SAV rules that are manually configured or automatically generated. The table will take effect in data plane for checking the validity of source addresses. SAV mechanisms may enable SAV tables in data plane using different methods (e.g., ACL or FIB), and these tables are suitable for different application scenarios. This document aims to provide a systematic view of existing SAV tables, which makes it convenient for engineers or operators to improve existing SAV mechanisms or properly apply SAV on routers. The document first examines existing forms of SAV tables and provides a unified abstraction. Then, three validation modes are concluded as well as suggestions for application scenarios. Finally, diversified actions for each validity state are introduced for compliance of different operation requirements.</t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-huang-savnet-sav-table-01"/>
        </reference>
        <reference anchor="manrs-antispoofing" target="https://www.manrs.org/netops/guide/antispoofing">
          <front>
            <title>MANRS Implementation Guide</title>
            <author>
              <organization/>
            </author>
            <date year="2023" month="January"/>
          </front>
        </reference>
      </references>
    </references>
    <?line 563?>



  </back>
  <!-- ##markdown-source:
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
Z6UAAA==

-->

</rfc>
