<?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.39 (Ruby 3.2.3) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-xz-rtgwg-ppfc-gateway-00" category="std" consensus="true" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.34.0 -->
  <front>
    <title abbrev="Precise Priority-based Flow Control with Gateway ">Precise Priority-based Flow Control with Gateway</title>
    <seriesInfo name="Internet-Draft" value="draft-xz-rtgwg-ppfc-gateway-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>
    <date year="2026" month="June" day="15"/>
    <workgroup>rtgwg</workgroup>
    <abstract>
      <?line 32?>

<t>This document proposes Precise Priority-based Flow Control (PPFC) mechanism implemented at
the network gateway, it designed to efficiently manage congestion in scenarios where 
multiple flows converge toward a common destination. By enabling fast, per-flow 
congestion control at the network gateway, PPFC allows incoming traffic destined 
for a congested bottleneck to be paused or rate-limited before entering the network. 
This approach decouples the congestion feedback loop from the end-to-end data path, 
significantly reducing reaction time and improving the effectiveness of congestion management.</t>
    </abstract>
  </front>
  <middle>
    <?line 42?>

<section anchor="introduction">
      <name>Introduction</name>
      <t>In modern network deployments such as data centers and wide-area interconnections, multiple source clients frequently 
communicate through a shared ingress gateway. When substantial traffic is directed to a common server, these flows 
often converge onto a single bottleneck link within the network. Traditional end-to-end congestion control mechanisms��such
 as BBR and ECN��rely on feedback that must traverse the full return path to senders, introducing at least one round-trip 
 time (RTT) of delay before rate adjustments take effect. This delay is particularly problematic in high-throughput, 
 low-latency environments where transient congestion can severely impact performance.</t>
      <t>The PPFC (Precise Priority-based Flow Control) as per <xref target="I-D.xz-rtgwg-ppfc-notification"/> can address this limitation by enabling 
network-assisted congestion control near the sources clients. The key idea is to instantaneously pause or 
throttle sources at the ingress point (e.g., a gateway), allowing the network to quickly recover from congestion.</t>
      <t>This document proposes an enhancement to existing congestion control by introducing a PPFC mechanism 
at the gateway. By deploying PPFC at a gateway that aggregates traffic from multiple sources destined for a
common destination, the gateway can prevent new flows from exacerbating existing congestion. 
It will significantly mitigate the congested link when the traffic transfers to the same destination.</t>
    </section>
    <section anchor="conventions">
      <name>Conventions Used in This Document</name>
      <section anchor="abbreviations">
        <name>Abbreviations</name>
        <t>PPFC:  Precise Priority-based Flow Control</t>
        <t>RTT:  Round-Trip Time</t>
        <t>TCP:  Transfer Control Protocol</t>
        <t>RDMA: Remote Direct Memory Access Round-Trip Time</t>
        <t>QUIC: Quick UDP Internet Connections</t>
        <t>ECN: Explicit Congestion Notification</t>
        <t>PFC: Priority-based Flow Control</t>
        <t>RoCEv2: RDMA over Converged Ethernet version 2</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="flow-control">
      <name>Precise Priority-based Flow Control with Gateway</name>
      <t>Upon receiving the congestion in PPFC mechanism, the gateway can record the states and 
apply immediate congestion control to any subsequent traffic for that server. Furthermore, the gateway can 
perform source flow control, when new traffic arrives, it may reject or pause new flows to prevent worsening 
existing congestion.</t>
      <t>The following figure illustrates this interaction:</t>
      <artwork><![CDATA[
               3-PPFC Notification (e.g.Server, Pause, 10us)
         ***************************************************
         *                     *                           *
         *                     *                           *
         *                     *                           *
         V                     V                           *
    +---+----+ 1-Traffic A +---+---+     +-------+     +---+---+     +-------+
    |Client A|<----------->|Gateway|<--->|Node X |<--->|Node Y |<--->|Server |
    +--------+      +----->+-------+     +-------+     +-------+     +-------+
         4-Traffic B|  ****+                           2-Congestion
    +--------+      |  *                                 Occurs                 
    |Client B+<-----+  * 5-PPFC Fast Feedback (e.g.Server, Pause, 10us)
    +--------+<********* 
                                 
                         Figure 1: PPFC Mechanism at Gateway

]]></artwork>
      <t>The example at gateway is shown in Figure 1 and the steps are as follows.</t>
      <t>Step 1: Client A sends traffic to the Server via the Gateway, Node X, and Node Y.</t>
      <t>Step 2: Congestion occurs at the interface of Node Y towards the Server.</t>
      <t>Step 3: Node Y generates an PPFC Notification containing the destination (Server) and a pause duration (10us),
sending it to the Node X and the Node X transits it to the the Gateway.</t>
      <t>Step 4: Client B attempts to send traffic to the same Server.</t>
      <t>Step 5: The Gateway, having recorded the congested state for the Server, applies source flow control to 
