[openib-general] A question about sa_query
Hal Rosenstock
halr at voltaire.com
Mon Oct 23 07:16:34 PDT 2006
On Mon, 2006-10-23 at 09:46, Roland Dreier wrote:
> > 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,
There may be SAs out there that utilize this feature.
> and I'm not sure what a consumer can usefully do with it.
A different retry strategy ?
> 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.
Not only cared but handled it differently than other errors.
-- Hal
> - R.
More information about the general
mailing list