<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE rfc [
  <!ENTITY nbsp    "&#160;">
  <!ENTITY zwsp   "&#8203;">
  <!ENTITY nbhy   "&#8209;">
  <!ENTITY wj     "&#8288;">
]>
<?xml-stylesheet type="text/xsl" href="rfc2629.xslt" ?>
<!-- generated by https://github.com/cabo/kramdown-rfc version 1.7.43 (Ruby 3.2.3) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-xzl-fann-srv6-rate-notification-00" category="std" consensus="true" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.35.0 -->
  <front>
    <title abbrev="SRv6-based Fast Rate Notification ">SRv6-based Fast Rate Notification</title>
    <seriesInfo name="Internet-Draft" value="draft-xzl-fann-srv6-rate-notification-00"/>
    <author initials="Q." surname="Xiong" fullname="Quan Xiong">
      <organization>ZTE Corporation</organization>
      <address>
        <email>xiong.quan@zte.com.cn</email>
      </address>
    </author>
    <author initials="X." surname="Zhu" fullname="Xiangyang Zhu">
      <organization>ZTE Corporation</organization>
      <address>
        <email>zhu.xiangyang@zte.com.cn</email>
      </address>
    </author>
    <author initials="J." surname="Li" fullname="Jinming Li">
      <organization>China Mobile</organization>
      <address>
        <email>lijinming@chinamobile.com</email>
      </address>
    </author>
    <date year="2026" month="October" day="30"/>
    <workgroup>fann</workgroup>
    <abstract>
      <?line 36?>

<t>This document specifies a fast rate notification mechanism for Segment
   Routing over IPv6 (SRv6) networks.  It enables a transit or egress
   node to dynamically notify the ingress (headend) node about a
   recommended rate range (MinRate and MaxRate) when localized
   congestion is detected or when underutilized bandwidth is identified,
   allowing the headend to perform proactive traffic shaping and rate 
   enforcement.  This mechanism enhances transmission efficiency in 
   SRv6 networks by enabling fine-grained, congestion-aware rate control.</t>
    </abstract>
  </front>
  <middle>
    <?line 47?>

<section anchor="introduction">
      <name>Introduction</name>
      <t>In Segment Routing over IPv6 (SRv6) networks, traffic engineering is
   primarily achieved through the explicit path encoded in the SRv6
   Segment Identifier (SID) list as per <xref target="RFC8754"/>.  However, dynamic
   network conditions, such as transient congestion on a specific link
   or node, can degrade the Quality of Service (QoS) for engineered
   flows.  Static provisioning of rate limits (e.g., Committed and Peak
   Information Rates - CIR/PIR) at the ingress may be insufficient to
   respond to such localized, real-time events.</t>
      <t>This document defines an SRv6 Fast Rate Notification mechanism.  It allows
   a transit or egress node experiencing or anticipating congestion, or
   conversely, detecting underutilized bandwidth, to compute an
   appropriate rate range and send a notification back to the ingress
   (headend) node.  The headend can then adapt its traffic shaping
   policy and perform rate enforcement accordingly, providing dynamic, 
   network-assisted rate control and congestion mitigation.</t>
      <section anchor="motivation">
        <name>Motivation</name>
        <t>Existing QoS and congestion control mechanisms often operate at the
   device level or rely on end-to-end transport-layer feedback, which 
   may be too slow or coarse-grained for fine-tuning SRv6 flows within 
   a network domain.  A network-based notification mechanism offers the 
   following advantages:</t>
        <ul spacing="normal">
          <li>
            <t>Proactive Congestion Mitigation: Allows the headend to proactively
throttle traffic before severe congestion causes packet loss or
excessive queueing delay, improving flow completion times.</t>
          </li>
          <li>
            <t>Improve Bandwidth Utilization: Enables flows to safely increase their rate
when underutilized bandwidth is detected along the path, improving
overall network efficiency.</t>
          </li>
          <li>
            <t>Flow-Aware Control: Notifications can be associated with specific
