<?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.43 (Ruby 3.2.3) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-cao-opsawg-ipfix-sav-04" category="std" consensus="true" submissionType="IETF" version="3">
  <!-- xml2rfc v2v3 conversion 3.34.0 -->
  <front>
    <title abbrev="SAV IPFIX">Export of Source Address Validation (SAV) Information in IPFIX</title>
    <seriesInfo name="Internet-Draft" value="draft-cao-opsawg-ipfix-sav-04"/>
    <author initials="Q." surname="Cao" fullname="Qian Cao">
      <organization>Zhongguancun Laboratory</organization>
      <address>
        <postal>
          <city>Beijing</city>
          <country>China</country>
        </postal>
        <email>caoqian@zgclab.edu.cn</email>
      </address>
    </author>
    <author initials="M." surname="Huang" fullname="Mingqing Huang">
      <organization>Zhongguancun Laboratory</organization>
      <address>
        <postal>
          <city>Beijing</city>
          <country>China</country>
        </postal>
        <email>huangmq@mail.zgclab.edu.cn</email>
      </address>
    </author>
    <author initials="B." surname="Claise" fullname="Benoit Claise">
      <organization>Everything OPS</organization>
      <address>
        <postal>
          <country>Belgium</country>
        </postal>
        <email>benoit@everything-ops.net</email>
      </address>
    </author>
    <author initials="T." surname="Zhou" fullname="Tianran Zhou">
      <organization>Huawei</organization>
      <address>
        <postal>
          <city>Beijing</city>
          <country>China</country>
        </postal>
        <email>zhoutianran@huawei.com</email>
      </address>
    </author>
    <date year="2026" month="September" day="04"/>
    <area>Operations and Management</area>
    <workgroup>opsawg</workgroup>
    <keyword>IPFIX, Source Address Validation (SAV)</keyword>
    <abstract>
      <?line 67?>

<t>This document specifies the IP Flow Information Export Information Elements to export the context and outcome of Source Address Validation enforcement data. These SAV-specific Information Elements provide detailed insight into why packets are identified as spoofed by capturing the specific SAV rules that triggered validation decisions. This operational visibility is essential for network operators to observe SAV enforcement behavior and analyze source address spoofing events detected by SAV.</t>
    </abstract>
  </front>
  <middle>
    <?line 70?>

