Subject: [rddp] DDP/SCTP Stream Reset

From: Caitlin Bestler <[email-masked]>
Date: Mon, 9 Dec 2002 10:58:09 -0600

One issue in the mapping of DDP to SCTP is how to
"terminate" an individual DDP Stream in a way that does not
affect the other streams carried on the same SCTP
association.

If the SCTP Stream identifier is permanently burned, then
eventually the SCTP Association will have to be torn down.
SCTP provides no method for increasing the number of streams
on an existing association.

This can be solved by a DDP Stream Reset message. The
semantics are simple: once a DDP Stream is terminated, all
arriving SCTP Data Chunks for that stream are to be
discarded until a DDP Stream Reset message is received.
After it is received, SCTP Data Chunks with later Message
Sequence Numbers (MSN) for that stream will resume being
processed in DDP or DDP/RDMA mode.

The question is: what is the best way to encode this reset
message? Or more precisely, at what layer?

Adaptation Layer:

This is what I have in the in-progress draft. SCTP provides
a Payload Protocol Identifier for Data Chunks. What is
proposed is that there be two different types of Data
Chunks: those used for DDP messages and those used for
Adaptation Layer Control messages.

The only Adaptation Layer Control message defined at this
point is the DDP Stream Reset message. It will probably be
the only one required.

A command code is included because SCTP does not allow a
zero length Data Chunk. At least four bytes are needed.

DDP Layer:

The DDP layer already has message types, and an argument can
be made for consolidating this additional type as part of
the DDP protocol itself.

It could even have validity when the LLP was TCP. Although
it is hard to imagine scenarios where it would make sense to
salvage a TCP connection and reset it. It is too simple to
simply disconnect and reconnect.

SCTP Layer:

A new SCTP Chunk Type could be defined for this purpose.

It could be argued that other ULPs can have the need to
'reset' a specific stream. Hence this functionality is not
DDP specific.

It can also be argued that the need to 'reset' a stream is
totally in the ULP's mind, and therefore the ULP should
reset it. At the SCTP layer, nothing was wrong with the
stream, why should SCTP be involved in 'fixing' it?

Both of those arguments strike me as valid. I decided
against advocating this solution to avoid any complaints
that "those RDMA people want to fix SCTP too".

In any event, I thought it would be useful to see if anyone
has other thoughts on this issue.

Caitlin Bestler
http://asomi.com/CaitlinBestler/
_______________________________________________
rddp mailing list
[email-masked]
https://www1.ietf.org/mailman/listinfo/rddp