<?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.29 (Ruby 3.2.3) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-tong-idr-bgp-ls-sav-rule-01" category="std" consensus="true" submissionType="IETF" version="3">
  <!-- xml2rfc v2v3 conversion 3.28.1 -->
  <front>
    <title abbrev="BGP-LS for Advertising SAV Rules">Advertisement of Multi-Sourced SAV Rules using BGP Link-State</title>
    <seriesInfo name="Internet-Draft" value="draft-tong-idr-bgp-ls-sav-rule-01"/>
    <author initials="T." surname="Tong" fullname="Tian Tong">
      <organization>China Unicom</organization>
      <address>
        <postal>
          <city>Beijing</city>
          <country>China</country>
        </postal>
        <email>tongt5@chinaunicom.cn</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="N." surname="Geng" fullname="Nan Geng">
      <organization>Huawei</organization>
      <address>
        <postal>
          <city>Beijing</city>
          <country>China</country>
        </postal>
        <email>gengnan@huawei.com</email>
      </address>
    </author>
    <author initials="N." surname="Wang" fullname="Nan Wang">
      <organization>China Unicom</organization>
      <address>
        <postal>
          <city>Beijing</city>
          <country>China</country>
        </postal>
        <email>wangn161@chinaunicom.cn</email>
      </address>
    </author>
    <author initials="S." surname="Zhuang" fullname="Shunwan Zhuang">
      <organization>Huawei</organization>
      <address>
        <postal>
          <city>Beijing</city>
          <country>China</country>
        </postal>
        <email>zhuangshunwan@huawei.com</email>
      </address>
    </author>
    <author initials="J." surname="Zhao" fullname="Jing Zhao">
      <organization>China Unicom</organization>
      <address>
        <postal>
          <city>Beijing</city>
          <country>China</country>
        </postal>
        <email>zhaoj501@chinaunicom.cn</email>
      </address>
    </author>
    <date year="2025" month="April" day="23"/>
    <area>rtg</area>
    <workgroup>idr</workgroup>
    <keyword>Internet-Draft</keyword>
    <abstract>
      <?line 72?>
<t>This document describes the protocol extensions of BGP Link-State to collect source address validation (SAV) rules generated by different protocols/mechanisms, to facilitate multi-sourced SAV rules monitoring and management.</t>
    </abstract>
  </front>
  <middle>
    <?line 75?>