SRv6 policies, network slices, or queues, enabling precise control
that aligns with the intended traffic engineering objectives.</t>
          </li>
          <li>
            <t>Simplified Operation: Leverages the existing SRv6 architecture for
in-band notification, avoiding dependency on complex out-of-band
control protocols.</t>
          </li>
        </ul>
      </section>
    </section>
    <section anchor="conventions">
      <name>Conventions Used in This Document</name>
      <section anchor="abbreviations">
        <name>Abbreviations</name>
        <t>CIR:  Committed Information Rate</t>
        <t>PIR:  Peak Information Rate</t>
        <t>SID:  Segment Identifier</t>
        <t>SRv6: Segment Routing over IPv6</t>
      </section>
      <section anchor="requirements-language">
        <name>Requirements Language</name>
        <t>The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
   "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and
   "OPTIONAL" in this document are to be interpreted as described in BCP
   14 <xref target="RFC2119"/> <xref target="RFC8174"/> when, and only when, they appear in all
   capitals, as shown here.</t>
      </section>
    </section>
    <section anchor="rate-notification">
      <name>SRv6 Rate Notification Mechanism</name>
      <section anchor="overview-and-operation">
        <name>Overview and Operation</name>
        <artwork><![CDATA[
      +----------+                                      +----------+
      |   Data   |                                      |   Data   |
      | center A |                                      | center B |
      +----------+                                      +----------+
          |                           Buffer Accumulation   ^
          |                                    |            |
          v                                    v            |
        +----+       +----+      +----+      +----+      +----+
        | R1 | <-->  | R2 | <--> | R3 | <--> | R4 | <--> | R5 |
        +----+       +----+      +----+      +----+      +----+
Rate       ^                                     |
Enforcement|                                     |
           +-------------------------------------+
                   Rate Notification

             Figure 1: Fast Rate Notification in SRv6 Network

]]></artwork>
        <t>As shown in Figure 1, two data centers, A and B, connected via an SRv6 path
   defined as R1 -&gt; R2 -&gt; R3 -&gt; R4 -&gt; R5, as shown in Figure 1.  The
   process follows these steps:</t>
        <ol spacing="normal" type="1"><li>
            <t>The headend node (R1) forwards traffic for a specific flow or
slice along a predetermined SRv6 path (e.g., R1-&gt;R2-&gt;R3-&gt;R4-&gt;R5),
applying initial rate shaping (e.g., based on CIR/PIR).</t>
          </li>
          <li>
            <t>Transit nodes (R2, R3, R4) forward data according to the SID
list, with each node checking its local SID table for forwarding
and slice-related information.</t>
          </li>
          <li>
            <t>A transit node (e.g., R4) monitors its queues for that
slice.  Upon detecting a congestion condition (see Section 3.2), it
calculates a new recommended rate range (MinRate, MaxRate).</t>
          </li>
          <li>
            <t>Node R4 generates a Fast Rate Notification message containing the
 calculated MinRate, MaxRate, a Slice/Flow identifier (Slice ID),
 and a queue Priority identifier.  It sends this message (e.g.,ICMPv6 or UDP)
 towards the headend node R1.</t>
          </li>
          <li>
            <t>Upon receiving and validating the notification, R1 may apply the