<section anchor="sec-intro">
      <name>Introduction</name>
      <t>Source Address Validation (SAV) serves as a fundamental defense mechanism against IP source address spoofing. Despite its critical role in network security, current SAV implementations lack operational visibility, making it difficult to answer essential operational questions:</t>
      <ul spacing="normal">
        <li>
          <t>How many packets are identified as spoofed and dropped by SAV?</t>
        </li>
        <li>
          <t>Which interfaces receive spoofed packets and which source prefixes are targeted?</t>
        </li>
        <li>
          <t>Which specific SAV rules trigger the enforcement actions?</t>
        </li>
        <li>
          <t>Are SAV rules functioning as intended or potentially misconfigured?</t>
        </li>
      </ul>
      <t>This document introduces a set of SAV-specific IP Flow Information Export (IPFIX) Information Elements (IEs) that enable detailed reporting of Source Address Validation enforcement actions. These elements align with the SAV concepts and operational models defined in <xref target="I-D.ietf-savnet-general-sav-capabilities"/>, and provide traffic observations that can be operationally correlated with the SAV configuration and state information available via the YANG data model <xref target="I-D.li-savnet-sav-yang"/>.</t>
    </section>
    <section anchor="terminology">
      <name>Terminology</name>
      <t>The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in BCP 14 <xref target="RFC2119"/> <xref target="RFC8174"/> when, and only when, they appear in all capitals, as shown here.</t>
      <t>This document makes use of the terms defined in <xref target="RFC7011"/>, and <xref target="I-D.ietf-savnet-general-sav-capabilities"/>.</t>
      <t>The following terms are used as defined in <xref target="RFC7011"/>:</t>
      <ul spacing="normal">
        <li>
          <t>IPFIX</t>
        </li>
        <li>
          <t>IPFIX Information Elements</t>
        </li>
        <li>
          <t>Template</t>
        </li>
        <li>
          <t>Template Record</t>
        </li>
        <li>
          <t>Data Record</t>
        </li>
        <li>
          <t>Data Set</t>
        </li>
        <li>
          <t>Exporter</t>
        </li>
        <li>
          <t>Collector</t>
        </li>
      </ul>
      <t>The following terms are used as defined in <xref target="I-D.ietf-savnet-general-sav-capabilities"/>.</t>
      <ul spacing="normal">
        <li>
          <t>SAV rule</t>
        </li>
        <li>
          <t>Validation mode</t>
        </li>
      </ul>
    </section>
    <section anchor="sec-sav-overview">
      <name>SAV Overview and IPFIX Export Requirements</name>
      <t>This section outlines the operational requirements for SAV telemetry export using IPFIX, based on the generalized SAV architectural framework defined in <xref target="I-D.ietf-savnet-general-sav-capabilities"/>.</t>
      <t>The SAV framework establishes four canonical validation modes that model validation policies:</t>
      <ul spacing="normal">
        <li>
          <t><strong>Interface-based prefix allowlist (Mode 1):</strong> Validates that a source prefix is explicitly permitted on the incoming interface.</t>
        </li>
        <li>
          <t><strong>Interface-based prefix blocklist (Mode 2):</strong> Validates that a source prefix is not explicitly blocked on the incoming interface.</t>
        </li>
        <li>
          <t><strong>Prefix-based interface allowlist (Mode 3):</strong> Validates that a packet is received on an interface explicitly permitted for its source prefix.</t>
        </li>
        <li>
          <t><strong>Prefix-based interface blocklist (Mode 4):</strong> Validates that a packet is not received on an interface explicitly blocked for its source prefix.</t>
        </li>
      </ul>
      <t>These modes can be applied independently or in combination on a router, following a defined validation procedure (Section 2 of <xref target="I-D.ietf-savnet-general-sav-capabilities"/>). Furthermore, when identifying a packet as spoofed, a range of traffic handling policies (e.g. discard, rate-limit, redirect) can be applied.</t>
      <t>However, the generalized SAV model requires corresponding operational visibility capabilities. Without integrated telemetry, operators face significant challenges in:</t>
      <ul spacing="normal">
        <li>
          <t>Enforcement Visibility: Observing SAV enforcement actions and identifying which rules were triggered.</t>
        </li>
        <li>
          <t>Operational Analysis: Understanding the context of SAV decisions and troubleshooting unexpected enforcement behavior.</t>
        </li>
        <li>
          <t>Threat Intelligence: Analyzing traffic patterns identified as spoofed by SAV.</t>
        </li>
      </ul>
      <t>To address these limitations, IPFIX <xref target="RFC7011"/> and <xref target="RFC7012"/> provide a vendor-neutral protocol for SAV telemetry. The exported data must provide insight into:</t>
      <ul spacing="normal">
        <li>
          <t>The validation outcome and specific reason for the decision</t>
        </li>
        <li>
          <t>The identity and type of SAV rule or rule set that influenced the decision</t>
        </li>
        <li>
          <t>The configured rule content that was evaluated during validation</t>
        </li>
        <li>
          <t>The enforcement action applied to spoofed packets</t>
        </li>
      </ul>
      <t>The following section defines the IPFIX IEs that meet these requirements.</t>
    </section>
    <section anchor="sec-IEs">
      <name>IPFIX SAV Information Elements</name>
      <t>This section defines the IEs used for SAV telemetry. These IEs have been specified in accordance with the guidelines in <xref target="RFC7013"/>.</t>
      <section anchor="design-rationale">
        <name>Design Rationale</name>
        <t>The SAV IPFIX IEs are designed to provide detailed visibility into SAV enforcement actions, enabling network operators and automation systems to monitor and troubleshoot SAV operations effectively. The design follows these principles:</t>
        <ul spacing="normal">
          <li>
            <t><strong>Scope</strong>. The SAV-specific IEs are used to report the outcome and context of SAV processing for data plane traffic observations. Interface, device or network-level SAV configuration is out of scope for these IEs and is covered by the SAVNET YANG data model.</t>
          </li>
          <li>
            <t><strong>Conceptual Alignment</strong>. The elements align with the validation modes and rule types defined in <xref target="I-D.ietf-savnet-general-sav-capabilities"/>, ensuring consistency with the architectural SAV concepts.</t>
          </li>
          <li>
            <t><strong>Semantic Correlation</strong>. The IPFIX encoding preserves the semantic relationships defined in <xref target="I-D.li-savnet-sav-yang"/>, which enables correlation between IPFIX Data Records in the data plane and YANG configuration/state data in the control plane, facilitating comprehensive analysis.</t>
          </li>
          <li>
            <t><strong>Structured Encoding</strong>. The <tt>savMatchedContentList</tt> is encoded as a <tt>subTemplateList</tt> to represent the multi-field tuples of SAV rules. The structure of <tt>subTemplateList</tt> was chosen because it can encapsulate heterogeneous fields (e.g., prefix, length, interface) within a single list element. The list semantics (<tt>allOf</tt>, <tt>exactlyOneOf</tt>) directly encode the SAV validation logic (e.g., matching all rules in an allowlist vs. exactly one in a blocklist) into the data structure.</t>
          </li>
        </ul>
      </section>
      <section anchor="subsec-IEs-savRuleType">
        <name>savRuleType (unsigned8)</name>
        <t>The <tt>savRuleType</tt> element classifies the rule as either an allowlist or a blocklist. The values correspond to the check type concepts in the SAV architecture:</t>
        <ul spacing="normal">
          <li>
            <t>A value of <tt>0</tt> is reserved to indicate that no value is available.</t>
          </li>
          <li>
            <t>A value of <tt>1</tt> (allowlist) indicates the packet was validated against an allowlist.</t>
          </li>
          <li>
            <t>A value of <tt>2</tt> (blocklist) indicates the packet was validated against a blocklist.</t>
          </li>
        </ul>
      </section>
      <section anchor="subsec-IEs-savTargetType">
        <name>savTargetType  (unsigned8)</name>
        <t>The <tt>savTargetType</tt> element specifies the lookup key used by the SAV rule. It may be used in conjunction with <tt>savRuleType</tt> to fully define the validation mode applied.</t>
        <ul spacing="normal">
          <li>
            <t>A value of <tt>0</tt> is reserved to indicate that no value is available.</t>
          </li>
          <li>
            <t>A value of <tt>1</tt> (interface-based) indicates the rule is indexed by an interface (e.g., "on interface X, what prefixes are allowed/blocked?").</t>
          </li>
          <li>
            <t>A value of <tt>2</tt> (prefix-based) indicates the rule is indexed by a source prefix (e.g., "for prefix Y, which interfaces are allowed/blocked?").</t>
          </li>
        </ul>
      </section>
      <section anchor="subsec-IEs-savMatchedContentList">
        <name>savMatchedContentList (subTemplateList)</name>
        <t>The <tt>savMatchedContentList</tt> element carries the content of the rules that were relevant to the validation decision, encoded as a <tt>subTemplateList</tt> according to <xref target="RFC6313"/>. Each element in the list represents a complete SAV rule tuple. The content and semantics of the list are defined by the <tt>savRuleType</tt>:</t>
        <ul spacing="normal">
          <li>
            <t><strong>For Allowlist non-matches (<tt>savRuleType=1</tt>)</strong>: The <tt>savMatchedContentList</tt> consists of the set of all rule tuples from the consulted SAV allowlist at the time of the packet's processing. The subTemplateList semantic MUST be <tt>allOf</tt> (0x03), indicating that the packet was validated against all these rules and did not match any of them.</t>
          </li>
          <li>
            <t><strong>For Blocklist matches (<tt>savRuleType=2</tt>)</strong>: The <tt>savMatchedContentList</tt> contains the matched rule tuple from the consulted SAV blocklist. The subTemplateList semantic MUST be <tt>exactlyOneOf</tt> (0x01), indicating that the packet matched this specific rule.</t>
          </li>
        </ul>
        <t><strong>Semantic Interpretation of Standard Information Elements:</strong>
