The primary goal of this series is to extend mlx5 packet pacing (rate
limit) beyond raw packet QPs to cover UD and UC QPs while keeping the
IB core free of vendor-specific policy for non-standard modify
attributes.
Today, IB_QP_RATE_LIMIT is restricted by the IB core qp_state_table
to RC QPs only. It is also the only non-standard modify QP attribute,
but as rate limit support expands across vendors, and as additional
non-standard attributes are likely to follow, centralizing such policy
in the core becomes impractical. Each driver is better positioned to
enforce its own supported QP types and transitions over non-standard
attributes. The series therefore removes IB_QP_RATE_LIMIT from the
qp_state_table and modifies the affected vendor drivers to validate the
attribute locally, preserving their existing behavior.
The patches are ordered so that every vendor driver validates
the attribute internally before the core delegation takes effect.
Patches 1-5 implement the mlx5 feature itself, patches 6-7 prepare
bnxt_re and ionic, and patch 8 performs the IB core change.
Signed-off-by: Edward Srouji <edwards@nvidia.com>
---
Maher Sanalla (8):
net/mlx5: Add UD and UC packet pacing caps
RDMA/mlx5: Refactor raw packet QP rate limit handling
RDMA/mlx5: Add support for rate limit in UD and UC QPs
RDMA/mlx5: Support deferred rate limit configuration
RDMA/mlx5: Report packet pacing capabilities when querying device
RDMA/bnxt_re: Validate rate limit attribute in modify QP
RDMA/ionic: Validate rate limit attribute in modify QP
IB/core: Delegate IB_QP_RATE_LIMIT validation to drivers
drivers/infiniband/core/verbs.c | 13 +-
drivers/infiniband/hw/bnxt_re/ib_verbs.c | 22 ++-
drivers/infiniband/hw/ionic/ionic_controlpath.c | 21 +-
drivers/infiniband/hw/mlx5/main.c | 37 ++--
drivers/infiniband/hw/mlx5/mlx5_ib.h | 1 +
drivers/infiniband/hw/mlx5/qp.c | 253 +++++++++++++++++-------
include/linux/mlx5/mlx5_ifc.h | 8 +-
include/linux/mlx5/qp.h | 1 +
8 files changed, 256 insertions(+), 100 deletions(-)
---
base-commit: 67464f388d52ec172be62c99fc43697437ffa384
change-id: 20260524-packet-pacing-bef6875f3970
Best regards,
--
Edward Srouji <edwards@nvidia.com>