[PATCH] net/ice: add per-queue Tx rate limit support
Bruce Richardson
bruce.richardson at intel.com
Thu Sep 10 12:29:53 CEST 2026
On Thu, Sep 10, 2026 at 10:04:32AM +0000, Anurag Mandal wrote:
> The Tx rate can be limited per queue with
> ethdev operation ``rte_eth_set_queue_rate_limit()``
> and can be read through ``rte_eth_get_queue_rate_limit()``.
>
> This feature uses the hardware packet pacing
> mechanism to enforce a data rate on individual
> Tx queues without tearing down the queue.
>
> The rate is specified in Mbps.
>
> ice_set_queue_rate_limit() applies the requested rate
> as the EIR (maximum bandwidth) limit of the queue
> scheduler node using ice_cfg_q_bw_lmt(),
> converting the Mbps value taken by the API to the Kbps
> expected by the scheduler.
> A rate of 0 removes the limit and restores the default
> bandwidth via ice_cfg_q_bw_dflt_lmt().
>
> ice_get_queue_rate_limit() reads back the value cached
> in the queue context by the scheduler on a successful
> set, and reports 0 when the queue runs unlimited.
>
> Signed-off-by: Anurag Mandal <anurag.mandal at intel.com>
> ---
> doc/guides/nics/features/ice.ini | 1 +
> doc/guides/rel_notes/release_26_11.rst | 3 +
> drivers/net/intel/ice/ice_ethdev.c | 77 ++++++++++++++++++++++++++
> 3 files changed, 81 insertions(+)
>
Is this functionality not overlapping with what the rte_rm APIs provide for
ice? Using the rte_rm hierarchies, it's possible to rate limit a queue, no?
/Bruce
More information about the dev
mailing list