Re: [tsvwg] comments draft-tuexen-tsvwg-sctp-prpolicies-01

Michael Tuexen <Michael.Tuexen@lurchi.franken.de> Wed, 10 July 2013 10:44 UTC

Return-Path: <Michael.Tuexen@lurchi.franken.de>
X-Original-To: tsvwg@ietfa.amsl.com
Delivered-To: tsvwg@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 8EC7621F9F52 for <tsvwg@ietfa.amsl.com>; Wed, 10 Jul 2013 03:44:04 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.599
X-Spam-Level:
X-Spam-Status: No, score=-2.599 tagged_above=-999 required=5 tests=[BAYES_00=-2.599]
Received: from mail.ietf.org ([12.22.58.30]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id GJgugloohVk6 for <tsvwg@ietfa.amsl.com>; Wed, 10 Jul 2013 03:44:04 -0700 (PDT)
Received: from mail-n.franken.de (drew.ipv6.franken.de [IPv6:2001:638:a02:a001:20e:cff:fe4a:feaa]) by ietfa.amsl.com (Postfix) with ESMTP id 7204B11E811E for <tsvwg@ietf.org>; Wed, 10 Jul 2013 03:42:55 -0700 (PDT)
Received: from [192.168.1.101] (p5481BB69.dip0.t-ipconnect.de [84.129.187.105]) (Authenticated sender: macmic) by mail-n.franken.de (Postfix) with ESMTP id A21B21C0C0692; Wed, 10 Jul 2013 12:42:51 +0200 (CEST)
Content-Type: text/plain; charset="iso-8859-1"
Mime-Version: 1.0 (Mac OS X Mail 6.5 \(1508\))
From: Michael Tuexen <Michael.Tuexen@lurchi.franken.de>
In-Reply-To: <CAAFAkD_+22YfgTa+DusmH-CAW3q-afH=f-tbHQLCXaKf-wbyOA@mail.gmail.com>
Date: Wed, 10 Jul 2013 12:42:52 +0200
Content-Transfer-Encoding: quoted-printable
Message-Id: <8250D7C2-2DE6-4E8E-9FED-366DD2C1B8E0@lurchi.franken.de>
References: <CAAFAkD-Kgb34TBC2bDWKVUfF4NNgyWSMzPk1MAU5rUwjkf=4uw@mail.gmail.com> <27BA1FEC-AE84-412F-8D8A-4857FF283149@fh-muenster.de> <CAAFAkD_+22YfgTa+DusmH-CAW3q-afH=f-tbHQLCXaKf-wbyOA@mail.gmail.com>
To: Jamal Hadi Salim <hadi@mojatatu.com>
X-Mailer: Apple Mail (2.1508)
Cc: tsvwg <tsvwg@ietf.org>, "robin.seggelmann" <robin.seggelmann@t-systems.com>
Subject: Re: [tsvwg] comments draft-tuexen-tsvwg-sctp-prpolicies-01
X-BeenThere: tsvwg@ietf.org
X-Mailman-Version: 2.1.12
Precedence: list
List-Id: Transport Area Working Group <tsvwg.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/tsvwg>, <mailto:tsvwg-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/tsvwg>
List-Post: <mailto:tsvwg@ietf.org>
List-Help: <mailto:tsvwg-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/tsvwg>, <mailto:tsvwg-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 10 Jul 2013 10:44:04 -0000

On Jul 10, 2013, at 11:48 AM, Jamal Hadi Salim <hadi@mojatatu.com> wrote:

> 
> Hi Michael,
> 
> On Wed, Jul 10, 2013 at 3:42 AM, Michael Tuexen <tuexen@fh-muenster.de> wrote:
> 
> Assume the sender sends a user message which is approximately of size 3*MTU.
> So SCTP will fragment it into 3 DATA chunk and send them. If the user
> has specified that the number of retransmissions is limited to 0 and
> the last fragment gets lost in the network, the sender will increment
> sprstat_abandoned_sent.
> 
> Ok,  so the last fragment essentially doesnt get acknowledged before we 
> abandon ship. And the other stat indicates we abandoned while we still had some
> sitting locally. Is the intersection of the two (some are sent but not acked and
> some are still sitting locally) implying both stats will be incremented?
I think there is no intersection:
Either a fragment has been sent or no fragment has been sent. Depending
on this, the corresponding counter has incremented.
> 
> Other than the perceived ambiguity -  why do i care to know about the
> two types of abandoned messages in a user app? I  will have to sum
> those two, so why not just give me one stat?
Differentiating between unsent and sent makes sense. For unsent you
know for sure that the message has not been received by the peer.
For sent messages, you don't know (for example, the SACK could have
been lost).
I'm not giving you one stat because:
* if you want only one, adding them is not too hard.
* the SCTP_SEND_FAILED_EVENT event gives you also an indication
  whether the user message was sent or not. This stats is something
  like a summary.
>  
> BTW: the doc will benefit from such a small description as you gave me
> above.
OK. I'll add some text.
> 
> What will happen at the receiver side if you assume that the first two
> fragments have been received. If partial delivery was started, you will
> get a SCTP_PARTIAL_DELIVERY_EVENT event indicating SCTP_PARTIAL_DELIVERY_ABORTED.
> Without partial delivery being started, the receiver could also drop the
> first part of the message.
> 
> 
> You answered the essence of my question.
> Silly follow up: I am assuming that event will come with an EOR?
Events should have the MSG_EOR flag set if the buffer provided was
large enough.

Best regards
Michael
> To use your example (at receiver):
> EPOLLIN, recvmsg chunk1, chunk2, EAGAIN
> EPOLLIN, recvmsg SCTP_PARTIAL_DELIVERY_EVENT, EOR
> 
> cheers,
> jamal