[ofa-general] iWARP: Zero STag, OFED 1.3 vs 1.4

Jack Morgenstein jackm at dev.mellanox.co.il
Wed Jan 14 09:01:44 PST 2009


On Wednesday 14 January 2009 12:21, Philip Frey1 wrote:
> Hello,
> 
> I recently upgraded from OFED 1.3 to 1.4 and the behaviour of an STag of 
> zero seems to have changed.
> 
Did you try sending with 
   	send_wr.sg_list = NULL;
	send_wr.num_sge = 0;
?
 
(if this works, it should result in a send with no data)

- Jack
> Before, the following code worked:
> 
>         /* create send work request (for synchronization)*/
>         sge.addr = 0;
>         sge.length = 0;
>         sge.lkey = 0;
> 
>         send_wr.wr_id = tx_wr_id++;
>         send_wr.next = NULL;
>         send_wr.sg_list = &sge;
>         send_wr.num_sge = 1;
>         send_wr.opcode = IBV_WR_SEND;
>         send_wr.send_flags = 0;
> 
>         /* post send synchronization WR */
>         ret = ibv_post_send(ctx_conn.qp, &send_wr, &bad_wr);
>         if (ret) {
>                 msg_Err("RDMA: failed to post send");
>                 return -1;
>         }
> 
> but now it results in the following error:
> 
> Jan 13 17:34:46 borus kernel: iwch_ev_dispatch - CQE Err qpid 0xa0 opcode 
> 3 status 0x1 type 1 wrid.hi 0x0 wrid.lo 0x80000000 
> Jan 13 17:34:46 borus kernel: post_qp_event - AE qpid 0xa0 opcode 3 status 
> 0x1 type 1 wrid.hi 0x0 wrid.lo 0x80000000
> 
> I wanted to do a zero-length send w/o a memory region to solve the issue 
> that the MPA initiator must send the first FPDU.
> 
> Question1: Why didn't that result in an error before?
> Question2: Is there a way of doing a zero-length operation w/o having to 
> create a MR?
> 
> Many thanks for you advice,
>  Philip



More information about the general mailing list