[ofw] RE: NetworkDirect over WinVerbs

Sean Hefty sean.hefty at intel.com
Tue Feb 10 17:48:54 PST 2009


>Yes, but a failure that is recoverable - you can try again.  So can you try
>again in this case?  <grumble>The STATUS_TIMEOUT value is actually a success
>value...</grumble>

<grumble>but IO pending is not</grumble>

No - you can't try the DREQ again.  The DREQ has already been retried the
maximum number of times and the CEP state has transitioned to timewait.

>In any case, moving the QP to error right away on the receiver causes problems
>at the sender.  When I saw this it happened reliably, even in smaller
>configurations.  How do you suggest the sender handle this?

The winverbs API is correct; it's the mapping to (or) ND that's the problem.  :)

Once NotifyDisconnect() completes, the QP can be transitioned into the error
state.  NotifyDisconnect() indicates: DREQ received, DREP received, or DREQ
timed out.  This only occurs if the remote side has indicated that it is done
with the connection (or is unreachable).

Disconnect() only needs to map to issuing the DREQ on IB.

Returning back to ND... I still think ND:Disconnect()is trying to map to
WV:Disconnect() and WV:ModifyQp(), which is the problem, since Modify() is more
closely associated with the completion of NotifyDisconnect() versus
Disconnect().

- Sean




More information about the ofw mailing list