My Cards are ConnectX-3Pro EN (mcx311A-XCCT), and are connected with back-to-back mode (two cards and a wire).
When I attempt to test the programming Examples Using IBV Verbs given in the “RDMA Aware Programming User Manual.pdf”, I run into problems.
the example encapsulated a series of function such as sock_conncet, connect_qp, post_send, post_receive……
but when I attempt to use post_send with IBV_WR_SEND two or more times, it tells me that “got bad completion with status: 0xd”. I mean it’s ok to use it only once.
relevant code are as followed (I haven’t modified any other places in the code):
while(cnt < 10){
/* let the server post the sr */
if(!config.server_name)
if(post_send($res,IBV_WR_SEND))
{
fprintf( stderr, “failed to post sr\n” );
goto main_exit;
}
/* in both sides we expect to get a completion */
if ( poll_completion( &res ) )
{
fprintf( stderr, “poll completion failed\n” );
goto main_exit;
}
cnt++;
}
RDMA Aware Programming User Manual.pdf is at "http://www.mellanox.com/related-docs/prod_software/RDMA_Aware_Programming_user_manual.pdf http://www.mellanox.com/related-docs/prod_software/RDMA_Aware_Programming_user_manual.pdf ", page 121