[ofa-general] [PATCH] for-2.6.25: rdma/cm: do not issue MRA ifuser rejects connection request

Sean Hefty sean.hefty at intel.com
Wed Feb 13 14:54:33 PST 2008


> > If the listen backlog maintained in the rdma_user_cm is full,
> > it destroys the rdma_cm_id, which in turns destroys the ib_cm_id.
> > The ib_cm_id generates a REJ because the state of the ib_cm_id has
> > changed to MRA sent, versus REQ received.
>
>Not sure I understand the problem.  When the listen backlog is full,
>don't we want to generate a REJ?

The current behavior is that when the backlog is full, the REQ is dropped, which
allows the remote side to retry the request, hopefully after the backlog has
cleared a little.  If I recall correctly, this feature was added based on
feedback from at least Michael Tsirkin for SDP(?) support.  Clients notify the
IB CM to drop the REQ by reporting -ENOMEM from the REQ callback.

The rdma_user_cm was using this, but when support to send the MRA was added to
the rdma_cm, it ended up breaking this feature.  The MRA needs to be sent after
the user has examined the request, rather than before.

- Sean




More information about the general mailing list