[openib-general] ib_mad.h ib_mad_post_send questions and a minor commentary change

Hal Rosenstock halr at voltaire.com
Mon Sep 6 14:07:08 PDT 2004


Currently (or maybe this should RSN) in ib_mad_post_send, a linked list
of send WRs is supported and the routine returns int as follows:

int ib_mad_post_send(struct ib_mad_agent *mad_agent,
                     struct ib_send_wr *mad_send_wr)

That seems fine when the WRs are not linked. What happens when they are
linked and there is some error on one of the linked WRs ? In that case,
some send WRs get posted and others do not. Does there need to be
another parameter indicating how far in the list was posted so the
ib_mad client knows what to repost ? I don't think that all errors can
be hidden from the ib_mad client.

Also, if this were to occur in the middle of an RMPP transaction, should
this be detected and any special actions taken ? Or would this just rely
on normal RMPP handling at the other end to detect any issues ?

I also have a related implementation question. The ib_mad client
supplies wr_id in the send WR. If it turns out that it might be better
to use wr_ids in some special encoded way, is it acceptable to do that
as long as the client wr_id is returned in the send WC ?

Also, here is a proposed minor commentary change to ib_mad.h:
/*
 * ib_mad_post_send - Posts MAD(s) to the send queue of the QP
associated
 *  with the registered client.
 * @mad_agent - Specifies the associated registration to post the send
to.
 * @mad_send_wr - Specifies the information needed to send the MAD(s).
 */
rather than:
 * ib_mad_post_send - Posts a MAD to the send queue of the QP associated
 *   with the registered client.
 * @mad_agent - Specifies the associated registration to post the send
to.
 * @send_wr - Specifies the information needed to send the MAD.

-- Hal






More information about the general mailing list