When standard IPFIX IEs (such as <tt>ingressInterface</tt>, <tt>sourceIPv4Prefix</tt>, <tt>sourceIPv4PrefixLength</tt> or their IPv6 equivalents) are used within the subTemplateList of <tt>savMatchedContentList</tt>, they represent values from the SAV rule configuration, rather than from the actual packet being validated. This contextual distinction is critical for correct interpretation:</t>
        <ul spacing="normal">
          <li>
            <t><strong>In the parent Data Record</strong>: These IEs describe attributes of the actual spoofed packets that were validated by SAV.</t>
          </li>
          <li>
            <t><strong>Within <tt>savMatchedContentList</tt></strong>: These same IEs describe the configured SAV rule parameters that were evaluated during validation.</t>
          </li>
        </ul>
        <t>This approach ensures clear semantic distinction by reusing existing IEs, without requiring definition of new elements for SAV rule parameters.</t>
      </section>
      <section anchor="subsec-IEs-savPolicyAction">
        <name>savPolicyAction (unsigned8)</name>
        <t>The <tt>savPolicyAction</tt> indicates the action applied to packets identified as spoofed. The action taken is a matter of local policy. This element reports the outcome.</t>
        <ul spacing="normal">
          <li>
            <t>A value of <tt>0</tt> is reserved to indicate that no value is available.</t>
          </li>
          <li>
            <t>A value of <tt>1</tt> (permit) indicates packets represented by the record were allowed to proceed (monitoring only).</t>
          </li>
          <li>
            <t>A value of <tt>2</tt> (discard) indicates packets represented by the record were discarded or dropped.</t>
          </li>
          <li>
            <t>A value of <tt>3</tt> (rate-limit) indicates packets represented by the record were subject to a rate-limiting policy.</t>
          </li>
          <li>
            <t>A value of <tt>4</tt> (redirect) indicates packets represented by the record were redirected to an alternative destination.</t>
          </li>
          <li>
            <t>Values <tt>5-255</tt> are reserved for future extension.</t>
          </li>
        </ul>
      </section>
    </section>
    <section anchor="use-cases">
      <name>Use Cases</name>
      <t>The SAV-specific IPFIX IEs defined in this document enable network operators to answer critical operational questions that are currently unaddressable without telemetry for SAV:</t>
      <t><strong>SAV Enforcement Monitoring:</strong> Use <tt>savRuleType</tt> (TBD1), <tt>savTargetType</tt> (TBD2), <tt>savPolicyAction</tt> (TBD4)  and standard IPFIX counters, to quantify SAV enforcement actions, analyze their distribution across different validation modes, and identify applied SAV enforcement actions (discard, rate-limit, redirect) at the data plane level. This complements control-plane monitoring via YANG models, providing visibility into actual enforcement behavior rather than configured rules.</t>
      <t><strong>Rule-Level Attribution and Troubleshooting:</strong> Use <tt>savMatchedContentList</tt> (TBD3) to determine the specific SAV rule configuration that triggered enforcement decisions, including the exact rule parameters (interfaces, prefixes) evaluated during validation, whether for allowlist failures or blocklist matches.</t>
      <t><strong>Forensic Analysis and Compliance:</strong> SAV Data Records include both SAV-specific Information Elements and traditional packet-level details (source/destination addresses, ports, protocol), providing complete information for incident investigation and compliance reporting. Operators can use these records to investigate the source and nature of spoofing attacks, and gather evidence to support external trust initiatives and regulatory compliance reporting.</t>
    </section>
    <section anchor="sec-operational">
      <name>Operational Considerations</name>
      <t>While this document defines new IPFIX IEs using standard IPFIX mechanisms, implementors should consider:</t>
      <ul spacing="normal">
        <li>
          <t><strong>Exporter Implementation:</strong> Exporters MUST properly encode the <tt>subTemplateList</tt> structure for <tt>savMatchedContentList</tt> and ensure semantic consistency between <tt>savRuleType</tt> and list contents. Exporters MUST also define the sub-templates (e.g., 901-904) used in <tt>savMatchedContentList</tt> prior to exporting Data Records that use them.</t>
        </li>
        <li>
          <t><strong>Collector Processing:</strong> Collectors MUST be capable of parsing <tt>subTemplateList</tt> structure and understanding the context-dependent semantics of standard IEs within <tt>savMatchedContentList</tt>. Collectors MUST associate the sub-templates with the main template for correct interpretation.</t>
        </li>
        <li>
          <t><strong>Export Volume and Aggregation:</strong> When <tt>savMatchedContentList</tt> is used for allowlist non-matches, the exported record carries the full consulted allowlist, which may generate excessive IPFIX traffic. To bound export load, exporters SHOULD consider rate limiting, sampling <xref target="RFC5475"/>, or aggregation <xref target="RFC7015"/>. Exporters MAY aggregate packets sharing the same Flow Key and SAV context into a single Data Record, including over a reporting interval. For allowlist non-match events, aggregation is more constrained because the consulted allowlist may change between packets. Exporters SHOULD avoid combining packets validated against different allowlist contents into the same Data Record.</t>
        </li>
      </ul>
    </section>
    <section anchor="yang-ipfix-mapping">
      <name>YANG-IPFIX Mapping</name>
      <t>The mappings between the SAV YANG data model and IPFIX IEs are considered based on the common foundation of the general SAV capabilities document <xref target="I-D.ietf-savnet-general-sav-capabilities"/>. The operational correlation is demonstrated in Table 1, which defines the values for the designed IEs mapped from the corresponding <xref target="I-D.li-savnet-sav-yang"/> SAV Management YANG Module.</t>
      <artwork><![CDATA[
+---------------------+---------------------------------------+
| YANG Elements       | IPFIX IEs                             |
+---------------------+---------------------------------------+
| sav-check-type      | savRuleType                           |
|   sav:sav-allow-list|     1 (allowlist)                     |
|   sav:sav-block-list|     2 (blocklist)                     |
+---------------------+---------------------------------------+
| sav-mode            | savTargetType                         |
|   sav:sav-im        |     1 (interface-based)               |
|   sav:sav-cm        |     2 (prefix-based)                  |
+---------------------+---------------------------------------+
| SAV Rules attributes| savMatchedContentList                 |
|   source-prefix     |     sourceIPv4Prefix/sourceIPv6Prefix |
|   incoming-interface|     ingressInterface                  |
+---------------------+---------------------------------------+
]]></artwork>
      <t>Table 1: Mappings between SAV YANG Data Model and IPFIX Information Elements</t>
      <t>The <tt>savPolicyAction</tt> element carries real-time SAV decisions applied to
