@@ -294,7 +294,8 @@ enum ibv_wc_opcode {
enum ibv_wc_flags {
IBV_WC_GRH = 1 << 0,
- IBV_WC_WITH_IMM = 1 << 1
+ IBV_WC_WITH_IMM = 1 << 1,
+ IBV_WC_WITH_INV = 1 << 2
};
struct ibv_wc {
@@ -303,7 +304,10 @@ struct ibv_wc {
enum ibv_wc_opcode opcode;
uint32_t vendor_err;
uint32_t byte_len;
- uint32_t imm_data; /* in network byte order */
+ /* When (wc_flags & IBV_WC_WITH_IMM): Immediate data (network byte order).
+ * When (wc_flags & IBV_WC_WITH_INV): Stores the invalidated R_Key.
+ */
+ uint32_t imm_data;
uint32_t qp_num;
uint32_t src_qp;
int wc_flags;
@@ -636,7 +640,8 @@ enum ibv_wr_opcode {
IBV_WR_ATOMIC_CMP_AND_SWP,
IBV_WR_ATOMIC_FETCH_AND_ADD,
IBV_WR_LOCAL_INV,
- IBV_WR_BIND_MW
+ IBV_WR_BIND_MW,
+ IBV_WR_SEND_WITH_INV
};
enum ibv_send_flags {
@@ -115,6 +115,7 @@ IBV_WR_ATOMIC_CMP_AND_SWP | | | X
IBV_WR_ATOMIC_FETCH_AND_ADD | | | X
IBV_WR_LOCAL_INV | | X | X
IBV_WR_BIND_MW | | X | X
+IBV_WR_SEND_WITH_INV | | X | X
.fi
.PP
The attribute send_flags describes the properties of the \s-1WR\s0. It is either 0 or the bitwise \s-1OR\s0 of one or more of the following flags: