<?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 compact="yes"?>
<?rfc text-list-symbols="o*+-"?>
<?rfc subcompact="no"?>
<?rfc sortrefs="no"?>
<?rfc symrefs="yes"?>
<?rfc strict="yes"?>
<?rfc toc="yes"?>
<rfc category="info" consensus="true"
     docName="draft-zz-scone-rate-advice-rocev2-01" ipr="trust200902"
     obsoletes="" sortRefs="false" submissionType="IETF" symRefs="true"
     tocInclude="true" updates="" version="3" xml:lang="en"
     xmlns:xi="http://www.w3.org/2001/XInclude">
  <front>
    <title abbrev="Rate Advice for RoCEv2">SCONE-Based Rate Advice for RoCEv2
    Networks</title>

    <seriesInfo name="Internet-Draft"
                value="draft-zz-scone-rate-advice-rocev2-01"/>

    <author fullname="Guangyu Zhao" initials="G." surname="Zhao">
      <organization>China Mobile</organization>
      <address>
        <postal>
          <city>Beijing</city>
          <country>China</country>
        </postal>
        <email>zhaoguangyu@chinamobile.com</email>
      </address>
    </author>

    <author fullname="Cheng Zhou" initials="C." surname="Zhou">
      <organization>China Mobile</organization>
      <address>
        <postal>
          <city>Beijing</city>
          <country>China</country>
        </postal>
        <email>zhouchengyjy@chinamobile.com</email>
      </address>
    </author>

    <author fullname="Tianji Jiang" initials="T." surname="Jiang">
      <organization>China Mobile</organization>
      <address>
        <postal>
          <city>Beijing</city>
          <country>China</country>
        </postal>
        <email>tianjijiang2012@gmail.com</email>
      </address>
    </author>
    
    <date day="27" month="October" year="2026"/>

    <workgroup>scone</workgroup>

    <abstract>
      <t>This document describes the applicable scenarios of the Standard
      Communication Protocol for Network Elements (SCONE) in RoCEv2 networks.
      SCONE defines a mechanism that enables network elements on the
      forwarding path to deliver throughput guidance to RoCEv2 endpoints. This
      document further specifies the method for carrying Rate Advice in RoCEv2
      networks. The Rate Advice is generated by network nodes (e.g., switches),
      which can be either rate limits defined by network policies or
      quantitative rate adjustment recommendations derived from network status
      information.</t>

      <t>This document specifies two implementation solutions with different
      granularities. Solution 1 provides path-granularity (source-IP-based)
      Rate Advice through out-of-band UDP messages sent directly from network
      elements to senders; a single advised rate applies to all active Queue
      Pairs (QPs) originating from the same source IP, providing sub-RTT
      feedback. Solution 2 provides per-flow (per-QP) Rate Advice through an
      on-path Rate Signal with endpoint feedback, reusing the RoCEv2 data path
      and following the feedback loop model of the SCONE protocol; each QP
      receives its own advised rate.</t>
    </abstract>

    <note removeInRFC="false">
      <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 RFC 2119.</t>
    </note>
  </front>

  <middle>
    <section anchor="introduction" numbered="true" toc="default">
      <name>Introduction</name>

      <t>Remote Direct Memory Access (RDMA) enables data to be read from and
      written to remote memory without involving the CPU, which effectively
      reduces latency, improves throughput and lowers computing overhead of
      devices. It is widely deployed in high-performance computing and
      artificial intelligence scenarios. As a native lossless network for HPC
      and AI, InfiniBand <xref target="INFINIBAND"/> natively supports RDMA.
      The RDMA over Converged Ethernet (RoCE) standard introduces RDMA
      capabilities to Ethernet. Among its versions, RoCEv2 carries the
      InfiniBand transport layer over UDP/IP and has become the most widely
      adopted version in the industry.</t>

      <t>Data Center Quantized Congestion Notification (DCQCN) is the default
      congestion control algorithm for RoCEv2 networks <xref target="DCQCN"/>.
      When a DCQCN flow starts transmitting, it sends data at the physical
      line rate by default. It reduces the transmission rate upon receiving
      Congestion Notification Packets (CNP) and restores the rate quickly when
      the network is free of congestion, forming an end-to-end transmission
      rate adjustment mechanism. However, the binary nature of the Explicit
      Congestion Notification (ECN) mechanism can only indicate the presence
      or absence of network congestion, which limits the timeliness and
      effectiveness of rate adjustment on the sender side.</t>

      <t>Based on the concept of SCONE <xref target="SCONE-PROTOCOL"/>,
      providing advised transmission rates for RoCEv2 endpoints is of great
      practical significance. This document defines a Rate Advice mechanism
      adapted to the RoCEv2 protocol, to deliver quantitative rate
      recommendations. Two implementation solutions with different
      granularities are specified:</t>
      <ul>
        <li>
          <t>Solution 1 (Out-of-Band UDP, Path-Granularity): Network elements
          directly send Rate Advice messages over UDP to senders. The advice
          is identified by the source IP address and applies to all active QPs
          originating from that source IP. This solution provides sub-RTT
          feedback and is particularly suitable for inter-datacenter
          scenarios.</t>
        </li>
        <li>
          <t>Solution 2 (On-Path Endpoint Feedback, Per-QP Granularity): A
          Rate Signal is carried in RoCEv2 data packets and filled by network
          elements along the path on a per-QP basis; the receiver returns the
          per-QP advised rate to the sender via a feedback loop, following the
          SCONE protocol model <xref target="SCONE-PROTOCOL-09"/>.</t>
        </li>
      </ul>
    </section>

    <section anchor="terminology" numbered="true" toc="default">
      <name>Terminology</name>

      <t>The following terms are used in this document:</t>

      <ul>
        <li>
          <t>Rate Advice: A quantitative rate adjustment recommendation
          generated by network nodes (e.g., switches) and delivered to the
          sender.</t>
        </li>

        <li>
          <t>Rate Advice Message: A message that carries Rate Advice 
          information to be conveyed toward the sender. In Solution 1, it is 
          an out-of-band UDP packet carrying a path-granularity advised rate 
          as generated by network nodes; in Solution 2, it is a feedback message 
          carrying the per-QP on-path Rate Signal as generated by the flow’s 
          peering receiver.</t>
        </li>

        <li>
          <t>Rate Signal: A field carried in RoCEv2 data packets, filled by
          network elements along the forwarding path to indicate the advised
          rate for a specific QP.</t>
        </li>

        <li>
          <t>Path-Granularity (Solution 1): The advised rate is identified by
          the source IP address and applies to all active QPs originating from
          that source IP.</t>
        </li>

        <li>
          <t>Per-QP Granularity (Solution 2): Each Queue Pair (QP) receives
          its own advised rate, identified by the Destination QP ID.</t>
        </li>

        <li>
          <t>Out-of-Band: The Rate Advice signaling is separated from the
          RoCEv2 data flow, using independent UDP packets.</t>
        </li>

        <li>
          <t>On-Path: The Rate Advice information is carried within the
          RoCEv2 data packets and returned to the sender via an endpoint
          feedback loop.</t>
        </li>
      </ul>
    </section>

    <section anchor="deployment-scenarios" numbered="true" toc="default">
      <name>Deployment Scenarios</name>

      <section numbered="true" toc="default">
        <name>Deployment within Intelligent Computing Data Centers</name>

        <t>Inside an intelligent computing data center, RoCEv2 flows are
        generally exchanged within a single data center, and the network is
        mainly built with two-tier Leaf-Spine or three-tier Clos
        architectures. Network nodes such as Spine switches and Leaf switches
        can monitor the egress queue depth, queuing delay and packet loss
        rate. When an uplink link gets congested, the switch generates Rate
        Advice Messages based on real-time monitoring results and sends them
        directly to the senders, acting as a supplement to DCQCN.</t>

        <t>In this deployment scenario, SCONE-enabled network nodes reside on
        the data plane of the data center network and coexist with the
        existing DCQCN protocol stack. Senders can receive both CNP congestion
        notifications from DCQCN and Rate Advice from SCONE. The recommended
        implementation policy is that senders give priority to responding to
        emergency congestion indications carried in CNP, and conduct gradual
        rate adjustment with reference to the advised rate in SCONE Rate
        Advice.</t>

        <t>For Solution 1 (path-granularity out-of-band UDP), the advised
        rate is derived from the aggregate behavior of all active QPs sharing
        the same source IP, providing a lightweight, low-overhead guidance
        that is easy to implement on the network side.</t>

        <t>For Solution 2 (per-QP on-path endpoint feedback), the existing
        RoCEv2 data path can be reused. Spine/Leaf switches fill the Rate
        Signal on a per-QP basis when forwarding data packets, and the
        receiver returns the per-QP advised rate to the sender via a reverse
        feedback loop. This approach provides fine-grained control and is
        suitable for scenarios where the end-to-end protocol stack is
        controllable.</t>
      </section>

      <section numbered="true" toc="default">
        <name>Deployment across Intelligent Computing Data Centers</name>

        <t>For interconnection of distributed intelligent computing clusters,
        multiple intelligent computing data centers are interconnected via WAN
        links (e.g., dedicated lines, SRv6 tunnels) to form a cross-domain
        logical intelligent computing pool. With the continuous expansion of
        large language models, a single data center is restricted by power
        supply, heat dissipation and physical space. Cross-data center
        collaborative training has become an inevitable industry demand. For
        latest progress, Google DeepMind adopted Decoupled DiLoCo <xref
        target="DiLoCo"/> to train a 12-billion-parameter model across four
        regions in the United States, achieving more than 20x faster training
        speed compared with traditional synchronous methods.</t>

        <t>In this deployment model, data center gateways or WAN edge routers
        act as aggregation nodes for RoCEv2 traffic. The Round-Trip Time (RTT)
        of WAN links is much longer than that inside data centers, which can
        reach tens of milliseconds. The long RTT leads to delayed rate
        reduction. In extreme cases, when the RTT is 20 ms and the packet loss
        rate is 0.1%, the throughput may drop to nearly zero <xref
        target="URDMA"/>.</t>

        <t>Deploying SCONE-enabled network nodes on central gateways or WAN
        edge routers to generate Rate Advice provides valuable reference for
        the transmission rate of endpoints. Two deployment modes are
        available:</t>

        <ul>
          <li>
            <t>Near-source Gateway Generation: The source gateway sends Rate
            Advice to senders, reflecting the congestion status of the WAN
            ingress path.</t>
          </li>

          <li>
            <t>Remote Gateway Generation: The WAN egress gateway sends
            backpressure signals to the source gateway, and then the source
            gateway forwards Rate Advice to senders.</t>
          </li>
        </ul>

        <t>For Solution 1 (path-granularity out-of-band UDP), the network
        node (DCI gateway or WAN edge router) directly constructs a UDP Rate
        Advice message and sends it to the sender. The advice is identified
        by the source IP address and applies to all active QPs originating
        from that source IP. The feedback latency is single-hop level
        (sub-RTT) and is not affected by the long inter-DC RTT. This solution
        is particularly advantageous in inter-DC scenarios where per-QP state
        is costly to maintain.</t>

        <t>For Solution 2 (per-QP on-path endpoint feedback), the sender
        carries a Rate Signal in each data packet. The network node along the
        path updates the per-QP advised rate based on egress queue status, and
        the receiver returns it to the sender via a feedback loop. This
        solution provides precise per-QP control and is suitable for scenarios
        where the end-to-end protocol stack is controllable and the data path
        is preferred for reuse.</t>
      </section>
    </section>

    <section anchor="framework-overview" numbered="true" toc="default">
      <name>Overview of Rate Advice Framework</name>

      <t>This section describes the overall architecture of the Rate Advice
      framework and defines two implementation solutions.</t>

      <t>The Rate Advice mechanism introduces a signaling path from network
      nodes to senders. Depending on whether the signaling is separated from
      the data flow, two implementation solutions are defined.</t>



      <section anchor="solution1" numbered="true" toc="default">
        <name>Solution 1: Path-Granularity Out-of-Band UDP Rate Advice</name>
        <figure anchor="fig-out-of-band">
          <name>Out-of-Band UDP Rate Advice Signaling Path</name>
          <artwork align="center" xml:space="preserve">+----------+         +-----------+         +----------+
