This patch series is a collection of API extensions for the rdma_rxe driver. With this patch set installed there are no errors in pyverbs run-tests and 31 tests are skipped down from 56. The remaining skipped test cases include - XRC tests - ODP tests - Parent device tests - Import tests - Device memory - MLX5 specific tests - EFA tests It continues from the previous (v4) set which implemented memory windows and has had a number of individual patches picked up in for-next. This set (v5) includes: Ported to current head of tree Memory windows patches not yet picked up kernel support for the extended user space APIs: - ibv_query_device_ex - ibv_create_cq_ex - ibv_create_qp_ex Fixes for multicast which is not currently working This patch set depends on a matching rdma-core user space library patch set. In order to run correctly it is necessary to configure by hand the EUI64 link local IPV6 address on systems which use a random link local address (like Ubuntu). Bob Pearson (12): rdma_rxe: Separate MEM into MR and MW objects. rdma_rxe: Enable MW objects rdma_rxe: Let pools support both keys and indices rdma_rxe: Add alloc_mw and dealloc_mw verbs rdma_rxe: Add bind_mw and invalidate_mw verbs rdma_rxe: Add memory access through MWs rdma_rxe: Add support for ibv_query_device_ex rdma_rxe: Add support for extended CQ operations rdma_rxe: Add support for extended QP operations rdma_rxe: Fix pool related bugs for multicast rdma_rxe: Fix multicast group allocation bug rdma_rxe: Fix bugs in the multicast receive path drivers/infiniband/sw/rxe/Makefile | 1 + drivers/infiniband/sw/rxe/rxe.c | 100 ++++-- drivers/infiniband/sw/rxe/rxe_comp.c | 12 +- drivers/infiniband/sw/rxe/rxe_cq.c | 12 +- drivers/infiniband/sw/rxe/rxe_loc.h | 43 ++- drivers/infiniband/sw/rxe/rxe_mcast.c | 110 ++++--- drivers/infiniband/sw/rxe/rxe_mr.c | 350 +++++++++++---------- drivers/infiniband/sw/rxe/rxe_mw.c | 416 +++++++++++++++++++++++++ drivers/infiniband/sw/rxe/rxe_opcode.c | 11 +- drivers/infiniband/sw/rxe/rxe_opcode.h | 1 - drivers/infiniband/sw/rxe/rxe_param.h | 10 +- drivers/infiniband/sw/rxe/rxe_pool.c | 330 +++++++++++++------- drivers/infiniband/sw/rxe/rxe_pool.h | 109 +++++-- drivers/infiniband/sw/rxe/rxe_recv.c | 64 ++-- drivers/infiniband/sw/rxe/rxe_req.c | 113 ++++--- drivers/infiniband/sw/rxe/rxe_resp.c | 125 +++++--- drivers/infiniband/sw/rxe/rxe_verbs.c | 101 +++--- drivers/infiniband/sw/rxe/rxe_verbs.h | 64 ++-- include/uapi/rdma/rdma_user_rxe.h | 68 +++- 19 files changed, 1448 insertions(+), 592 deletions(-) create mode 100644 drivers/infiniband/sw/rxe/rxe_mw.c -- 2.25.1