<?xml version="1.0" encoding="US-ASCII"?>
<!-- edited with XMLSPY v5 rel. 3 U (http://www.xmlspy.com)
     by Daniel M Kohn (private) -->
<!DOCTYPE rfc SYSTEM "rfc2629.dtd" [
<!ENTITY rfc2119 PUBLIC "" "http://xml.resource.org/public/rfc/bibxml/reference.RFC.2119.xml">
]>
<?rfc toc="yes"?>
<?rfc tocompact="yes"?>
<?rfc tocdepth="3"?>
<?rfc tocindent="yes"?>
<?rfc symrefs="yes"?>
<?rfc sortrefs="yes"?>
<?rfc comments="yes"?>
<?rfc inline="yes"?>
<?rfc compact="yes"?>
<?rfc subcompact="no"?>
<rfc category="std" docName="draft-li-savnet-intra-domain-od-sav-00"
     ipr="trust200902">
  <front>
    <title abbrev="intra-domain-od-sav">Intra-Domain On-Demand Source Address
    Validation(SAV) Mechanism</title>

    <author fullname="Xueting Li" initials="X" surname="Li">
      <organization>China Telecom</organization>

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

          <city>Beijing</city>

          <region>Beijing</region>

          <code>102209</code>

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

        <email>lixt2@foxmail.com</email>
      </address>
    </author>

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

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

          <city>Beijing</city>

          <region>Beijing</region>

          <code>102209</code>

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

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

    <author fullname="Yuanyuan Zhang" initials="Y" surname="Zhang">
      <organization>Zhongguancun Laboratory</organization>

      <address>
        <postal>
          <street/>

          <city>Beijing</city>

          <region>Beijing</region>

          <code>100000</code>

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

        <phone/>

        <facsimile/>

        <email>zhangyy@zgclab.edu.cn</email>

        <uri/>
      </address>
    </author>

    <date day="21" month="July" year="2025"/>

    <area>SAVNET Area</area>

    <workgroup>SAVNET Working Group</workgroup>

    <keyword>on-demand&#65292;SAV&#65292;message propagation</keyword>

    <abstract>
      <t>Source Address Validation (SAV) mechanisms, such as unicast Reverse
      Path Forwarding (uRPF), Access Control Lists (ACLs), and Best-Match
      Shortest Path Filtering (BM-SPF), are widely deployed to prevent IP
      source address spoofing. However, these mechanisms are typically
      designed for static routing scenarios and deployed at fixed network
      boundaries.</t>

      <t>With the increasing adoption of dynamic forwarding technologies such
      as SRv6 Policy and Fast Reroute (TI-FRR), the network's actual
      forwarding path may change frequently due to policy-based traffic
      steering or link failures. In such cases, statically deployed SAV rules
      may fail to validate traffic on newly activated or alternate paths,
      creating validation blind spots or even leading to false positives that
      block legitimate traffic.</t>

      <t>This draft proposes an On-Demand Source Address Validation Activation
      mechanism. It enables routers to dynamically activate or update SAV
      rules on specific interfaces only when the interface becomes part of an
      active forwarding path due to policy or failover triggers. This approach
      enhances SAV coverage, avoids unnecessary resource consumption, and
      ensures SAV correctness under dynamic path switching scenarios driven by
      SRv6-policy and TI-FRR.</t>
    </abstract>
  </front>

  <middle>
    <section anchor="intro" title="Introduction">
      <t>The security of IP networks depends heavily on the ability to verify
      the legitimacy of source addresses in data packets. Source Address
      Validation (SAV) serves as a foundational mechanism to mitigate IP
      spoofing attacks by enforcing policies that ensure packets originate
      from expected locations. Common SAV mechanisms include:</t>

      <t><list style="symbols">
          <t>ACL-based filtering, where packet validation rules are manually
          configured on specific interfaces.</t>

          <t>uRPF, which verifies that a packet&rsquo;s source address is
          reachable via the receiving interface according to the FIB.</t>

          <t>BM-SPF, which opens minimal set of interfaces based on IGP.<xref
          target="bmspf"/></t>
        </list></t>

      <t>While effective in static or stable routing environments, these
      mechanisms face growing limitations in modern networks that adopt path
      engineering and fast reroute techniques.</t>

      <t>In particular, Segment Routing over IPv6 (SRv6) <xref
      target="RFC8987"/> enables operators to define customized traffic paths
      (SRv6 Policies) that override shortest-path routing, while
      Topology-Independent Fast Reroute (TI-FRR) ensures traffic continues
      during link or node failures by instantly switching to backup paths.
      These capabilities introduce highly dynamic forwarding behavior, where
      the actual path of a data packet may change based on traffic type,
      policy reconfiguration, or network failure&mdash;without corresponding
      updates to the existing SAV rules deployed in the network.</t>

      <t>Under such conditions:<list style="symbols">
          <t>SAV validation may be bypassed if the forwarding path traverses
          interfaces without validation rules (validation blind spot).</t>

          <t>Legitimate traffic may be dropped if SAV rules mismatch the
          active path due to delayed or missing updates (false positives).</t>

          <t>Resource overhead increases if operators pre-deploy SAV rules on
          all possible interfaces to anticipate changes (inefficient and hard
          to manage).</t>
        </list></t>

      <t>To address these issues, this draft introduces a mechanism for
      On-Demand Source Address Validation Activation, which dynamically
      installs, updates, or revokes SAV rules on interfaces based on real-time
      detection of path changes. The mechanism supports two representative
      trigger types:<list style="symbols">
          <t>SRv6 Policy Routing, where control-plane or application policies
          initiate path re-selection.</t>

          <t>TI-FRR, where the forwarding plane autonomously switches to a
          precomputed backup path upon failure detection.</t>
        </list></t>

      <t>By aligning SAV activation with the actual packet forwarding path,
      the proposed mechanism improves security robustness, resource
      efficiency, and operational adaptability in dynamic networks.</t>

      <t/>
    </section>

    <section title="Conventions used in this document">
      <t>The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
      "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
      document are to be interpreted as described in <xref target="RFC2119">
      </xref> <xref target="RFC8174"/>.</t>
    </section>

    <section title="Terminology">
      <t>The following terms are used in this draft:<list style="symbols">
          <t>Segment Identifier (SID): An identifier for each path segment
          used to guide traffic within the network.</t>

          <t>Segment List: An ordered list of SIDs that defines the path for
          traffic from the source to the destination.</t>

          <t>SR-policy: Segment Routing policy, A policy consisting of one or
          more Segment Lists, each representing an alternate path.</t>

          <t>FIB: Forwarding Information Base.</t>

          <t>SAV: Source Address Validation.</t>

          <t>uRPF: Unicast Reverse Path Forwarding.</t>

          <t>BM&nbhy;SPF: Bidirectional Metric based Shortest Path First
          Mechanism.</t>

          <t>FRR: Fast Reroute</t>

          <t>TI&nbhy;LFA: Topology Independent Loop-Free Alternate.</t>

          <t>SRv6: Segment Routing over IPv6.</t>

          <t>Ingress/Egress: The starting/ending router in a forwarding
          path.</t>
        </list></t>

      <t/>
    </section>

    <section title="Overview of on-demand SAV activation mechanism  ">
      <t>The On-Demand Source Address Validation (SAV) Activation Mechanism is
      a dynamic and path-aware validation approach designed to ensure precise
      and efficient spoofing prevention in networks where forwarding paths may
      change frequently due to control-plane policies or fast reroute events.
      Unlike traditional SAV mechanisms that rely on static interface bindings
      or shortest-path assumptions, the on-demand model provides
      interface-level validation granularity that closely follows actual
      packet forwarding behavior.</t>

      <t>This mechanism is particularly tailored to support intra-domain
      deployments where advanced routing schemes&mdash;such as SRv6
      Policy-based traffic steering and Topology-Independent Fast Reroute
      (TI-FRR)&mdash;are actively used to improve performance, availability,
      and flexibility. In these cases, packet forwarding may dynamically
      deviate from the IGP shortest path or revert rapidly to backup routes,
      rendering static SAV rules insufficient or ineffective.</t>

      <section title="Design Goals">
        <t>The on-demand SAV mechanism is designed to meet the following
        goals:<list style="symbols">
            <t>Path-Coupled Validation Activation: SAV rules are activated
            only on interfaces that currently participate in forwarding
            traffic for protected source prefixes, minimizing resource
            consumption and false positives.</t>

            <t>Trigger-Based Adaptivity: SAV activation responds in real-time
            to forwarding path changes triggered by:<list style="symbols">
                <t>SRv6 SID list updates in the control plane (e.g.,
                application policy shift).</t>

                <t>FRR activation upon link or node failure.</t>
              </list></t>

            <t>Distributed and Lightweight Propagation: SAV-specific
            information (such as prefix/interface mappings) is propagated only
            to affected routers, allowing scalable and incremental rule
            installation without network-wide updates.</t>

            <t>Fine-Grained Rule Lifecycle: SAV rules are assigned explicit
            activation conditions and expiry policies (e.g., duration, path
            reversion), ensuring timely withdrawal and state consistency.</t>
          </list></t>

        <t/>
      </section>

      <section title="Mechanism Workflow">
        <t>The mechanism operates via a coordinated process involving core
        Workflow:</t>

        <t>1. Trigger Detection:<list style="symbols">
            <t>Path changes are detected through control-plane events (e.g.,
            SRv6 policy change notifications) or data-plane reactions (e.g.,
            TI-FRR activation).</t>

            <t>Each event is associated with a set of source address prefixes
            that require protection.</t>
          </list></t>

        <t>2. SAV-specfic information update and SAV rule Generation:<list
            style="symbols">
            <t>Local router logic computes the updated validation scope, which
            includes:<list style="symbols">
                <t>Source prefixes to be validated.</t>

                <t>Interfaces on each router along the active path where
                validation should be enforced.</t>
              </list></t>

            <t>These information is encoded in SAV-specific messages and
            propagated from source router to validation entities (the routers
            that need to perform validation).</t>
          </list></t>

        <t>3. Rule Activation and Enforcement:<list style="symbols">
            <t>Upon receiving the SAV-specific information, validation routers
            dynamically create or update SAV rules (e.g., prefix filters, ACL
            entries, enhanced uRPF modes).</t>

            <t>Rules are scoped in time or bound to session triggers, and are
            withdrawn when the corresponding path becomes inactive.</t>
          </list></t>
      </section>

      <section title=" Integration with BM-SPF and Static SAV">
        <t>The proposed on-demand mechanism is not intended to replace
        existing SAV methods, but to complement them in scenarios where static
        validation falls short. In particular:<list style="symbols">
            <t>BM-SPF (Bidirectional Metric-based Shortest Path First)
            continues to serve as a reliable default for symmetric or
            IGP-derived paths.</t>

            <t>On-demand activation is selectively applied only to forwarding
            paths resulting from:<list style="symbols">
                <t>SRv6 Policy-based steering, which diverges from
                BM-SPF-computed paths.</t>

                <t>TI-FRR-driven failover, where backup paths are not part of
                the IGP&rsquo;s steady-state shortest path.</t>
              </list></t>
          </list></t>

        <t>Through this hybrid approach, operators can retain static
        validation as a baseline while dynamically extending coverage to
        alternate or policy-induced routes with minimal operational
        overhead.</t>
      </section>

      <section title="Applicability Scope">
        <t>The on-demand SAV mechanism is explicitly scoped to support two
        types of dynamic forwarding scenarios within a single administrative
        domain:<list style="symbols">
            <t>SRv6 Policy Paths: Where the control plane installs an explicit
            SID list to steer traffic along a non-default path, typically for
            application-aware routing or SLA enforcement.</t>

            <t>TI-FRR Backup Paths: Where data-plane-level fast reroute
            mechanisms instantly switch traffic to precomputed backup next
            hops upon failure, requiring temporary and immediate SAV
            activation along the backup route.</t>
          </list></t>

        <figure>
          <artwork><![CDATA[Table.1 Trigger conditions for on-demand activation
|---------------------|----------------------------------------|-------------------------------|
| Trigger Type        | Example Scenario                       | SAV Activation Scope          |
|---------------------|----------------------------------------|-------------------------------|
| SRv6-policy         | SRv6 SID list reroute                  |Prefixes/Interfaces on new path|
| FRR Activation      | TI-LFA backup engaged after failure    |Prefixes backup path interfaces|
|---------------------|----------------------------------------|-------------------------------|]]></artwork>
        </figure>

        <t>Other scenarios such as ECMP, BGP-based inter-domain routing, or
        multicast are outside the scope of this specification, but may be
        considered in future extensions.</t>
      </section>
    </section>

    <section title="Usecases of On-Demand SAV Activation mechanism">
      <t>The On-Demand SAV mechanism is designed to complement and extend
      traditional SAV enforcement models in dynamic routing environments. It
      particularly addresses the validation gaps caused by traffic engineering
      changes and fast reroute mechanisms by dynamically activating SAV rules
      only on affected interfaces. Below we present two representative use
      cases: SRv6-policy based rerouting and TI-FRR based failure
      recovery.</t>

      <section title="SRv6-Policy Based On-Demand SAV">
        <t>In this intra-domain network, multiple types of traffic coexist,
        including latency-sensitive voice traffic and high-bandwidth file
        transfer traffic. These traffic types are routed differently based on
        service requirements:<list style="symbols">
            <t>Default Path: The shortest path computed by IGP (BM-SPF) is
            used: R1 &rarr; R2 &rarr; R3.</t>

            <t>Policy-Driven Path (File Transfer/High Bandwidth Traffic): A
            Segment Routing over IPv6 (SRv6) policy instructs routers to use
            an alternate path with higher bandwidth capacity: R1 &rarr; R4
            &rarr; R3</t>
          </list></t>

        <t>An SRv6 controller programs this policy using a SID (Segment
        Identifier) list and updates the forwarding path dynamically.</t>

        <t><figure>
            <artwork><![CDATA[
  
    +-------------+          
    |  Controller |
    +-------------+  
        /  SRv6-policy
   +-----+       +-----+       +-----+   
   | R1  |-------| R2  |-------| R3  |
   +-----+ eth0  +-----+       +-----+ 
   eth1   \         |           /  eth3     
            \       |       /           
                 +-----+          
            eth2 | R4  |
                 +-----+    
         +-----------------------+          
         |  Host/Customer Network| 
         |    Prefix: P_X        |    
         +-----------------------+     
Figure 1 An example of SRv6-Policy Based On-Demand SAV usecase
]]></artwork>
          </figure></t>

        <t>In this scenario, when the policy change takes effect and traffic
        is redirected via R1 &rarr; R4 &rarr; R3, traditional IGP-based SAV at
        routers like R4 may not permit traffic originating from prefix P_X if
        that source was not expected on that interface. On-Demand SAV solves
        this by:<list style="symbols">
            <t>Dynamically activating SAV rules for prefix P_X on R4&rsquo;s
            ingress interface (e.g., eth2) based on the updated SAV-specific
            information <xref target="architecture"/>.</t>

            <t>Ensuring that only traffic matching the expected policy is
            accepted.</t>

            <t>Avoiding blanket SAV deactivation while preserving forwarding
            flexibility.</t>
          </list></t>

        <t>This selective activation protects against spoofing while allowing
        legitimate policy-driven traffic to be validated correctly.</t>
      </section>

      <section title="TI-FRR Based On-Demand SAV">
        <t>In a second scenario, the network uses Topology-Independent
        Loop-Free Alternate (TI-LFA) for fast failure recovery. The default
        routing path is again: R1 &rarr; R2 &rarr; R3.</t>

        <t>If Router R2 fails, TI-FRR is automatically triggered at R1.
        Traffic is rerouted via the pre-calculated backup path: R1 &rarr; R4
        &rarr; R3. This fast rerouting is done locally without requiring
        immediate global convergence.</t>

        <t>Under normal conditions, prefix P_X is associated with the primary
        path. SAV rules are installed accordingly on the primary interfaces
        (e.g., R2 and R3). When failure occurs:<list style="symbols">
            <t>Primary Path (eth0) SAV Downgrade: SAV checks may be disabled
            or relaxed on the now-inactive interface eth0 at R1.</t>

            <t>Backup Path (eth1 &rarr; eth2 &rarr; eth3) SAV Activation:
            On-demand SAV is triggered on the interfaces along the backup path
            based on the updated SAV-specific information:<list
                style="symbols">
                <t>eth1 (R1 &rarr; R4).</t>

                <t>eth2 (R4 ingress).</t>

                <t>eth3 (R4 &rarr; R3).</t>
              </list></t>
          </list></t>

        <t>This ensures that even during transient forwarding path changes,
        prefix-based source validation continues to be enforced only on
        relevant interfaces, reducing the risk of spoofing or source address
        misvalidation.</t>

        <figure>
          <artwork><![CDATA[   +-----+       +-----+       +-----+   
   | R1  |-------| R2  |-------| R3  |
   +-----+ eth0  +-----+       +-----+ 
   eth1   \         |           /  eth3     
            \       |       /           
                 +-----+          
            eth2 | R4  |
                 +-----+    
         +-----------------------+          
         |  Host/Customer Network| 
         |    Prefix: P_X        |    
         +-----------------------+     
Figure 2 An example of TI-FRR Based On-Demand SAV usecase]]></artwork>
        </figure>
      </section>

      <section title="SAV-specific messages propagation">
        <t>TBD</t>
      </section>
    </section>

    <section title="Conclusion">
      <t>The On-Demand Source Address Validation (SAV) mechanism offers a
      practical enhancement to existing SAV frameworks by enabling dynamic,
      policy-aware validation capabilities. Targeting scenarios with dynamic
      path switching such as SRv6 Policy-based routing and TI-FRR, this
      mechanism ensures that traffic traversing backup or non-default paths
      can still undergo precise source address validation, overcoming the
      limitations of traditional SAV methods.</t>

      <t>By coupling route-aware control with dynamic rule activation, this
      mechanism installs SAV rules only when and where needed&mdash;at merge
      points or policy egress/ingress interfaces&mdash;thus reducing the
      overhead of global static configurations. It also aligns well with the
      principles of resource efficiency, minimal control plane impact, and
      fast adaptability to network changes.</t>

      <t>As networks increasingly adopt path-aware forwarding and dynamic
      policy enforcement, the On-Demand SAV mechanism provides a
      forward-compatible foundation to maintain security guarantees without
      sacrificing flexibility. Future work may include interoperable signaling
      extensions, coordination with SRv6 controller behavior, and operational
      guidelines for real-world deployments.</t>
    </section>

    <section anchor="iana" title="IANA Considerations">
      <t>TBD</t>
    </section>

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

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

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

      <reference anchor="architecture">
        <front>
          <title>draft-ietf-savnet-intra-domain-architecture</title>

          <author>
            <organization/>
          </author>

          <date/>
        </front>
      </reference>

      <reference anchor="bmspf">
        <front>
          <title>draft-wang-savnet-intra-domain-solution-bm-spf</title>

          <author>
            <organization/>
          </author>

          <date/>
        </front>
      </reference>

      <reference anchor="RFC8987">
        <front>
          <title>Segment Routing Policy Architecture.</title>

          <author fullname="" initials="" surname="">
            <organization/>
          </author>

          <date year=""/>
        </front>
      </reference>

      <reference anchor="RFC8174">
        <front>
          <title>Ambiguity of Uppercase vs Lowercase in RFC 2119 Key
          Words</title>

          <author>
            <organization/>
          </author>

          <date/>
        </front>
      </reference>
    </references>
  </back>
</rfc>