|          &lt;---------&gt;  Network  &lt;---------&gt;          |
|  Sender  |  RoCEv2 |  Element  |  RoCEv2 | Receiver |
|          |  Data   |           |  Data   |          |
+-----^----+         +-----+-----+         +----------+
      |                    |
      |  Rate Advice Msg   |
      +--------------------+          </artwork>
        </figure>


        <t>The network node (switch, DCI gateway, or WAN edge router)
        generates the Rate Advice locally, constructs an independent UDP Rate
        Advice packet, and sends it directly to the sender. This packet is
        separated from the RoCEv2 data flow (out-of-band), does not modify
        the RoCEv2 BTH, and does not rely on the receiver for forwarding.</t>

        <t>Key characteristics:</t>
        <ul>
          <li>
            <t>Path granularity: The advised rate is identified by the source
            IP address and applies to all active QPs originating from that
            source IP. No per-QP state is required at the network node.</t>
          </li>
          <li>
            <t>The network node directly sends a UDP packet to the sender.
            The feedback path is "network node to sender" single-hop.</t>
          </li>
          <li>
            <t>In inter-DC links, the feedback latency is sub-RTT level and
            is not constrained by the end-to-end long RTT.</t>
          </li>
          <li>
            <t>The packet's destination address is the sender's IP address,
            and the destination UDP port is a newly registered IANA port
            (TBD), distinct from the RoCEv2 data port 4791.</t>
          </li>
          <li>
            <t>The solution is entirely within the IETF UDP/IP layer,
            maintaining a clear standards ownership boundary.</t>
          </li>
        </ul>

        <t>Applicable scenarios: Inter-DC intelligent computing
        interconnection, DCI gateway aggregation points, and scenarios where
        per-QP state is costly to maintain and a lightweight, path-level
        guidance is sufficient.</t>
      </section>

      <section anchor="solution2" numbered="true" toc="default">
        <name>Solution 2: Per-QP On-Path Endpoint Feedback</name>

        <figure anchor="fig-on-path">
          <name>On-Path Endpoint Feedback Rate Advice Signaling Path</name>
          <artwork align="center" xml:space="preserve">+--------+       +---------+      +----------+                  
