[openib-general] Re: [PATCH] RE: compliancy issue?
Michael S. Tsirkin
mst at mellanox.co.il
Tue May 9 22:43:13 PDT 2006
Quoting r. Michael S. Tsirkin <mst at mellanox.co.il>:
> Subject: Re: [PATCH] RE: compliancy issue?
>
> Quoting r. Sean Hefty <sean.hefty at intel.com>:
> > Subject: [PATCH] RE: compliancy issue?
> >
> > >CA4-24.2.3: The connecting peer shall terminate the connection attempt
> > >if ExtMaxAdverts of the HAH is set to zero.
> > >
> > >This means that SDP must examine the HAH before RTU is sent.
> > >But, CMA currently sends RTU from cma_rep_recv, before notifying
> > >the user.
> >
> > Can you try this simple patch and see if it fixes your problem? You will
> > need to call rdma_accept() or rdma_reject() after receiving a CONNECT_RESPONSE
> > event. The conn_param to rdma_accept() should be NULL.
> >
> > Signed-off-by: Sean Hefty <sean.hefty at intel.com>
> > ---
> > Index: cma.c
> > ===================================================================
> > --- cma.c (revision 6948)
> > +++ cma.c (working copy)
> > @@ -778,7 +778,7 @@ static int cma_ib_handler(struct ib_cm_i
> > status = cma_verify_rep(id_priv, ib_event->private_data);
> > if (status)
> > event = RDMA_CM_EVENT_CONNECT_ERROR;
> > - else if (id_priv->id.qp) {
> > + else if (id_priv->id.qp && id_priv->id.ps != RDMA_PS_SDP) {
> > status = cma_rep_recv(id_priv);
> > event = status ? RDMA_CM_EVENT_CONNECT_ERROR :
> > RDMA_CM_EVENT_ESTABLISHED;
> >
>
> Would not cma_rep_recv be required to modify the QP?
> Anyway, I'll try.
Hmm, it seems that QP will get modified to RTS on RTU only.
That's bad - I want to move it to RTS on REP, since receive completion
might cross RTU and I want to be able to respond to each send immediately.
I'll do some more tests.
--
MST
More information about the general
mailing list