[openib-general] RMPP and timeouts/retries
Hal Rosenstock
halr at voltaire.com
Wed Jun 8 03:58:12 PDT 2005
On Wed, 2005-06-08 at 01:04, Sean Hefty wrote:
> >> I'm having some trouble using timeouts and retries with RMPP. The issue
> >> I see is that what constitutes a response is different than normal MADs
> >> for RMPP. With the current "definition" of response, is the
> >> timeout/retry only usable on the SA client side where the normal
> >> definition is more closely followed ? If so, is there still an issue
> >> with SA GetTable as the initial request is not RMPP ?
>
> The SA client should set the timeout > 0 to indicate that a response MAD is
> expected. It can set retries, but isn't required to do so.
OK.
> >Is the response not at the RMPP level ? So a response would be for dual
> >ended RMPP ?
>
> Request/response is separate from RMPP. Request/response is defined at the
> message level from the viewpoint of the user of the MAD layer. (I.e. is the
> response bit set in the MAD header, regardless of the size of the MAD.)
Understood. It's method based (response bit and trap repress).
> Setting timeout > 0 when sending indicates that a MAD should be received with
> the response bit set that is in reply to the request. If timeout = 0 but RMPP
> is marked active, the MAD will still invoke RMPP and not complete until all
> segments have been ACKed. (I.e. the completion of an RMPP send indicates that
> the MAD was received.)
If timeout = 0, does RMPP still indicate a timeout if an ACK is lost and
the other end does not reACK ?
> Retries is a little more complex. It indicates the number of times to send a
> request in hopes of receiving a response (if one is expected) or an ACK (if
> using RMPP).
Any effect on ABORT and/or STOP ?
> >> On the SA side, there does not appear to be a way to use this feature.
> >> Is that correct ?
>
> For the SA side responding to a request, you would want to set retries > 1, but
> timeout = 0. Timeout of 0 indicates that no response is expected, since the SA
> is sending the response. Having a retry count would allow a retransmission if
> an ACK were lost.
I will try that. Using retry and timeout on the SA side is definitely
problematic. Right now it is set to no retries and no timeout on the SA
side. I will change and retest.
> You should be able to mix RMPP and non-RMPP MADs without restriction: non-RMPP
> request - RMPP response, RMPP request - non-RMPP response, RMPP request and
> response, non-RMPP request and response. If one of these conditions doesn't
> work, then there's a bug in the code. I'm pretty sure that I tested all of
> these combinations, but that doesn't mean that it won't hit a bug talking with
> another RMPP implementation.
The main new one right now is non RMPP request - RMPP response. SA does
not currently support any of the dual sided RMPP methods (so there is no
RMPP request - RMPP response). (Non RMPP request - non RMPP response is
what is mainly used). I'm not sure the other combination has a use.
Thanks.
-- Hal
More information about the general
mailing list