[PATCH rdma-next 0/8] RDMA: Extend packet pacing support to UD and UC QPs

Edward Srouji posted 8 patches an hour ago
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(-)
[PATCH rdma-next 0/8] RDMA: Extend packet pacing support to UD and UC QPs
Posted by Edward Srouji an hour ago
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>