spoofed packets. It does not directly map to YANG configuration node.</t>
      <t>The code points for these IEs are maintained by IANA in the corresponding subregistries of the IPFIX registry. Future additions or changes are managed via Expert Review as described in <xref target="IANA">IANA Considerations</xref>.</t>
    </section>
    <section anchor="security-considerations">
      <name>Security Considerations</name>
      <t>The SAV-specific Information Elements defined in this document export data that reveals the security posture of a network's source address validation deployment. This data is sensitive and warrants additional considerations beyond those in <xref target="RFC7012"/>.</t>
      <ul spacing="normal">
        <li>
          <t><strong>Rule Configuration Disclosure</strong>: The <tt>savMatchedContentList</tt> element, when used with the <tt>allOf</tt> semantic for allowlist non-matches, exports the complete set of source prefixes permitted on an interface. An adversary with access to these IPFIX exports, for example via a compromised collector, could learn which source prefixes are allowed on each interface. This information could then be used to forge packets with spoofed source addresses drawn from those permitted prefixes, thereby increasing the adversary's ability to evade source address validation.</t>
        </li>
        <li>
          <t><strong>Enforcement State Disclosure</strong>: The <tt>savPolicyAction</tt> element with the value <tt>permit</tt> (monitoring only) reveals that SAV is not actively enforcing on a given path. This information could be exploited by an adversary to identify interfaces or prefixes where spoofed traffic would not be dropped.</t>
        </li>
        <li>
          <t><strong>IPFIX Export Amplification</strong>: A sustained spoofing attack can trigger a large volume of IPFIX exports and may overload the collector or the management plane, causing a secondary denial-of-service effect. This risk is especially relevant when allowlist non-match records carry the full consulted allowlist. The guidance in <xref target="sec-operational">Operational Considerations</xref> can help mitigate this risk.</t>
        </li>
        <li>
          <t><strong>Transport Security</strong>: Given the sensitivity of SAV enforcement data, exporters and collectors SHOULD use encrypted transport such as TLS or DTLS as described in <xref target="RFC7011"/> to protect SAV Data Records from eavesdropping and tampering.</t>
        </li>
        <li>
          <t><strong>Access Control</strong>: Collectors that store SAV enforcement data SHOULD restrict access to authorized operators, as the data reveals both the SAV configuration and its enforcement outcomes.</t>
        </li>
      </ul>
      <t>Other security considerations described in <xref target="I-D.ietf-savnet-general-sav-capabilities"/> apply to this document.</t>
    </section>
    <section anchor="IANA">
      <name>IANA Considerations</name>
      <t>This document requests IANA actions for the IPFIX registry <xref target="IANA-IPFIX"/>. Specifically, it requests the creation of new subregistries for the value spaces of selected SAV-specific Information Elements, and the allocation of four new IPFIX Information Elements.</t>
      <section anchor="New-sub-reg">
        <name>New IPFIX Sub-registries</name>
        <t>IANA is requested to create new subregistries under the IPFIX IEs registries. These subregistries specify the value spaces for the <tt>savRuleType</tt>, <tt>savTargetType</tt>, and <tt>savPolicyAction</tt> IEs. The corresponding IE definitions are provided in <xref target="NewIE">New Information Elements</xref>. The allocation policy is Expert Review <xref target="RFC8126"/>.</t>
        <section anchor="subsec-iana-savRuleType">
          <name>IPFIX savRuleType (TBD1) Subregistry</name>
          <ul spacing="normal">
            <li>
              <t><strong>Reference</strong>: This document, <xref target="subsec-IEs-savRuleType">savRuleType</xref>; <xref target="I-D.ietf-savnet-general-sav-capabilities"/>, Section 2 (Validation Modes)</t>
            </li>
            <li>
              <t><strong>Allocation Policy</strong>: Expert Review <xref target="RFC8126"/></t>
            </li>
            <li>
              <t><strong>Expert Guidance</strong>: Experts should ensure that new values are consistent with the SAV architecture concepts defined in <xref target="I-D.ietf-savnet-general-sav-capabilities"/>, particularly the validation modes and rule types (allowlist or blocklist).</t>
            </li>
          </ul>
          <t>Initial values:</t>
          <artwork><![CDATA[
+-------+------------+-------------------------------------------------+
| Value |   Name     |                 Description                     |
+-------+------------+-------------------------------------------------+
|   0   | unassigned |  Reserved; no value is available                |
|   1   | allowlist  |  The packet was validated against an allowlist  |
|   2   | blocklist  |  The packet was validated against a blocklist   |
| 3-255 | unassigned |  Reserved for future assignment                 |
+-------+------------+-------------------------------------------------+
]]></artwork>
        </section>
        <section anchor="subsec-iana-savTargetType">
          <name>IPFIX savTargetType (TBD2) Subregistry</name>
          <ul spacing="normal">
            <li>
              <t><strong>Reference</strong>: This document, <xref target="subsec-IEs-savTargetType">savTargetType</xref>; <xref target="I-D.ietf-savnet-general-sav-capabilities"/>, Section 2 (Validation Modes)</t>
            </li>
            <li>
              <t><strong>Allocation Policy</strong>: Expert Review <xref target="RFC8126"/></t>
            </li>
            <li>
              <t><strong>Expert Guidance</strong>: Experts should consult <xref target="I-D.ietf-savnet-general-sav-capabilities"/> to ensure new values align with the defined target types (interface-based or prefix-based).</t>
            </li>
          </ul>
          <t>Initial values:</t>
          <artwork><![CDATA[
+-------+-----------------+----------------------------------------+
| Value |       Name      |              Description               |
+-------+-----------------+----------------------------------------+
|   0   |    unassigned   |   Reserved; no value is available      |
|   1   | interface-based |   The rule is indexed by an interface  |
|   2   |   prefix-based  |   The rule is indexed by a prefix      |
| 3-255 |    unassigned   |   Reserved for future assignment       |
+-------+-----------------+----------------------------------------+
]]></artwork>
        </section>
        <section anchor="subsec-iana-savPolicyAction">
          <name>IPFIX savPolicyAction (TBD4) Subregistry</name>
          <ul spacing="normal">
            <li>
              <t><strong>Reference</strong>: This document, <xref target="subsec-IEs-savPolicyAction">savPolicyAction</xref>;  <xref target="I-D.ietf-savnet-general-sav-capabilities"/>, Section 4 (Traffic Handling Policies)</t>
            </li>
            <li>
              <t><strong>Allocation Policy</strong>: Expert Review <xref target="RFC8126"/></t>
            </li>
            <li>
              <t><strong>Expert Guidance</strong>: Experts should ensure that new actions are consistent with the SAV traffic handling policies defined in <xref target="I-D.ietf-savnet-general-sav-capabilities"/>.</t>
            </li>
          </ul>
          <t>Initial values:</t>
          <artwork><![CDATA[
+-------+----------+---------------------------------------------------+
| Value |   Name   |                  Description                      |
+-------+----------+---------------------------------------------------+
|   0   |unassigned| Reserved; no value is available                   |
|   1   |  permit  |The packet was allowed to proceed (monitoring only)|
|   2   |  discard | Packet was discarded or dropped                   |
|   3   |rate-limit| Traffic was subjected to rate limiting            |
|   4   | redirect | Packet was redirected to alternative destination  |
| 5-255 |unassigned| Reserved for future assignment                    |
+-------+----------+---------------------------------------------------+
]]></artwork>
        </section>
      </section>
      <section anchor="NewIE">
        <name>New Information Elements</name>
        <t>This document also requests IANA to allocate four new IEs under the "IPFIX Information Elements" registry <xref target="RFC7012"/> available at <xref target="IANA-IPFIX"/>. Note that three of these IEs (<tt>savRuleType</tt>, <tt>savTargetType</tt>, and <tt>savPolicyAction</tt>) have associated value spaces. The corresponding subregistries are defined in <xref target="New-sub-reg">New IPFIX Sub-registries</xref>.</t>
        <artwork><![CDATA[
+------------+-----------------------+
| Element ID | Name                  |
+------------+-----------------------+
| TBD1       | savRuleType           |
| TBD2       | savTargetType         |
| TBD3       | savMatchedContentList |
| TBD4       | savPolicyAction       |
+------------+-----------------------+
]]></artwork>
        <section anchor="savruletype">
          <name>savRuleType</name>
          <ul spacing="normal">
            <li>
              <t><strong>ElementID</strong>: TBD1</t>
            </li>
            <li>
              <t><strong>Name</strong>: savRuleType</t>
            </li>
            <li>
              <t><strong>Abstract Data Type</strong>: unsigned8</t>
            </li>
            <li>
              <t><strong>Data Type Semantics</strong>: identifier</t>
            </li>
            <li>
              <t><strong>Description</strong>: Identifies the validation rule type triggered during SAV enforcement.</t>
            </li>
            <li>
              <t><strong>Reference</strong>: This document, <xref target="subsec-iana-savRuleType">IPFIX savRuleType Subregistry</xref></t>
            </li>
          </ul>
        </section>
        <section anchor="savtargettype">
          <name>savTargetType</name>
          <ul spacing="normal">
            <li>
              <t><strong>ElementID</strong>: TBD2</t>
            </li>
            <li>
              <t><strong>Name</strong>: savTargetType</t>
            </li>
            <li>
              <t><strong>Abstract Data Type</strong>: unsigned8</t>
            </li>
            <li>
              <t><strong>Data Type Semantics</strong>: identifier</t>
            </li>
            <li>
              <t><strong>Description</strong>: Specifies the entity type against which validation was performed.</t>
            </li>
            <li>
              <t><strong>Reference</strong>: This document, <xref target="subsec-iana-savTargetType">IPFIX savTargetType Subregistry</xref></t>
            </li>
          </ul>
        </section>
        <section anchor="savmatchedcontentlist">
          <name>savMatchedContentList</name>
          <ul spacing="normal">
            <li>
              <t><strong>ElementID</strong>: TBD3</t>
            </li>
            <li>
              <t><strong>Name</strong>: savMatchedContentList</t>
            </li>
            <li>
              <t><strong>Abstract Data Type</strong>: subTemplateList</t>
            </li>
            <li>
              <t><strong>Data Type Semantics</strong>: list</t>
            </li>
            <li>
              <t><strong>Description</strong>: The content of the SAV rules relevant to the validation decision.</t>
            </li>
            <li>
              <t><strong>Reference</strong>: This document, <xref target="subsec-IEs-savMatchedContentList">savMatchedContentList</xref></t>
            </li>
          </ul>
        </section>
        <section anchor="savpolicyaction">
          <name>savPolicyAction</name>
          <ul spacing="normal">
            <li>
              <t><strong>ElementID</strong>: TBD4</t>
            </li>
            <li>
              <t><strong>Name</strong>: savPolicyAction</t>
            </li>
            <li>
              <t><strong>Abstract Data Type</strong>: unsigned8</t>
            </li>
            <li>
              <t><strong>Data Type Semantics</strong>: identifier</t>
            </li>
            <li>
              <t><strong>Description</strong>: Action applied to packets identified as spoofed.</t>
            </li>
            <li>
              <t><strong>Reference</strong>: This document, <xref target="subsec-iana-savPolicyAction">IPFIX savPolicyAction Subregistry</xref></t>
            </li>
          </ul>
        </section>
      </section>
    </section>
  </middle>
  <back>
    <references anchor="sec-combined-references">
      <name>References</name>
      <references anchor="sec-normative-references">
        <name>Normative References</name>
        <reference anchor="RFC8174" target="https://www.rfc-editor.org/info/rfc8174" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8174.xml">
          <front>
            <title>Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words</title>
            <author fullname="B. Leiba" initials="B." surname="Leiba"/>
            <date month="May" year="2017"/>
            <abstract>
              <t>RFC 2119 specifies common key words that may be used in protocol specifications. This document aims to reduce the ambiguity by clarifying that only UPPERCASE usage of the key words have the defined special meanings.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="14"/>
          <seriesInfo name="RFC" value="8174"/>
          <seriesInfo name="DOI" value="10.17487/RFC8174"/>
        </reference>
        <reference anchor="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="RFC7011" target="https://www.rfc-editor.org/info/rfc7011" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.7011.xml">
          <front>
            <title>Specification of the IP Flow Information Export (IPFIX) Protocol for the Exchange of Flow Information</title>
            <author fullname="B. Claise" initials="B." role="editor" surname="Claise"/>
            <author fullname="B. Trammell" initials="B." role="editor" surname="Trammell"/>
            <author fullname="P. Aitken" initials="P." surname="Aitken"/>
            <date month="September" year="2013"/>
            <abstract>
              <t>This document specifies the IP Flow Information Export (IPFIX) protocol, which serves as a means for transmitting Traffic Flow information over the network. In order to transmit Traffic Flow information from an Exporting Process to a Collecting Process, a common representation of flow data and a standard means of communicating them are required. This document describes how the IPFIX Data and Template Records are carried over a number of transport protocols from an IPFIX Exporting Process to an IPFIX Collecting Process. This document obsoletes RFC 5101.</t>
            </abstract>
          </front>
          <seriesInfo name="STD" value="77"/>
          <seriesInfo name="RFC" value="7011"/>
          <seriesInfo name="DOI" value="10.17487/RFC7011"/>
        </reference>
        <reference anchor="RFC7012" target="https://www.rfc-editor.org/info/rfc7012" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.7012.xml">
          <front>
            <title>Information Model for IP Flow Information Export (IPFIX)</title>
            <author fullname="B. Claise" initials="B." role="editor" surname="Claise"/>
            <author fullname="B. Trammell" initials="B." role="editor" surname="Trammell"/>
            <date month="September" year="2013"/>
            <abstract>
              <t>This document defines the data types and management policy for the information model for the IP Flow Information Export (IPFIX) protocol. This information model is maintained as the IANA "IPFIX Information Elements" registry, the initial contents of which were defined by RFC 5102. This information model is used by the IPFIX protocol for encoding measured traffic information and information related to the traffic Observation Point, the traffic Metering Process, and the Exporting Process. Although this model was developed for the IPFIX protocol, it is defined in an open way that allows it to be easily used in other protocols, interfaces, and applications. This document obsoletes RFC 5102.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7012"/>
          <seriesInfo name="DOI" value="10.17487/RFC7012"/>
        </reference>
        <reference anchor="RFC7013" target="https://www.rfc-editor.org/info/rfc7013" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.7013.xml">
          <front>
            <title>Guidelines for Authors and Reviewers of IP Flow Information Export (IPFIX) Information Elements</title>
            <author fullname="B. Trammell" initials="B." surname="Trammell"/>
            <author fullname="B. Claise" initials="B." surname="Claise"/>
            <date month="September" year="2013"/>
            <abstract>
              <t>This document provides guidelines for how to write definitions of new Information Elements for the IP Flow Information Export (IPFIX) protocol. It provides instructions on using the proper conventions for Information Elements to be registered in the IANA IPFIX Information Element registry, and provides guidelines for expert reviewers to evaluate new registrations.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="184"/>
          <seriesInfo name="RFC" value="7013"/>
          <seriesInfo name="DOI" value="10.17487/RFC7013"/>
        </reference>
        <reference anchor="RFC6313" target="https://www.rfc-editor.org/info/rfc6313" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.6313.xml">
          <front>
            <title>Export of Structured Data in IP Flow Information Export (IPFIX)</title>
            <author fullname="B. Claise" initials="B." surname="Claise"/>
            <author fullname="G. Dhandapani" initials="G." surname="Dhandapani"/>
            <author fullname="P. Aitken" initials="P." surname="Aitken"/>
            <author fullname="S. Yates" initials="S." surname="Yates"/>
            <date month="July" year="2011"/>
            <abstract>
              <t>This document specifies an extension to the IP Flow Information Export (IPFIX) protocol specification in RFC 5101 and the IPFIX information model specified in RFC 5102 to support hierarchical structured data and lists (sequences) of Information Elements in data records. This extension allows definition of complex data structures such as variable-length lists and specification of hierarchical containment relationships between Templates. Finally, the semantics are provided in order to express the relationship among multiple list elements in a structured data record. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="6313"/>
          <seriesInfo name="DOI" value="10.17487/RFC6313"/>
        </reference>
        <reference anchor="RFC8126" target="https://www.rfc-editor.org/info/rfc8126" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8126.xml">
          <front>
            <title>Guidelines for Writing an IANA Considerations Section in RFCs</title>
            <author fullname="M. Cotton" initials="M." surname="Cotton"/>
            <author fullname="B. Leiba" initials="B." surname="Leiba"/>
            <author fullname="T. Narten" initials="T." surname="Narten"/>
            <date month="June" year="2017"/>
            <abstract>
              <t>Many protocols make use of points of extensibility that use constants to identify various protocol parameters. To ensure that the values in these fields do not have conflicting uses and to promote interoperability, their allocations are often coordinated by a central record keeper. For IETF protocols, that role is filled by the Internet Assigned Numbers Authority (IANA).</t>
              <t>To make assignments in a given registry prudently, guidance describing the conditions under which new values should be assigned, as well as when and how modifications to existing values can be made, is needed. This document defines a framework for the documentation of these guidelines by specification authors, in order to assure that the provided guidance for the IANA Considerations is clear and addresses the various issues that are likely in the operation of a registry.</t>
              <t>This is the third edition of this document; it obsoletes RFC 5226.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="26"/>
          <seriesInfo name="RFC" value="8126"/>
          <seriesInfo name="DOI" value="10.17487/RFC8126"/>
        </reference>
      </references>
      <references anchor="sec-informative-references">
        <name>Informative References</name>
        <reference anchor="I-D.li-savnet-sav-yang" target="https://datatracker.ietf.org/doc/html/draft-li-savnet-sav-yang-08" xml:base="https://bib.ietf.org/public/rfc/bibxml3/reference.I-D.li-savnet-sav-yang.xml">
          <front>
            <title>YANG Data Model for Intra-domain and Inter-domain Source Address Validation (SAVNET)</title>
            <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="Changwang Lin" initials="C." surname="Lin">
              <organization>New H3C Technologies</organization>
            </author>
            <author fullname="Jianping Wu" initials="J." surname="Wu">
              <organization>Tsinghua University</organization>
            </author>
            <author fullname="Tianhao Wu" initials="T." surname="Wu">
              <organization>Huawei</organization>
            </author>
            <author fullname="Weiqiang Cheng" initials="W." surname="Cheng">
              <organization>China Mobile</organization>
            </author>
            <date day="12" month="April" year="2026"/>
            <abstract>
              <t>This document describes a YANG data model for Intra-domain and Inter-domain Source Address Validation (SAVNET). The model serves as a base framework for configuring and managing an SAV subsystem, including SAV rule and SAV Tables, and expected to be augmented by other SAV technology models accordingly. Additionally, this document also specifies the model for the SAV Static application.</t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-li-savnet-sav-yang-08"/>
        </reference>
        <reference anchor="I-D.ietf-savnet-general-sav-capabilities" target="https://datatracker.ietf.org/doc/html/draft-ietf-savnet-general-sav-capabilities-03" 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="21" month="June" year="2026"/>
            <abstract>
              <t>The SAV rules of existing source address validation (SAV) mechanisms are derived from other core data structures (e.g., FIB-based uRPF) that are not dedicatedly designed for source filtering. Consequently, these mechanisms have limitations in deployable scenarios and traffic handling policies. To overcome these limitations, this document introduces general SAV capabilities from a 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-03"/>
        </reference>
        <reference anchor="RFC5475" target="https://www.rfc-editor.org/info/rfc5475" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.5475.xml">
          <front>
            <title>Sampling and Filtering Techniques for IP Packet Selection</title>
            <author fullname="T. Zseby" initials="T." surname="Zseby"/>
            <author fullname="M. Molina" initials="M." surname="Molina"/>
            <author fullname="N. Duffield" initials="N." surname="Duffield"/>
            <author fullname="S. Niccolini" initials="S." surname="Niccolini"/>
            <author fullname="F. Raspall" initials="F." surname="Raspall"/>
            <date month="March" year="2009"/>
            <abstract>
              <t>This document describes Sampling and Filtering techniques for IP packet selection. It provides a categorization of schemes and defines what parameters are needed to describe the most common selection schemes. Furthermore, it shows how techniques can be combined to build more elaborate packet Selectors. The document provides the basis for the definition of information models for configuring selection techniques in Metering Processes and for reporting the technique in use to a Collector. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="5475"/>
          <seriesInfo name="DOI" value="10.17487/RFC5475"/>
        </reference>
        <reference anchor="RFC7015" target="https://www.rfc-editor.org/info/rfc7015" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.7015.xml">
          <front>
            <title>Flow Aggregation for the IP Flow Information Export (IPFIX) Protocol</title>
            <author fullname="B. Trammell" initials="B." surname="Trammell"/>
            <author fullname="A. Wagner" initials="A." surname="Wagner"/>
            <author fullname="B. Claise" initials="B." surname="Claise"/>
            <date month="September" year="2013"/>
            <abstract>
              <t>This document provides a common implementation-independent basis for the interoperable application of the IP Flow Information Export (IPFIX) protocol to the handling of Aggregated Flows, which are IPFIX Flows representing packets from multiple Original Flows sharing some set of common properties. It does this through a detailed terminology and a descriptive Intermediate Aggregation Process architecture, including a specification of methods for Original Flow counting and counter distribution across intervals.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7015"/>
          <seriesInfo name="DOI" value="10.17487/RFC7015"/>
        </reference>
        <reference anchor="IANA-IPFIX" target="https://www.iana.org/assignments/ipfix/ipfix.xhtml">
          <front>
            <title>IP Flow Information Export (IPFIX) Entities</title>
            <author>
              <organization/>
            </author>
            <date>n.d.</date>
          </front>
        </reference>
      </references>
    </references>
    <?line 373?>

