【InfiniBand】IBV_WR_RDMA_WRITE_WITH_IMM / IBV_WC_RECV_RDMA_WITH_IMM

IB卡带立即数的写操作IBV_WR_RDMA_WRITE_WITH_IMM ,对应的远端(remote)接收操作是 IBV_WC_RECV_RDMA_WITH_IMM。

例:

本端(local)写发送:

  wr.opcode = IBV_WR_RDMA_WRITE_WITH_IMM;
  wr.send_flags = IBV_SEND_SIGNALED;
  wr.imm_data = htonl(len);

  ...

  ibv_post_send(id->qp, &wr, &bad_wr));

对端(remote)用ibv_poll_cq接收到后:

if (wc->opcode == IBV_WC_RECV_RDMA_WITH_IMM) 
{
    uint32_t size = ntohl(wc->imm_data);

    ...

}

注:

本端(local)带立即数写操作IBV_WR_RDMA_WRITE_WITH_IMM,对应的远端(remote)必须运行ibv_post_recv发布Recv Request。

参考:

【vbers】ibv_post_send|IBV_SEND_SOLICITED|RDMA_bdview的博客-CSDN博客

【RDMA】ibv_poll_cq()_bdview的博客-CSDN博客

关于IBV_WR_RDMA_WRITE_WITH_IMM的理解_酸菜。的博客-CSDN博客

你可能感兴趣的:(网络,C语言,编程,c语言,linux,网络)