[PATCH for-next 0/8] RDMA/erdma: Support the RoCEv2 protocol

Boshi Yu
2024-11-26T07:04:00Z

Hi,

This patch series introduces support for the RoCEv2 protocol into the
erdma driver. As the most prevalent RDMA protocol, RoCEv2 is widely
used in the production environment. Given the extensive application of
erdma across various scenarios in the Alibaba Cloud, there has arisen a
requirement for erdma to support the RoCEv2 protocol. Therefore, we update
both the erdma hardware and the erdma driver to accommodate the RoCEv2
protocol.

- #1 adds the device probe logic for the erdma RoCEv2 device.
- #2~#4 implement resource management interfaces required by the erdma
RoCEv2 device, such as the GID table, PKey and address handle.
- #5~#6 implment the modify QP interface for the erdma RoCEv2 device and
reformat the code of modify_qp interface to improve readability.
- #7 introduces the query_qp command to obtain several qp attributes
from the hardware.
- #8 extends the procedure for create_qp, post_send and poll_cq interfaces
to support UD QPs and UD WRs.

Thanks,
Boshi Yu

Boshi Yu (8):
RDMA/erdma: Probe the erdma RoCEv2 device
RDMA/erdma: Add GID table management interfaces
RDMA/erdma: Add the erdma_query_pkey() interface
RDMA/erdma: Add address handle implementation
RDMA/erdma: Add erdma_modify_qp_rocev2() interface
RDMA/erdma: Reformat the code of the modify_qp interface
RDMA/erdma: Add the query_qp command to the cmdq
RDMA/erdma: Support UD QPs and UD WRs

drivers/infiniband/hw/erdma/Kconfig | 2 +-
drivers/infiniband/hw/erdma/erdma.h | 8 +-
drivers/infiniband/hw/erdma/erdma_cm.c | 71 +--
drivers/infiniband/hw/erdma/erdma_cq.c | 65 +++
drivers/infiniband/hw/erdma/erdma_hw.h | 135 +++++-
drivers/infiniband/hw/erdma/erdma_main.c | 57 ++-
drivers/infiniband/hw/erdma/erdma_qp.c | 299 +++++++++---
drivers/infiniband/hw/erdma/erdma_verbs.c | 524 +++++++++++++++++++---
drivers/infiniband/hw/erdma/erdma_verbs.h | 171 +++++--
9 files changed, 1134 insertions(+), 198 deletions(-)

--
2.43.5