diff options
author | Sean Hefty <sean.hefty@intel.com> | 2011-08-11 16:57:43 -0400 |
---|---|---|
committer | Roland Dreier <roland@purestorage.com> | 2011-10-13 12:50:56 -0400 |
commit | 42849b2697c36abdafa6aef64186b15055392046 (patch) | |
tree | 40d683c9321a7d689aa8f0f765a31e4c4ad4fc02 /include/rdma | |
parent | 0e0ec7e0638ef48e0c661873dfcc8caccab984c6 (diff) |
RDMA/uverbs: Export ib_open_qp() capability to user space
Allow processes that share the same XRC domain to open an existing
shareable QP. This permits those processes to receive events on the
shared QP and transfer ownership, so that any process may modify the
QP. The latter allows the creating process to exit, while a remaining
process can still transition it for path migration purposes.
Signed-off-by: Sean Hefty <sean.hefty@intel.com>
Signed-off-by: Roland Dreier <roland@purestorage.com>
Diffstat (limited to 'include/rdma')
-rw-r--r-- | include/rdma/ib_user_verbs.h | 14 |
1 files changed, 13 insertions, 1 deletions
diff --git a/include/rdma/ib_user_verbs.h b/include/rdma/ib_user_verbs.h index 100abbbd6e6e..81aba3a73aa3 100644 --- a/include/rdma/ib_user_verbs.h +++ b/include/rdma/ib_user_verbs.h | |||
@@ -84,7 +84,8 @@ enum { | |||
84 | IB_USER_VERBS_CMD_POST_SRQ_RECV, | 84 | IB_USER_VERBS_CMD_POST_SRQ_RECV, |
85 | IB_USER_VERBS_CMD_OPEN_XRCD, | 85 | IB_USER_VERBS_CMD_OPEN_XRCD, |
86 | IB_USER_VERBS_CMD_CLOSE_XRCD, | 86 | IB_USER_VERBS_CMD_CLOSE_XRCD, |
87 | IB_USER_VERBS_CMD_CREATE_XSRQ | 87 | IB_USER_VERBS_CMD_CREATE_XSRQ, |
88 | IB_USER_VERBS_CMD_OPEN_QP | ||
88 | }; | 89 | }; |
89 | 90 | ||
90 | /* | 91 | /* |
@@ -422,6 +423,17 @@ struct ib_uverbs_create_qp { | |||
422 | __u64 driver_data[0]; | 423 | __u64 driver_data[0]; |
423 | }; | 424 | }; |
424 | 425 | ||
426 | struct ib_uverbs_open_qp { | ||
427 | __u64 response; | ||
428 | __u64 user_handle; | ||
429 | __u32 pd_handle; | ||
430 | __u32 qpn; | ||
431 | __u8 qp_type; | ||
432 | __u8 reserved[7]; | ||
433 | __u64 driver_data[0]; | ||
434 | }; | ||
435 | |||
436 | /* also used for open response */ | ||
425 | struct ib_uverbs_create_qp_resp { | 437 | struct ib_uverbs_create_qp_resp { |
426 | __u32 qp_handle; | 438 | __u32 qp_handle; |
427 | __u32 qpn; | 439 | __u32 qpn; |