[openib-general] gen2 dev branch
Sean Hefty
mshefty at ichips.intel.com
Tue Aug 3 08:58:27 PDT 2004
On Tue, 3 Aug 2004 06:56:33 +0300
"Yaron Haviv" <yaronh at voltaire.com> wrote:
> The current API doesn't deal with timeouts and retransmits, but leave
> that to the application as suggested in the pass, the benefit is that
> different apps can deal with retransmit differently.
I think that the GSI needs to provide the timeout mechanism. We don't want clients to have to re-implement this, and it makes it easier to match requests with responses.
> >QP redirection requires allocating ... Because of the number of
> options available, I think that the user needs control over them.
>
> Agreed, a GSI server should own its redirected QP.
I don't think we're in agreement. The client should control the redirected QPs, *not* the GSI. Having the GSI control redirected QPs puts too much policy into the GSI. I view the GSI as access to QP1 only.
> we need however to look at the redirect messages that run on QP1, when
> an active side sends a MAD and get a response that the MAD should be
> redirected, the MAD should be resent to the new QP, in the proposed
> implementation the GSI layer resends the MAD to the new QP when such
> redirect message arrives without involving the App, otherwise any
> consumer should have provided exactly the same functionality and its
> better to have it be transparent to the consumers.
I see no benefit to making redirection transparent. The GSI is reducing control from the app, without having knowledge of what the client is trying to do. The process of redirecting a remote node involves formatting and sending a MAD, so I don't see this as a win.
If something like this *is* necessary, then a "redirection layer" could be implemented on top of a simple layer-1 interface.
To be clear, I believe that the core GSI should operate on field values only, and let the meanings of those fields be defined by upper layers. RMPP and request/response matching need to be generic modules that are available over any QP. Clients should have control over redirection and redirected QPs.
I think that we need to examine the design of the APIs and the software architecture from a couple of perspectives to see that it can *best* meet all needs. The CM doesn't require request/response matching or RMPP, and CM redirection is simple. SA queries requires request/response matching and RMPP, and it's redirection is more complex. Currently, I don't think that we're *best* meeting the needs of the CM.
More information about the general
mailing list