[GIT PULL] Please pull RDMA subsystem changes

From: Jason Gunthorpe

Date: Mon Apr 20 2026 - 08:19:23 EST


Hi Linus,

There was a last minute userspace regression reported, so this is a
little later than I usually send it.

There are three merge conflicts this time, one is silent.

1) The struct member wad renamed in the DMABUF tree:

+++ b/drivers/infiniband/core/umem_dmabuf.c

+static struct dma_buf_attach_ops ib_umem_dmabuf_attach_pinned_revocable_ops = {
+ .allow_peer2peer = true,
- .move_notify = ib_umem_dmabuf_revoke_locked,
++ .invalidate_mappings = ib_umem_dmabuf_revoke_locked,
+};


2) Overlapping removals:

+++ b/drivers/infiniband/hw/mlx5/mr.c
@@@ -46,15 -46,14 +46,13 @@@
#include "data_direct.h"
#include "dmah.h"

- #define MLX5_UMR_ALIGN 2048
-
-enum {
- MAX_PENDING_REG_MR = 8,
-};
+static int mkey_max_umr_order(struct mlx5_ib_dev *dev)
+{
+ if (MLX5_CAP_GEN(dev->mdev, umr_extended_translation_offset))
+ return MLX5_MAX_UMR_EXTENDED_SHIFT;
+ return MLX5_MAX_UMR_SHIFT;
+}

-#define MLX5_MR_CACHE_PERSISTENT_ENTRY_MIN_DESCS 4
-
-static void
-create_mkey_callback(int status, struct mlx5_async_work *context);

3) rxe_ns_pernet_sk6:

+++ b/drivers/infiniband/sw/rxe/rxe_net.c
@@@ -141,9 -138,9 +141,7 @@@ static struct dst_entry *rxe_find_route
memcpy(&fl6.daddr, daddr, sizeof(*daddr));
fl6.flowi6_proto = IPPROTO_UDP;

