<?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"?>
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" category="std"
    docName="draft-hzh-fantel-wan-tunnel-03"
    ipr="trust200902">
    <?xml-stylesheet type='text/xsl' href='rfc2629.xslt'?>

    <?rfc strict="yes"?>

    <?rfc toc="yes"?>

    <!-- generate a ToC -->
    <?rfc tocdepth="4"?>
    <?rfc compact="yes"?>

    <front>
        <title abbrev="Fast Notification for tunnel-based lossless RDMA transmission in WAN">Fast Notification for tunnel-based lossless RDMA transmission in WAN</title>

        <author initials="Z" surname="Hu" fullname="Zehua Hu">
            <organization>China Telecom</organization>
            <address>
                <postal>
                    <city>Guangzhou</city>
                    <country>China</country>
                </postal>
                <email>huzh2@chinatelecom.cn</email>
            </address>
        </author>
        
        <author initials="Y" surname="Zhu" fullname="Yongqing Zhu">
            <organization>China Telecom</organization>
            <address>
                <postal>
                    <city>Guangzhou</city>
                    <country>China</country>
                </postal>
                <email>zhuyq8@chinatelecom.cn</email>
            </address>
        </author>

        <author initials="J" surname="Hu" fullname="Jiayuan Hu">
            <organization>China Telecom</organization>
            <address>
                <postal>
                    <city>Guangzhou</city>
                    <country>China</country>
                </postal>
                <email>hujy5@chinatelecom.cn</email>
            </address>
        </author>

        <author initials="T" surname="Pi" fullname="Tanxin Pi">
            <organization>China Telecom</organization>
            <address>
                <postal>
                    <city>Guangzhou</city>
                    <country>China</country>
                </postal>
                <email>pitx1@chinatelecom.cn</email>
            </address>
        </author>
        <date year="2026" />

        <!-- Meta-data Declarations -->

        <area>Routing Area</area>

        <workgroup>RTGWG</workgroup>

        <abstract>
            <t>With the rapid development of Large Language Models (LLMs), many emerging AI services require lossless transmission 
                of RDMA traffic over tunnels in Wide Area Network(WAN). Existing network mechanisms were not designed for the responsiveness
                and scale required by these dynamic services. WAN should support the real-time, lightweight network notification to 
                enhance the responsiveness for traffic engineering, congestion mitigation, and failure protection.
            </t>

            <t>This document analyzes typical scenarios where RDMA traffic need to be tunneled across WAN, and proposes fast network
                notification solutions based on ICMPv6 or UDP.
            </t>
        </abstract>
    </front>

    <middle>
        <section anchor="intro" title="Introduction">
            <t>For modern AI services such as distributed LLMs training or inference, WAN needs to support the tunneling 
                of RDMA traffic between data centers (DCs). RDMA is a widely used technology in high-performance computing 
                and AI clusters, achieving low latency, reduced CPU overhead, and high network throughput. 
                Currently, mainstream RDMA protocols (e.g., IB, RoCE) operate over best-effort forwarding, where a small 
                number of packet losses can result in a dramatic reduction in the effective throughput. Therefore, WAN requires the
                FAst Notification for Traffic Engineering and Load balancing to ensure reliable and congestion-free data transfer.
            </t>

            <t><xref target="I-D.geng-fantel-fantel-gap-analysis" /> points existing TE mechanisms face limitations in
                responsiveness, coverage, and operational overhead, especially in high-speed, large-scale environments.
                ECN<xref target="RFC3168" /> is a widely deployed congestion control mechanism, which enables a forwarding 
                element to notify the sender for congestion control without having to drop packets. But it still relies on 
                end-to-end signaling, making real-time feedback challenging in long-distance WAN.
                BFD<xref target="RFC5880" /> is designed for rapid fault detection by sending frequent control packets between peers,
                but higher probe frequency increases CPU and bandwidth usage, make it struggles to balance detection 
                speed with system overhead.
            </t>
            
            <t><xref target="I-D.ietf-rtgwg-net-notif-ps" /> is an IETF Problem Statement for Fast Network Notification(FANN), 
                based on the analysis of gaps in current network mechanisms and the operational requirements of modern applications 
                (e.g., AI/ML training), formally defines the scope and core requirements for fast network notifications. 
                Moreover, it futher specifies what information such notifications carry, who the intended recipients are, 
                how they should be delivered, and what kinds of timely actions they may enable.
            </t>

            <t>To enable lossless data transmission, some drafts are proposed to support FANN. <xref target="I-D.wh-rtgwg-adaptive-routing-arn" /> 
                proposes a proactive notification mechanism ARN for adaptive routing, and describes the information carried in ARN to 
                notify remote nodes for re-routing. <xref target="I-D.liu-rtgwg-adaptive-routing-notification"/> describes 
                the mechanisms of delivering ARN message. 
            </t>

            <t> This document specifies the FANN mechanism for scenarios where service traffic is carried over tunnels in WAN. 
                It first introduces the typical scenarios, then specifies the process of fast notification to achieve 
                key TE areas such as congestion control, load balancing, and failure protection, 
                and finally defines the protocol implementation.
            </t>
        </section>

        <section title="Conventions">
            <section title="Abbreviations">
                <t>CNP: Congestion Notification Packet</t>
                <t>ECN: Explicit Congestion Notification</t>
                <t>FANN: Fast Network Notification</t>
                <t>PFC: Priority-based Flow Control</t>
                <t>RoCEv2: RDMA over Converged Ethernet version 2</t>
                <t>WAN: Wide Area Network</t>
            </section>

            <section title="Requirements Language">
                <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>
            </section>
        </section>

        <section anchor="scen" title="Scenarios">
            <section title="Scenario 1: distributed model training across DCs">
                <t>The growth of computing power of a single DC is limited by space and power supply, 
                    making it difficult to meet the fast-growing computing resources demands of LLMs training.
                    Therefore, distributed model training across multiple DCs provides a more efficient and 
                    cost-effective solution to aggregate computing resources. In this scenario, 
                    TB-scale training parameters need to be rapidly synchronized over WAN.
                </t>
            </section>

            <section title="Scenario 2: distributed model inference between on-premise and third-party DC">
                <t>Some customers deploy LLMs by building on-premises AI facilities, but as inference concurrency increases, 
                    scaling out these facilities requires significant investment. To address this, 
                    distributed model inference between customer on-premise and third-party DC
                    provides a more agile and cost-effective solution. In this scenario, 
                    data such as the KV cache and model parameters need to be rapidly synchronized over WAN.
                </t>
            </section>

            <section title="Scenario abstraction">
                <t>In the above scenarios, a large volume of data between DCs need to be synchronized using RDMA protocol. 
                    RDMA traffic generated by LLM training or inference is highly concurrent, bursty, and extremely latency-sensitive.
                    Therefore, operators typically encapsulate it in tunnels over the WAN to enable flexible steering and end-to-end 
                    service isolation. In these scenarios, the framework for RDMA traffic transmission over WAN tunnels is as follows:                
                </t>

                <figure>
                    <artwork name="fig1"><![CDATA[                                                                                                         
                +--------------------------------------------------+          
                |                       DC1                        |          
                |                                                  |          
                | +-----------+  +-----------+       +-----------+ |          
                | |AI server 1|  |AI server 2|  ...  |AI server n| |          
                | +-----------+  +-----------+       +-----------+ |          
                +------------------------+-------------------------+          
                                         |                                    
                +------------------------+-------------------------+          
                |   WAN            +-----+----+                    |          
                |           +------+ingress PE+------+             |          
                |           |      +----------+      |             |          
                |           |                        |             |          
                |        +--+---+                 +--+---+         |          
                |        |  R1  +                 +  R2  |         |          
                |        +--+---+\               /+--+---+         |          
                |           |     \             /    |             |          
                |           |      \+---------+/     |             |          
                |           |       +   R5    +      |             |          
                |           |      /+---------+\     |             |          
                |           |     /             \    |             |          
                |        +--+---+/               \+--+---+         |          
                |        |  R3  +                 +  R4  |         |          
                |        +--+---+                 +--+---+         |          
                |           |                        |             |          
                |           |       +---------+      |             |          
                |           +-------+egress PE+------+             |          
                |                   +----+----+                    |          
                +------------------------+-------------------------+          
                                         |                                    
                +------------------------+-------------------------+          
                | +-----------+  +-----------+       +-----------+ |          
                | |AI server 1|  |AI server 2|  ...  |AI server m| |          
                | +-----------+  +-----------+       +-----------+ |          
                |                                                  |          
                |                       DC2                        |          
                +--------------------------------------------------+                                               
                            Figure 1: Network diagram]]></artwork>
                </figure>

                <list style="symbols">
                    <t>The AI servers in DC1 sends RDMA traffic to WAN's ingress PE.</t>
                    <t>At the WAN's ingress PE, the RDMA traffic is encapsulated according to the tunnel protocol and 
                        forwarded across WAN to egress PE.</t>
                    <t>The WAN's P node(R1-R5) transits the payload from ingress PE to egress PE via tunnels.</t>
                    <t>At the WAN's egress PE, the payload are decapsulated to RDMA packets and transmitted to the AI servers in DC2.</t>
                </list>
            </section>

        </section>
           

        <section anchor="process" title="Process analyze">
            
            <t>Tunneling technologies include various protocols, such as GRE, VXLAN, MPLS, and SRv6. Moreover, AI workloads are 
                highly sensitive to packet loss, latency and throughput. Network failures, congestion or underutilization can 
                all lead to significant waste of compute resources. When transmittig RDMA traffic over tunnels, WAN should 
                support FANN capability to realize rapid response to network conditions. Specifically, WAN devices should 
                support fast notification mechanism to imporve three key TE scenarios: failure protection, flow control, and 
                load balancing.
            </t>

            <section title="Failure protection">
                <t>For large-scale and dynamic networks, protection mechanisms need to ensure service continuity in case of failures. 
                    According to <xref target="I-D.geng-fantel-fantel-gap-analysis" />, existing failure handling methods, such as BFD 
                    and FRR, lack flexibility and responsiveness in complex typologies. Therefore, WAN should support fast notification
                    for failures, allowing near-instantaneous and dynamic protection responses, minimizing failure impact. 
                </t>
                
                <t>Upon network failure, the ingress PE should immediately adapt its forwarding policy to steer traffic away from faulty links or nodes.
                    Therefore, the fast-notification-based failure protection process is as follows: 
                </t>
                
                <figure>
                <artwork name="fig2"><![CDATA[
        notification                                 
      +--------------+                               
      |              |                               
      |          +---+--+    +------+                
      |          |  R1  +--x-+  R2  |                
      |         /+------+  ^ +------+\               
      |        /           |          \              
      v       /         failure        \             
+----------+ /                          \ +---------+
|          |/                            \|         |
|ingress PE|\                            /|egress PE|
|          | \                          / |         |
+----------+  \                        /  +---------+
               \ +------+    +------+ /              
                \|  R3  +----+  R4  |/               
                 +------+    +------+                                                                  
                        Figure 2: Failure protection procession]]></artwork>
                </figure>

                <list style="symbols">
                    <t>When a P node detects a local link/node failure, it collects failure information about the affected link or flow.</t>
                    <t>The P node sends notification to ingress PE with failure information (In addition to the identity of the failed link or node, 
                        the notification must also include information about the affected traffic).</t>
                    <t>Ingress PE receives the notification and reroutes the traffic based on its content to exclude the failed link or node:
                    *If backup path is available, ingress PE should switch the service traffic to the backup path.
                    *If multiple feasible paths exist, ingress PE should updates its load-balancing policy to utilize all available paths.
                    Ingress PE should send a corresponding notification to the sender and controller. </t>
                </list>
                
            </section>

            <section title="Congestion control">
                <t>RDMA traffic is bursty and highly sensitive to packet loss, and WAN require proactive congestion control mechanisms.
                    <xref target="RFC6040" /> redefines how the explicit congestion notification (ECN) field of the IP header should be constructed on
                    entry to and exit from any IP-in-IP tunnel, in order to achieve ECN-based congestion control across WANs between DCs.
                    However, <xref target="I-D.geng-fantel-fantel-gap-analysis" /> analysis that ECN/TCP methods still relies on end-to-end signaling and lacks precise real-time feedback. 
                </t>
                
                <t>Currently, PFC is widely used in data centers to prevent data loss due to congestion. PFC uses a step-by-step back-pressure mechanism to 
                    control the upstream to stop or continue transmitting traffic. PFC achieves link-layer priority-based traffic control, 
                    but still faces problems such as queue head blocking and deadlock due to coarse control granularity.
                </t>
                
                <t>When network congestion occurs, the ingress PE should immediately adapt its forwarding policy to reduce the traffic sent to congested nodes.
                    Therefore, the fast-notification-based congestion control process is as follows: 
                </t>
                
                <figure>
                <artwork name="fig3"><![CDATA[
               notification                          
      +---------------------------+                  
      |                           |                                                             
      |          +------+    +-+--+-+                
      |          |  R1  +----+  R2  |                
      |         /+------+    +------+\               
      |        /                      x<---congestion
      v       /                        \             
+----------+ /                          \ +---------+
|          |/                            \|         |
|ingress PE|\                            /|egress PE|
|          | \                          / |         |
+----------+  \                        /  +---------+
               \ +------+    +------+ /              
                \|  R3  +----+  R4  |/               
                 +------+    +------+                                                                     
                        Figure 3: Congestion control procession]]></artwork>
                </figure>

                <list style="symbols">
                    <t>when a P node detects congestion, it collects congestion information about the congested link or flow.</t>
                    <t>The P node sends notification to ingress PE with congestion information. </t>
                    <t>Ingress PE receives the notification and reroutes the traffic based on its content to exclude the congestion link:     
                    *If backup path is available, ingress PE should switch the service traffic to the backup path.
                    *If multiple feasible paths exist, ingress PE should updates its load-balancing policy to utilize all available paths.
                    Ingress PE should reduce the transmission rate of corresponding traffic, and send notification to sender and controller. 
                    </t>
                </list>
            
            </section>

            <section title="Load balancing for network state changes">
                <t>Devices and links in WAN often carry multiple services simultaneously. In addition to failure and
                    congestion, dynamic load balancing based on network state changes can effectively improve network resource utilization.
                </t>

                <t>When significant changes occur in the network state, the ingress PE should dynamically adjust its forwarding strategy to maximize network resource utilization.
                    Therefore, the fast-notification-based load balancing process is as follows: 
                </t>
                
                <figure>
                <artwork name="fig4"><![CDATA[
        notification                                 
      +--------------+                               
      |              |                               
      |          +---+--+    +------+                
      |          |  R1  +----+  R2  |                
      |         /+------+  ^ +------+\               
      |        /           |          \              
      v       /     link utilization   \             
+----------+ /           change         \ +---------+
|          |/                            \|         |
|ingress PE|\                            /| gress PE|
|          | \          node load change/ |         |
+----------+  \                 |      /  +---------+
      ^        \                v     /              
      |         \+------+    +------+/               
      |          |  R3  +----+  R4  |                
      |          +------+    +---+--+                
      |                          |                   
      +--------------------------+                   
              notification                                                                                                                               
                        Figure 4: Load balancing for network state changes]]></artwork>
                </figure>


                <list style="symbols">
                <t>When a node detects the network state change, it collects the network state change information, such as link utilization, queue buildup.</t>
                <t>The node sends fast notification to the ingress PE with information about the network state change.</t>
                <t>Ingress PE receives the fast notification and updates its load-balancing policy to maximize the utilization of network resources.</t>
                </list>

            </section>
    
        </section>

        <section anchor="solu" title="Solutions">
            <t>
               Based on the framework analysis of fast notification in key TE areas, a unified protocol implementation for 
               fast notification should be established, with explicit forwarding procedures to realize tunnel-based lossless transmission of RDMA packets in WAN. 
            </t>
            <section title="ICMPv6-based solution">
                <t>
                   The source quench mechanism has been deprecated in ICMPv6 because TCP's built-in congestion avoidance algorithms are more efficient, 
                   and source quench may interfere with their normal operation. However, fast network notification is a network-layer mechanism 
                   confined to the forwarding plane, designed for event-driven generation and consumption without involving endpoints. 
                   This avoids the conflict that led to Source Quench's deprecation, making ICMPv6 suitable as a carrier for fast notifications. 
                </t>
                
                <section title="Overall Structure">
                    <t>This document specifies a new ICMPv6 message to realize rapid notification in key traffic engineering areas including 
                    failure protection, congestion control, and load balancing. This ICMPv6 message  consists of a fixed ICMPv6 header, 
                    and a variable-length metadata stack controlled by a 32-bit bitmap:
                    </t>
                
                <figure>
                <artwork name="fig5"><![CDATA[
            +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
            |     Type      |     Code      |          Checksum             |
            +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
            |    Version    |   Reserved    |   Hop Limit   |   Event Type  |
            +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
            |   Event Sub-Type   |        Event Identifier (4 bytes)        |
            +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
            |                     Timestamp (8 bytes)                       |
            +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
            |                                                               |
            |              Originating Node IPv6 Address (16 bytes)         |
            |                                                               |
            +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
            |                       Bitmap (32 bits)                        |
            +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
            |                                                               |
            |                   Metadata Stack (variable)                   |
            |                                                               |
            +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+                                                   
                        Figure 5: new ICMPv6 message for fast notification]]></artwork>
                </figure>
                </section>
                
                <section title="Fixed Field Definitions">
                    <ul>
                        <li>Type (1 byte): ICMPv6 type for FANN. IANA allocation required (suggested value: TBD).</li>
                        <li>Code (1 byte): 0 for event notification, 1 for recovery notification.</li>
                        <li>Checksum (2 bytes): Standard ICMPv6 checksum.</li>
                        <li>Version (1 byte): Set to 1 for this specification.</li>
                        <li>Reserved (1 byte): Set to 0 on transmission, ignored on reception.</li>
                        <li>Hop Limit (1 byte): Controls propagation scope. Decremented by each forwarding node; 
                            discarded when reaching zero.</li>
                        <li>Event Type (1 byte): Primary category of the event.                      
                        0x01: Link failure;
                        0x02: Congestion;
                        0x03: Performance degradation;
                        0x04: Microburst;
                        0x05: Signal degradation / link errors;
                        0x06: Queue buildup;
                        0x07: Recovery (condition cleared);          
                        </li>
                        <li>Event Sub-Type (1 byte): More granular classification within an event type. For example, for Congestion (Event Type = 0x02):
                            0x01 for mild ( &gt; 50% utilization), 0x02 for moderate ( &gt; 70%), 0x03 for severe ( &gt; 90%).</li>
                        <li>Event Identifier (4 bytes): Unique identifier for this event instance, used for deduplication and correlation between multiple notifications.</li>
                        <li>Timestamp (8 bytes): Time when the event was detected, in microseconds since Unix epoch (UTC).</li>
                        <li>Originating Node IPv6 Address (16 bytes): IPv6 address of the node that detected the event. 
                            This serves as the node identifier, eliminating the need for a separate Node ID in the bitmap.</li>
                        <li>Bitmap (32 bits): Each bit indicates whether the corresponding metadata is present in the metadata stack. </li>
                        
                    </ul>
                    
                    
                </section>
                
                <section title="Bitmap Definition">
                    <t>The 32-bit bitmap field indicates which metadata is present in the metadata stack. Each bit corresponds to a specific metadata type with a fixed length, 
                        enabling efficient parsing without TLV overhead. Bits are listed below by their index.
                    </t>
                    
                    <ul>
                        <li>Bit 0:   Ingress Port ID (4 bytes)
         Interface identifier where the event was observed on the ingress side.</li>
                        <li>Bit 1:   Egress Port ID (4 bytes)
         Interface identifier where the event was observed on the egress side.
         Together with Ingress Port ID, uniquely identifies the location of the event.</li>
                        <li>Bit 2:   Ingress Timestamp (8 bytes)
         Time when the event was observed at the ingress interface.</li>
                        <li>Bit 3:   Egress Timestamp (8 bytes)
         Time when the event was observed at the egress interface.</li>
                        <li>Bit 4:   Egress TX Link Utilization (4 bytes)
         Real-time bandwidth utilization of the egress interface (e.g., 95% = 0x0000005F).</li>
                        <li>Bit 5:   Packet Loss (4 bytes)
         Packet loss count or loss rate at the interface.</li>
                        <li>Bit 6:   Latency / Delay (4 bytes)
         Current latency of the interface or path in microseconds.</li>
                        <li>Bit 7:   Jitter (4 bytes)
         Latency variation in microseconds.</li>
                        <li>Bit 8:   Queue Occupancy (4 bytes)
         Current queue depth in bytes.</li>
                        <li>Bit 9:   Buffer Occupancy (4 bytes)
         Overall buffer occupancy for shared buffer pools.</li>
                        <li>Bit 9:   Buffer Occupancy (4 bytes)
         Overall buffer occupancy for shared buffer pools.</li>
                        <li>Bit 10:  Signal Degradation / Link Errors (4 bytes)
         Bit error rate, CRC error count, or signal quality metric (0-100%).</li>
                        <li>Bit 11:  Hard Failure / Link Down (4 bytes)
         Boolean flag (lower bit = 1 indicates link down).</li>
                        <li>Bit 12:  Microburst Detected (4 bytes)
         Boolean flag (lower bit = 1 indicates microburst detected).</li>
                        <li>Bit 13:  Flow ID (5-tuple) (37 bytes)
         Source IPv6 (16) + Destination IPv6 (16) + Source Port (2) + Destination Port (2) + Protocol (1).</li>
                        <li>Bit 14:  Path ID (16 bytes)
         Identifier of the affected path (e.g., SRv6 SID list or MPLS label stack).</li>
                        <li>Bits 15-31: Reserved for future use.</li>
                    </ul>

                <t>Bitmap bits 0 and 1 (Ingress Port ID and Egress Port ID) serve as the location identifier, eliminating the need for a separate Event Location field. 
                    The port IDs uniquely indicate where in the network the event occurred, corresponding to "Location of Event: 
                    This can be used to indicate the location where the event occurred in the network. 
                </t>

                <t>Although bits 11 and 12 are logically single-bit flags, they each occupy 4 bytes for alignment purposes, 
                    with the upper 31 bits set to zero.
                </t>

                </section>
                
                <section title="Metadata Stack Structure">
                    <t>The metadata stack is constructed by concatenating metadata fields in ascending bit order. 
                        For each bit that is set to 1 in the bitmap, the corresponding metadata field of fixed 
                        length is appended to the stack. Bits set to 0 are skipped.
                    </t>
                    
                    <t>For example, if the bitmap has bits 1 (Egress Port ID), 4 (Egress TX Link Utilization), 
                        6 (Latency), and 10 (Signal Degradation) set to 1, the metadata stack will be:
                    </t>
                    <list style="symbols">
                    <t>Egress Port ID (4 bytes): 0x00000008 (port 8)</t>
                    <t>Egress TX Link Utilization (4 bytes): 0x0000005A (90% utilization)</t>
                    <t>Latency (4 bytes): 0x000003E8 (1000 microseconds)</t>
                    <t>Signal Degradation (4 bytes): 0x0000000A (10% error rate)</t>
                    </list>
                </section>

            </section>

            <section title="UDP-based solution">
                <t>While the preceding sections define the Fast Network Notification (FANN) message format using ICMPv6, the same fixed header and 32-bit 
                    bitmap structure can be directly carried over UDP. When encapsulated in UDP, the ICMPv6 Type/Code/Checksum fields are simply replaced 
                    by the standard UDP header (source port, destination port, length, checksum), while the FANN fixed fields, the 32-bit bitmap, 
                    and the metadata stack remain unchanged. The receiving node identifies the FANN message by a well-known UDP destination port (to be allocated by IANA) 
                    and processes it identically to the ICMPv6 variant. 
                </t>

                <t>This approach is consistent with the principle that the solution may reuse existing protocols where appropriate. 
                    Moreover, the use of UDP offers practical deployment advantages in environments where ICMPv6 traffic is filtered 
                    or where NAT traversal is required, without compromising the notification's timeliness or forwarding-plane efficiency.
                </t>
            </section>
        </section>

        <section anchor="sec" title="Security Considerations">
            <t>This document specifies Fast Network Notification (FANN) mechanisms for tunnel-based lossless RDMA transmission in WAN, using ICMPv6 and UDP 
                as transport protocols. While these protocols are widely deployed and well-understood, extending them with new notification semantics 
                introduces potential security considerations that must be addressed.
            </t>

            <t>Implementations MUST enforce the rate limiting behavior specified in RFC 4443 <xref target="RFC4443"/> §2.4 for all ICMPv6 messages 
                carrying FANN information.
            </t>

            <t>The TLV parser MUST validate that the sum of all TLV Length fields does not exceed the total ICMPv6 payload length. Any packet failing this 
                check MUST be silently discarded. 
            </t>

            <t>All FANN notifications MUST be sent from a control-plane interface of the originating node (e.g., a loopback interface configured for 
                management), and MUST NOT originate from data-plane forwarding interfaces (e.g., physical ports carrying customer traffic). This ensures 
                that FANN traffic cannot be injected by compromised customer devices.
            </t>

        </section>

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

        <section anchor="ack" title="Acknowledgments">
            <t>TBD</t>
        </section>
        <!---->
    </middle>

    <back>

        <references title="Normative References">
            <reference anchor="RFC2119" target="https://www.rfc-editor.org/info/rfc2119">
                <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="RFC3688" target="https://www.rfc-editor.org/info/rfc3688">
                <front>
                    <title>The IETF XML Registry</title>
                    <author fullname="M. Mealling" initials="M." surname="Mealling" />
                    <date month="January" year="2004" />
                    <abstract>
                        <t>This document describes an IANA maintained registry for IETF standards
                            which use Extensible Markup
                            Language (XML) related items such as Namespaces, Document Type
                            Declarations (DTDs), Schemas, and
                            Resource Description Framework (RDF) Schemas.</t>
                    </abstract>
                </front>
                <seriesInfo name="BCP" value="81" />
                <seriesInfo name="RFC" value="3688" />
                <seriesInfo name="DOI" value="10.17487/RFC3688" />
            </reference>
                                 
            <reference anchor="RFC8174" target="https://www.rfc-editor.org/info/rfc8174">
                <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 title="Informative References">
            <reference anchor="RFC3168" target="https://www.rfc-editor.org/info/rfc3168">
                <front>
                    <title>The Addition of Explicit Congestion Notification (ECN) to IP</title>
                    <author fullname="K. Ramakrishnan" initials="K." surname="Ramakrishnan"/>
                    <author fullname="S. Floyd" initials="S." surname="Floyd"/>
                    <author fullname="D. Black" initials="D." surname="Black"/>
                    <date month="September" year="2001"/>
                    <abstract>
                        <t>This memo specifies the incorporation of ECN (Explicit Congestion Notification) to TCP and IP, including ECN's use of two bits in the IP header. [STANDARDS-TRACK]</t>
                    </abstract>
                </front>
                <seriesInfo name="RFC" value="3168"/>
                <seriesInfo name="DOI" value="10.17487/RFC3168"/>
            </reference>

            <reference anchor="RFC6040" target="https://www.rfc-editor.org/info/rfc6040">
                <front>
                    <title>Tunnelling of Explicit Congestion Notification</title>
                    <author fullname="B. Briscoe" initials="B." surname="Briscoe"/>
                    <date month="November" year="2010"/>
                    <abstract>
                        <t>This document redefines how the explicit congestion notification (ECN) field of the IP header should be constructed on entry to and exit from any IP-in-IP tunnel. On encapsulation, it updates RFC 3168 to bring all IP-in-IP tunnels (v4 or v6) into line with RFC 4301 IPsec ECN processing. On decapsulation, it updates both RFC 3168 and RFC 4301 to add new behaviours for previously unused combinations of inner and outer headers. The new rules ensure the ECN field is correctly propagated across a tunnel whether it is used to signal one or two severity levels of congestion; whereas before, only one severity level was supported. Tunnel endpoints can be updated in any order without affecting pre-existing uses of the ECN field, thus ensuring backward compatibility. Nonetheless, operators wanting to support two severity levels (e.g., for pre-congestion notification -- PCN) can require compliance with this new specification. A thorough analysis of the reasoning for these changes and the implications is included. In the unlikely event that the new rules do not meet a specific need, RFC 4774 gives guidance on designing alternate ECN semantics, and this document extends that to include tunnelling issues. [STANDARDS-TRACK]</t>
                    </abstract>
                </front>
            <seriesInfo name="RFC" value="6040"/>
            <seriesInfo name="DOI" value="10.17487/RFC6040"/>
            </reference>

            <reference anchor="RFC7514" target="https://www.rfc-editor.org/info/rfc7514">
                <front>
                    <title>Really Explicit Congestion Notification (RECN)</title>
                    <author fullname="M. Luckie" initials="M." surname="Luckie"/>
                    <date month="April" year="2015"/>
                    <abstract>
                        <t>This document proposes a new ICMP message that a router or host may use to advise a host to reduce the rate at which it sends, in cases where the host ignores other signals provided by packet loss and Explicit Congestion Notification (ECN).</t>
                    </abstract>
                </front>
            <seriesInfo name="RFC" value="7514"/>
            <seriesInfo name="DOI" value="10.17487/RFC7514"/>
            </reference>

            <reference anchor="RFC4443" target="https://www.rfc-editor.org/info/rfc4443">
                <front>
                    <title>Internet Control Message Protocol (ICMPv6) for the Internet Protocol Version 6 (IPv6) Specification</title>
                    <author fullname="Mukesh Gupta" initials="Mukesh" surname="Gupta"/>
                    <date month="March" year="2006"/>
                    <abstract>
                        <t>This document describes the format of a set of control messages used in ICMPv6 (Internet Control Message Protocol). ICMPv6 is the Internet Control Message Protocol for Internet Protocol version 6 (IPv6).</t>
                    </abstract>
                </front>
            <seriesInfo name="RFC" value="4443"/>
            <seriesInfo name="DOI" value="10.17487/RFC4443"/>
            </reference>

            <reference anchor="RFC5880" target="https://www.rfc-editor.org/info/rfc5880">
                <front>
                    <title>Bidirectional Forwarding Detection (BFD)</title>
                    <author fullname="Dave Katz" initials="Dave" surname="Katz"/>
                    <date month="January" year="2010"/>
                    <abstract>
                        <t>This document describes a protocol intended to detect faults in the bidirectional path between two forwarding engines, including interfaces, data link(s), and to the extent possible the forwarding engines themselves, with potentially very low latency. It operates independently of media, data protocols, and routing protocols.</t>
                    </abstract>
                </front>
            <seriesInfo name="RFC" value="5880"/>
            <seriesInfo name="DOI" value="10.17487/RFC5880"/>
            </reference>

            <reference anchor="I-D.wh-rtgwg-adaptive-routing-arn" target="https://datatracker.ietf.org/doc/html/draft-wh-rtgwg-adaptive-routing-arn-03">
                <front>
                    <title>Adaptive Routing Notification</title>
                    <author initials="H." surname="Wang" fullname="Haibo Wang">
                    <organization>Huawei</organization>
                    </author>
                    <author initials="H." surname="Huang" fullname="Hongyi Huang">
                    <organization>Huawei</organization>
                    </author>
                    <author initials="X." surname="Geng" fullname="Xuesong Geng">
                    <organization>Huawei</organization>
                    </author>
                    <author initials="X." surname="Xu" fullname="Xiaohu Xu">
                    <organization>China Mobile</organization>
                    </author>
                    <author initials="Y." surname="Xia" fullname="Yinben Xia">
                    <organization>Tencent</organization>
                    </author>
                    <date month="September" day="13" year="2024"/>
                    <abstract>
                        <t> Large-scale supercomputing and AI data centers utilize multipath to implement load balancing and/or improve transport reliability. Adaptive routing (AR), widely used in direct topologies such as dragonfly, is growing popular in commodity data centers to dynamically adjust routing policies based on path congestion and failures. When congestion or failure occurs, the sensing node can not only apply AR locally but also send the congestion/failure information to other nodes in a timely and accurate manner to enforce AR on other nodes, thus avoiding exacerbating congestion on the reported path. This document specifies Adaptive Routing Notification (ARN), a general mechanism to proactively disseminate congestion detection and congestion elimination information for remote nodes to perform re-routing policies. </t>
                    </abstract>
                </front>
                <seriesInfo name="Internet-Draft" value="draft-wh-rtgwg-adaptive-routing-arn-03"/>
            </reference>

            <reference anchor="I-D.liu-rtgwg-adaptive-routing-notification" target="https://datatracker.ietf.org/doc/html/draft-liu-rtgwg-adaptive-routing-notification-02">
                <front>
                    <title>Adaptive Routing Notification for Load-balancing</title>
                    <author initials="Y." surname="Liu" fullname="Yao Liu">
                    <organization>ZTE</organization>
                    </author>
                    <author initials="" surname="lihesong" fullname="lihesong">
                    <organization>ZTE</organization>
                    </author>
                    <author initials="W." surname="Duan" fullname="Wei Duan">
                    <organization>ZTE</organization>
                    </author>
                    <date month="June" day="12" year="2025"/>
                    <abstract>
                        <t> In this document, adaptive routing is referred to as a technology that makes dynamic traffic forwarding decisions based on changes in traffic load and network topology, devices with adaptive routing capabilities can dynamically select the outport in the forwarding table based on the congestion condition of the outport or downstream link. This document focuses on the information carried in (Adaptive Routing Notification)ARN messages and how they are delivered and processed in the network. </t>
                    </abstract>
                </front>
                <seriesInfo name="Internet-Draft" value="draft-liu-rtgwg-adaptive-routing-notification-02"/>
            </reference>
            
            <reference anchor="I-D.xiao-rtgwg-rocev2-fast-cnp" target="https://datatracker.ietf.org/doc/html/draft-xiao-rtgwg-rocev2-fast-cnp-03">
                <front>
                    <title>Fast Congestion Notification Packet (CNP) in RoCEv2 Networks</title>
                    <author initials="X." surname="Min" fullname="Xiao Min">
                    <organization>ZTE Corp.</organization>
                    </author>
                    <author initials="" surname="lihesong" fullname="lihesong">
                    <organization>ZTE Corp.</organization>
                    </author>
                    <date month="June" day="9" year="2025"/>
                    <abstract>
                        <t> This document describes a Remote Direct Memory Access (RDMA) over Converged Ethernet version 2 (RoCEv2) congestion control mechanism, which is inspired by Really Explicit Congestion Notification (RECN) described in RFC 7514, also known as Fast Congestion Notification Packet (Fast CNP). By extending the RoCEv2 CNP, Fast CNP can be sent by the switch directly to the sender, advising the sender to reduce the transmission rate at which it sends the flow of RoCEv2 data traffic. </t>
                    </abstract>
                </front>
                <seriesInfo name="Internet-Draft" value="draft-xiao-rtgwg-rocev2-fast-cnp-03"/>
            </reference>

            <reference anchor="I-D.geng-fantel-fantel-gap-analysis" target="https://datatracker.ietf.org/doc/html/draft-geng-fantel-fantel-gap-analysis-01">
                <front>
                    <title>Gap Analysis of Fast Notification for Traffic Engineering and Load Balancing</title>
                    <author initials="X." surname="Geng" fullname="Xuesong Geng">
                    <organization>Huawei</organization>
                    </author>
                    <author initials="P." surname="Huo" fullname="PengFei Huo">
                    <organization>ByteDance</organization>
                    </author>
                    <author initials="W." surname="Cheng" fullname="Weiqiang Cheng">
                    <organization>China Mobile</organization>
                    </author>
                    <author initials="D." surname="Li" fullname="Dan Li">
                    <organization>Tsinghua University</organization>
                    </author>
                    <author initials="Y." surname="Zhu" fullname="Yongqing Zhu">
                    <organization>China Telecom</organization>
                    </author>
                    <author initials="H." surname="Zhengxin" fullname="Han Zhengxin">
                    <organization>China Unicom</organization>
                    </author>
                    <date month="July" day="7" year="2025"/>
                    <abstract>
                    <t> Modern networks require fast, adaptive Traffic Engineering (TE) to support demanding applications like AI training and real-time services. Existing mechanisms for load balancing, protection, and flow control often lack responsiveness and scalability. This document analyzes key gaps in current TE solutions and proposes fast notification as a low-latency, event-driven enhancement. Fast notification enables real-time network awareness and quicker reactions to dynamic conditions, improving overall network efficiency and reliability. </t>
                    </abstract>
                </front>
                <seriesInfo name="Internet-Draft" value="draft-geng-fantel-fantel-gap-analysis-01"/>
            </reference>

            <reference anchor="I-D.ietf-rtgwg-net-notif-ps" target="https://datatracker.ietf.org/doc/html/draft-ietf-rtgwg-net-notif-ps-00">
            <front>
                <title>Fast Network Notifications Problem Statement</title>
                <author initials="J." surname="Dong" fullname="Jie Dong">
                <organization>Huawei Technologies</organization>
                </author>
                <author initials="M." surname="McBride" fullname="Mike McBride">
                <organization>Futurewei</organization>
                </author>
                <author initials="F." surname="Clad" fullname="Francois Clad">
                <organization>Cisco Systems</organization>
                </author>
                <author initials="Z. J." surname="Zhang" fullname="Zhaohui (Jeffrey) Zhang">
                <organization>HPE</organization>
                </author>
                <author initials="Y." surname="Zhu" fullname="Yongqing Zhu">
                <organization>China Telecom</organization>
                </author>
                <author initials="X." surname="Xu" fullname="Xiaohu Xu">
                <organization>China Mobile</organization>
                </author>
                <author initials="R." surname="Zhuang" fullname="Rui Zhuang">
                <organization>China Mobile</organization>
                </author>
                <author initials="R." surname="Pang" fullname="Ran Pang">
                <organization>China Unicom</organization>
                </author>
                <author initials="H." surname="Lu" fullname="Hao Lu">
                <organization>Tencent</organization>
                </author>
                <author initials="Y." surname="Liu" fullname="Yadong Liu">
                <organization>Tencent</organization>
                </author>
                <author initials="L. M." surname="Contreras" fullname="Luis M. Contreras">
                <organization>Telefonica</organization>
                </author>
                <author initials="D." surname="Mehmet" fullname="MEHMET DURMUS">
                <organization>Turkcell</organization>
                </author>
                <author initials="R." surname="Rahman" fullname="Reshad Rahman">
                <organization>Equinix</organization>
                </author>
                <date month="February" day="11" year="2026"/>
                <abstract>
                <t> Modern network applications, ranging from Artificial Intelligence (AI) /Machine Learning (ML) training to large-scale cloud services, require adaptive networks to ensure reliable and congestion-free data transfer within or across multiple data centers. A good and timely understanding of network operational status can help to enable faster response to critical events, so as to enable the selection of paths with reduced latency and improve network utilization. This document describes the existing problems and the need of fast network notification solutions. </t>
                </abstract>
            </front>
            <seriesInfo name="Internet-Draft" value="draft-ietf-rtgwg-net-notif-ps-00"/>
            </reference>

        </references>

<!-- appendix -->      
    </back>
</rfc>