Client B's new traffic. This may involve holding packets or sending an PPFC Feedback message with pause duration (e.g. 10us).
which may apply the format as per <xref target="I-D.xz-rtgwg-ppfc-rocev2"/> to Client B, preventing its traffic from entering 
the network and aggravating the congestion at Node Y.</t>
    </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 does not currently require any IANA actions.</t>
    </section>
    <section anchor="contributors">
      <name>Contributors</name>
      <t>The following people have substantially contributed to this document:</t>
      <artwork><![CDATA[
 
Qinghua Shao
ZTE Corporation
Email: shao.qinghua@zte.com.cn

]]></artwork>
    </section>
  </middle>
  <back>
    <references anchor="sec-normative-references">
      <name>Normative References</name>
      <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="I-D.xz-rtgwg-ppfc-rocev2">
        <front>
          <title>*** BROKEN REFERENCE ***</title>
          <author>
            <organization/>
          </author>
          <date/>
        </front>
      </reference>
      <reference anchor="I-D.xz-rtgwg-ppfc-notification">
        <front>
          <title>Precise Priority-based Flow Control Notification</title>
          <author fullname="Quan Xiong" initials="Q." surname="Xiong">
            <organization>ZTE Corporation</organization>
          </author>
          <author fullname="Xiangyang Zhu" initials="X." surname="Zhu">
            <organization>ZTE Corporation</organization>
          </author>
          <date day="12" month="June" year="2026"/>
          <abstract>
            <t>   This document specifies the notification mechanism for Precise
   Priority-based Flow Control (PPFC), defining the message formats and
   network actions for communicating congestion information among
   network nodes.  The PPFC notification enables rapid congestion
   signaling, allowing per-flow flow control for traffic from source.

            </t>
          </abstract>
        </front>
        <seriesInfo name="Internet-Draft" value="draft-xz-rtgwg-ppfc-notification-00"/>
      </reference>
    </references>
    <?line 158?>



  </back>
  <!-- ##markdown-source:
