1. It's better to use QueuePair to management connection management
meta data.
2. This patch is to prepare to use seperate function to modify QP to
RTR & RTS state.
Signed-off-by: Changcheng Liu <changcheng.liu@aliyun.com>
pd(infiniband.pd->pd),
srq(srq),
qp(NULL),
- cm_id(cid),
+ cm_id(cid), peer_cm_meta{0}, local_cm_meta{0},
txcq(txcq),
rxcq(rxcq),
initial_psn(lrand48() & PSN_MSK),
}
ldout(cct, 20) << __func__ << " successfully create queue pair: "
<< "qp=" << qp << dendl;
+ local_cm_meta.local_qpn = get_local_qp_number();
+ local_cm_meta.psn = get_initial_psn();
+ local_cm_meta.lid = infiniband.get_lid();
+ local_cm_meta.peer_qpn = 0;
+ local_cm_meta.gid = infiniband.get_gid();
return 0;
}
ibv_srq* srq; // shared receive queue
ibv_qp* qp; // infiniband verbs QP handle
struct rdma_cm_id *cm_id;
+ ib_cm_meta_t peer_cm_meta;
+ ib_cm_meta_t local_cm_meta;
Infiniband::CompletionQueue* txcq;
Infiniband::CompletionQueue* rxcq;
uint32_t initial_psn; // initial packet sequence number