Subject: Re: sctp_peeloff()

From: Caitlin Bestler <[email-masked]>
Date: Thu, 11 Dec 2003 16:06:15 -0600

On Dec 11, 2003, at 3:47 PM, Michael Tuexen wrote:

>> To successfully provide per-stream buffering, an API must
>> have the following rules:
>>
>> 	The receiver, through some mechanism, must have
>> 	informed the sender of the maximum number of messages
>> 	that can be in-flight. For most RDMA applications this
>> 	is a pre-arranged or negotiated number of credits. Credits
>> 	are reduced when a message is sent, and incremented when
>> 	the receiver replies. For non-RDMA applications it would
>> 	probably work to increase credits as prior messages were
>> 	acked.
> What does 'the receiver replies' means. Sending a SACK? I have
> the impression that you are running a thin layer on top of SCTP
> doing the ACKs, is that right?

For RDDP over SCTP what is meant by "the receiver replies" is that
the ULP sends a response message back to its peer.

So the type of behavior I am talking about can be implemented with
an API layer, it does not require a protocol layer. RDDP already
comes very close to that, in that there are no RDDP messages,
merely wrappers around messages supplied from its ULP.

But you could build an RQ/CQ and/or callback interface directly
to SCTP and it would be no more of a protocol layer than sockets.