This series from Guy introduces a new set of QP send operations which allow extensibility for new send opcodes. This concept lets to add vendor specific send opcodes, users can also require a set of supported QP send ops specified during QP creation. This new API was implemented by the mlx5 driver for the general send opcodes. In addition, a driver specific opcode for DC was implemented over the DV API. The series includes detailed man pages to describe the API and its expected usage. In addition, the rc_pingpong example code was extended to demonstrate the usage of the API. PR was sent: https://github.com/linux-rdma/rdma-core/pull/501 Alex Rosenbaum (1): verbs: Introduce a new post send API Guy Levi (5): mlx5: Support new post send API mlx5: Support inline data WR over new post send API mlx5: Support raw packet QPT over new post send API verbs: Demonstrate the usage of new post send API mlx5: Introduce a new send API in direct verbs debian/ibverbs-providers.symbols | 2 + debian/libibverbs1.symbols | 2 + libibverbs/CMakeLists.txt | 2 +- libibverbs/cmd.c | 14 +- libibverbs/driver.h | 8 +- libibverbs/examples/rc_pingpong.c | 49 +- libibverbs/libibverbs.map.in | 5 + libibverbs/man/CMakeLists.txt | 21 + libibverbs/man/ibv_create_qp_ex.3 | 26 +- libibverbs/man/ibv_rc_pingpong.1 | 10 +- libibverbs/man/ibv_wr_post.3.md | 333 ++++++++ libibverbs/verbs.c | 9 + libibverbs/verbs.h | 191 ++++- providers/mlx5/CMakeLists.txt | 2 +- providers/mlx5/libmlx5.map | 6 + providers/mlx5/man/CMakeLists.txt | 3 + providers/mlx5/man/mlx5dv_create_qp.3.md | 5 + providers/mlx5/man/mlx5dv_wr_post.3.md | 94 +++ providers/mlx5/mlx5.h | 25 +- providers/mlx5/mlx5dv.h | 20 + providers/mlx5/qp.c | 1223 ++++++++++++++++++++++++++++-- providers/mlx5/verbs.c | 175 +++-- 22 files changed, 2121 insertions(+), 104 deletions(-) create mode 100644 libibverbs/man/ibv_wr_post.3.md create mode 100644 providers/mlx5/man/mlx5dv_wr_post.3.md -- 1.8.3.1