[Openib-windows] Bug or by design?
Leonid Keller
leonid at mellanox.co.il
Mon Aug 14 11:35:45 PDT 2006
Hi Saul,
I'm going to check that tomorrow.
BTW, where are your changes ?
> -----Original Message-----
> From: Saul [mailto:26oo at cox.net]
> Sent: Monday, August 14, 2006 9:24 PM
> To: Fabian Tillier; Leonid Keller
> Cc: openib-windows at openib.org
> Subject: Re: [Openib-windows] Bug or by design?
>
> I later discovered that you cannot go from RTS -> RTR -> RTS,
> so I scrapped that idea. I made another post to the list
> with the "patch" that I put into mthca_qp.c to fix things.
> It appears to me that there just needed to be some required
> params specified for the RTS->RTS state change, just like
> there are for the RTR->RTS change. Without anything being
> specified as required, but with the routine
> mlnx_conv_qp_modify_attr() forcing IB_QP_SQ_PSN to be
> required (line 743) it was a no win situation. If there was
> an IB_MOD_QP_xxx flag for SQ_PSN I would be fine, but since
> there is not I was stuck.
>
> Please let me know if the changes that I made to mthca_qp.c
> are incorrect.
>
> Thanks
>
> ----- Original Message -----
> From: "Fabian Tillier" <ftillier at silverstorm.com>
> To: "Saul" <26oo at cox.net>; "Leonid Keller" <leonid at mellanox.co.il>
> Cc: <openib-windows at openib.org>
> Sent: Monday, August 14, 2006 12:23 PM
> Subject: Re: [Openib-windows] Bug or by design?
>
>
> > Hi Saul,
> >
> > On 8/12/06, Saul <26oo at cox.net> wrote:
> >>
> >> 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?
> >
> > This should work. You can't move back from RTS to RTR without
> > resetting the QP first and moving it back through INIT, which will
> > break your connection.
> >
> > Leonid, can you look into this?
> >
> > Thanks,
> >
> > - Fab
> >
>
>
More information about the ofw
mailing list