Hi,<br><br>I am trying to send two
integers (essentially a buf array of type uint32_t) to the server via
RDMA_WRITE method. The following is piece of code that I rewrote:<br>
<br>++++++++++++++++++++++++++++++++++<br><div id=":1e5" class="ii gt"><br>  buf[0] = strtoul(argv[2], NULL, 0);<br>  buf[1] = strtoul(argv[3], NULL, 0);<br><br>  printf("%d + %d = ", buf[0], buf[1]);<br><br>  buf[0] = htonl(buf[0]);<br>
  buf[1] = htonl(buf[1]);<br>
<br>  /* -----------------------------------<br>     ---- START - write operation 1 ----<br>     ----------------------------------- */<br><br>int c;<br>for(c = 0; c < 2; c++)<br>
{<br>  sge.addr = (uintptr_t) buf + ((uint32_t)c*sizeof(uint32_t));<br>  sge.length = sizeof(uint32_t);<br>  sge.lkey = mr->lkey;<br><br>  send_wr.wr_id = (uint64_t)(c+1);//1;<br>  send_wr.opcode = IBV_WR_RDMA_WRITE;<br>

  send_wr.sg_list = &sge;<br>  send_wr.num_sge = 1;<br>  send_wr.wr.rdma.rkey = ntohl(server_pdata.buf_rkey);<br>  send_wr.wr.rdma.remote_addr = ntohll(server_pdata.buf_va);<br><br clear="all">  if(ibv_post_send(cm_id->qp, &send_wr, &bad_send_wr))<br>

        return 1;<br>}<br><br>++++++++++++++++++++++++++++++++++<br><br>I receive no compilation errors but it does not write to remote memory. Any suggestions of what might be wrong?<br><br>Thanks,<br></div>-- <br>Syed Zafar ul Hussan Gilani | BIT-7<br>
Research Student | CHPSC<br>MSP 2008-09<br>NUST SEECS | <a href="http://hpc.niit.edu.pk/~zafar">http://hpc.niit.edu.pk/~zafar</a><br>