Re: [Tsvwg] Re: SCTP socket semantics (buffer size / send failures / MSG_TRUNC / PRSCTP control)
Mark Butler <butlerm@middle.net> Sat, 31 December 2005 00:10 UTC
Received: from localhost.cnri.reston.va.us ([127.0.0.1] helo=megatron.ietf.org) by megatron.ietf.org with esmtp (Exim 4.32) id 1EsUK5-00053k-Uy; Fri, 30 Dec 2005 19:10:13 -0500
Received: from odin.ietf.org ([132.151.1.176] helo=ietf.org) by megatron.ietf.org with esmtp (Exim 4.32) id 1EsUK5-00053f-8X for tsvwg@megatron.ietf.org; Fri, 30 Dec 2005 19:10:13 -0500
Received: from ietf-mx.ietf.org (ietf-mx [132.151.6.1]) by ietf.org (8.9.1a/8.9.1a) with ESMTP id TAA02710 for <tsvwg@ietf.org>; Fri, 30 Dec 2005 19:09:01 -0500 (EST)
Received: from webmail.readytek.net ([65.73.233.22]) by ietf-mx.ietf.org with esmtp (Exim 4.43) id 1EsUOd-0008LF-Aa for tsvwg@ietf.org; Fri, 30 Dec 2005 19:14:55 -0500
Received: from [192.168.0.2] ([67.137.150.193]) by webmail.readytek.net (Readytek Broadband Web Mail) with ESMTP id IMP96804; Fri, 30 Dec 2005 17:10:04 -0700
Message-ID: <43B5CC7A.400@middle.net>
Date: Fri, 30 Dec 2005 17:10:34 -0700
From: Mark Butler <butlerm@middle.net>
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.0; en-US; rv:1.7.2) Gecko/20040804 Netscape/7.2 (ax)
X-Accept-Language: en-us, en
MIME-Version: 1.0
To: Randall Stewart <randall@stewart.chicago.il.us>
Subject: Re: [Tsvwg] Re: SCTP socket semantics (buffer size / send failures / MSG_TRUNC / PRSCTP control)
References: <43AA9BE2.7070901@stewart.chicago.il.us> <1135727735.6321.32.camel@w-sridhar2.beaverton.ibm.com> <559909A9-DBF0-48ED-92F0-093A49E63D41@fh-muenster.de> <43B3186D.7020106@us.ibm.com> <43B40DA2.4030605@stewart.chicago.il.us> <43B4BB92.60905@middle.net> <43B5320D.8080105@stewart.chicago.il.us>
In-Reply-To: <43B5320D.8080105@stewart.chicago.il.us>
Content-Type: text/plain; charset="ISO-8859-1"; format="flowed"
Content-Transfer-Encoding: 7bit
X-Spam-Score: 0.0 (/)
X-Scan-Signature: 9ed51c9d1356100bce94f1ae4ec616a9
Content-Transfer-Encoding: 7bit
Cc: tsvwg@ietf.org
X-BeenThere: tsvwg@ietf.org
X-Mailman-Version: 2.1.5
Precedence: list
List-Id: Transport Area Working Group <tsvwg.ietf.org>
List-Unsubscribe: <https://www1.ietf.org/mailman/listinfo/tsvwg>, <mailto:tsvwg-request@ietf.org?subject=unsubscribe>
List-Post: <mailto:tsvwg@ietf.org>
List-Help: <mailto:tsvwg-request@ietf.org?subject=help>
List-Subscribe: <https://www1.ietf.org/mailman/listinfo/tsvwg>, <mailto:tsvwg-request@ietf.org?subject=subscribe>
Sender: tsvwg-bounces@ietf.org
Errors-To: tsvwg-bounces@ietf.org
Randall Stewart wrote: > > I would think a minimum of 64k.. but really its a Implementation choice > IMO.. having a guideline is ok.. but it really is up to an > implementation. The problem is one-to-many sockets with small default shared buffers. Whatever the default is, SOCK_DGRAM socket creation should fail if messages of the default maximum size cannot be received atomically. Otherwise the stack either deadlocks or aborts when a sufficiently large message arrives. That is why the default size should be constrained by the default maximum buffer size. Send failure notifications: Having SEND_FAILED notifications return the original message is a serious constraint on buffer size. There should be a socket option that says how much data from the head of the message is saved for a send failure notification. Zero should mean none. ENOMEM should be returned if the size isn't practical. When a send failure occurs, such data should be "moved" from the send buffer to the receive buffer to prevent deadlock. IF there is not enough room in the receive buffer, the data should be truncated, and both MSG_EOR and MSG_TRUNC set on the final read of the notification. MSG_EOR / MSG_TRUNC policy: I suggest that whenever a partial delivery is aborted, the next read returns zero bytes, with both MSG_EOR and MSG_TRUNC set. It is a very good way to keep readers from running messages together. Notable case is when a PR-SCTP receiver receives a FORWARD TSN that causes it to have to abort a partial delivery. So MSG_TRUNC is a practical necessity even on sockets with atomic delivery turned off. Because of this problem, PR-SCTP capability should have to be enabled with an option at the socket level. By default, messages would still expire before transmission started, but not after (as specified by the current draft). I suggest SCTP_PRSCTP_ENABLED for the option name. - Mark _______________________________________________ tsvwg mailing list tsvwg@ietf.org https://www1.ietf.org/mailman/listinfo/tsvwg
- [Tsvwg] SCTP Socket API Randall Stewart
- Re: [Tsvwg] SCTP Socket API - Objections to propo… Kacheong Poon
- [Tsvwg] Re: SCTP Socket API Sridhar Samudrala
- Re: [Tsvwg] Re: SCTP Socket API Sridhar Samudrala
- Re: [Tsvwg] Re: SCTP Socket API Randall Stewart
- Re: [Tsvwg] Re: SCTP Socket Semantics Mark Butler
- Re: [Tsvwg] Re: SCTP Socket Semantics Randall Stewart
- Re: [Tsvwg] Re: SCTP Socket API Michael Tuexen
- Re: [Tsvwg] Re: SCTP Socket API Caitlin Bestler
- Re: [Tsvwg] Re: SCTP socket semantics (buffer siz… Mark Butler
- Re: [Tsvwg] SCTP Socket API Kacheong Poon
- Re: [Tsvwg] SCTP Socket API Randall Stewart
- Re: [Tsvwg] SCTP Socket API - Objections to propo… Mark Butler
- Re: [Tsvwg] SCTP Socket API - Objections to propo… Randall Stewart
- Re: [Tsvwg] SCTP Socket API - Objections to propo… Mark Butler
- Re: [Tsvwg] SCTP Socket API - Objections to propo… Randall Stewart
- [Tsvwg] PR-SCTP truncation Mark Butler
- Re: [Tsvwg] PR-SCTP truncation Randall Stewart
- Re: [Tsvwg] SCTP Socket API - Objections to propo… Mark Butler
- Re: [Tsvwg] SCTP Socket API - Objections to propo… Kacheong Poon
- Re: [Tsvwg] SCTP Socket API - Objections to propo… Brian F. G. Bidulock
- Re: [Tsvwg] SCTP Socket API - Objections to propo… Brian F. G. Bidulock
- Re: [Tsvwg] SCTP Socket API - Objections to propo… Michael Tuexen
- Re: [Tsvwg] SCTP Socket API - Objections to propo… Mark Butler
- Re: [Tsvwg] SCTP Socket API - Objections to propo… Mark Butler
- Re: [Tsvwg] SCTP Socket API - Objections to propo… Brian F. G. Bidulock
- Re: [Tsvwg] SCTP Socket API - Objections to propo… Mark Butler
- Re: [Tsvwg] SCTP Socket API - Objections to propo… Brian F. G. Bidulock
- Re: [Tsvwg] SCTP Socket API - Objections to propo… Randall Stewart
- Re: [Tsvwg] SCTP Socket API - Objections to propo… Randall Stewart
- Re: [Tsvwg] SCTP Socket API - Objections to propo… Mark Butler
- Re: [Tsvwg] SCTP Socket API - Objections to propo… Mark Butler
- Re: [Tsvwg] SCTP Socket API - Objections to propo… Brian F. G. Bidulock
- Re: [Tsvwg] SCTP protocol extensions Mark Butler
- Re: [Tsvwg] SCTP protocol extensions Brian F. G. Bidulock
- Re: [Tsvwg] SCTP Socket API - Objections to propo… Randall Stewart
- Re: [Tsvwg] SCTP PPID field Mark Butler
- Re: [Tsvwg] SCTP PPID field Michael Tuexen
- Re: [Tsvwg] SCTP PPID field Randall Stewart
- Re: [Tsvwg] SCTP PPID field Mark Butler
- Re: [Tsvwg] SCTP Socket API - Objections to propo… Mark Butler
- Re: [Tsvwg] SCTP Socket API - Objections to propo… Randall Stewart