<section anchor="ipfix-encoding-examples">
      <name>IPFIX Encoding Examples</name>
      <t>This appendix provides encoding examples for the SAV-specific IPFIX IEs defined in this document.</t>
      <section anchor="template-record-and-data-record-with-sub-template-list">
        <name>Template Record and Data Record with Sub-Template List</name>
        <t>This example demonstrates the encoding for two observed SAV enforcement events representing different validation scenarios and address families as shown in Table 2.</t>
        <artwork><![CDATA[
+-----+--------------+---------+---------+-----------+-------------+
|Event|Source Address|Interface|Rule Type|Target Type|Policy Action|
+-----+--------------+---------+---------+-----------+-------------+
|  1  | 192.0.2.100  |  5001   |Allowlist| Interface | Rate-limit  |
|  2  | 2001:db8::1  |  5002   |Blocklist| Prefix    | Discard     |
+-----+--------------+---------+---------+-----------+-------------+
]]></artwork>
        <t>Table 2: Two Observed SAV Validation Events</t>
        <t>The first event represents an IPv4 allowlist non-match event where a packet from source 192.0.2.100 arriving on interface 5001 failed to match any source prefixes configured in the interface-based allowlist.
The second event represents an IPv6 blocklist match event where a packet from source 2001:db8::1 was received on interface 5002, which matched a prefix-based blocklist rule.</t>
        <section anchor="sub-template-definitions">
          <name>Sub-Template Definitions</name>
          <t>The following sub-templates are defined for use within the <tt>savMatchedContentList</tt> element to encode different types of SAV rule mappings based on address family and validation target type. The <tt>savMatchedContentList</tt> element is encoded as a <tt>subTemplateList</tt> according to <xref target="RFC6313"/>.</t>
          <t>The template IDs used in these examples are exemplary and chosen arbitrarily. In actual implementations, exporters MUST assign unique template IDs within the IPFIX session for these sub-templates.</t>
          <ul spacing="normal">
            <li>
              <t><strong>Sub-Template 901: IPv4 Interface-to-Prefix Mapping</strong></t>
            </li>
          </ul>
          <t>This sub-template is used when <tt>savTargetType=1</tt>(interface-based validation mode) for IPv4 traffic. It contains the mapping from an interface to source IPv4 prefixes as defined in the SAV rule configuration. It can be used for both blocklist and allowlist.</t>
          <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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|          Set ID = 2           |          Length = 20          |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|       Template ID = 901       |        Field Count = 3        |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|0|   ingressInterface = 10     |        Field Length = 4       |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|0|   sourceIPv4Prefix = 44     |        Field Length = 4       |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|0| sourceIPv4PrefixLength = 9  |        Field Length = 1       |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
]]></artwork>
          <t>Figure 1: Sub-Template 901 (IPv4 Interface-to-Prefix Mapping)</t>
          <ul spacing="normal">
            <li>
              <t><strong>Sub-Template 902: IPv6 Interface-to-Prefix Mapping</strong>
