[openib-general] Solicited response with no matching send request

Sean Hefty mshefty at ichips.intel.com
Mon Nov 15 13:36:29 PST 2004


Hal Rosenstock wrote:

> After Roland's query this AM, I am looking at this some more:
> 
> On Wed, 2004-11-10 at 13:43, Sean Hefty wrote:
> 
>>The second case where I can see this happening is if the client canceled 
>>the send, and I'm not sure that we'd want to give the client an 
>>unmatched response in this case.
> 
> 
> So do we just keep the cancel around for some time period to make sure
> this doesn't occur ? If so, should cancel also have its own timeout or
> should some arbitrary timeout be used to handle this case ? 

My personal take would be to avoid adding that complexity.  E.g. a 
client sends a MAD with TID 5, cancels 5, sends 5, cancels 5, sends 5. 
A response is now received.  What should the MAD layer do?

I don't see issues with silently dropping any MAD that we're not ready 
to receive.  For unsolicited MADs, I don't see a reasonable alternative.

For solicited (response) MADs, I have a hard time seeing why a client 
would ever want an unmatched MAD, unless they're trying to duplicate MAD 
layer functionality higher in the stack.  For user-mode, this may make 
sense, but I'm not convinced that duplicating the request-response 
functionality in user-mode is the best option (versus moving all of RMPP 
to user-mode).

For the sourceforge stack, we handled this by defining "raw" MAD 
services that did nothing other than send/receive MADs.  Clients using a 
raw service were responsible for performing RMPP, request/response 
matching, and handling timeouts.  This worked, but the MAD layer still 
needed to route received MADs to the correct client.

- Sean




More information about the general mailing list