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. _______________________________________________ openib-general mailing list [email protected] http://openib.org/mailman/listinfo/openib-general To unsubscribe, please visit http://openib.org/mailman/listinfo/openib-general
