[openib-general] A question about sa_query
Roland Dreier
rdreier at cisco.com
Mon Oct 23 06:46:30 PDT 2006
> There is something that bothers me in sa_query.
> According to table 115 in the IB-SPEC when the status in the MAD hdr
> is 1,2 or 3 it shouldn't be considered to as an error. (1 means busy,
> 2 means redirection, and 3 means both).
> The function "recv_handler" in core/sa_query.c sets the status of the
> sa_query before calling the callback function.
> It sets the status according to the status returned in the mad
> header. (mad_recv_wc->recv_buf.mad->mad_hdr.status)
> If the status in the mad_hdr is different from 0 it sets the return
> status to -EINVAL.
> This mean that the higher layers (e.g., SRP) do not know what was the
> exact status and therefore treat status 1 (busy) as an error.
> Am I missing something?
No, you are right.
I know the spec says a "busy" status is not an error, but I've not
seen anything actually return that, and I'm not sure what a consumer
can usefully do with it.
Also, we haven't tried handling SA redirection at all. Your issue
would be one thing we would have to fix if we did handle it.
So you are correct, and I wouldn't object to handling all this more
intelligently, but I would want to see some consumer that cared, too.
- R.
More information about the general
mailing list