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 <[email protected]>
> ---
>  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

Reply via email to