[Openib-windows] Bug or by design?

Saul 26oo at cox.net
Sat Aug 12 09:22:15 PDT 2006


Hello,

I am having a problem updating the qkey of a QP that is in the RTS state.  The API I'm using is 

ib_modify_qp(const ib_qp_handle_t h_qp, const ib_qp_mod_t *const p_qp_mod);

I set qp_mod.req_state (to IB_QPS_RTS), qp_mod.state.rts.qkey (to my new qkey) and qp_mod.state.rts.opts (to IB_MOD_QP_KEY).

The problem is that down in the mthca driver it uses the integer style attribute mask.  In the routine mlnx_conv_qp_modify_attr() the code adds the attribute flag IB_QP_SQ_PSN as a required flag.  I can set this field in qp_mod without any problem but there is no IB_MOD_QP_xxx flag that maps to IB_QP_SQ_PSN.  Therefore the check at line 562 in mthca_qp.c fails the operation.

So my question is:  is this supposed to operate this way?  Can I not call ib_modify_qp() while at RTS if I want to stay at RTS?  I would think that this is ok because it is not flagged as an invalid state transition in the driver.  Is there some other API that I should use to perform this qkey update?  Or do I need to transition to RTR, then back to RTS to avoid this?

Thank you

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.openfabrics.org/pipermail/ofw/attachments/20060812/9f3a0963/attachment.html>


More information about the ofw mailing list