On Wed, May 20, 2026 at 04:24:16PM +0100, Bruce Richardson wrote:
> On Wed, May 20, 2026 at 03:07:16PM +0000, Ciara Loftus wrote:
> > The leaf node ID boundary is checked against the compile-time constant
> > `RTE_MAX_QUEUES_PER_PORT` (1024) rather than the number of configured Tx
> > queues. The rte_tm specification reserves IDs 0 to N-1 for leaf nodes
> > where N is the configured queue count, so using the constant produces
> > wrong results whenever N is less than 1024.
> > 
> > Fix by using `nb_tx_queues` as the boundary when queues have been
> > configured, falling back to `RTE_MAX_QUEUES_PER_PORT` when `nb_tx_queues`
> > is zero. The zero case arises when the TM hierarchy is built before port
> > queue configuration, which is required to support queue counts beyond
> > the hardware default.
> > 
> > Also add an explicit check in the non-leaf validation path that rejects
> > IDs in the leaf-reserved range. This condition can be triggered two ways:
> > adding a leaf node before its parent chain is complete (the node resolves
> > to a non-leaf level), or assigning a leaf-range ID to a node intended
> > as non-leaf.
> > 
> > Fixes: 715d449a965b ("net/ice: enhance Tx scheduler hierarchy support")
> > Cc: [email protected]
> > 
> > Signed-off-by: Ciara Loftus <[email protected]>
> > ---
> Acked-by: Bruce Richardson <[email protected]>

Applied to dpdk-next-net-intel.
Thanks,
/Bruce

Reply via email to