Re: [tsvwg] SCTP question

Michael Tuexen <Michael.Tuexen@lurchi.franken.de> Mon, 05 November 2018 22:52 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 D7336128CE4 for <tsvwg@ietfa.amsl.com>; Mon, 5 Nov 2018 14:52:31 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.6
X-Spam-Level:
X-Spam-Status: No, score=-2.6 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, RCVD_IN_DNSWL_LOW=-0.7] autolearn=ham autolearn_force=no
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id xhFafEdUAguB for <tsvwg@ietfa.amsl.com>; Mon, 5 Nov 2018 14:52:28 -0800 (PST)
Received: from drew.franken.de (mail-n.franken.de [193.175.24.27]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id D1C5312D4EE for <tsvwg@ietf.org>; Mon, 5 Nov 2018 14:52:27 -0800 (PST)
Received: from mb.fritz.box (p57B695F5.dip0.t-ipconnect.de [87.182.149.245]) (Authenticated sender: lurchi) by mail-n.franken.de (Postfix) with ESMTPSA id 2B737721E280C; Mon, 5 Nov 2018 23:52:24 +0100 (CET)
Content-Type: text/plain; charset="us-ascii"
Mime-Version: 1.0 (Mac OS X Mail 12.1 \(3445.101.1\))
From: Michael Tuexen <Michael.Tuexen@lurchi.franken.de>
In-Reply-To: <LOXP123MB08052E6E1704B9E354BF5561EBCA0@LOXP123MB0805.GBRP123.PROD.OUTLOOK.COM>
Date: Mon, 05 Nov 2018 23:52:23 +0100
Cc: "Proshin, Maksim" <mproshin@mera.ru>, nhorman@tuxdriver.com, perry.wilks@bt.com, tsvwg@ietf.org, draft-ietf-tsvwg-2960bis@ietf.org
Content-Transfer-Encoding: quoted-printable
Message-Id: <69FF1417-DED5-4FC2-9862-A725057CCFAF@lurchi.franken.de>
References: <LOXP123MB08050FABE8A17B6BF1F7E64EEBFE0@LOXP123MB0805.GBRP123.PROD.OUTLOOK.COM> <20181016173620.GB20870@hmswarspite.think-freely.org> <5e9e468a035341cea28066c14fddcc26@mera.ru> <LOXP123MB080505C9DDEC754008CEC070EBF40@LOXP123MB0805.GBRP123.PROD.OUTLOOK.COM> <F0B8D93E-699D-4C69-BC2C-6A338FABBA93@lurchi.franken.de> <LOXP123MB08052E6E1704B9E354BF5561EBCA0@LOXP123MB0805.GBRP123.PROD.OUTLOOK.COM>
To: philip.eardley@bt.com
X-Mailer: Apple Mail (2.3445.101.1)
Archived-At: <https://mailarchive.ietf.org/arch/msg/tsvwg/kwM5lFiA7h1TM5kq1FgDFHvUb1I>
Subject: Re: [tsvwg] SCTP question
X-BeenThere: tsvwg@ietf.org
X-Mailman-Version: 2.1.29
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: <https://mailarchive.ietf.org/arch/browse/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: Mon, 05 Nov 2018 22:52:32 -0000

> On 5. Nov 2018, at 18:32, philip.eardley@bt.com wrote:
> 
> Michael, all,
> 
> What do you think is the best way of progressing with this? I noticed that draft-ietf-tsvwg-rfc4960-errata has just been approved by IESG - I guess the plan is now to work on the actual rfc4960bis, so it could be incorporated there? (don't think I-D has been started?)  Is it best if we actually submit an Errata?
Hi Philip,

sorry for not responding earlier...

Since draft-ietf-tsvwg-rfc4960-errata has been approved, I would suggest the following:

The point being discussed is that RFC 4960 uses words like shall/must/should, but they
are not in capital letter. We already made sure the all "New Text" entries in
draft-ietf-tsvwg-rfc4960-errata resolve this. The words have been changed to
SHALL/MUST/SHOULD or have been changed to some wording avoiding any ambiguity.

The current plan for rfc4960bis is to get out an internet draft which contains
rfc 4960 with all fixes from draft-ietf-tsvwg-rfc4960-errata applied.
Then it is planned to go through the text and clean up the remaining ambiguities.
That would cover the issue reported by Perry.
To make sure it is covered, you could open an issue at
https://github.com/sctplab/rfc4960bis
to make sure we don't forget it. 
> 
> Perry W is also very interested to know whether he interprets the implications of this correctly:-
> 
> << Our understanding is (assuming that the 'shall' in the note should be uppercase) that the rules as for the DATA CHUNK are followed.
> This means that there is a separate timer for each destination IP address.  The changeover to try a different IP address only takes place after X retransmissions to the same IP address. When X is reached a transmission to an alternative IP address is made.
> Is our understanding correct?
Timers and counters are per path. Whether multiple addresses are used, depends on how the association
was initiated. Assume the server has three IP addresses A, B, and C.
Assume furthermore, RTO.Initial = 1 second, RTO.Max = 60 seconds, Max.Init.Retransmits = 8.
Case 1: The client only provides a single address when initiate the association, for example by calling connect(A).
You would observe:
  0 INIT towards A
  1 INIT towards A
  3 INIT towards A
  7 INIT towards A
 15 INIT towards A
 31 INIT towards A
 63 INIT towards A
123 INIT towards A
183 INIT towards A

Same for COOKIE-ECHO retransmissions, even if the server provides A, B, and C in the INIT-ACK, because
B and C would not be verified.

Case 2: The client provides all three addresses when initiating the association, for example by calling sctp_connectx(A,B,C).
  0 INIT towards A
  1 INIT towards B
  2 INIT towards C
  3 INIT towards A
  5 INIT towards B
  7 INIT towards C
  9 INIT towards A
 13 INIT towards B
 17 INIT towards C

Same the COOKIE-ECHO retransmissions.

Does that help?

Best regards
Michael

>>> 
> 
> I'm not sure whether this worthwhile discussing during the WG meeting on wed - the agenda looks quite tight (and neither Michael, Perry nor I are in Bangkok, I think)
> 
> Thanks
> phil
> -----Original Message-----
> From: Michael Tuexen [mailto:michael.tuexen@lurchi.franken.de] 
> Sent: 22 October 2018 21:32
> To: Eardley,PL,Philip,TUD1 R <philip.eardley@bt.com>
> Cc: Proshin, Maksim <mproshin@mera.ru>; nhorman@tuxdriver.com; Wilks,PB,Perry,TLB35 R <perry.wilks@bt.com>; tsvwg@ietf.org; draft-ietf-tsvwg-2960bis@ietf.org
> Subject: Re: [tsvwg] SCTP question
> 
>> On 22. Oct 2018, at 12:01, philip.eardley@bt.com wrote:
>> 
>> Do other people agree?- especially Randall, as editor of RFC4960, and other people who've been involved a lot with SCTP?
> I agree with the other people... I interpret it as a SHALL.
> 
> When doing conformance testing (which I do once in a while), I expect the INITs and COOKIE-ECHOs to be retransmitted based on the timer rules (Start with RTO.Initial, double until reaching RTO.Max). If the peer is multihomed and this is configured, one has to consider if the multiple address are used for retransmitting the INITs and COOKIE-ECHOs.
> 
> I know that the use of shall sometimes causes confusion and we will likely resolve this when working on RFC 4960bis.
> 
> You can forward my address to your colleague in case he has further questions. I wrote two implementations of the ETSI conformance test suite for SCTP:
> * https://github.com/nplab/ETSI-SCTP-Conformance-Testsuite
>  This is based on an extended version of packetdrill and can be used to test socket based
>  implementations like the FreeBSD or Linux kernel implementation. Working on Solaris support.
> * https://github.com/nplab/sctp-tests
>  This can be used for blackbox testing and is based on the SCTP Test Tool stt.
> 
> Best regards
> Michael
>> Thanks
>> phil
>> 
>> 
>> -----Original Message-----
>> From: Proshin, Maksim [mailto:mproshin@mera.ru]
>> Sent: 17 October 2018 09:32
>> To: Neil Horman <nhorman@tuxdriver.com>; Eardley,PL,Philip,TUD1 R 
>> <philip.eardley@bt.com>
>> Cc: Wilks,PB,Perry,TLB35 R <perry.wilks@bt.com>; tsvwg@ietf.org
>> Subject: RE: [tsvwg] SCTP question
>> 
>> Hi Neil,
>> 
>> In general it's not correct to say that "shall" is the same as SHALL. Thus RFC 8174 explains that "only UPPERCASE usage of the key words have the defined special meanings".
>> Saying this anyway I think that RFC 4960 actually means SHALL/MUST in that note.  
>> 
>> BR, Maxim
>> 
>> 
>> -----Original Message-----
>> From: tsvwg [mailto:tsvwg-bounces@ietf.org] On Behalf Of Neil Horman
>> Sent: Tuesday, October 16, 2018 20:36
>> To: philip.eardley@bt.com
>> Cc: perry.wilks@bt.com; tsvwg@ietf.org
>> Subject: Re: [tsvwg] SCTP question
>> 
>> On Tue, Oct 16, 2018 at 02:42:05PM +0000, philip.eardley@bt.com wrote:
>>> A colleague of mine, Perry, has a couple of questions about SCTP RFC4960. He's in the BT design team on Signalling protocols and concerned about conformance testing amongst other issues.
>>> 
>>> The statement is on page 57 of RFC4960  (section on Association initialisation) "Note: T1-init timer and T1-cookie timer shall follow the same rules given in Section 6.3."
>>> The question is: how should the "shall" be interpreted in this sentence? Does it mean that the S6.3 rules MUST be followed? Or does it mean that the S6.3 rules are optional - in which case, are there any thoughts about rules other than those in S6.3?
>>> 
>> The conventions section indicates that they keyword SHALL is goverened 
>> by RFC2119, which asserts SHALL is synonomous with the keywork MUST.  
>> That is to say that the phrase above on page 57 of RFC4960 is an 
>> absolute requirement.  You have to have the T1-init and T1-cookie 
>> timer follow the same rules given in Section 6.3
>> 
>> Neil
>> 
>>> Thanks,
>>> Best wishes,
>>> Philip Eardley
>>> Research and Innovation
>>> This email contains BT information, which may be privileged or confidential.. It's meant only for the individual(s) or entity named above. If you're not the intended recipient, note that disclosing, copying, distributing or using this information is prohibited. If you've received this email in error, please let me know immediately on the email address above. Thank you.
>>> We monitor our email system, and may record your emails.
>>> British Telecommunications plc
>>> Registered office: 81 Newgate Street London EC1A 7AJ Registered in 
>>> England no: 1800000
>>> 
>> 
>