H4sIAAAAAAAAA81Y3XLbuBW+14zeARNf1N6ImjjJTltNJlNbtree8V9suc3u
HURCItYkwQCgZSVO3qzTR+or9DsHJEXJWm+2V2XiEX+Ag/Pzne8cIIqifu9+
JN70e4mJC5mrkUisnPno4XNk/Xwxj8pyFkdz6dVCLqNXr/q9WPqRcD7p91w1
zbVz2hR+WWLm6fHkpN/z2md4uLIq1k7hVxur/TKaSqcScZKZhRhjhjWZWGif
ip+C7H5PTqdWQZn3/Z74H6Yv5iPBKvd7kFX51NgR3UYi2PWhkoX4CGXnJN9Y
DP9lcgxhtjRWenyg9yqXOhuJBxo3/IQpf/vs1TA2+TAuBC4as5L5UctivsSf
+CWtvkPs57QaPjRzOpJJz8LYHOPv1YgmXJ+MX+/v/7W5/8v+n9/y/Wl0NFyP
jTWxun/9Gx8L4/VMx6wHe0MXs846zb8oioScOm9l7Ol5kmongIgqV4UXpTWl
ccp9V1B2r65OxnsiV3EqC+1yofMyUyQHIyWk+1SJQvmFsXeixtVAaC8S5fS8
wCBvhJpBaY052VLkspBzJWIERDmyQ+hCuFgVElo4sUiVVQhJXmVeYyUxgzaO
ht8ri3neLKTFyniT55ickJCCHTIUh0sBOdNMI4Iz6fxAlMpGJAESOyvGtXHS
i63qk81CZryyLrASCYQ3yYx6RRjW78H3rAkLxpup8UiWQsV3ZPVUiVJW5FEM
A3ZUlOlc8ziFmUqQEy2LXikxFHW4ZIk4yTjFerGp4AnHwzpWzJRKphJrZcaU
YmZNziNUkUTeRPgRifQSOvh0AKkUDgYPh8GqpIppbasAEhLnda6ExCxE2Jr7
Ri/ETsWEr0I5J8ysq0GIJYFh2MAu10mSKXraEafkZSzDY7/s6M7jVxpxCgkm
UbZoI5CoMjNLEuiEq2C8dMGImH3lWL+FTlQkoTdig5fQp1As1A1ECxtnKhvD
XZlmYTOrPlUBgISEPK8KSiPgKbWmmmMh4VLIhPXF3JKlNRiG4p+pAkArpBM8
p2XWAoFySiOFfAB5C0mnLLA6IO+5Br/9npl5VaxwDATSFIfloG0HOADvHVMh
0mINFxMrE01mQoVOjLfAuk1W959//wv/yZPgE/jy8PCaXXg8vgifrIJHuljy
KZIir5wnM6GqU6zFrMoyQMVXCBYBigx2WB4DBqIJLEEGszOF1INQJeBaUtTq
koiWAbZ7PZnsEYwSlcllkwmUHUImv2LdEHwv7xrowXKmLx6Pm1Jar+Mqkxaq
A6lT0BHyPyYeSfU8jeqQlpUn2CM7FlEG+UVM7HCvrSnCGoFqYGbhCCRrnpQU
RphP7kE+IEWISphri1gNA6mqQBS738Gje+R9SBBfvjzP6l+/8uIySRiFnkxn
2uCvYtphONSYgI1IomozAW0BQ6Gk5RCGjHBNSpBblbhTsC+hVHIUUl0wymWh
TOXIvcRfRF/E85ZB2sqpybPJl9IABmJXDefDAYBdp8/eIPDoBsvRWp8qHd8x
E8UGng4EtjKAiPA3Kxc8pIqUQsHvqcQ8aKLl+TYXwGlrEA1hW5U09BfBljbn
UUgCFdH4UA38yqiQJHIOw+mNaxmBTdigILcqGFwuAv2sV65Bd3WOf4nWiSwr
1KJmEJatHmSs7FSypVtMJqedetAHsnWd74EgPQ+EpzoVK7ANMRy9b+zgnJgR
38KzjB20R2ulNvQZOwRv0pPIV9w6ps+QrkdNzL7sxKsxTPs7O+KAe0PNshy9
QytGbh59V6dYTwCTYPw1c8yEOGYCgqm/TcZX+Dap7Wi7mStg2MQrCUfnByNx
rXIDxxwxl4tzPNmlOIhjQvV26R9uT8fUgQLA4vboigodqpjytE5Ti+qhYNqR
OH4oMzRA/L0B50Un6RsPkAO+w24zPkaHyNoLTp1xXVVA7IgWa0LUTcu8rj1+
jfoHAwPznaFdrVC5G2fVRIDMTJx4cX57M3kxCL/i4pLvr49h8/XxEd3f/P3g
7Ky9CSNYDl5c3p7VY+huNXt8eX5+fHEUBOCt2Hh1fvAzflCagqDLq8np5cXB
2QvBVbDLAZI4m5srrv5IFO5EOc1iq6cBg4fjK5a0/xaMWzffoFa+p+Yb94R6
XhKlCgkSHuG+JbVeRJoQA+5iMbEswcAZah0WcqlZoNSgOAxDEvzRzQ1ygnI6
qvmJk+K2RLAgR+m281pvkdc56yljEI2iMeZs9cxKZBqorSy5huUq0ZT/W/iR
OpFiyT1O6JJWhGZsILvQ0wzFSWUJYUgR9VSFfq+ukU33xZ13vcog0AwRWiNd
Wou+0vF2IZdUCX6lDMSaoe6syA8aNowIkKLxCPVvGwM2pXlmmroz0/MKoAEn
VrQlYsImSDF+QvPLe6dv377VCdG93kTs+W66hip3U7d5V6TrQOy/qtxeZ/YP
f/zqzhbbru1v62//J7P/sXXE9rdrs19i+0B/0UuxD8YNEDloX78UzaBo7WnL
tyDvccyNjjh4fBetrvePdRLy2/ePF9iAiI+i+/Rz8xQiLB5X+nXWrp/fP9Xo
d5863nrbWnr4GDDz8hlPvY5WBWS7Uo/PBypcl3FcobZvXutuO3z5rhH8g/gx
JMEJNfYnzVbhd7Jgpdq7FuHiSXo9vZ4ZchIyeX8U2PC87eDAUO3BUZvIxAJo
mOi8ggY0TKUbBgepNgKZKwN1qtJxjQHRBwpxTCk3+EALN6Di3c+q86v7pBox
6Gz48afmQCGgLFSbgLGVUFTyTltgQmza5hoUNUPPRzumGpzhBMR11lvJejNq
Rs2xm7R1GRBPGYxIWeqiKTWd1k7sBqF7rKysqTipbP2VI4x6T/bTdO0b4+tU
alxZP4b9FZqO1cCOa1aqv219ewjrvcpL75pd5qabuR3dtP3HETcyrc9TeR/O
N6guqmSj8eUaWde3RtaAKj90cNvqF63d7zUq/sl1K1m9RaUapot7k90rkZqM
3YOt452CJVio8VgTkDaRcnSadCbGPcKmvynJQlrB1EWq45TXCWWdt+Z8APjc
/jIcKaLlgQmNAYOmoIYYbuxh2pOp9fM9RgS2PfI+7EA2uhRo0QE3dUY3CmhG
R0QId9hnBqMcGiBXf6EmqPOFe6EJt3eJdnHl6j3FrPKUqHVXy+dQa21h3Ymd
HlwcPF1Ly0JuXWetsUwMAo+tuIBiVtWHZNw0c3fEokO34LrbH4+es/JoSsJO
p338+rQRKZUhLgIwVfdACQu1E8NR0pppTW/CzNjvfYCktJLiJpWm33tyNn0c
TqYdvg4/haEbB9M1O9JhHaGv3/svo10v9TYYAAA=

-->

</rfc>