<section anchor="sec-intro">
      <name>Introduction</name>
      <t>Source Address Validation (SAV) can efficiently prevent source address spoofing-based attacks. SAV rules, which indicate the valid/invalid incoming interfaces of a specific source IP address or source IP prefix, are installed on routers for checking the source addresses of received packets.</t>
      <t>SAV rules can be generated by static configuration, management tools, or based on different routing protocols such as OSPFv2, OSPFv3, IS-IS, BGP, or their extensions <xref target="I-D.ietf-savnet-intra-domain-architecture"/><xref target="I-D.ietf-savnet-inter-domain-architecture"/>. Due to the requirements of application scenarios, a router may use more than one tool at the same time to obtain SAV rules. Therefore, the rules on the router will be multi-sourced, which complicates management. What is more challenging is that there may exist conflicts among these multi-sourced rules and the rules can be dynamic.</t>
      <t>To facilitate SAV rules monitoring and management, this document proposes to extend BGP-LS (<xref target="RFC9552"/>) for advertising SAV rules on routers to a centralized server. The centralized server can effectively collect multi-sourced SAV rules from routers. For the purpose of advertising SAV rules within BGP-LS advertisements, two new NLRIs called SAV Rule NLRIs are proposed for IPv4 and IPv6, respectively.</t>
      <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-nlri">
      <name>BGP-LS NLRI Advertisement for SAV Rules</name>
      <t>The "Link-State NLRI" defined in <xref target="RFC9552"/> is extended to carry the SAV rule information. The format of "Link-State NLRI" is defined in <xref target="RFC9552"/> as follows:</t>
      <figure anchor="fig-nlri">
        <name>Link-State NLRI</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
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    |            NLRI Type          |     Total NLRI Length         |
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    |                                                               |
    //                  Link-State NLRI (variable)                 //
    |                                                               |
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
]]></artwork>
      </figure>
      <t>This document defines two new NLRI Types known as SAV Rule NLRIs (values are TBD) for the advertisement of SAV rule Information.</t>
      <section anchor="sav-rule-nlris">
        <name>SAV Rule NLRIs</name>
        <t>This document defines SAV Rule NLRI Types with their common format as shown in the following figure:</t>
        <figure anchor="fig-rule-nlri">
          <name>BGP-LS SAV Rule NLRI</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
    +-+-+-+-+-+-+-+-+
    |  Protocol-ID  |
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    |                           Identifier                          |
    +                           (8 octets)                          +
    |                                                               |
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    //            Local Node Descriptors TLVs (variable)            //
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    //            SAV Rule Descriptors TLVs (variable)             //
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
]]></artwork>
        </figure>
        <t>The fields are defined as follows:</t>
        <ul spacing="normal">
          <li>
            <t>Protocol-ID: Specifies the source of SAV rules in this NLRI. Protocol-ID values defined in [RFC9552][RFC9086] can be reused.</t>
          </li>
          <li>
            <t>Identifier: An 8 octet value as defined in <xref target="RFC9552"/>.</t>
          </li>
          <li>
            <t>Local Node Descriptors TLV: Contains Node Descriptors for the nodes storing SAV rules. This is a mandatory TLV in SAV Rule NLRIs. The Type is 256. The length of this TLV is variable. The value contains one or more Node Descriptor sub-TLVs defined in <xref target="RFC9552"/>.</t>
          </li>
          <li>
            <t>SAV Rule Descriptors TLVs: There can be one or more SAV Rule Descriptors TLVs for carrying SAV rules.</t>
          </li>
        </ul>
      </section>
      <section anchor="sav-rule-descriptors-tlvs">
        <name>SAV Rule Descriptors TLVs</name>
        <t>The SAV Rule Descriptor field is a set of TLV triplets. SAV Rule Descriptors TLVs identify a set of SAV rules having the same set of valid interfaces as defined in <xref target="I-D.ietf-savnet-general-sav-capabilities"/>. The following TLVs are valid as SAV Rule Descriptors in the SAV Rule NLRI:</t>
        <figure anchor="fig-rule-descriptor">
          <name>SAV Rule Descriptor TLVs</name>
          <artwork><![CDATA[
    +-------------+---------------------+----------+
    |   TLV Code  | Description         |  Length  |
    |    Point    |                     |          |
    +-------------+---------------------+----------+
    |     TBD     | Interface Name      | variable |
    |     TBD     | Interface Group     |    4     |
    |     TBD     | SAV Prefix          | variable |
    +-------------+---------------------+----------+
]]></artwork>
        </figure>
        <section anchor="sec-intf-name-tlv">
          <name>Interface Name TLV</name>
          <t>An Interface Name TLV is used to identify one valid interface of the source prefixes carried in SAV Prefix TLVs. The format of Interface Name TLV is as follows:</t>
          <figure anchor="fig-intf-name-tlv">
            <name>Interface Name TLV</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             |             Length            |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     //                     Interface Name    (variable)            //
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
]]></artwork>
          </figure>
          <t>There can be zero, one or more Interface Name TLVs in the SAV Rule Descriptor field.</t>
        </section>
        <section anchor="sec-intf-group-tlv">
          <name>Interface Group TLV</name>
          <t>An Interface Group TLV is to identify a group of valid interfaces of the source prefixes carried in SAV Prefix TLVs. The format of Interface Group TLV is as follows:</t>
          <figure anchor="fig-intf-group-tlv">
            <name>Interface Group TLV</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             |             Length            |
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    //                       Interface Group (4 octets)            //
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
]]></artwork>
          </figure>
          <t>The Interface Group value can have either a local meaning or a global meaning. On the one hand, it can be a local interface property on the target routers, and the meaning of it depends on the configurations of network administrator <xref target="I-D.ietf-idr-flowspec-interfaceset"/>. On the other hand, a global meaning Group Identifier field carries an AS number, which represents all the interfaces connected to the neighboring AS with the AS number. <xref target="I-D.geng-idr-flowspec-sav"/></t>
          <t>Interface Group value can also be an Interface ID for identifying a specific interface.</t>
          <t>There can be zero, one or more Interface Group TLVs in the SAV Rule Descriptor field. Interface Group TLVs can be used together with Interface Name TLVs.</t>
          <t>When there is neither an Interface Name TLV nor an Interface Group TLV, the source prefixes carried in SAV Prefix TLVs are considered valid for all the interfaces on the router.</t>
        </section>
        <section anchor="sec-prefix-tlv">
          <name>SAV Prefix TLV</name>
          <t>A SAV Prefix TLV carries one IP address prefix (IPv4 or IPv6). The format of SAV Prefix TLV is as follows:</t>
          <figure anchor="fig-sav-prefix-tlv">
            <name>SAV Prefix TLV</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             |             Length            |
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    | Prefix Length | IP Prefix (variable)                         //
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
]]></artwork>
          </figure>
          <t>There can be one or more SAV Prefix TLVs in the SAV Rule Descriptor field. The IPv4 SAV Prefix TLVs will only appear in the IPv4 SAV Rule NLRI, and The IPv6 SAV Prefix TLVs are only for the IPv6 SAV Rule NLRI</t>
          <t>There can be more than one SAV mechanisms based on the same source (identified by Protocol-ID). In order to distinguish the different sources of rules in a more fine-grained manner, the Type field needs to be allocated for multiple values, and each value identifies a specific SAV mechanism based on the same source identified by Protocol-ID.</t>
          <!-- The type field can be extended in the future. A mode field can be added in the future -->