| RoCEv2 |       | Network |      |  RoCEv2  |                  
| Sender |       | Element |      | Receiver |                  
+---+----+       +----+----+      +----+-----+                  
    |                 |                |                        
    +--- SCONE(?) --->|  SCONE(advice) |                        
    |    +RoCEv2      +--- +RoCEv2 --->|                        
    |                 |                |  Validate RoCEv2 Packet
    |                 |                |  and record advice     
    |&lt;----------------+----------------+                        
    |         Rate Advice Msg          |                        </artwork>
        </figure>

        <t>The sender carries a Rate Signal field in RoCEv2 data packets
        (initially set to "no advice" or a probe value). Network nodes along
        the path fill or update the Rate Signal based on egress queue status
        or policy when forwarding the packet. Upon receiving the packet with
        the Rate Signal, the receiver returns the advised rate to the sender
        via a reverse feedback loop.</t>

        <t>Key characteristics:</t>
        <ul>
          <li>
            <t>Per-QP granularity: Each QP receives its own advised rate. The
            QP association is derived from the Base Transport Header (BTH) of
            the RoCEv2 packet: the SrcQP field in the forward data packet
            identifies the sender's QP, and the DestQP field in the feedback
            packet identifies the same QP at the sender.</t>
          </li>
          <li>
            <t>The Rate Advice is carried along the data path (on-path),
            written by network nodes into data packets on a per-QP basis.</t>
          </li>
          <li>
            <t>The receiver acts as the endpoint of the feedback loop,
            returning the per-QP advised rate to the sender via a reverse
            message (e.g., ACK, CNP, or a dedicated feedback packet).</t>
          </li>
          <li>
            <t>The sender adjusts the transmission rate of each QP
            independently based on the per-QP advised rate in the feedback
            loop.</t>
          </li>
          <li>
            <t>The solution can reuse the existing RoCEv2 data path and BTH
            extension mechanism without requiring a new UDP port.</t>
          </li>
        </ul>

        <t>Feedback loop design (referencing
        <xref target="SCONE-PROTOCOL-09"/>):</t>
        <ul>
          <li>
            <t>The sender carries a SCONE Rate Signal field in transmitted
            data packets (e.g., in a BTH extension header).</t>
          </li>
          <li>
            <t>When forwarding, a network node encodes the per-QP advised
            rate into the Rate Signal field if congestion or policy rate
            limiting is detected for that QP.</t>
          </li>
          <li>
            <t>Upon reception, the receiver carries the per-QP advised rate
            in a reverse feedback message (e.g., ACK/CNP/SCONE feedback
            packet).</t>
          </li>
          <li>
            <t>The sender parses the feedback message, obtains the per-QP
            advised rate, and adjusts the transmission rate of that QP.</t>
          </li>
        </ul>

        <t>Applicable scenarios: Scenarios where fine-grained per-QP control
        is required, the end-to-end protocol stack is controllable, and the
        data path is preferred for reuse; suitable for intra-DC and inter-DC
        compatible deployments.</t>
      </section>

    </section>


    <section anchor="rate-advice-message" numbered="true" toc="default">
      <name>Rate Advice Message</name>

      <t>This section defines the message formats for the two implementation
      solutions.</t>

      <section anchor="solution1-message" numbered="true" toc="default">
        <name>Solution 1: Path-Granularity Out-of-Band UDP Rate Advice
        Packet</name>

        <section numbered="true" toc="default">
          <name>UDP Encapsulation</name>

          <t>The Rate Advice packet is sent as an independent UDP packet,
          encapsulated as follows:</t>

          <artwork align="center" xml:space="preserve">Ethernet Header | IP Header | UDP Header (dport = TBD) | Rate Advice Payload</artwork>

          <ul>
            <li>
              <t>UDP Destination Port: A newly registered IANA port (TBD),
              dedicated to SCONE-RoCEv2 Rate Advice, distinct from the
              RoCEv2 data port 4791.</t>
            </li>
            <li>
              <t>UDP Source Port: Assigned by the network node.</t>
            </li>
            <li>
              <t>IP Destination Address: The sender's IP address (obtained
              from the source IP of the original RoCEv2 data packet).</t>
            </li>
          </ul>
        </section>

        <section numbered="true" toc="default">
          <name>Payload Format</name>

          <artwork align="center" xml:space="preserve">SCONE-RoCEv2 Rate Advice Payload {
    Version (32),
    Rate (32),
    Source IP (32/128),
    Reserved (32),
}</artwork>

          <t>Field definitions:</t>
          <ul>
            <li>
              <t>Version (32 bits): Version number. The initial value is
              <tt>0x00000001</tt>.</t>
            </li>
            <li>
              <t>Rate (32 bits): The advised rate, measured in Mbps. This
              value applies to all active QPs originating from the Source IP
              address.</t>
            </li>
            <li>
              <t>Source IP (32/128 bits): Path identifier, i.e., the
              sender's IP address, used by the sender for matching. The
              advised rate is applied to all QPs originating from this source
              IP.</t>
            </li>
            <li>
              <t>Reserved (32 bits): Reserved. The sender sets it to 0; the
              receiver ignores it.</t>
            </li>
          </ul>

          <t>Note that this payload does not carry a QP ID, since the advised
          rate is path-granularity (source-IP-based) and is shared by all QPs
          under the same source IP.</t>
        </section>

        <section numbered="true" toc="default">
          <name>Sending and Processing</name>

          <t>The network node determines the sender's IP address based on
          the path identifier, constructs the packet, and sends it. The
          sender listens on the UDP port, matches the Source IP, and uses the
          Rate as the global rate upper limit shared by all active QPs under
          that source IP.</t>
        </section>
      </section>

      <section anchor="solution2-message" numbered="true" toc="default">
        <name>Solution 2: Per-QP On-Path Rate Signal with Endpoint
        Feedback</name>

        <section numbered="true" toc="default">
          <name>Rate Signal Bearer</name>

          <t>The Rate Signal can be carried in one of the following
          locations:</t>
          <ul>
            <li>
              <t>BTH Extension Header: A new extension field is added after
              the RoCEv2 BTH, carrying the per-QP Rate Signal (e.g., 6-bit or
              32-bit encoding).</t>
            </li>
            <li>
              <t>IP Header Reserved Field: Reuse reserved bits in the IP
              header or fields other than DSCP/ECN (to be used with caution
              to avoid conflicts with existing semantics).</t>
            </li>
            <li>
              <t>RoCEv2 Packet Payload Prefix: A Rate Signal extension is
              inserted between the BTH and the Payload.</t>
            </li>
          </ul>

          <t>The recommended approach is the BTH Extension Header. A new BTH
          extension type <tt>RATE_SIGNAL</tt> is defined as follows:</t>

          <artwork align="center" xml:space="preserve">Rate Signal Extension {
    Type (8) = RATE_SIGNAL,
    Length (8),
    Rate (32),
    Version (32),
}</artwork>
        </section>

        <section numbered="true" toc="default">
          <name>Feedback Loop</name>

          <ol>
            <li>
              <t>The sender carries the Rate Signal extension in each data
              packet. The initial Rate can be set to 0 (indicating no advice)
              or a probe value. The QP to which the advice applies is
              identified by the SrcQP field in the BTH of the data
              packet.</t>
            </li>
            <li>
              <t>When forwarding, the network node updates the Rate field of
              the Rate Signal for the corresponding QP based on egress queue
              status or policy.</t>
            </li>
            <li>
              <t>Upon reception, the receiver carries the per-QP Rate value
              in a reverse feedback message. The QP association in the
              feedback message is provided by the DestQP field in the BTH of
              the feedback packet. The reverse feedback message can be:</t>
              <ul>
                <li>
                  <t>An extended CNP packet (with a Rate field added to the
                  CNP Payload);</t>
                </li>
                <li>
                  <t>A dedicated SCONE feedback packet over UDP
                  <strong>without a BTH</strong>; in this case, the Rate
                  Signal Extension <strong>MUST</strong> explicitly carry an
                  optional Destination QP ID field;</t>
                </li>
                <li>
                  <t>A reserved field of an existing ACK/confirmation
                  message, where the QP association is derived from the BTH
                  DestQP.</t>
                </li>
              </ul>
            </li>
            <li>
              <t>The sender parses the reverse feedback message, obtains the
              per-QP advised rate for the QP identified by the BTH DestQP,
              and updates the rate upper limit of that QP.</t>
            </li>
          </ol>
        </section>

        <section numbered="true" toc="default">
          <name>Relationship with SCONE Protocol</name>

          <t>The feedback loop of Solution 2 follows the basic model of the
          SCONE protocol:</t>
          <ul>
            <li>
              <t>Network elements set the per-QP Rate Signal in data
              packets;</t>
            </li>
            <li>
              <t>The endpoint (receiver) returns the per-QP advice to the
              sender via feedback;</t>
            </li>
            <li>
              <t>The sender uses the per-QP advice as a reference for rate
              adjustment of that QP.</t>
            </li>
          </ul>

          <t>The difference from SCONE over QUIC is that the RoCEv2 feedback
          loop can reuse CNP or RoCEv2 confirmation messages instead of QUIC
          ACK frames, the Rate Signal is carried in a BTH extension rather
          than the QUIC long header, and the advice is applied per QP rather
          than per path.</t>
        </section>
      </section>

    </section>
    
    <section anchor="advised-rate-acquisition" numbered="true" toc="default">
      <name>Acquisition of Advised Rate</name>

      <t>The advised rate can be obtained in two ways: acquiring the advised
      rate or rate upper limit according to the rate policies configured on
      network elements, or calculating the value based on the egress queue
      depth, queuing delay and packet loss rate of network elements.</t>

      <section numbered="true" toc="default">
        <name>Rate Policy Based on Network Element Configuration</name>

        <t>Network nodes directly obtain the advised rate or rate upper limit
        according to pre-configured rate policies set by administrators, such
        as per-path (source-IP-based) rate limiting, per-QP rate limiting, and
        priority bandwidth allocation. This method applies to scenarios where
        operators have explicit Service Level Agreement (SLA) and traffic
        engineering policies.</t>
      </section>

      <section numbered="true" toc="default">
        <name>Calculation Based on Egress Bandwidth Congestion Status</name>

        <t>Network nodes calculate the advised rate based on the real-time
        status of local egress queues, including queue depth, queuing delay
        and packet loss rate. This method is applicable to Rate Advice
        scenarios that require real-time response to network congestion.</t>

        <t>For Solution 1 (path-granularity), the advised rate is computed
        from the aggregate behavior of all active QPs under the same source
        IP, and is encapsulated into a UDP packet sent to the sender. For
        Solution 2 (per-QP granularity), the advised rate is computed on a
        per-QP basis, encoded as a Rate Signal into passing data packets, and
        returned via a feedback loop. The calculation logic (policy-based or
        congestion-based) is common to both solutions; the granularity and the
        signaling bearer differ.</t>
      </section>

      <section anchor="sender-coordination" numbered="true" toc="default">
        <name>Sender-Side Rate Coordination</name>

        <t>TBD.</t>
	
      </section>
    </section>
    
    <section anchor="security-considerations" numbered="true" toc="default">
      <name>Security Considerations</name>

      <ul>
        <li>
          <t>Solution 1: UDP Rate Advice packets may be forged, causing the
          sender to be tricked into reducing the rate of all QPs under a
          given source IP. It is recommended to use a shared key between the
          network node and the sender or rely on trusted domain boundaries.
          The sender can perform sanity checks on the Rate value (e.g., not
          lower than the minimum rate).</t>
        </li>
        <li>
          <t>Solution 2: The Rate Signal is modified by network nodes along
          the data path on a per-QP basis, and man-in-the-middle tampering
          must be prevented. The RoCEv2 ICRC or upper-layer authentication
          mechanisms can be combined. The receiver should verify the
          legitimacy of the Rate Signal source before feedback, and the
          sender should validate the DestQP in the BTH of the feedback
          message against its local QPs to prevent the advised rate from
          being applied to the wrong QP.</t>
        </li>
      </ul>

      <t>Further security considerations are TBD.</t>
    </section>

    <section anchor="iana-considerations" numbered="true" toc="default">
      <name>IANA Considerations</name>

      <ul>
        <li>
          <t>Solution 1: IANA is requested to allocate a new UDP port number
          (TBD) for SCONE-RoCEv2 Out-of-Band Rate Advice.</t>
        </li>
        <li>
          <t>Solution 2: If the BTH extension type is used, IANA/IBTA-related
          registration is requested to allocate a new BTH extension type
          value (to be coordinated with IBTA). If existing CNP extension
          fields are reused, no new registration is required.</t>
        </li>
      </ul>
    </section>

    <section anchor="contributors" numbered="true" toc="default">
      <name>Contributors</name>

      <t>The following people have substantially contributed to this
      document:</t>

      <author fullname="Hongwei Yang" initials="H." surname="YANG">
        <organization>China Mobile</organization>
        <address>
          <postal>
            <city>Beijing</city>
            <country>China</country>
          </postal>
          <email>yanghongwei@chinamobile.com</email>
        </address>
      </author>

      <author fullname="Zhiqiang Li" initials="Z." surname="Li">
        <organization>China Mobile</organization>
        <address>
          <postal>
            <city>Beijing</city>
            <country>China</country>
          </postal>
          <email>lizhiqiangyjy@chinamobile.com</email>
        </address>
      </author>
    </section>
  </middle>

  <back>
    <references>
      <name>Informative References</name>

      <reference anchor="SCONE-PROTOCOL">
        <front>
          <title>Standard Communication with Network Elements (SCONE)
          Protocol</title>
          <author fullname="M. Thomson" initials="M." surname="Thomson"/>
          <date month="May" year="2025"/>
        </front>
        <seriesInfo name="Internet-Draft" value="draft-ietf-scone-protocol-04"/>
        <annotation>Work in Progress</annotation>
      </reference>

      <reference anchor="SCONE-PROTOCOL-09">
        <front>
          <title>Standard Communication with Network Elements (SCONE)
          Protocol</title>
          <author fullname="M. Thomson" initials="M." surname="Thomson"/>
          <date year="2026"/>
        </front>
        <seriesInfo name="Internet-Draft"
                    value="draft-ietf-scone-protocol-09"/>
        <annotation>Work in Progress</annotation>
      </reference>

      <reference anchor="DiLoCo">
        <front>
          <title>Decoupled DiLoCo for Resilient Distributed
          Pre-training</title>
          <author fullname="A. Douillard" initials="A." surname="Douillard"/>
          <author fullname="K. Rush" initials="K." surname="Rush"/>
          <author fullname="Y. Donchev" initials="Y." surname="Donchev"/>
          <date month="April" year="2026"/>
        </front>
      </reference>

      <reference anchor="INFINIBAND">
        <front>
          <title>InfiniBand Architecture Specification Volume 1, Release
          1.5</title>
          <author>
            <organization>InfiniBand Trade Association</organization>
          </author>
          <date month="June" year="2020"/>
        </front>
      </reference>

      <reference anchor="DCQCN">
        <front>
          <title>Congestion Control for Large-Scale RDMA Deployments</title>
          <author fullname="Y. Zhu" initials="Y." surname="Zhu"/>
          <date year="2015"/>
        </front>
        <seriesInfo name="ACM SIGCOMM" value="Proceedings"/>
      </reference>

      <reference anchor="URDMA">
        <front>
          <title>URDMA technologies for wide-area high-throughput
          network</title>
          <author fullname="X D Duan" initials="X D" surname="Duan"/>
          <author fullname="L Lu" initials="L" surname="Lu"/>
          <author fullname="T Sun" initials="T" surname="Sun"/>
          <author fullname="Z Q Li" initials="Z Q" surname="Li"/>
          <author fullname="H W Yang" initials="H W" surname="Yang"/>
          <author fullname="Z P Du" initials="Z P" surname="Du"/>
          <date month="June" year="2024"/>
        </front>
        <seriesInfo name="Journal" value="ZTE Technology Journal"/>
        <seriesInfo name="Volume" value="30"/>
        <seriesInfo name="Issue" value="6"/>
        <seriesInfo name="Pages" value="23-30"/>
      </reference>
    </references>
  </back>
</rfc>