new rate range and perform the rate enforcement, thereby alleviating 
    the incipient congestion at R4.</t>
          </li>
        </ol>
      </section>
      <section anchor="notification-trigger-and-rate-calculation">
        <name>Notification Trigger and Rate Calculation</name>
        <t>A transit node SHOULD generate a Rate-Down Notification when
   conditions indicative of impending congestion are met for a specific
   slice or queue, suggesting the rate should be lowered. Example
   trigger conditions include:</t>
        <ul spacing="normal">
          <li>
            <t>Buffer accumulation exceeding a configured high watermark (e.g., 75%
of queue depth) for a sustained period.</t>
          </li>
          <li>
            <t>Sustained high queueing delay for a particular traffic priority.</t>
          </li>
        </ul>
        <t>A node (transit or egress) SHOULD generate a Rate-Up Notification
   when conditions indicate that bandwidth is underutilized along the
   SRv6 path, suggesting the rate could be safely increased. Example 
   trigger conditions include:</t>
        <ul spacing="normal">
          <li>
            <t>Queue buffer is not occupied and the link utilization for the traffic 
   class is lower than a configured watermark (e.g., 50%) for a sustained period.</t>
          </li>
        </ul>
        <t>The method for calculating the MinRate and MaxRate values is
   implementation-specific. MinRate could be set to guarantee a minimum 
   service rate or derived from the original CIR.  The notification is 
   advisory and the final decision to enforce resides at the headend node.</t>
        <ul spacing="normal">
          <li>
            <t>For Rate-Down notifications, MaxRate might be derived from the available
   buffer and queue depth.</t>
          </li>
          <li>
            <t>For Rate-Up notifications, MaxRate might be increased based on the 
   detected spare capacity.</t>
          </li>
        </ul>
      </section>
    </section>
    <section anchor="message-formats">
      <name>Message Formats</name>
      <t>The rate notification message can be encapsulated in either
   ICMPv6 <xref target="RFC4443"/> or UDP <xref target="RFC768"/> messages as described in the 
   followings sections.</t>
      <section anchor="icmpv6-message-format">
        <name>ICMPv6 message format</name>
        <t>A new ICMPv6 message format for the SRv6 fast rate notification is as following:</t>
        <artwork><![CDATA[

    0                   1                   2                   3
    0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |  Type=TBD1    |      Code     |           Checksum            |
   +---------------+---------------+-------------------------------+
   |R|     Flags   |     Priority  |          Reserved             |
   +---------------+---------------+-------------------------------+
   |                            MinRate                            |
   +---------------------------------------------------------------+
   |                            MaxRate                            |
   ----------------------------------------------------------------+
   |                            Slice ID                           |
   +---------------------------------------------------------------+

]]></artwork>
        <t>Where:</t>
        <ul spacing="normal">
          <li>
            <t>Type and Code: TBD1, 16bits, indicate the rate notification type and its sub-type.</t>
          </li>
          <li>
            <t>Checksum: 16bits, it is used for error-checking the packet.</t>
          </li>
          <li>
            <t>R (Rate Control Flag):  1 bit, it set to 0 indicates a Rate-Down notification, 1 indicates a
Rate-Up notification. Other bits in the Flags octet are for future use.</t>
          </li>
          <li>
            <t>Priority: 8bits, the queue priority identifier. It identifies the queue or traffic class priority 
within the slice. Enables head node to map the notification to a specific queue.</t>
          </li>
          <li>
            <t>MinRate: 32bits, the recommended minimum data rate in bits per second (bps) for the head node to 
shape the flows within the slice or queue, typically corresponding to the CIR of the slice to 
guarantee minimum service rate. The headend node should ensure traffic shaping is not below this rate.</t>
          </li>
          <li>
            <t>MaxRate: 32bits, the recommended maximal rate in bps for the head node to shape the flows within 
the slice or queue, typically corresponding to the PIR of the slice. The headend node should 
dynamically adjust this rate based on network conditions.</t>
          </li>
          <li>
            <t>Slice ID: 32bits, the slice identifier for the network slice or flows to which this rate adjustment 