</section>
      </section>
    </section>
    <section anchor="sec-attr">
      <name>BGP-LS Attribute for SAV Mode</name>
      <t>The BGP-LS Attribute, an optional and non-transitive BGP Attribute, is used to carry the validation mode information of SAV rules {I-D.ietf-savnet-general-sav-capabilities}. The following SAV Mode Attribute TLV is defined for the BGP-LS Attribute associated with a SAV Rule NLRI:</t>
      <figure anchor="fig-sav-mode-tlv">
        <name>SAV Mode TLV</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             |             Length            |
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  |M  |  Reserved |
  +-+-+-+-+-+-+-+-+
]]></artwork>
      </figure>
      <t>The SAV Mode TLV carries a Mode Flag (M flag is shown in the figure and occupies two bits) describing the validation mode attribute.</t>
      <ul spacing="normal">
        <li>
          <t>When M flag is set to 00, the mode is Mode 1: interface-based source prefix allowlist. The NLRI carries the source prefixes and interfaces. Only the carried prefixes are valid on the carried interfaces, and any other prefixes are invalid on these interfaces.</t>
        </li>
        <li>
          <t>When M flag is set to 01, the mode is Mode 2: interface-based source prefix blocklist. The NLRI carries the source prefixes and interfaces. Only the carried prefixes are invalid on the carried interfaces, and any other prefixes are valid on these interfaces.</t>
        </li>
        <li>
          <t>When M flag is set to 10, the mode is Mode 3: prefix-based interface allowlist. The NLRI carries the source prefixes and interfaces. Only the carried interfaces are valid for the carried prefixes, and any other interfaces are invalid for those prefixes. Any other prefixes will not be validated.</t>
        </li>
        <li>
          <t>When M flag is set to 11, the mode is Mode 4: prefix-based interface blocklist. The NLRI carries the source prefixes and interfaces. Only the carried interfaces are invalid for the carried prefixes, and any other interfaces are valid for those prefixes. Any other prefixes will not be validated.</t>
        </li>
      </ul>
    </section>
    <section anchor="bgp-ls-attribute-for-sav-actions">
      <name>BGP-LS Attribute for SAV Actions</name>
      <t>SAV actions in this document adopt the traffic filtering actions defined in [RFC8955] and [RFC8956].</t>
      <t>Traffic filtering actions defined in [RFC 8955] include traffic-rate-bytes, traffic-rate-packets, traffic-action, rt-redirect, and traffic-marking, which are applicable to IPv4 and IPv6. Rt-redirect-ipv6 is a new traffic filtering action defined in [RFC 8956], which is applicable to IPv6. The encapsulation formats of SAV actions are consistent with the encapsulation formats defined in [RFC 8955] and [RFC 8956].</t>
      <t>A SAV rule may match multiple SAV actions, and there may be conflicts among these SAV actions. Section 7.7 of [RFC 8955] describes the conflicts among Traffic filtering actions.</t>
    </section>
    <section anchor="example-of-validation-modes-and-sav-rule-nlri-configuration">
      <name>Example of Validation Modes and SAV rule NLRI Configuration</name>
      <t>In this section, we provide examples of how to configure SAV rule NLRI for the four validation modes. 
