History

RDMA/core: Added missing WR and WC opcodes

Add work completion opcodes to a new ib_uverbs_wc_opcode enum in ib_user_verbs.h. This plays the same role as ib_uverbs_wr_opcode documenting the opcodes in the user space API. Assigned the IB_WC_XXX opcodes in ib_verbs.h to the IB_UVERBS_WC_XXX where they are defined. This follows the same pattern as the IB_WR_XXX opcodes. This fixes an incorrect value for LSO that had crept in but is not currently being used. Added a missing IB_WR_BIND_MW opcode in ib_verbs.h.

Bob Pearson committed 6 years ago

Commit b60b9c01 parent 1d4299e2 files · +20 −7Browse files

Unified · Split

2 files
  1. include/rdma/ib_verbs.h +9 −7
  2. include/uapi/rdma/ib_user_verbs.h +11 −0
include/rdma/ib_verbs.h+9−7
@@ -952,13 +952,14 @@ enum ib_wc_status { · 951 unmodified lines
952const char *__attribute_const__ ib_wc_status_msg(enum ib_wc_status status);952const char *__attribute_const__ ib_wc_status_msg(enum ib_wc_status status);
953 953
954enum ib_wc_opcode {954enum ib_wc_opcode {
955 IB_WC_SEND,955 IB_WC_SEND = IB_UVERBS_WC_SEND,
956 IB_WC_RDMA_WRITE,956 IB_WC_RDMA_WRITE = IB_UVERBS_WC_RDMA_WRITE,
957 IB_WC_RDMA_READ,957 IB_WC_RDMA_READ = IB_UVERBS_WC_RDMA_READ,
958 IB_WC_COMP_SWAP,958 IB_WC_COMP_SWAP = IB_UVERBS_WC_COMP_SWAP,
959 IB_WC_FETCH_ADD,959 IB_WC_FETCH_ADD = IB_UVERBS_WC_FETCH_ADD,
960 IB_WC_LSO,960 IB_WC_BIND_MW = IB_UVERBS_WC_BIND_MW,
961 IB_WC_LOCAL_INV,961 IB_WC_LOCAL_INV = IB_UVERBS_WC_LOCAL_INV,
962 IB_WC_LSO = IB_UVERBS_WC_TSO,
962 IB_WC_REG_MR,963 IB_WC_REG_MR,
963 IB_WC_MASKED_COMP_SWAP,964 IB_WC_MASKED_COMP_SWAP,
964 IB_WC_MASKED_FETCH_ADD,965 IB_WC_MASKED_FETCH_ADD,
@@ -1291,6 +1292,7 @@ enum ib_wr_opcode { · 326 unmodified lines
1291 IB_WR_RDMA_READ = IB_UVERBS_WR_RDMA_READ,1292 IB_WR_RDMA_READ = IB_UVERBS_WR_RDMA_READ,
1292 IB_WR_ATOMIC_CMP_AND_SWP = IB_UVERBS_WR_ATOMIC_CMP_AND_SWP,1293 IB_WR_ATOMIC_CMP_AND_SWP = IB_UVERBS_WR_ATOMIC_CMP_AND_SWP,
1293 IB_WR_ATOMIC_FETCH_AND_ADD = IB_UVERBS_WR_ATOMIC_FETCH_AND_ADD,1294 IB_WR_ATOMIC_FETCH_AND_ADD = IB_UVERBS_WR_ATOMIC_FETCH_AND_ADD,
1295 IB_WR_BIND_MW = IB_UVERBS_WR_BIND_MW,
1294 IB_WR_LSO = IB_UVERBS_WR_TSO,1296 IB_WR_LSO = IB_UVERBS_WR_TSO,
1295 IB_WR_SEND_WITH_INV = IB_UVERBS_WR_SEND_WITH_INV,1297 IB_WR_SEND_WITH_INV = IB_UVERBS_WR_SEND_WITH_INV,
1296 IB_WR_RDMA_READ_WITH_INV = IB_UVERBS_WR_RDMA_READ_WITH_INV,1298 IB_WR_RDMA_READ_WITH_INV = IB_UVERBS_WR_RDMA_READ_WITH_INV,
include/uapi/rdma/ib_user_verbs.h+11−0
@@ -457,6 +457,17 @@ struct ib_uverbs_poll_cq { · 456 unmodified lines
457 __u32 ne;457 __u32 ne;
458};458};
459 459
460enum ib_uverbs_wc_opcode {
461 IB_UVERBS_WC_SEND = 0,
462 IB_UVERBS_WC_RDMA_WRITE = 1,
463 IB_UVERBS_WC_RDMA_READ = 2,
464 IB_UVERBS_WC_COMP_SWAP = 3,
465 IB_UVERBS_WC_FETCH_ADD = 4,
466 IB_UVERBS_WC_BIND_MW = 5,
467 IB_UVERBS_WC_LOCAL_INV = 6,
468 IB_UVERBS_WC_TSO = 7,
469};
470
460struct ib_uverbs_wc {471struct ib_uverbs_wc {
461 __aligned_u64 wr_id;472 __aligned_u64 wr_id;
462 __u32 status;473 __u32 status;