From 7e762be5f798bd38c7685adbed2fded754cc672a Mon Sep 17 00:00:00 2001 From: Knut Omang Date: Tue, 21 Apr 2015 12:20:08 +0200 Subject: [PATCH] ib_uverbs: Support for kernel implementation of XRC calls from user space Extends the kernel/user space interface for work requests to also provide the XRC shared receive queue number. Necessary to support kernel level implementation of user verbs for XRC. Requires a corresponding libibverbs change to support XRC. Orabug: 20930262 Signed-off-by: Knut Omang Signed-off-by: Mukesh Kacker --- drivers/infiniband/core/uverbs_cmd.c | 2 ++ include/uapi/rdma/ib_user_verbs.h | 2 ++ 2 files changed, 4 insertions(+) diff --git a/drivers/infiniband/core/uverbs_cmd.c b/drivers/infiniband/core/uverbs_cmd.c index 0694210e9a89..9825b41a1f0c 100644 --- a/drivers/infiniband/core/uverbs_cmd.c +++ b/drivers/infiniband/core/uverbs_cmd.c @@ -2246,6 +2246,8 @@ ssize_t ib_uverbs_post_send(struct ib_uverbs_file *file, next->ex.imm_data = (__be32 __force) user_wr->ex.imm_data; } else { + if (qp->qp_type == IB_QPT_XRC_INI) + next->xrc_remote_srq_num = user_wr->xrc_remote_srq_num; switch (next->opcode) { case IB_WR_RDMA_WRITE_WITH_IMM: next->ex.imm_data = diff --git a/include/uapi/rdma/ib_user_verbs.h b/include/uapi/rdma/ib_user_verbs.h index 332052246f9b..d6f5a147350e 100644 --- a/include/uapi/rdma/ib_user_verbs.h +++ b/include/uapi/rdma/ib_user_verbs.h @@ -664,6 +664,8 @@ struct ib_uverbs_send_wr { __u32 reserved; } ud; } wr; + __u32 xrc_remote_srq_num; + __u32 reserved; }; struct ib_uverbs_post_send { -- 2.50.1