The SAV rule NLRI can carry zero, one, or multiple interfaces/interface groups and one or more prefixes.</t>
      <section anchor="mode-1-interface-based-prefix-allowlist">
        <name>Mode 1: Interface-based prefix allowlist</name>
        <t>In this mode, only the prefixes carried in the SAV rule NLRI are considered valid on the specified interface. 
All other prefixes arriving at this interface are considered invalid.</t>
        <t>Example:</t>
        <ul spacing="normal">
          <li>
            <t>SAV rule NLRI: prefix = 192.168.1.0/24, interfaces = [Interface A]</t>
          </li>
          <li>
            <t>Validation: Any packet with a source prefix of 192.168.1.0/24 arriving at Interface A is valid. All other prefixes on Interface A are invalid.</t>
          </li>
        </ul>
      </section>
      <section anchor="mode-2-interface-based-prefix-blocklist">
        <name>Mode 2: Interface-based prefix blocklist</name>
        <t>In this mode, the prefixes carried in the SAV rule NLRI are considered invalid on the specified interface. 
All other prefixes arriving at this interface are considered valid.</t>
        <t>Example:</t>
        <ul spacing="normal">
          <li>
            <t>SAV rule NLRI: prefix = 10.0.0.0/8, interfaces = [Interface B]</t>
          </li>
          <li>
            <t>Validation: Any packet with a source prefix of 10.0.0.0/8 arriving at Interface B is invalid. All other prefixes on Interface B are valid.</t>
          </li>
        </ul>
      </section>
      <section anchor="mode-3-prefix-based-interface-allowlist">
        <name>Mode 3: Prefix-based interface allowlist</name>
        <t>In this mode, for a specific source prefix, only the interfaces carried in the SAV rule NLRI are considered valid. 
Packets with this source prefix arriving at other interfaces are invalid. Other prefixes are not checked.</t>
        <t>Example:</t>
        <ul spacing="normal">
          <li>
            <t>SAV rule NLRI: prefix = 172.16.0.0/16, interfaces = [Interface C, Interface D]</t>
          </li>
          <li>
            <t>Validation: Packets with a source prefix of 172.16.0.0/16 are valid only if they arrive at Interface C or Interface D. 
This prefix arriving at other interfaces is invalid. Other prefixes are not checked.</t>
          </li>
        </ul>
      </section>
      <section anchor="mode-4-prefix-based-interface-blocklist">
        <name>Mode 4: Prefix-based interface blocklist</name>
        <t>In this mode, for a specific source prefix, the interfaces carried in the SAV rule NLRI are considered invalid. 
