<?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-hu-rtgwg-rocev2-fcn-00"
    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 congestion notification for distributed RoCEv2 network based on SRv6">Fast congestion 
        notification for distributed RoCEv2 network based on SRv6</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="X" surname="Geng" fullname="Xuesong Geng">
            <organization>Huawei</organization>      
            <address>
                <postal>
                    <country>China</country>
                </postal>
              <email>gengxuesong@huawei.com</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="2025" />

        <!-- Meta-data Declarations -->

        <area>Routing Area</area>

        <workgroup>RTGWG</workgroup>

        <abstract>
            <t>AI services (e.g. distributed model training, separated storage and model training)
            drive the need to transmit RMDA packets through SRv6 tunnels in WAN. RoCEv2 is the
            most popular open standard for achieving RDMA and network offloads over ethernet, with
            its congestion control based on the combination of PFC and ECN. The document defines the
            fast congestion notification for distributed RoCEv2 network based on SRv6 tunnels, and
            further extends PFC and ECN to achieve precise flow control and end-to-end congestion control. </t>
        </abstract>

    </front>

    <middle>
        <section anchor="intro" title="Introduction">
            <t>RDMA (Remote Direct Memory Access) enables direct access to memory locations on remote machines,
            bypassing the need for CPU involvement in data transfer processes. RDMA results in lower latency,
            reduced CPU overhead, and increased network throughput, making RDMA particularly beneficial for
            high-performance computing environments, cloud infrastructure, and storage networks. </t>

            <t>RoCEv2 is an open standard enabling RDMA over ethernet, with its congestion control based on
            the combination of PFC and ECN. Priority-based Flow Control (PFC) is a data link level flow control
            mechanism, which can selectively pause traffic according to its class and eliminate packet loss caused
            by network congestion. Explicit Congestion Notification (ECN) is an extension to network layer protocol
            and transport layer protocol defined in RFC3168<xref target="RFC3168" />, which enables the notification of network congestion. </t>

            <t>AI services (e.g. distributed model training, separated storage and model training) drive the demand
            for building distributed RoCEv2 networks based on WAN. Therefore, when congestion is detected in WAN devices,
            it is essential to achieve fast congestion notification based on the PFC and ECN mechanisms. </t>
        </section>

        <section title="Conventions Used in This Document">
            <section title="Abbreviations">
                <t>AIDC: Artificial Intelligence Data Center</t>
                <t>CNP: Congestion Notification Packet</t>
                <t>ECN: Explicit Congestion 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 for distributed RoCEv2 network">
            <section title="Scenario 1: distributed model training">
                <t>The computational power growth of a single AIDC is limited by multiple factors such as
                space and power consumption, making it difficult to meet the fast-growing computational demands
                of large models. Therefore, more and more enterprises are inclined to support super-scale model
                training by coordinating distributed model training across multiple AIDCs. </t>
                
                <t>During distributed model training, WAN needs to carry parameter synchronization data between
                multiple AIDCs through tunnels, and this data is transmitted using RDMA protocols such as RoCEv2. </t>
            </section>

            <section title="Scenario 2: separated storage and model training">
                <t>In scenarios such as computational power rental, computing clusters and storage clusters
                are usually located in different DCs. To prevent sensitive data from being stored in the compute
                cluster and causing data leakage, clients request that this data be directly transmitted to the
                memory of the compute cluster for model training. </t>
                
                <t>During separated storage and model training, WAN needs to carry sample data from storage clusters
                to compute clusters through tunnels, and this data is transmitted using RDMA protocols such as RoCEv2. </t>
            </section>
        </section>
           

        <section anchor="solun" title="Solution">
            <t>The scenarios mentioned in Chapter 3 can be summarized as the network diagram shown in Figure 1.
            In these scenarios, the sender in DC needs to transmit RoCEv2 packets to the receiver in another DC
            through SRv6 tunnels in WAN, the process is as follows: </t>

            <list style="symbols">
                <t>The sender in DC sends RoCEv2 packets to WAN's ingress PE through the leaf, spine, and gateway devices. </t>
                <t>At the WAN's ingress PE, the RoCEv2 packets are encapsulated according to the SRv6 tunnel protocol. </t>
                <t>The WAN's P node transits the payload from ingress PE to egress PE through SRv6 tunnels. </t>
                <t>At the WAN's egress PE, the payload are decapsulated to RoCEv2 packets and transmitted to the receiver in DC. </t>
            </list>

            <figure>
                <artwork name="fig1"><![CDATA[
                +--------------------------------------------------+
                |  H1...H4   H5...H8         H9...H12    H61..H64  |
                |  |     |   |     |         |     |      |    |   |
                | ++-----++ ++-----++       ++-----++    ++----++  |
                | | leaf1 | | leaf2 |       | leaf3 |... |leaf16|  |
                | ++---+--+ +-+--+--+       +-+---+-+    +--+---+  |
                |   \   \     |   \          /    |        /   /   |
                |    \   +----+----\--------/--+  |       /   /    |
                |     \       |     +------/---+--+--+   /   /     |
                |      \      |  +--------+    |  |  |  /   /      |
                |       \     |  |  +----------+--+--+-+   /       |
                |        \    |  |  |          |  |  |    /        |
                |         \   |  |  |          |  |  |   /         |
                |        +-+--+--+--+-+      +-+--+--+--+-+        |
                |        |   Spine1   |      |   Spine2   |        |
                |        +-------+----+      +---+--------+        |
                |                 \             /                  |
                |                +-+-----------+-+                 |
                |   DC1          |    gateway    |                 |
                |                +-------+-------+                 |
                +------------------------+-------------------------+
                +------------------------+-------------------------+
                |   WAN            +-----+----+                    |
                |           +------+ingress PE+------+             |
                |           |      +----------+      |             |
                |           |                        |             |
                |        +--+---+                 +--+---+         |
                |        |  R1  +                 +  R2  |         |
                |        +--+---+\               /+--+---+         |
                |           |     \             /    |             |
                |           |      \+---------+/     |             |
                |           |       +   R2    +      |             |
                |           |      /+---------+\     |             |
                |           |     /             \    |             |
                |        +--+---+/               \+--+---+         |
                |        |  R3  +                 +  R4  |         |
                |        +--+---+                 +--+---+         |
                |           |                        |             |
                |           |       +---------+      |             |
                |           +-------+egress PE+------+             |
                |                   +----+----+                    |
                +------------------------+-------------------------+
                +------------------------+-------------------------+
                |                +-------+-------+                 |
                |                |    gateway    |                 |
                |   DC2          +--+---------+--+                 |
                |                  /           \                   |
                |        +--------+---+     +--+---------+         |
                |        |   Spine1   |     |   Spine2   |         |
                |        +-+--+--+--+-+     +-+--+--+--+-+         |
                |         /   |  |  |         |  |  |   \          |
                |        /    |  +--+----+    |  |  |    \         |
                |       /     |     +-----\---+--+--+-+   \        |
                |      /    +-+------------\--+  |  |  \   \       |
                |     /    /  |     +-------\----+  |   \   \      |
                |    /    /   |    /         \      |    \   \     |
                |   /    /    |   /           \     |     \   \    |
                | ++----+-+ +-+--+--+        +-+----++   +-+---++  |
                | | leaf1 | | leaf2 |        | leaf3 |...|leaf16|  |
                | ++-----++ ++-----++        ++-----++   ++----++  |
                |  |     |   |     |          |     |     |    |   |
                |  H1...H4   H5...H8          H9...H12   H61..H64  |
                +--------------------------------------------------+
                        Figure 1: Network diagram]]></artwork>
            </figure>

            <t>Within DC, RoCEv2 implements congestion control based on PFC and ECN. In WAN, it is necessary to extend PFC
            and ECN so that fast notifications can be achieved when congestion is detected by WAN devices. </t>

            <section title="Precise flow control">
                <t>PFC is the feature used in ethernet to prevent data loss due to congestion. In PFC, traffic is
                classified into 8 priorities according to the 802.1Q protocol, and each priority maintains its queue.
                When the queue length of the router's receive port exceeds a certain threshold, the router sends a PAUSE
                frame to upstream to stop transmitting traffic. When the queue length of the router's receive port drops
                below a certain threshold, the router sends a RESUME frame to upstream to continue transmitting traffic. </t>
                
                <t>As WAN devices often carry multiple services simultaneously, if PFC is triggered due to the congestion
                in a specific service, it may impact other services on the port and pose security risks. Therefore, when
                carrying RoCEv2 packets through tunnel in WAN, precise flow control needs to be implemented based on traffic
                information such as inner IP header, outer IP header and priority. This document proposes several parameters
                for the ARN mechanism ([I-D. draft-wh-rtgwg-adaptive-routing-arn]<xref target="I-D.wh-rtgwg-adaptive-routing-arn"/>), enabling fast notification for congested
                flow in WAN. </t>

                <section title="Illustration of Para-Type and Corresponding Parameter">
                    <t>[I-D. draft-wh-rtgwg-adaptive-routing-arn<xref target="I-D.wh-rtgwg-adaptive-routing-arn"/>] propose the ARN packet format as follows, as well
                    as two parameters: the Para-Type Bit 0 for flow identifier and the Para-Type Bit 1 for path identifier.
                    Specifically, flow identifier is based on the five-tuple from packet header to indicate the affected
                    flow, path identifier is based on the 32-bit path ID to uniquely identify the affected path in the
                    network. </t>

                    <figure>
                        <artwork name="fig2"><![CDATA[
            0                   1                   2                   3
            0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
            +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
            |      Type     |Version|  Rvsd |     Metric    |    Para-Type  |
            +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
            |                                                               |
            |                                                               |
            +                      Parameters(Optional)                     +
            |                                                               |
            |                                                               |
            +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
                                Figure 2: ARN format]]></artwork>
                    </figure>

                    <t>This document further defines the Para-Type Bit 2 for priority identifier and the Para-Type Bit 3
                    for compression time. </t>

                    <section title="Para-Type Bit 2">
                        <t>When bit2 of Para-Type is 1, the following parameter is concluded in Parameters to indicate
                        the priority of affected flows: </t>

                        <figure>
                            <artwork name="fig3"><![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
            +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
            |                            Priority                           |
            +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    Priority ID: The 32-bit field is used to identify the priority of affected flows.
                                Figure 3: ARN format]]></artwork>
                        </figure>
                    </section>

                    <section title="Para-Type Bit 3">
                        <t>When bit3 of Para-Type is 1, the following parameter is concluded in Parameters to indicate
                        the compression time of affected flows: </t>

                        <figure>
                            <artwork name="fig3"><![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
            +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
            |                             Time                              |
            +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Time: The 32-bit field is used to uniquely identify the compression time of affected flows.
                                Figure 4: Compression time]]></artwork>
                        </figure>
                    </section>

                </section>

                <section title="Process analysis of precise flow control">
                <t>Taking Figure 1 as an example, within DC1 and DC2, PFC is still used to implement the flow control
                based on port priority. </t>

                <t>Within WAN, precise flow control can be used to achieve congestion control at three levels (service level,
                priority level, and flow level), effectively avoiding impact on other services. Specifically, when the receiving
                port of device detects congestion, it will notify upstream devices to pause the corresponding flow: </t>
                
                <list style="symbols">
                    <t>When configured to stop the service in case of congestion, the router will pass on ARN packet carrying flow
                    identifier (identify the corresponding service based on the five-tuple of outer IP header) and compression time
                    to upstream devices. </t>
                    <t>When configured to stop specific flow in case of congestion, the router will pass on ARN packet carrying
                    flow identifier (identify the corresponding flow based on the five-tuple of inner IP header) and compression
                    time to upstream devices. </t>
                    <t>When configured to stop flow based on priority, the router will pass on ARN packet carrying priority
                    identifier and compression time to upstream devices. </t>
                </list>
                
                <t>Upon receiving the ARN packet, upstream devices will halt the corresponding flow based on the configured mode. </t>
                
                <t>Between WAN and DC1 or DC2, considering the capabilities of the gateway devices, congestion control can be achieved
                by PFC or precise flow control. </t>

                </section>

            </section>

            <section title="Extend ECN to WAN">
                <section title="Process analysis of CNP">
                    <t>ECN enables a forwarding element (e.g., a router) to notify the sender for congestion control without
                    having to drop packets [RFC3168<xref target="RFC3168" />]. When a router detects congestion, instead of dropping packets as a
                    signal of congestion, it marks the packets with an ECN codepoint in the IP header. The marked packets
                    alert the receiver that packet loss is imminent, and then the receiver alerts the sender by sending Congestion
                    Notification Packet (CNP). After receiving the CNP, the sender knows to slow down the transmission rate temporarily
                    until the flow path is ready to handle a higher rate of traffic. </t>

                    <t>Within WAN, devices should be able to notify the sender to reduce the transmission rate when congestion is detected.
                    [RFC6040<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 (including the SRv6 tunnel). It defines the rules for ingress encapsulation and egress
                    decapsulation as follows: </t>

                    <figure>
                        <artwork name="fig5"><![CDATA[
                +-----------------+-------------------------------+
                | Incoming Header |    Departing Outer Header     |
                | (also equal to  +---------------+---------------+
                | departing Inner | Compatibility |    Normal     |
                |     Header)     |     Mode      |     Mode      |
                +-----------------+---------------+---------------+
                |    Not-ECT      |   Not-ECT     |   Not-ECT     |
                |     ECT(0)      |   Not-ECT     |    ECT(0)     |
                |     ECT(1)      |   Not-ECT     |    ECT(1)     |
                |       CE        |   Not-ECT     |      CE       |
                +-----------------+---------------+---------------+
                Figure 5: Tunnel ingress encapsulation behaviors]]></artwork>
                    </figure>

                    <figure>
                        <artwork name="fig5"><![CDATA[
            +---------+------------------------------------------------+
            |Arriving |            Arriving Outer Header               |
            |   Inner +---------+------------+------------+------------+
            |  Header | Not-ECT | ECT(0)     | ECT(1)     |     CE     |
            +---------+---------+------------+------------+------------+
            | Not-ECT | Not-ECT |Not-ECT(!!!)|Not-ECT(!!!)| <drop>(!!!)|
            |  ECT(0) |  ECT(0) | ECT(0)     | ECT(1)     |     CE     |
            |  ECT(1) |  ECT(1) | ECT(1) (!) | ECT(1)     |     CE     |
            |    CE   |      CE |     CE     |     CE(!!!)|     CE     |
            +---------+---------+------------+------------+------------+
           Currently unused combinations are indicated by '(!!!)' or '(!)'
                Figure 6: Tunnel egress decapsulation behaviors]]></artwork>
                    </figure>

                <t>At the ingress PE, there are two encapsulation modes: a REQUIRED 'normal mode' and a 'compatibility mode', which is for backward
                compatibility with tunnel egress do not understand ECN. In normal mode, the ingress PE constructs the outer encapsulating IP header
                by copying the two-bit ECN field of the incoming IP header. In compatibility mode, it clears the ECN field in the outer header to
                the Not-ECT codepoint. </t>

                <t>At the egress PE, to decapsulate the inner header at the tunnel egress, The ECN field in the outgoing header is set to the codepoint
                at the intersection of the appropriate arriving inner header (row) and arriving outer header (column) in Figure 4, or the packet is
                dropped where indicated. </t>

                <t>To enable congestion control for WAN devices, the ingress PE MUST use the normal mode to construct the outer encapsulating IP header.
                When a WAN device detects congestion (e.g. R2), it sets the ECN field of the outer IP header to CE. Then, the egress PE sets the ECN field
                in the outgoing IP header to CE during decapsulation. When receiver receives the marked packet, it sends CNP warning to the sender to slow
                down the transmission rate of the corresponding flow, thereby preventing congestion. </t>

                </section>

                <section title="Fast CNP">
                    <t>[RFC7514<xref target="RFC7514" />] defines Really Explicit Congestion Notification (RECN), also known as Fast Congestion Notification Packet
                    (Fast CNP). By extending the RoCEv2 CNP, Fast CNP can be sent by the intermediate router directly to the sender,
                    advising the sender to reduce the transmission rate at which it sends the flow of RoCEv2 data traffic. </t>

                    <t>When transporting RoCEv2 packets through SRv6 tunnels in WAN, intermediate devices are unable to send Fast CNP back to the ingress PE
                    based on the information in RoCEv2 packets. Additionally, the ingress PE is unable to recognize the Fast CNP and therefore cannot forward
                    them to the sender. Therefore, this document proposes a Congestion SID (END.CON) to address aforementioned issues. </t>
                
                    <t>END.CON is a 128-bit value configured on PE and disseminated to other routers via IGP. The endpoint action associated with END.CON is
                    to decapsulate the packet and then look up the routing table for traffic forwarding. The workflow of END.CON is as follows:</t>

                    <list style="symbols">
                        <t>When the ingress PE passes RoCEv2 packets through SRv6 tunnels, END.CON is encapsulated as the source address of outer IP header. </t>
                        <t>When WAN devices detect congestion, they encapsulate an outer IP header (destination address is set to END.CON) outside the Fast CNP and send it back to the ingress PE. </t>
                        <t>When the ingress PE detects that the destination address of the received packet hits END.CON, it will decapsulate the Fast CNP and pass it to the sender in DC. </t>
                    </list>

                </section>
            </section>
        </section>

        <section anchor="sec" title="Security Considerations">
            <t>TBD</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="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>

        </references>

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