Reputation: 610
Client Side:
ib_poll_cq(cq,1,&wc){
if(wc.status == IB_WC_SUCCESS)
printk("Successful\n");
else
printk("Failure: %d\n", wc.status);
}
Server Side:
do {
num_comp = ibv_poll_cq(s_ctx.recv_cq, 1, &wc);
} while (num_comp == 0);
The client side is written in kernel space and server side is written in user Space. The wc.status returns 12. What could be possible issues with this?
Upvotes: 0
Views: 1225
Reputation: 4820
A value of 12 in wc.status
means the retry exceeded error has occurred. This means the node that saw the error (let's call it local) has tried sending or performing an RDMA operation and did not get a response from the other node. This can happen if the remote QP wasn't set up correctly to be in RTR state with its parameters matching the local QP's parameters.
You can find some details about the various ibv_wc
codes in this blog post.
Upvotes: 3