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

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Introduce IBV_WR/WC_DRIVER1 opcode to be used/defined per driver for its
use case.

Reviewed-by: Artemy Kovalyov <artemyko@xxxxxxxxxxxx>
Signed-off-by: Yishai Hadas <yishaih@xxxxxxxxxxxx>
---
 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 --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;
 	}
 }
-- 
1.8.3.1




[Index of Archives]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Photo]     [Yosemite News]     [Yosemite Photos]     [Linux Kernel]     [Linux SCSI]     [XFree86]

  Powered by Linux