[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