Hi Stephen, > mlx5_get_queue_rate_limit() doesn't bounds-check queue_idx before > array access (the ethdev layer does, but the set path checks it > too - inconsistent).
the fix in v4 goes in another direction: the redundant check was removed from the setter as well, not added to the getter. Both rte_eth_set_queue_rate_limit() and rte_eth_get_queue_rate_limit() in the ethdev layer validate queue_idx >= nb_tx_queues before calling the driver op. The driver callbacks can therefore assume this precondition is met. In v4, neither mlx5_set_queue_rate_limit() nor mlx5_get_queue_rate_limit() checks queue_idx bounds, ethdev is the single validation point for both. Best regards, Vincent

