Extend XRC support to user space through libibverbs. Because XRC requires new verbs and extensions to existing verbs, we first introduce a generic mechanism for extending verbs in a backward compatible manner. XRC support is built on top of that infrastructure.
Changes from v8: Patch 1: container_of - changed macro to use uint_8* instead of char* . __VERBS_ABI_IS_EXTENDED - new macro to indicate that verbs extended is used. verbs_set_ctx_op - improved to include type checking. verbs_get_ctx - changed to use non-const in ibv_context as used all around, now it's in/out const consistent. - Jason Gunthorpe pointed to give his ack for that patch after above changes. Patch 7: Fixed cleanup bugs in the sample application, details in patch. Changes from v7: Fix "container_of" macro to enable applications to compile with c99 standard (-std=c99). Remove place holder for 6 function pointers in verbs_context. Added an helper macro verbs_set_ctx_op to be used by providers to hook their extended functions. Changes from v6: Bug fixes, details in relevant patches. ABI support with OFED release, added place holder for 6 function pointers in verbs_context to enable ABI compatibility with OFED release that already used 6 extended verbs before XRC. Man pages were added. Jay Sternberg (1): Add XRC sample application Sean Hefty (5): Introduce XRC domains Add support for XRC SRQs Add support for XRC QPs Add ibv_open_qp XRC man pages Yishai Hadas (1): Infrastructure to support verbs extensions Makefile.am | 12 +- examples/xsrq_pingpong.c | 892 +++++++++++++++++++++++++++++++++++++++++ include/infiniband/driver.h | 72 ++++ include/infiniband/kern-abi.h | 112 ++++-- include/infiniband/verbs.h | 258 ++++++++++++- man/ibv_create_qp_ex.3 | 83 ++++ man/ibv_create_srq_ex.3 | 71 ++++ man/ibv_get_srq_num.3 | 32 ++ man/ibv_open_qp.3 | 51 +++ man/ibv_open_xrcd.3 | 76 ++++ src/cmd.c | 391 ++++++++++++------ src/device.c | 53 ++- src/init.c | 41 ++- src/kern_abi.h | 101 ----- src/libibverbs.map | 8 + 15 files changed, 1957 insertions(+), 296 deletions(-) create mode 100644 examples/xsrq_pingpong.c create mode 100644 man/ibv_create_qp_ex.3 create mode 100644 man/ibv_create_srq_ex.3 create mode 100644 man/ibv_get_srq_num.3 create mode 100644 man/ibv_open_qp.3 create mode 100644 man/ibv_open_xrcd.3 delete mode 100644 src/kern_abi.h -- To unsubscribe from this list: send the line "unsubscribe linux-rdma" in the body of a message to [email protected] More majordomo info at http://vger.kernel.org/majordomo-info.html
