diff mbox series

[rdma-core,2/4] verbs: Introduce IBV_WR/WC_DRIVER opcodes

Message ID 1553525151-14005-3-git-send-email-yishaih@mellanox.com (mailing list archive)
State Not Applicable
Headers show
Series mlx5: Add UMR builders over the DV API | expand

Commit Message

Yishai Hadas March 25, 2019, 2:45 p.m. UTC
Introduce IBV_WR/WC_DRIVER1 opcode to be used/defined per driver for its
use case.

Reviewed-by: Artemy Kovalyov <artemyko@mellanox.com>
Signed-off-by: Yishai Hadas <yishaih@mellanox.com>
---
 libibverbs/man/ibv_poll_cq.3   | 2 ++
 libibverbs/man/ibv_post_send.3 | 2 ++
 libibverbs/verbs.h             | 2 ++
 providers/rxe/rxe.c            | 1 +
 4 files changed, 7 insertions(+)
diff mbox series

Patch

diff --git a/libibverbs/man/ibv_poll_cq.3 b/libibverbs/man/ibv_poll_cq.3
index 12d1a76..957fd15 100644
--- a/libibverbs/man/ibv_poll_cq.3
+++ b/libibverbs/man/ibv_poll_cq.3
@@ -82,6 +82,8 @@  The user should consume work completions at a rate that prevents CQ
 overrun from occurrence.  In case of a CQ overrun, the async event
 .B IBV_EVENT_CQ_ERR
 will be triggered, and the CQ cannot be used.
+.PP
+IBV_WC_DRIVER1 will be reported as a response to IBV_WR_DRIVER1 opcode.
 .SH "SEE ALSO"
 .BR ibv_post_send (3),
 .BR ibv_post_recv (3)
diff --git a/libibverbs/man/ibv_post_send.3 b/libibverbs/man/ibv_post_send.3
index e6514d0..4fb99f7 100644
--- a/libibverbs/man/ibv_post_send.3
+++ b/libibverbs/man/ibv_post_send.3
@@ -166,6 +166,8 @@  request is fully executed and a work completion has been retrieved
 from the corresponding completion queue (CQ). However, if the
 IBV_SEND_INLINE flag was set, the buffer can be reused immediately
 after the call returns.
+.PP
+IBV_WR_DRIVER1 is an opcode that should be used to issue a specific driver operation.
 .SH "SEE ALSO"
 .BR ibv_create_qp (3),
 .BR ibv_create_ah (3),
diff --git a/libibverbs/verbs.h b/libibverbs/verbs.h
index a2bae25..cb2d843 100644
--- a/libibverbs/verbs.h
+++ b/libibverbs/verbs.h
@@ -497,6 +497,7 @@  enum ibv_wc_opcode {
 	IBV_WC_TM_SYNC,
 	IBV_WC_TM_RECV,
 	IBV_WC_TM_NO_TAG,
+	IBV_WC_DRIVER1,
 };
 
 enum {
@@ -1057,6 +1058,7 @@  enum ibv_wr_opcode {
 	IBV_WR_BIND_MW,
 	IBV_WR_SEND_WITH_INV,
 	IBV_WR_TSO,
+	IBV_WR_DRIVER1,
 };
 
 enum ibv_send_flags {
diff --git a/providers/rxe/rxe.c b/providers/rxe/rxe.c
index 4c21a4a..909c3f7 100644
--- a/providers/rxe/rxe.c
+++ b/providers/rxe/rxe.c
@@ -585,6 +585,7 @@  static void convert_send_wr(struct rxe_send_wr *kwr, struct ibv_send_wr *uwr)
 	case IBV_WR_BIND_MW:
 	case IBV_WR_SEND_WITH_INV:
 	case IBV_WR_TSO:
+	case IBV_WR_DRIVER1:
 		break;
 	}
 }