applies. It could map to an SRv6 SID or a local policy identifier known to both head and transit nodes.</t>
          </li>
        </ul>
      </section>
      <section anchor="udp-packet-format">
        <name>UDP Packet Format</name>
        <t>A new UDP packet format for the SRv6 fast rate notification is as following:</t>
        <artwork><![CDATA[
    0                   1                   2                   3
    0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |     UDP source port           |   UDP destination port=TBD2   |
   +-------------------------------+-------------------------------+
   |          UDP length           |           UDP checksum        |
   +---------------+---------------+-------------------------------+
   |     Flags     |    Priority   |          Reserved             |
   +---------------+---------------+-------------------------------+
   |                            MinRate                            |
   +---------------------------------------------------------------+
   |                            MaxRate                            |
   ----------------------------------------------------------------+
   |                            Slice ID                           |
   +---------------------------------------------------------------+  
   
]]></artwork>
        <t>Where:</t>
        <ul spacing="normal">
          <li>
            <t>Source Port: (16 bits) UDP source port of the notification sender.</t>
          </li>
          <li>
            <t>Destination Port: (16 bits) TBD2 (To Be Assigned by IANA). A new well-known port for SRv6 Fast Rate Notification.</t>
          </li>
          <li>
            <t>UDP Length &amp; Checksum: As defined in <xref target="RFC768"/>.</t>
          </li>
          <li>
            <t>Flags, Priority, Reserved, MinRate, MaxRate, Slice ID: Semantics identical to the fields defined in Section 4.1.</t>
          </li>
        </ul>
      </section>
    </section>
    <section anchor="security-considerations">
      <name>Security Considerations</name>
      <t>To be discussed in future versions of this document.</t>
    </section>
    <section anchor="iana-considerations">
      <name>IANA Considerations</name>
      <t>This document requests IANA to allocate a new ICMP message type and UDP port.</t>
    </section>
  </middle>
  <back>
    <references anchor="sec-combined-references">
      <name>References</name>
      <references anchor="sec-normative-references">
        <name>Normative References</name>
        <reference anchor="RFC768">
          <front>
            <title>User Datagram Protocol</title>
            <author fullname="J. Postel" initials="J." surname="Postel"/>
            <date month="August" year="1980"/>
          </front>
          <seriesInfo name="STD" value="6"/>
          <seriesInfo name="RFC" value="768"/>
          <seriesInfo name="DOI" value="10.17487/RFC768"/>
        </reference>
        <reference anchor="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="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>
        <reference anchor="RFC4443">
          <front>
            <title>Internet Control Message Protocol (ICMPv6) for the Internet Protocol Version 6 (IPv6) Specification</title>
            <author fullname="A. Conta" initials="A." surname="Conta"/>
            <author fullname="S. Deering" initials="S." surname="Deering"/>
            <author fullname="M. Gupta" initials="M." role="editor" 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). [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="STD" value="89"/>
          <seriesInfo name="RFC" value="4443"/>
          <seriesInfo name="DOI" value="10.17487/RFC4443"/>
        </reference>
      </references>
      <references anchor="sec-informative-references">
        <name>Informative References</name>
        <reference anchor="RFC8754">
          <front>
            <title>IPv6 Segment Routing Header (SRH)</title>
            <author fullname="C. Filsfils" initials="C." role="editor" surname="Filsfils"/>
            <author fullname="D. Dukes" initials="D." role="editor" surname="Dukes"/>
            <author fullname="S. Previdi" initials="S." surname="Previdi"/>
            <author fullname="J. Leddy" initials="J." surname="Leddy"/>
            <author fullname="S. Matsushima" initials="S." surname="Matsushima"/>
            <author fullname="D. Voyer" initials="D." surname="Voyer"/>
            <date month="March" year="2020"/>
            <abstract>
              <t>Segment Routing can be applied to the IPv6 data plane using a new type of Routing Extension Header called the Segment Routing Header (SRH). This document describes the SRH and how it is used by nodes that are Segment Routing (SR) capable.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8754"/>
          <seriesInfo name="DOI" value="10.17487/RFC8754"/>
        </reference>
      </references>
    </references>
    <?line 291?>



  </back>
  <!-- ##markdown-source:
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
ZoMK3ccb9utT+lKr2/knDx2f5v0uAAA=

-->

</rfc>