Packets with this source prefix arriving at other interfaces are valid. Other prefixes are not checked.</t>
        <t>Example:</t>
        <ul spacing="normal">
          <li>
            <t>SAV rule NLRI: prefix = 192.168.2.0/24, interfaces = [Interface E]</t>
          </li>
          <li>
            <t>Validation: Packets with a source prefix of 192.168.2.0/24 arriving at Interface E are invalid. This prefix arriving at other interfaces is valid. Other prefixes are not checked.</t>
          </li>
        </ul>
      </section>
    </section>
    <section anchor="procedures">
      <name>Procedures</name>
      <t>The BGP-LS advertisements for the SAV Rule NLRI type are generally originated by the node running SAV mechanisms/protocols.</t>
    </section>
    <section anchor="manageability-considerations">
      <name>Manageability Considerations</name>
      <t>The Existing BGP operational and management procedures apply to this document. No new procedures are defined in this document. The considerations as specified in <xref target="RFC9552"/> apply to this document.</t>
    </section>
    <section anchor="sec-iana">
      <name>IANA Considerations</name>
      <t>This section describes the code point allocation by IANA for this document.</t>
      <section anchor="bgp-ls-nlri-types-registry">
        <name>"BGP-LS NLRI-Types" registry</name>
        <t>This document requests assigning code-points from the registry for SAV Rule NLRIs:</t>
        <artwork><![CDATA[
+------+---------------------------+
| Type | NLRI Type                 |
+------+---------------------------+
| TBD  | IPv4 SAV Rule NLRI        |
| TBD  | IPv6 SAV Rule NLRI        |
+------+---------------------------+
]]></artwork>
      </section>
      <section anchor="bgp-ls-sav-rule-descriptors-tlvs-registry">
        <name>"BGP-LS SAV Rule Descriptors TLVs" registry</name>
        <t>This document requests assigning code-points from the registry for BGP-LS SAV Rule Descriptors TLVs based on <xref target="fig-rule-descriptor"/>.</t>
      </section>
      <section anchor="bgp-ls-sav-mode-attribute-tlv-registry">
        <name>"BGP-LS SAV Mode Attribute TLV" registry</name>
        <t>This document requests assigning a code-point from the registry for the BGP-LS SAV Mode attribute TLV.</t>
      </section>
    </section>
    <section anchor="sec-security">
      <name>Security Considerations</name>
      <t>Procedures and protocol extensions defined in this document do not affect the base BGP security model. See [RFC6952] for details. The security considerations of the base BGP-LS specification as described in <xref target="RFC9552"/> also apply.</t>
    </section>
  </middle>
  <back>
    <references anchor="sec-combined-references">
      <name>References</name>
      <references anchor="sec-normative-references">
        <name>Normative References</name>
        <reference anchor="RFC9552" target="https://www.rfc-editor.org/info/rfc9552" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.9552.xml">
          <front>
            <title>Distribution of Link-State and Traffic Engineering Information Using BGP</title>
            <author fullname="K. Talaulikar" initials="K." role="editor" surname="Talaulikar"/>
            <date month="December" year="2023"/>
            <abstract>
              <t>In many environments, a component external to a network is called upon to perform computations based on the network topology and the current state of the connections within the network, including Traffic Engineering (TE) information. This is information typically distributed by IGP routing protocols within the network.</t>
              <t>This document describes a mechanism by which link-state and TE information can be collected from networks and shared with external components using the BGP routing protocol. This is achieved using a BGP Network Layer Reachability Information (NLRI) encoding format. The mechanism applies to physical and virtual (e.g., tunnel) IGP links. The mechanism described is subject to policy control.</t>
              <t>Applications of this technique include Application-Layer Traffic Optimization (ALTO) servers and Path Computation Elements (PCEs).</t>
              <t>This document obsoletes RFC 7752 by completely replacing that document. It makes some small changes and clarifications to the previous specification. This document also obsoletes RFC 9029 by incorporating the updates that it made to RFC 7752.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9552"/>
          <seriesInfo name="DOI" value="10.17487/RFC9552"/>
        </reference>
        <reference anchor="I-D.ietf-savnet-general-sav-capabilities" target="https://datatracker.ietf.org/doc/html/draft-ietf-savnet-general-sav-capabilities-00" 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="16" month="March" 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-00"/>
        </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 anchor="sec-informative-references">
        <name>Informative References</name>
        <reference anchor="I-D.ietf-savnet-intra-domain-architecture" target="https://datatracker.ietf.org/doc/html/draft-ietf-savnet-intra-domain-architecture-02" xml:base="https://bib.ietf.org/public/rfc/bibxml3/reference.I-D.ietf-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="Lancheng Qin" initials="L." surname="Qin">
              <organization>Zhongguancun Laboratory</organization>
            </author>
            <author fullname="Nan Geng" initials="N." surname="Geng">
              <organization>Huawei</organization>
            </author>
            <author fullname="Li Chen" initials="L." surname="Chen">
              <organization>Zhongguancun Laboratory</organization>
            </author>
            <date day="13" month="April" year="2025"/>
            <abstract>
              <t>This document proposes the intra-domain SAVNET architecture, which achieves accurate source address validation (SAV) in an intra-domain network by an automatic way. Compared with uRPF-like SAV mechanisms [RFC3704] that only depend on routers' local routing information, SAVNET routers generate SAV rules by using both local routing information and SAV-specific information exchanged among routers, resulting in more accurate SAV validation in asymmetric routing scenarios. Compared with ACL-based ingress filtering [RFC2827] that entirely requires manual efforts to accommodate to network dynamics, SAVNET routers learn SAV rules automatically in a distributed way.</t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-savnet-intra-domain-architecture-02"/>
        </reference>
        <reference anchor="I-D.ietf-savnet-inter-domain-architecture" target="https://datatracker.ietf.org/doc/html/draft-ietf-savnet-inter-domain-architecture-01" xml:base="https://bib.ietf.org/public/rfc/bibxml3/reference.I-D.ietf-savnet-inter-domain-architecture.xml">
          <front>
            <title>Inter-domain Source Address Validation (SAVNET) Architecture</title>
            <author fullname="Dan Li" initials="D." surname="Li">
              <organization>Tsinghua University</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="Libin Liu" initials="L." surname="Liu">
              <organization>Zhongguancun Laboratory</organization>
            </author>
            <author fullname="Lancheng Qin" initials="L." surname="Qin">
              <organization>Zhongguancun Laboratory</organization>
            </author>
            <date day="3" month="March" year="2025"/>
            <abstract>
              <t>This document introduces an inter-domain SAVNET architecture for performing AS-level SAV and provides a comprehensive framework for guiding the design of inter-domain SAV mechanisms. The proposed architecture empowers ASes to generate SAV rules by sharing SAV- specific information between themselves, which can be used to generate more accurate and trustworthy SAV rules in a timely manner compared to the general information. During the incremental or partial deployment of SAV-specific information, it can utilize general information to generate SAV rules, if an AS's SAV-specific information is unavailable. Rather than delving into protocol extensions or implementations, this document primarily concentrates on proposing SAV-specific and general information and guiding how to utilize them to generate SAV rules. To this end, it also defines some architectural components and their relations.</t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-savnet-inter-domain-architecture-01"/>
        </reference>
        <reference anchor="I-D.ietf-idr-flowspec-interfaceset" target="https://datatracker.ietf.org/doc/html/draft-ietf-idr-flowspec-interfaceset-05" xml:base="https://bib.ietf.org/public/rfc/bibxml3/reference.I-D.ietf-idr-flowspec-interfaceset.xml">
          <front>
            <title>Applying BGP flowspec rules on a specific interface set</title>
            <author fullname="Stephane Litkowski" initials="S." surname="Litkowski">
              <organization>Individual</organization>
            </author>
            <author fullname="Adam Simpson" initials="A." surname="Simpson">
              <organization>Nokia</organization>
            </author>
            <author fullname="Keyur Patel" initials="K." surname="Patel">
              <organization>Arrcus, Inc</organization>
            </author>
            <author fullname="Jeffrey Haas" initials="J." surname="Haas">
              <organization>Juniper Networks</organization>
            </author>
            <author fullname="Lucy Yong" initials="L." surname="Yong">
              <organization>Huawei</organization>
            </author>
            <date day="18" month="November" year="2019"/>
            <abstract>
              <t>The BGP Flow Specification (flowspec) Network Layer Reachability Information (BGP NLRI) extension (draft-ietf-idr-rfc5575bis) is used to distribute traffic flow specifications into BGP. The primary application of this extension is the distribution of traffic filtering policies for the mitigation of distributed denial of service (DDoS) attacks. By default, flow specification filters are applied on all forwarding interfaces that are enabled for use by the BGP flowspec extension. A network operator may wish to apply a given filter selectively to a subset of interfaces based on an internal classification scheme. Examples of this include "all customer interfaces", "all peer interfaces", "all transit interfaces", etc. This document defines BGP Extended Communities (RFC4360) that allow such filters to be selectively applied to sets of forwarding interfaces sharing a common group identifier. The BGP Extended Communities carrying this group identifier are referred to as the BGP Flowspec "interface-set" Extended Communities.</t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-idr-flowspec-interfaceset-05"/>
        </reference>
        <reference anchor="I-D.geng-idr-flowspec-sav" target="https://datatracker.ietf.org/doc/html/draft-geng-idr-flowspec-sav-05" xml:base="https://bib.ietf.org/public/rfc/bibxml3/reference.I-D.geng-idr-flowspec-sav.xml">
          <front>
            <title>BGP Flow Specification for Source Address Validation</title>
            <author fullname="Nan Geng" initials="N." surname="Geng">
              <organization>Huawei</organization>
            </author>
            <author fullname="Dan Li" initials="D." surname="Li">
              <organization>Tsinghua University</organization>
            </author>
            <author fullname="tongtian124" initials="" surname="tongtian124">
              <organization>China Unicom</organization>
            </author>
            <author fullname="Mingqing(Michael) Huang" initials="M." surname="Huang">
              <organization>Zhongguancun Laboratory</organization>
            </author>
            <date day="14" month="April" year="2025"/>
            <abstract>
              <t>BGP FlowSpec reuses BGP route to distribute infrastructure and propagates traffic flow information with filtering actions. This document proposes some extensions to BGP FlowSpec for disseminating SAV rules.</t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-geng-idr-flowspec-sav-05"/>
        </reference>
      </references>
    </references>
    <?line 344?>



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

-->

</rfc>
