Re: [Taps] Feedback Re: Fwd: New Version Notification for draft-gjessing-taps-minset-05.txt

Michael Welzl <michawe@ifi.uio.no> Mon, 26 June 2017 17:32 UTC

Return-Path: <michawe@ifi.uio.no>
X-Original-To: taps@ietfa.amsl.com
Delivered-To: taps@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id A2B2D1292FD for <taps@ietfa.amsl.com>; Mon, 26 Jun 2017 10:32:53 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -4.202
X-Spam-Level:
X-Spam-Status: No, score=-4.202 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, RCVD_IN_DNSWL_MED=-2.3, RP_MATCHES_RCVD=-0.001, SPF_PASS=-0.001] 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 e2GyI7KKflqh for <taps@ietfa.amsl.com>; Mon, 26 Jun 2017 10:32:50 -0700 (PDT)
Received: from mail-out02.uio.no (mail-out02.uio.no [IPv6:2001:700:100:8210::71]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id B70C6129B34 for <taps@ietf.org>; Mon, 26 Jun 2017 10:32:50 -0700 (PDT)
Received: from mail-mx01.uio.no ([129.240.10.26]) by mail-out02.uio.no with esmtp (Exim 4.82_1-5b7a7c0-XX) (envelope-from <michawe@ifi.uio.no>) id 1dPXsX-0000rX-5F for taps@ietf.org; Mon, 26 Jun 2017 19:32:49 +0200
Received: from 234.133.189.109.customer.cdi.no ([109.189.133.234] helo=[192.168.1.8]) by mail-mx01.uio.no with esmtpsa (TLSv1.2:DHE-RSA-AES256-GCM-SHA384:256) user michawe (Exim 4.82_1-5b7a7c0-XX) (envelope-from <michawe@ifi.uio.no>) id 1dPXsW-0000m2-8M; Mon, 26 Jun 2017 19:32:49 +0200
Content-Type: text/plain; charset="utf-8"
Mime-Version: 1.0 (Mac OS X Mail 10.3 \(3273\))
From: Michael Welzl <michawe@ifi.uio.no>
In-Reply-To: <9c28b754-7e49-f968-72b6-d822a96b029d@inet.tu-berlin.de>
Date: Mon, 26 Jun 2017 19:32:47 +0200
Cc: "taps@ietf.org" <taps@ietf.org>
Content-Transfer-Encoding: quoted-printable
Message-Id: <00F55AFA-E5C2-40A1-8C24-2CD57AA18F62@ifi.uio.no>
References: <149796416409.23697.3832758224070683494.idtracker@ietfa.amsl.com> <5BE6202F-8666-4158-964A-41781FD04BF2@ifi.uio.no> <9c28b754-7e49-f968-72b6-d822a96b029d@inet.tu-berlin.de>
To: Theresa Enghardt <theresa@inet.tu-berlin.de>
X-Mailer: Apple Mail (2.3273)
X-UiO-SPF-Received: Received-SPF: neutral (mail-mx01.uio.no: 109.189.133.234 is neither permitted nor denied by domain of ifi.uio.no) client-ip=109.189.133.234; envelope-from=michawe@ifi.uio.no; helo=[192.168.1.8];
X-UiO-Ratelimit-Test: rcpts/h 2 msgs/h 1 sum rcpts/h 4 sum msgs/h 2 total rcpts 55947 max rcpts/h 54 ratelimit 0
X-UiO-Spam-info: not spam, SpamAssassin (score=-5.0, TVD_RCVD_IP=0.001, UIO_MAIL_IS_INTERNAL=-5, uiobl=NO, uiouri=NO)
X-UiO-Scanned: 417FCE4E3FD8DE5C1DA322F50A3E68B74D4EF557
X-UiO-SPAM-Test: remote_host: 109.189.133.234 spam_score: -49 maxlevel 80 minaction 2 bait 0 mail/h: 1 total 1629 max/h 13 blacklist 0 greylist 0 ratelimit 0
Archived-At: <https://mailarchive.ietf.org/arch/msg/taps/aV38ayf-uBOjuDSE6wyUT3Etnak>
Subject: Re: [Taps] Feedback Re: Fwd: New Version Notification for draft-gjessing-taps-minset-05.txt
X-BeenThere: taps@ietf.org
X-Mailman-Version: 2.1.22
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: Mon, 26 Jun 2017 17:32:53 -0000

Hi,

and thanks a lot for your comments!

Answers in line:


> On Jun 26, 2017, at 4:18 PM, Theresa Enghardt <theresa@inet.tu-berlin.de> wrote:
> 
> Hi,
> 
> when reading the minset draft, I stumbled over a couple of points. Some of them may be nits and/or obvious to everyone except me, but I thought I'd offer them as feedback.
> 
> Section 2 (Terminology): Would it make sense to define several more terms here, such as Flow, Flow group, Message and Frame? While reading the rest of the draft I was, e.g., wondering if a "TAPS flow" is the same as "Connection" defined in Section 2 or something else. E.g., in Section 3.1 the draft talks about how to create a TAPS flow and at least for me it would be helpful to read a description of what a TAPS flow actually is beforehand.

Good input, will do!
(the answer is: it can be a (TCP) connection, a stream of an (SCTP) association, an (SCTP) association, …   so i thought it’s good to use a new word; yet it does fit the definition of a connection in section 2)


> Section 3.1 (Flow Creation, Connection and Termination), second paragraph: "A created flow can be queried for the maximum amount of data that an application can possibly expect to have transmitted before or during connection establishment." 
> I had trouble understanding this sentence, as it was not immediately obvious to me that it is possible to send data before a connection is established. Maybe it would be helpful to first state that this is a feature that some protocols have.

ACK, will do, thanks!


> Section 3.2 (Flow Group Configuration): Is it also possible to configure these features on individual flows? Only if they do not have a group? (I had the same question again later at the beginning of Section 4.)

These things apply to a group only, because in case a flow becomes a stream of an association, the protocol can only apply them to all  (e.g., change the timeout - you can’t do that for one stream of an SCTP association only). I’ll try to clarify this in the text.


> Section 3.3 (Flow Configuration): At this point I was also wondering how to configuring a flow to be, e.g., reliable. As reliability is one of the most obvious transport features for me, I would find it useful to make this explicit. It is not configured per flow, but per message, right? So an application can send both reliable and unreliable messages in one flow, but it does not communicate this through the TAPS API at flow creation time, but only later when it actually sends the messages?

Exactly. Though here lies a fault - if this is not communicated at all, the TAPS system may choose UDP, and then a sender decides for reliability….  bad!  Good catch !  Will try to fix.


> Section 3.4.1 (The Sender): This section talks about messages and per-frame properties. Is a message the same as a frame here?

Yes - but it’s another fault, I tried to use frame everywhere as the new term here just to avoid making a connection between “message” and an SCTP “message”  (can be the same but doesn’t have to be). So, use of message is a mistake. Will fix!


> Features that are optional - So are these still mandatory features to have in the API (which I thought the minset was) but then they do not have to be implemented, i.e., actually do something?

Hm, I see them as optional in the API… I don’t think we can truly “mandate” a minset - it is meant to be a set of functions that you will never be able to use unless you offer them in an API in one way or another.
In that sense, offering e.g. "Get max. transport frame size that may be sent without fragmentation from the configured interface” is just an optimization, because a user could just as well decide to forbid fragmenting and test various frame sizes … a less efficient way of implementing PMTUD atop minset than by using this extra functionality. So, I thought it’s less important to offer this extra...

Then again since nothing is *truly* mandatory maybe we should just skip saying “this and this is optional”.


> Section 4 (An Abstract MinSet API): Do I have to create a flow-group-id explicitly or is the flow-group-id just the flow-id of a previous flow? In other words, are the flow-id and the flow-group-id the same number space or are they distinct?

They’re distinct. The group is just a number to group flows, and flows must have identifiers too - so you can have group 1 containing flows 1, 2, 3 and group 2 containing flows 1, 2, 3.
I’ll try to make the text clearer, thanks!

Cheers,
Michael