This sub-template is the IPv6 equivalent of Sub-Template 901, used for interface-based validation with IPv6 traffic.</t>
            </li>
          </ul>
          <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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|          Set ID = 2           |          Length = 20          |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|       Template ID = 902       |        Field Count = 3        |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|0|   ingressInterface = 10     |        Field Length = 4       |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|0|   sourceIPv6Prefix = 170    |        Field Length = 16      |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|0| sourceIPv6PrefixLength = 29 |        Field Length = 1       |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
]]></artwork>
          <t>Figure 2: Sub-Template 902 (IPv6 Interface-to-Prefix Mapping)</t>
          <ul spacing="normal">
            <li>
              <t><strong>Sub-Template 903: IPv4 Prefix-to-Interface Mapping</strong></t>
            </li>
          </ul>
          <t>This sub-template is used when <tt>savTargetType=2</tt>(prefix-based validation mode) for IPv4 traffic. It contains the mapping from a source IPv4 prefixes to interface as defined in the SAV rule configuration. It can be used for both blocklist and allowlist.</t>
          <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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|          Set ID = 2           |          Length = 20          |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|       Template ID = 903       |        Field Count = 3        |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|0|   sourceIPv4Prefix = 44     |        Field Length = 4       |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|0| sourceIPv4PrefixLength = 9  |        Field Length = 1       |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|0|   ingressInterface = 10     |        Field Length = 4       |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
]]></artwork>
          <t>Figure 3: Sub-Template 903 (IPv4 Prefix-to-Interface Mapping)</t>
          <ul spacing="normal">
            <li>
              <t><strong>Sub-Template 904: IPv6 Prefix-to-Interface Mapping</strong></t>
            </li>
          </ul>
          <t>This sub-template is the IPv6 equivalent of Sub-Template 903, used for prefix-based validation with IPv6 traffic.</t>
          <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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|          Set ID = 2           |          Length = 20          |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|       Template ID = 904       |        Field Count = 3        |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|0|   sourceIPv6Prefix = 170    |        Field Length = 16      |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|0| sourceIPv6PrefixLength = 29 |        Field Length = 1       |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|0|   ingressInterface = 10     |        Field Length = 4       |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
]]></artwork>
          <t>Figure 4: Sub-Template 904 (IPv6 Prefix-to-Interface Mapping)</t>
        </section>
        <section anchor="main-template-record">
          <name>Main Template Record</name>
          <t>The main Template Record (ID 400) contains fields for exporting detailed SAV enforcement information including the validation outcome and the specific rule content that triggered the action. The template incorporates the <tt>savMatchedContentList</tt> element as a variable-length <tt>subTemplateList</tt> to carry the relevant SAV rule contents using the appropriate sub-templates defined above.</t>
          <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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|          Set ID = 2           |          Length = 28          |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|        Template ID = 400      |        Field Count = 5        |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|0|  observationTimeMicrosec=324|        Field Length = 8       |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|0|      savRuleType = TBD1     |        Field Length = 1       |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|0|     savTargetType = TBD2    |        Field Length = 1       |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|0| savMatchedContentList=TBD3  |      Field Length = 0xFFFF    |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|0|   savPolicyAction = TBD4    |        Field Length = 1       |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
]]></artwork>
          <t>Figure 5: Main Template Record (ID 400)</t>
        </section>
        <section anchor="data-set-example">
          <name>Data Set Example</name>
          <t>The following Data Set contains two Data Records that represent the two SAV validation scenarios in Table 2.</t>
          <t>The first Data Record (allowlist non-match) encodes the complete set of allowed prefixes using Sub-Template 901 with the <tt>allOf</tt> semantic (0x03). The allowlist includes three SAV rules for <tt>ingressInterface</tt> 5001, with <tt>sourceIPv4Prefix</tt> values 198.51.100.0/24, 203.0.113.0/24, and 192.0.2.128/25.</t>
          <t>The second Data Record (blocklist match) encodes the specific blocked interface using Sub-Template 904 with the <tt>exactlyOneOf</tt> semantic (0x01). The matched rule is <tt>sourceIPv6Prefix</tt> 2001:db8::/32 on <tt>ingressInterface</tt> 5002.</t>
          <t>The figure below uses abbreviated IE names: <tt>savRT</tt> for <tt>savRuleType</tt>, <tt>savTT</tt> for <tt>savTargetType</tt>, <tt>savAct</tt> for <tt>savPolicyAction</tt>, <tt>sPrf4Len</tt> for <tt>sourceIPv4PrefixLength</tt>, and <tt>sPrf6Len</tt> for <tt>sourceIPv6PrefixLength</tt>.</t>
          <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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|          Set ID = 400         |          Length = 88          |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|              observationTimeMicrosec =                        |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                      0x5D2F0A0000000000                       |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|   savRT =1    |   savTT=1     |     255       |   List Length |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|     = 30      | semantic=0x03 |    Template ID = 901          |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                ingressInterface[0] = 5001                     |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|              sourceIPv4Prefix[0] = 198.51.100.0               |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|sPrf4Len[0]=24 |         ingressInterface[1] =                 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|      5001     |         sourceIPv4Prefix[1] =                 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|  203.0.113.0  | sPrf4Len[1]=24|      ingressInterface[2] =    |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|               5001            |       sourceIPv4Prefix[2] =   |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|         192.0.2.128           |sPrf4Len[2]=25 |    savAct=3   |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|              observationTimeMicrosec =                        |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                      0x5D2F0A0000000001                       |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|   savRT =2    |   savTT=2     |     255       |  List Length  |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|     = 24      | semantic=0x01 |     Template ID = 904         |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                     sourceIPv6Prefix[0]                       |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                                                               |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                                                               |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                                                               |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|sPrf6Len[0]=32 |          ingressInterface[0] =                |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|       5002    |    savAct=2   |              padding          |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
]]></artwork>
          <t>Figure 6: Data Set Example</t>
        </section>
      </section>
    </section>
  </back>
  <!-- ##markdown-source:
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

-->

</rfc>