- ndst = ipv6_stub->ipv6_dst_lookup_flow(net,
- rxe_ns_pernet_sk6(net), &fl6,
- NULL);
- ndst = ip6_dst_lookup_flow(sock_net(recv_sockets.sk6->sk),
- recv_sockets.sk6->sk, &fl6,
- NULL);
++ ndst = ip6_dst_lookup_flow(net, rxe_ns_pernet_sk6(net), &fl6, NULL);
if (IS_ERR(ndst)) {
rxe_dbg_qp(qp, "no route to %pI6\n", daddr);
return NULL;

The tag for-linus-merged with my merge resolution to your tree is also
available to pull.

Thanks,
Jason

The following changes since commit 7aaa8047eafd0bd628065b15757d9b48c5f9c07d:

Linux 7.0-rc6 (2026-03-29 15:40:00 -0700)

are available in the Git repository at:

git://git.kernel.org/pub/scm/linux/kernel/git/rdma/rdma.git tags/for-linus

for you to fetch changes up to 9091e3b59f2bef11c0a841096327565ae0ca220b:

RDMA/core: Fix user CQ creation for drivers without create_cq (2026-04-17 12:16:00 -0300)

----------------------------------------------------------------
RDMA v7.1 merge window

Usual collection of driver changes, more core infrastructure updates that
typical this cycle:

- Minor cleanups and kernel-doc fixes in bnxt_re, hns, rdmavt, efa, ocrdma,
erdma, rtrs, hfi1, ionic, and pvrdma

- New udata validation framework and driver updates

- Modernize CQ creation interface in mlx4 and mlx5, manage CQ umem in core

- Promote UMEM to a core component, split out DMA block iterator logic

- Introduce FRMR pools with aging, statistics, pinned handles, and netlink
control and use it in mlx5

- Add PCIe TLP emulation support in mlx5

- Extend umem to work with revocable pinned dmabuf's and use it in irdma

- More net namespace improvements for rxe

- GEN4 hardware support in irdma

- First steps to MW and UC support in mana_ib

- Support for CQ umem and doorbells in bnxt_re

- Drop opa_vnic driver from hfi1

- Fixes:
IB/core zero dmac neighbor resolution race
GID table memory free
rxe pad/ICRC validation and r_key async errors
mlx4 external umem for CQ
umem DMA attributes on unmap
mana_ib RX steering on RSS QP destroy

----------------------------------------------------------------
Chen Zhao (1):
IB/core: Fix zero dmac race in neighbor resolution

Cheng Xu (1):
RDMA/erdma: Remove numa_node from struct erdma_devattr

Chiara Meiohas (1):
RDMA/mlx5: Move device async_ctx initialization

Dean Luick (4):
RDMA/OPA: Update OPA link speed list
RDMA/rdmavt: Add ucontext alloc/dealloc passthrough
RDMA/rdmavt: Correct multi-port QP iteration
RDMA/rdmavt: Add driver mmap callback

Dennis Dalessandro (1):
RDMA/hfi1: Remove opa_vnic

Evan Green (1):
RDMA/rxe: Generate async error for r_key violations

Florian Westphal (1):
RDMA/core: Prefer NLA_NUL_STRING

Jacob Moroni (6):
RDMA/umem: Add ib_umem_dmabuf_get_pinned_and_lock helper
RDMA/umem: Move umem dmabuf revoke logic into helper function
RDMA/umem: Add pinned revocable dmabuf import interface
RDMA/umem: Add helpers for umem dmabuf revoke lock
RDMA/irdma: Add support for revocable pinned dmabuf import
RDMA/irdma: Add support for GEN4 hardware

Jason Gunthorpe (29):
RDMA: Use copy_struct_from_user() instead of open coding
RDMA/core: Add rdma_udata_to_dev()
RDMA: Add ib_copy_validate_udata_in()
RDMA: Add ib_copy_validate_udata_in_cm()
RDMA: Add ib_respond_udata()
RDMA: Add ib_is_udata_in_empty()
RDMA: Provide documentation about the uABI compatibility rules
RDMA/bnxt_re: Add compatibility checks to the uapi path
RDMA/bnxt_re: Add compatibility checks to the uapi path for no data
RDMA/bnxt_re: Add missing comp_mask validation
RDMA/bnxt_re: Use ib_respond_udata()
RDMA/bnxt_re: Use ib_respond_empty_udata()
RDMA: Add IB_UVERBS_CORE_SUPPORT_ROBUST_UDATA
RDMA: Consolidate patterns with offsetofend() to ib_copy_validate_udata_in()
RDMA: Consolidate patterns with offsetof() to ib_copy_validate_udata_in()
RDMA: Consolidate patterns with sizeof() to ib_copy_validate_udata_in()
RDMA: Use ib_copy_validate_udata_in() for implicit full structs
RDMA/pvrdma: Use ib_copy_validate_udata_in() for srq
RDMA/mlx5: Use ib_copy_validate_udata_in() for SRQ
RDMA/mlx5: Use ib_copy_validate_udata_in() for MW
RDMA/mlx4: Use ib_copy_validate_udata_in()
RDMA/mlx4: Use ib_copy_validate_udata_in() for QP
RDMA/hns: Use ib_copy_validate_udata_in()
RDMA: Use ib_copy_validate_udata_in_cm() for zero comp_mask
RDMA/mlx5: Pull comp_mask validation into ib_copy_validate_udata_in_cm()
RDMA/hns: Add missing comp_mask check in create_qp
RDMA/irdma: Add missing comp_mask check in alloc_ucontext
RDMA: Remove redundant = {} for udata req structs
RDMA/hns: Remove the duplicate calls to ib_copy_validate_udata_in()

Jay Bhat (1):
RDMA/irdma: Provide scratch buffers to firmware for internal use

Kai Zen (1):
RDMA/ionic: bound node_desc sysfs read with %.64s

Kalesh AP (3):
RDMA/bnxt_re: Move the UAPI methods to a dedicated file
RDMA/bnxt_re: Refactor bnxt_qplib_create_qp() function
RDMA/bnxt_re: Support doorbell extensions

Kexin Sun (2):
RDMA/uverbs: Update outdated reference to remove_commit_idr_uobject()
RDMA: Remove outdated comments referencing hfi1_destroy_qp()

Konstantin Taranov (2):
RDMA/mana_ib: cleanup the usage of mana_gd_send_request()
RDMA/mana_ib: Support memory windows

Leon Romanovsky (27):
RDMA: Move DMA block iterator logic into dedicated files
RDMA/umem: Allow including ib_umem header from any location
RDMA/umem: Remove unnecessary includes and defines from ib_umem header
RDMA/core: Promote UMEM to a core component
RDMA/core: Manage CQ umem in core code
RDMA/efa: Rely on CPU address in create‑QP
RDMA/core: Prepare create CQ path for API unification
RDMA/core: Reject zero CQE count
RDMA/efa: Remove check for zero CQE count
RDMA/mlx5: Save 4 bytes in CQ structure
RDMA/mlx5: Provide a modern CQ creation interface
RDMA/mlx4: Inline mlx4_ib_get_cq_umem into callers
RDMA/mlx4: Introduce a modern CQ creation interface
RDMA/mlx4: Remove unused create_flags field from CQ structure
RDMA: Complete k[z|m|c]alloc-to-k[z|m]alloc_obj conversion
RDMA/core: Delete not-implemented get_vector_affinity
Add support for TLP emulation
RDMA/core: Remove unused ib_resize_cq() implementation
RDMA: Clarify that CQ resize is a user‑space verb
RDMA: Properly propagate the number of CQEs as unsigned int
RDMA/bnxt_re: Simplify bnxt_re_init_depth() callers and implementation
RDMA/bnxt_re: Remove unnecessary checks in kernel CQ creation path
RDMA/bnxt_re: Replace kcalloc() with kzalloc_objs()
RDMA/bnxt_re: Clean up uverbs CQ creation path
Merge branch 'master' into rdma-next
RDMA/umem: Use consistent DMA attributes when unmapping entries
RDMA/mlx4: Restrict external umem for CQ when copy_to_user() is used

Long Li (1):
RDMA/mana_ib: Disable RX steering on RSS QP destroy

Maher Sanalla (3):
RDMA/mlx5: Refactor VAR table to use region abstraction
RDMA/mlx5: Add TLP VAR region support and infrastructure
RDMA/mlx5: Add support for TLP VAR allocation

Marco Crivellari (2):
RDMA/rtrs: add WQ_PERCPU to alloc_workqueue users
RDMA/rxe: Replace use of system_unbound_wq with rxe_wq

Michael Guralnik (10):
IB/core: Introduce FRMR pools
RDMA/core: Add aging to FRMR pools
RDMA/core: Add FRMR pools statistics
RDMA/core: Add pinned handles to FRMR pools
RDMA/mlx5: Switch from MR cache to FRMR pools
net/mlx5: Drop MR cache related code
RDMA/nldev: Add command to get FRMR pools
RDMA/core: Add netlink command to modify FRMR aging
RDMA/nldev: Add command to set pinned FRMR handles
RDMA/nldev: Expose kernel-internal FRMR pools in netlink

Michael Margolin (2):
RDMA/efa: Rename alloc_ucontext comp_mask to supported_caps
RDMA/core: Fix user CQ creation for drivers without create_cq

Randy Dunlap (4):
IB/cache: avoid kernel-doc warnings
RDMA/umem: fix kernel-doc warnings
RDMA/iwcm: fix some kernel-doc issues in iw_cm.h
RDMA/restrack: fix kernel-doc indicator

Rosen Penev (3):
RDMA/ocrdma: kzalloc_objs to kzalloc_flex
IB/hfi1: kzalloc to kzalloc_flex
RDMA/core: Use kzalloc_flex for GID table

Sriharsha Basavapatna (3):
RDMA/bnxt_re: Refactor bnxt_re_create_cq()
RDMA/bnxt_re: Separate kernel and user CQ creation paths
RDMA/bnxt_re: Support application specific CQs

Yonatan Nachum (3):
RDMA/efa: Rename admin queue attributes struct name for extendability
RDMA/efa: Expose new extended max inline buff size
RDMA/efa: Use extended inline buff size for inline validation

Zhu Yanjun (4):
RDMA/nldev: Add dellink function pointer
RDMA/rxe: Add net namespace support for IPv4/IPv6 sockets
RDMA/rxe: Support RDMA link creation and destruction per net namespace
RDMA/rxe: Add testcase for net namespace rxe

hkbinbin (1):
RDMA/rxe: Validate pad and ICRC before payload_size() in rxe_rcv

zhenwei pi (1):
RDMA/core: Fix memory free for GID table

Documentation/driver-api/infiniband.rst | 15 -
Documentation/infiniband/index.rst | 1 -
Documentation/infiniband/opa_vnic.rst | 159 ---
.../translations/zh_CN/infiniband/index.rst | 1 -
.../translations/zh_CN/infiniband/opa_vnic.rst | 156 ---
MAINTAINERS | 8 +-
drivers/infiniband/Kconfig | 2 -
drivers/infiniband/core/Makefile | 6 +-
drivers/infiniband/core/addr.c | 3 +
drivers/infiniband/core/cache.c | 15 +-
drivers/infiniband/core/cq.c | 3 +
drivers/infiniband/core/device.c | 6 +-
drivers/infiniband/core/frmr_pools.c | 547 +++++++++
drivers/infiniband/core/frmr_pools.h | 63 ++
drivers/infiniband/core/ib_core_uverbs.c | 27 +
drivers/infiniband/core/iter.c | 43 +
drivers/infiniband/core/iwpm_msg.c | 6 +-
drivers/infiniband/core/nldev.c | 298 +++++
drivers/infiniband/core/rdma_core.c | 4 +-
drivers/infiniband/core/rdma_core.h | 3 +
drivers/infiniband/core/umem.c | 15 +-
drivers/infiniband/core/umem_dmabuf.c | 138 ++-
drivers/infiniband/core/uverbs_cmd.c | 40 +-
drivers/infiniband/core/uverbs_ioctl.c | 87 ++
drivers/infiniband/core/uverbs_std_types_cq.c | 41 +-
drivers/infiniband/core/uverbs_std_types_device.c | 8 +
drivers/infiniband/core/verbs.c | 59 +-
drivers/infiniband/hw/bnxt_re/Makefile | 2 +-
drivers/infiniband/hw/bnxt_re/ib_verbs.c | 894 ++++++++-------
drivers/infiniband/hw/bnxt_re/ib_verbs.h | 25 +-
drivers/infiniband/hw/bnxt_re/main.c | 4 +-
drivers/infiniband/hw/bnxt_re/qplib_fp.c | 305 ++----
drivers/infiniband/hw/bnxt_re/qplib_fp.h | 8 +
drivers/infiniband/hw/bnxt_re/qplib_res.c | 47 +-
drivers/infiniband/hw/bnxt_re/qplib_res.h | 10 +
drivers/infiniband/hw/bnxt_re/uapi.c | 469 ++++++++
drivers/infiniband/hw/cxgb4/mem.c | 2 +-
drivers/infiniband/hw/efa/efa.h | 6 +-
drivers/infiniband/hw/efa/efa_admin_cmds_defs.h | 23 +-
drivers/infiniband/hw/efa/efa_com_cmd.c | 55 +-
drivers/infiniband/hw/efa/efa_com_cmd.h | 3 +-
drivers/infiniband/hw/efa/efa_main.c | 3 +-
drivers/infiniband/hw/efa/efa_verbs.c | 123 +--
drivers/infiniband/hw/erdma/erdma.h | 1 -
drivers/infiniband/hw/erdma/erdma_eq.c | 3 +-
drivers/infiniband/hw/erdma/erdma_main.c | 1 -
drivers/infiniband/hw/erdma/erdma_verbs.c | 8 +-
drivers/infiniband/hw/hfi1/Makefile | 4 +-
drivers/infiniband/hw/hfi1/aspm.c | 2 +-
drivers/infiniband/hw/hfi1/chip.c | 54 +-
drivers/infiniband/hw/hfi1/chip.h | 2 -
drivers/infiniband/hw/hfi1/driver.c | 13 +-
drivers/infiniband/hw/hfi1/hfi.h | 20 -
drivers/infiniband/hw/hfi1/init.c | 4 +-
drivers/infiniband/hw/hfi1/mad.c | 1 -
drivers/infiniband/hw/hfi1/msix.c | 4 +-
drivers/infiniband/hw/hfi1/netdev.h | 8 +-
drivers/infiniband/hw/hfi1/netdev_rx.c | 3 +-
drivers/infiniband/hw/hfi1/qp.c | 1 -
drivers/infiniband/hw/hfi1/user_exp_rcv.c | 14 +-
drivers/infiniband/hw/hfi1/user_exp_rcv.h | 2 +-
drivers/infiniband/hw/hfi1/verbs.c | 2 -
drivers/infiniband/hw/hfi1/vnic.h | 126 ---
drivers/infiniband/hw/hfi1/vnic_main.c | 615 -----------
drivers/infiniband/hw/hfi1/vnic_sdma.c | 282 -----
drivers/infiniband/hw/hns/hns_roce_alloc.c | 2 +-
drivers/infiniband/hw/hns/hns_roce_cq.c | 16 +-
drivers/infiniband/hw/hns/hns_roce_hem.c | 7 +-
drivers/infiniband/hw/hns/hns_roce_main.c | 6 +-
drivers/infiniband/hw/hns/hns_roce_qp.c | 23 +-
drivers/infiniband/hw/hns/hns_roce_srq.c | 54 +-
drivers/infiniband/hw/ionic/ionic_controlpath.c | 6 +-
drivers/infiniband/hw/ionic/ionic_ibdev.c | 2 +-
drivers/infiniband/hw/ionic/ionic_ibdev.h | 2 +-
drivers/infiniband/hw/irdma/ctrl.c | 44 +-
drivers/infiniband/hw/irdma/defs.h | 4 +
drivers/infiniband/hw/irdma/hw.c | 29 +-
drivers/infiniband/hw/irdma/ig3rdma_hw.c | 1 -
drivers/infiniband/hw/irdma/irdma.h | 1 +
drivers/infiniband/hw/irdma/main.h | 2 +-
drivers/infiniband/hw/irdma/type.h | 2 +
drivers/infiniband/hw/irdma/user.h | 4 +-
drivers/infiniband/hw/irdma/verbs.c | 121 +-
drivers/infiniband/hw/mana/cq.c | 11 +-
drivers/infiniband/hw/mana/device.c | 3 +
drivers/infiniband/hw/mana/main.c | 141 +--
drivers/infiniband/hw/mana/mana_ib.h | 10 +-
drivers/infiniband/hw/mana/mr.c | 92 +-
drivers/infiniband/hw/mana/qp.c | 69 +-
drivers/infiniband/hw/mana/wq.c | 12 +-
drivers/infiniband/hw/mlx4/cq.c | 258 +++--
drivers/infiniband/hw/mlx4/main.c | 14 +-
drivers/infiniband/hw/mlx4/mlx4_ib.h | 8 +-
drivers/infiniband/hw/mlx4/mr.c | 1 +
drivers/infiniband/hw/mlx4/qp.c | 82 +-
drivers/infiniband/hw/mlx4/srq.c | 5 +-
drivers/infiniband/hw/mlx5/cq.c | 183 ++--
drivers/infiniband/hw/mlx5/devx.c | 6 +-
drivers/infiniband/hw/mlx5/dm.c | 2 +-
drivers/infiniband/hw/mlx5/fs.c | 6 +-
drivers/infiniband/hw/mlx5/main.c | 172 ++-
drivers/infiniband/hw/mlx5/mem.c | 1 +
drivers/infiniband/hw/mlx5/mlx5_ib.h | 102 +-
drivers/infiniband/hw/mlx5/mr.c | 1158 ++++----------------
drivers/infiniband/hw/mlx5/odp.c | 19 -
drivers/infiniband/hw/mlx5/qos.c | 2 +-
drivers/infiniband/hw/mlx5/qp.c | 68 +-
drivers/infiniband/hw/mlx5/srq.c | 17 +-
drivers/infiniband/hw/mlx5/umr.c | 1 +
drivers/infiniband/hw/mlx5/umr.h | 1 +
drivers/infiniband/hw/mthca/mthca_provider.c | 36 +-
drivers/infiniband/hw/ocrdma/ocrdma.h | 2 +-
drivers/infiniband/hw/ocrdma/ocrdma_main.c | 2 +-
drivers/infiniband/hw/ocrdma/ocrdma_verbs.c | 56 +-
drivers/infiniband/hw/ocrdma/ocrdma_verbs.h | 2 +-
drivers/infiniband/hw/qedr/verbs.c | 44 +-
drivers/infiniband/hw/usnic/usnic_ib_verbs.c | 2 +-
drivers/infiniband/hw/vmw_pvrdma/pvrdma.h | 2 +-
drivers/infiniband/hw/vmw_pvrdma/pvrdma_cq.c | 5 +-
drivers/infiniband/hw/vmw_pvrdma/pvrdma_misc.c | 3 +-
drivers/infiniband/hw/vmw_pvrdma/pvrdma_qp.c | 6 +-
drivers/infiniband/hw/vmw_pvrdma/pvrdma_srq.c | 6 +-
drivers/infiniband/sw/rdmavt/cq.c | 4 +-
drivers/infiniband/sw/rdmavt/cq.h | 2 +-
drivers/infiniband/sw/rdmavt/mcast.c | 1 -
drivers/infiniband/sw/rdmavt/mmap.c | 22 +-
drivers/infiniband/sw/rdmavt/qp.c | 2 +-
drivers/infiniband/sw/rdmavt/vt.c | 10 +-
drivers/infiniband/sw/rxe/Makefile | 3 +-
drivers/infiniband/sw/rxe/rxe.c | 38 +-
drivers/infiniband/sw/rxe/rxe.h | 2 +
drivers/infiniband/sw/rxe/rxe_cq.c | 31 -
drivers/infiniband/sw/rxe/rxe_loc.h | 3 -
drivers/infiniband/sw/rxe/rxe_net.c | 144 ++-
drivers/infiniband/sw/rxe/rxe_net.h | 9 +-
drivers/infiniband/sw/rxe/rxe_ns.c | 124 +++
drivers/infiniband/sw/rxe/rxe_ns.h | 26 +
drivers/infiniband/sw/rxe/rxe_odp.c | 2 +-
drivers/infiniband/sw/rxe/rxe_recv.c | 3 +-
drivers/infiniband/sw/rxe/rxe_resp.c | 56 +-
drivers/infiniband/sw/rxe/rxe_task.c | 2 +-
drivers/infiniband/sw/rxe/rxe_verbs.c | 33 +-
drivers/infiniband/sw/rxe/rxe_verbs.h | 1 +
drivers/infiniband/sw/siw/siw_verbs.c | 6 +-
drivers/infiniband/ulp/Makefile | 1 -
drivers/infiniband/ulp/opa_vnic/Kconfig | 9 -
drivers/infiniband/ulp/opa_vnic/Makefile | 9 -
drivers/infiniband/ulp/opa_vnic/opa_vnic_encap.c | 513 ---------
drivers/infiniband/ulp/opa_vnic/opa_vnic_encap.h | 524 ---------
drivers/infiniband/ulp/opa_vnic/opa_vnic_ethtool.c | 183 ----
.../infiniband/ulp/opa_vnic/opa_vnic_internal.h | 329 ------
drivers/infiniband/ulp/opa_vnic/opa_vnic_netdev.c | 400 -------
drivers/infiniband/ulp/opa_vnic/opa_vnic_vema.c | 1056 ------------------
.../infiniband/ulp/opa_vnic/opa_vnic_vema_iface.c | 390 -------
drivers/infiniband/ulp/rtrs/rtrs-clt.c | 2 +-
drivers/infiniband/ulp/rtrs/rtrs-srv.c | 2 +-
drivers/net/ethernet/mellanox/mlx5/core/main.c | 67 +-
drivers/net/ethernet/microsoft/mana/mana_en.c | 11 +-
include/linux/mlx5/driver.h | 11 -
include/net/mana/gdma.h | 5 +
include/net/mana/mana.h | 1 +
include/rdma/frmr_pools.h | 39 +
include/rdma/ib_cache.h | 4 +-
include/rdma/ib_umem.h | 66 +-
include/rdma/ib_verbs.h | 194 ++--
include/rdma/iter.h | 88 ++
include/rdma/iw_cm.h | 14 +-
include/rdma/opa_port_info.h | 8 +-
include/rdma/opa_vnic.h | 96 --
include/rdma/rdma_netlink.h | 2 +
include/rdma/rdma_vt.h | 10 +
include/rdma/restrack.h | 4 +-
include/rdma/uverbs_ioctl.h | 101 ++
include/uapi/rdma/bnxt_re-abi.h | 36 +-
include/uapi/rdma/efa-abi.h | 11 +-
include/uapi/rdma/ib_user_ioctl_verbs.h | 1 +
include/uapi/rdma/mlx5_user_ioctl_cmds.h | 1 +
include/uapi/rdma/mlx5_user_ioctl_verbs.h | 4 +
include/uapi/rdma/rdma_netlink.h | 22 +
tools/testing/selftests/Makefile | 1 +
tools/testing/selftests/rdma/Makefile | 7 +
tools/testing/selftests/rdma/config | 3 +
tools/testing/selftests/rdma/rxe_ipv6.sh | 63 ++
.../selftests/rdma/rxe_rping_between_netns.sh | 85 ++
.../selftests/rdma/rxe_socket_with_netns.sh | 76 ++
.../selftests/rdma/rxe_test_NETDEV_UNREGISTER.sh | 63 ++
186 files changed, 4726 insertions(+), 8149 deletions(-)
(diffstat from tag for-linus-merged)

Attachment: signature.asc
Description: PGP signature