Re: [Taps] RFC 6458 etc. in draft-welzl-taps-transports
Karen Elisabeth Egede Nielsen <karen.nielsen@tieto.com> Wed, 04 November 2015 01:28 UTC
Return-Path: <karen.nielsen@tieto.com>
X-Original-To: taps@ietfa.amsl.com
Delivered-To: taps@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 27BB01A888B for <taps@ietfa.amsl.com>; Tue, 3 Nov 2015 17:28:00 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.379
X-Spam-Level:
X-Spam-Status: No, score=-1.379 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, FM_FORGED_GMAIL=0.622, SPF_PASS=-0.001] autolearn=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 DjPJBv6gE7kY for <taps@ietfa.amsl.com>; Tue, 3 Nov 2015 17:27:57 -0800 (PST)
Received: from mail-io0-x22a.google.com (mail-io0-x22a.google.com [IPv6:2607:f8b0:4001:c06::22a]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 395A81A8884 for <taps@ietf.org>; Tue, 3 Nov 2015 17:27:57 -0800 (PST)
Received: by iodd200 with SMTP id d200so38702288iod.0 for <taps@ietf.org>; Tue, 03 Nov 2015 17:27:56 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=tieto.com; s=google; h=from:references:in-reply-to:mime-version:thread-index:date :message-id:subject:to:cc:content-type; bh=dEWHu9cRIw/gyf/8P6GI4vP/asQPNeyDKIubItNiJQ4=; b=MyYJ33dShf6eqIwzEf1x42GAA6deO/nL/W5ZhoTREhcA3/ofRb1Qnw9TUIu5drWqKY Vl7/YBDlOj3LWBIDg5TN66ujG8iD7afsGdSLSkVIUPRG3pJb/cdSUKnPWzFwh0hCF/pU 7RfNr/IeZV0622tkMAutEJcxhMG9qFH5cqENI=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:from:references:in-reply-to:mime-version :thread-index:date:message-id:subject:to:cc:content-type; bh=dEWHu9cRIw/gyf/8P6GI4vP/asQPNeyDKIubItNiJQ4=; b=CyVQjh/6V2Estvc4L3Uc2eZKh4x/aXdFcE3OnBHx+TRg5qod6MyGoNLh0Hc4YWjkYy islnSLQIPJUX+FCT1WPFaAaunadLcTCb3OmU/wK98nFvvcWfshPim2AqdyHTjjbZDxAr +Fp6TBUHgaPRFbek9CzGGyWA6xqlKLR62Tow8tBNxefHbebOAMyFBn12LTgnIOjN6StK F4+LK6H75263NJDB29Qa2u7DwfVmYm2eKnf9Ys/MOAUWBJPEPLIaVSP2eCwFKJK4/mQX Bdg6XYt8YDw6cQy/gNQRbEWG3gnK/y+OR/SF+hL9c+Yasg16erL+r2SYBcqF3Kq9/Nda XpYA==
X-Gm-Message-State: ALoCoQmUna7ItJq5PFVSPwbu7lgdpKaH36wSfO+hhdgjY5aoMV3vUs+TXN3SNh57sxNTIDNYMMXG9feLjT9CHLIdqmzKwEKMVWLhRD5PbnHI3zB6DSaCwFg=
X-Received: by 10.107.155.16 with SMTP id d16mr208593ioe.38.1446600476639; Tue, 03 Nov 2015 17:27:56 -0800 (PST)
From: Karen Elisabeth Egede Nielsen <karen.nielsen@tieto.com>
References: <945E755A-3EB4-4325-8257-9ECC2EE3FC4B@ifi.uio.no> <6f6d07994fde18062e39ced796f199a9.squirrel@erg.abdn.ac.uk>
In-Reply-To: <6f6d07994fde18062e39ced796f199a9.squirrel@erg.abdn.ac.uk>
MIME-Version: 1.0
X-Mailer: Microsoft Outlook 15.0
Thread-Index: AQLqPZ7YNAMdgKXUwCSqRxv62pP6+wJmZ4dknEV7AOA=
Date: Wed, 04 Nov 2015 10:27:58 +0900
Message-ID: <168e06db09417654f64461f700a0d4f5@mail.gmail.com>
To: gorry@erg.abdn.ac.uk, Michael Welzl <michawe@ifi.uio.no>
Content-Type: text/plain; charset="UTF-8"
X-DomainID: tieto.com
Archived-At: <http://mailarchive.ietf.org/arch/msg/taps/skbyTNTcAprRMf9z8U8l73wKzYg>
Cc: taps WG <taps@ietf.org>
Subject: Re: [Taps] RFC 6458 etc. in draft-welzl-taps-transports
X-BeenThere: taps@ietf.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: Discussions on Transport Services <taps.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/taps>, <mailto:taps-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/taps/>
List-Post: <mailto:taps@ietf.org>
List-Help: <mailto:taps-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/taps>, <mailto:taps-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 04 Nov 2015 01:28:00 -0000
HI, As a general comment then I believe that when describing what is supported by TCP/SCTP (or UDP) as standard then it does not suffice to look into IETF RFCs. One need at least to relate to the *basic functions* of the POSIX/Berkeley socket api standard. My understanding of the TCP API, for example, is that while RFC793 did specify an abstract API for TCP, then the true defacto standard for the socket api is the Berkeley socket api from .?. around 1990. Not saying the different socket api standards don't differ and that there is *one* standard to look at. But making is be RFC793 rather then what emerged as defacto in the 1990's seems a "bit odd" to me. Especially since we have RFCs RFC1122 dating back to 1989 already clarifying part of RFC793 (namely the PUSH bit) And one, much more recent, RFC6093, clarifying the urgent bit. Please see below. > -----Original Message----- > From: Taps [mailto:taps-bounces@ietf.org] On Behalf Of > gorry@erg.abdn.ac.uk > Sent: 3. november 2015 22:33 > To: Michael Welzl <michawe@ifi.uio.no> > Cc: taps WG <taps@ietf.org> > Subject: Re: [Taps] RFC 6458 etc. in draft-welzl-taps-transports > > A note just on the INFO status of SCTP APIs (below): > > > > Dear all, > > > > Sorry for not being able to attend the TAPS meeting on site or even > > remotely. I just finished watching the recording, and I noticed that > > the question of RFC 6458 - "why is the SCTP part of draft-welzl- .. > > based on only RFC 4960 and not on RFC 6458?" - was brought up several > > times. I'd like to provide an answer and start a discussion about this. > > > > There are two reasons why RFC 6458 wasn't used in > > draft-welzl-taps-transports-00: a very mundane one, and a more serious > > one. I'll list them both and hope we can discuss the second reason. > > > > 1) Reason one: RFC 6458 is quite long, and I wanted to limit the > > amount of work I'm putting into the -00 version, given that the point > > was to show people the procedure and the idea and see what they think, > > and not to fully cover everything 100% correctly yet. Basically, I > > didn't want to risk writing out all the stuff from RFC 6458 and then > > have people tell me to go away :-) > > [Karen Elisabeth Egede Nielsen] I have no problem with this approach. Only now that you're in, I would like you to look at RFC6458. > > 2) Reason two, more serious: RFC 6458 is Informational, and my > > understanding was that this is just one description of one API > > implementation, not a recommendation or even prescription of what all > > SCTP implementations must provide. However, my decision for > > draft-welzl-taps-transports was to *exclude* things that are only > > optional to implement - I don't think we want to end up with a TAPS > > system that provides services that, alas, on Operating System XY are > > not available because here only a subset of the API is implemented. > > Therefore I went with a minimal set of functions that I thought we can > > assume are implemented everywhere (well, at least in every system that > > claims to "follow the spec"). Can we assume that every system that > > claims to implement SCTP in accordance with the spec fully implements RFC > 6458? > > > GF: From a TSVWG Chair perspective, beware here... *ALL* more recent > IETF SCTP API work from TSVWG is INFO. Each SCTP RFC is expected to have > an informative section that describes the API together with the normative > protocol spec. That is not because there are expected to be alternatives to > choose from: It's because, as I understand, the IETF is not the formal > standards body for specification of such normative APIs. > > [Karen Elisabeth Egede Nielsen] Not only that. RFC6458 was around as a tsvwg wg draft long before RFC4960 work was started. My understanding is that while going from RFC2960 to RFC4960 one did not bother "too much" with updating the API section of RFC2960 --> RFC4960, as the finer API details were being worked on in this wg draft. However I was not personally involved in IETF SCTP back then, so I like to ask others to confirm this. Something else: The implementation that I have worked with was initiated in the early 2000 and at that time we looked for RFC2960bis (RFC4960) for protocol specification and the socket api for api features. Yes there are particulars of the RFC6458 which represent implementations aspects. For example our API implementation implements certain calls in the format they were specified in ver 14/15 of the socket api from draft from around 2007 and not the exact form the calls have in RFC6458 (version 30-some of the draft) from 2011, but the features available as controllable has not changed much during the years. And it is the features available, not the implementation aspects that we are focused on in Taps. NB: But I have to admit that in our SCTP API implementation we implements the basic POSIX api functions of TCP/IP for SCTP simply when they makes as much sense for SCTP as they do for TCP/IP. For example DSCP is settable via a socket option per association, even if I think this cannot be found in RFC6458 nor in RFC4960 (which is a bit of a surprise to me). So my view on the basic API functions of SCTP (as for TCP) is influenced by this. Which I have to recognize. > > > > A side note about TCP, because Karen made a comment about the TCP API > too: > > a similar logic applies here, irrespective of whether the API is old > > or > > not: I think we should cover whatever a system claiming to "implement > > the protocol in accordance with the spec" has to cover. Going down the > > path of looking at actual socket API implementations is dangerous in > > that we end up in "only implemented here, not there" - land. We want a > > minimal set of mechanisms that are (or at least really should be! for > > that, what else can we use as a basis than our own recommendations?!) > available everywhere. [Karen Elisabeth Egede Nielsen] Yes I agree completely ! The difficult exercise is where from to gather this minimal set of mechanisms in a qualified manner. > > Karen, you specifically mentioned URG and PSH and how they are > > implemented; what is it in draft-welzl-.. about these two mechanisms > > that you don't agree with? > > [Karen Elisabeth Egede Nielsen] The PUSH bit as settable by application was recognized as being optional by RFC1122 (1989). Enforcing the PUSH bit set via Nagle off, does not mean that one can control the PUSH function (one do get Nagle off at the same time). Possible certain implementations have certain tweeks so that one may control the PUSH bit from ULP. If that is consider to be the Defacto standard, even if RFC1122 says that it is optional, then I do not disagree, but is it so ? The PUSH bit makes the data be available for read by the application (when in-line) but I am not sure this, as defacto, makes the data be pushed to the application in most common api's exposed to applications today. In some implementations, a socket becomes readable based on the amount of data that has arrived correlated with when the application has asked to be awaken (in number of bytes), but the PUSH flag makes no difference. Possibly that is a deficiency of such implementations. Not sure ? I know that in some implementations then a socket becomes readable only if the receive buffer is full or the PUSH flag has arrived. Perhaps I should ask in tcpm, if TCP implementations generally pushes the data to the application (or notifies the application) when the PUSH bit is seen ? Or perhaps I will get an overwhelming - YES SURE !! - response this to email, and then at least the receive part of the PUSH is then inline with RFC1122/RFC793. BR, Karen > > Cheers, > > Michael > > > > _______________________________________________ > > Taps mailing list > > Taps@ietf.org > > https://www.ietf.org/mailman/listinfo/taps > > > Gorry > > _______________________________________________ > Taps mailing list > Taps@ietf.org > https://www.ietf.org/mailman/listinfo/taps
- [Taps] RFC 6458 etc. in draft-welzl-taps-transpor… Michael Welzl
- Re: [Taps] RFC 6458 etc. in draft-welzl-taps-tran… gorry
- Re: [Taps] RFC 6458 etc. in draft-welzl-taps-tran… Joe Touch
- Re: [Taps] RFC 6458 etc. in draft-welzl-taps-tran… Karen Elisabeth Egede Nielsen
- Re: [Taps] RFC 6458 etc. in draft-welzl-taps-tran… Karen Elisabeth Egede Nielsen
- Re: [Taps] RFC 6458 etc. in draft-welzl-taps-tran… Joe Touch
- Re: [Taps] RFC 6458 etc. in draft-welzl-taps-tran… Michael Welzl
- Re: [Taps] RFC 6458 etc. in draft-welzl-taps-tran… Karen Elisabeth Egede Nielsen
- Re: [Taps] RFC 6458 etc. in draft-welzl-taps-tran… Michael Welzl
- Re: [Taps] RFC 6458 etc. in draft-welzl-taps-tran… Karen Elisabeth Egede Nielsen
- Re: [Taps] RFC 6458 etc. in draft-welzl-taps-tran… Joe Touch
- Re: [Taps] RFC 6458 etc. in draft-welzl-taps-tran… Michael Welzl
- Re: [Taps] RFC 6458 etc. in draft-welzl-taps-tran… Karen Elisabeth Egede Nielsen
- Re: [Taps] RFC 6458 etc. in draft-welzl-taps-tran… Michael Welzl
- Re: [Taps] RFC 6458 etc. in draft-welzl-taps-tran… Michael Tuexen
- Re: [Taps] RFC 6458 etc. in draft-welzl-taps-tran… Michael Welzl