[rds-devel] IB/iWARP code separation

Or Gerlitz or.gerlitz at gmail.com
Thu Nov 6 14:40:45 PST 2008


Steve Wise <swise at opengridcomputing.com> wrote:

> The cm id associated with the connection will indeed get DISCONNECTED events
> because the connection is torn down via the TERMINATE process.  Both sides
> will get a DISCONNECTED event...

cool, this can serve RDS to realize that the current connection is not
usable any more and a new one should be established.

Rick, you have mentioned that RDS rdma operations are not reliable
anyway, so I assume that under any failures rdma's are not retried by
RDS. Does it also means that the client has to set a timer per rdma
request and when expires retry (and/or invalidate the rkey, reclaim
the buffer, etc)? if yes, doesn't this disconnection plugged well into
your current scheme, as first, when the connection is terminated the
QP is moved to error by the RDMA-CM and hence all the pending work
requests would be flushed (Steve - are there flushes under iWARP as
under IB?). Second, as for the rdma which completed fine from the
server view but not from the client RNIC view, since the client
terminated the connection, it will not deliver up the response that
was sent by the server following the "wrong successful completion" and
hence the client app timer will expire, rdma op will be re-submitted,
and we are done.

Or.



does it means that the fact of under iWARP rdma failure not being
reported via completion error but rather via disconnection

> Also, both sides will get an async error on the QP.
> Everyone gets error notification.  :)



More information about the rds-devel mailing list