[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