MPA issues and next steps

"Culley, Paul" <[email protected]>
Newsgroups gmane.ietf.rddp
Message-ID <4D027986353D1341ADA4F2A4F8A170762AB1E937@cceexc18.americas.cpqcorp.net>
As David has covered the workgroup issues around CRCs and Markers I
think it is time to address some other issues.  While we were short on
time to discuss these things in Vienna, I did hear some opinions from
people on what we need to do to complete the MPA "connection setup"
process.

1) MPA will now require a "Startup Key" exchange prior to sending any
FPDUs.

2) In the current draft, the "Startup Key" consists of a fixed ID, CRC
flag, Marker Flag, and Revision.

3) It was proposed to add an "Active/Passive" indication to allow MPA to
check that ULPs were starting MPA correctly (no Active/Active or
Passive/Passive starts).

4) It was proposed to add a "Private Data" field and associated length
field to the key.  This would primarily be used when MPA starts up
directly as TCP enters "established" state.

  4a) The "private data" must be delivered on reception to the ULP,
after which the ULP provides the parameters to enter full operations
(QP, PD, initial buffers etc.), or to terminate the connection.  This
implies an MPA "mode" which can send and wait for the reception of the
key, as well as appropriate interfaces to deal with the private data.

5) We need to show all the connection startup possibilities in the MPA
draft, and discuss rules/issues with each:

  5a) Startup immediately following TCP established with NO private
data;  MPA key exchange, followed by full operation.

  5b) Startup immediately following TCP established with private data;
MPA key/private data exchange, followed by full operation.

  5c) Startup following prior streaming mode data exchanges; quiesce
stream data, MPA key/private data exchange, followed by full operation.

There were some opinions that said that the "Startup Key" and "Private
data" responsibility could be left up to some ULP above the MPA layer.
In this case the draft would only require that these be sent and
received, but not say that MPA was itself responsible.  I don't think we
need to say this directly, but can simply say that an endpoint that is
compliant with MPA must send and receive the key and private data.  We
can leave it to the vendors to describe what parts of the spec are
executed by the hardware/device driver, and what parts are left to other
layers.

I suggest that to clarify the intent, that we provide an -EXAMPLE- ULP
interface, that presumes that all of the MPA functionality is present in
a single layer, similar to the function calls shown in the RDDP
architecture draft.  If, at some point, the WG decides to make a "verbs"
document a WG item, then we can argue over the details of this interface
in there.

Any comments?

Paul R. Culley
HP Senior Fellow
281-514-5543
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.