Following patch-set introduce the shared object feature. A shared object feature allows one process to create HW objects (currently PD and MR) so that a second process can import. Patch-set is logically splits to two parts, one for PD and one for MR. (patches 2 and 7 are the changes to man pages) v0 -> v1: * Fix typo in comment * Rebase to latest upstream branch Shamir Rabinovitch (2): verbs: Introduce new inline helpers verbs: pinpong test using shared objects API Yuval Shaia (10): man: Add description to ibv_import_pd function verbs: Introduce new verb to import PD object mlx4: Implementation of import PD callback mlx5: Implementation of import PD callback rxe: Implementation of import PD callback man: Add description to ibv_import_mr function verbs: Introduce new verb to import MR object mlx4: Implementation of import MR callback mlx5: Implementation of import MR callback rxe: Implementation of import MR callback kernel-headers/rdma/ib_user_verbs.h | 26 + libibverbs/cmd.c | 39 + libibverbs/driver.h | 12 + libibverbs/dummy_ops.c | 18 + libibverbs/examples/CMakeLists.txt | 3 + libibverbs/examples/shpd_pingpong.c | 1142 +++++++++++++++++++++++++++ libibverbs/kern-abi.h | 3 +- libibverbs/libibverbs.map.in | 3 + libibverbs/man/ibv_alloc_pd.3 | 22 +- libibverbs/man/ibv_reg_mr.3 | 17 +- libibverbs/verbs.h | 55 ++ providers/mlx4/mlx4-abi.h | 2 + providers/mlx4/mlx4.c | 2 + providers/mlx4/mlx4.h | 4 + providers/mlx4/verbs.c | 56 ++ providers/mlx5/mlx5-abi.h | 2 + providers/mlx5/mlx5.c | 2 + providers/mlx5/mlx5.h | 4 + providers/mlx5/verbs.c | 54 ++ providers/rxe/rxe-abi.h | 2 + providers/rxe/rxe.c | 55 ++ 21 files changed, 1520 insertions(+), 3 deletions(-) create mode 100644 libibverbs/examples/shpd_pingpong.c -- 2.20.1