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

Sean Hefty mshefty at ichips.intel.com
Wed Nov 10 10:43:56 PST 2004


Hal Rosenstock wrote:

> Currently if no matching send request is found, the received MAD is
> freed (around line 1035 of the current mad.c).
> 
> In this case, timeout too short, etc., is this the correct behavior ?
> Or should the receive packet be given to a matching MAD agent with a
> receive handler (perhaps with a different status) ? The latter would
> allow for an additional send model for requests which I don't think is
> supported now at the cost of having the client throw away these receives
> based on a new status code (perhaps some sort of timeout).

I think that this is the behavior that you'd want, but I can see your 
view, and I'm open to changing it.  From a client's perspective, 
dropping an unmatched MAD keeps the client from having to handle receive 
MADs without having a send outstanding.  That is, I would think that a 
client that could make use of this MAD would have to be fairly complex.

I see a couple of cases where this would happen.  The first is the one 
you mention, where the timeout was too short.  If the client retries the 
request, then they would need to deal with an unmatched response coming 
in before they issued the retry, while the retry is active (where the 
retry is sent after the received had checked for a match), or after the 
retry completed (with the need to handle multiple unmatched responses.)

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.

- Sean



More information about the general mailing list