Re: [Taps] call for agenda items at TAPS IETF-104
"Aaron Falk" <aaron.falk@gmail.com> Thu, 07 March 2019 15:09 UTC
Return-Path: <aaron.falk@gmail.com>
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 71DF81277D0 for <taps@ietfa.amsl.com>; Thu, 7 Mar 2019 07:09:39 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.998
X-Spam-Level:
X-Spam-Status: No, score=-1.998 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, FREEMAIL_FROM=0.001, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=gmail.com
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 ErMgh0A-M5kD for <taps@ietfa.amsl.com>; Thu, 7 Mar 2019 07:09:35 -0800 (PST)
Received: from mail-qk1-x741.google.com (mail-qk1-x741.google.com [IPv6:2607:f8b0:4864:20::741]) (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 6459412788F for <taps@ietf.org>; Thu, 7 Mar 2019 07:09:34 -0800 (PST)
Received: by mail-qk1-x741.google.com with SMTP id s26so1086430qkm.10 for <taps@ietf.org>; Thu, 07 Mar 2019 07:09:34 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version; bh=JivwIdD6bRTTK3/m9p4l6YTVSfS366449e+8BWDGNZY=; b=K7o4TYIyMA+VxtUn/m4AJGFan+Sdmd5J9Ke+cAKXYJSRG87yFOWi68cjZb8jdFuhQB FezyxNG6XdGuarKG8qIutMLKCBoVEhbvmlbfLwADsgEwafcas3GZceHk6vdCZkrAqOhW w6lx2bROnzfkHLVtx0foPxe2E2YzftY3IdjeTPgMZgd6+QvjOdRwZzTYLy2PXcGXQbCj BoiInP2OHLYZdz5O+4i6/Jl7y20s0Oxn1+OpGJINzdeOZHE23VRsQP3CZK0/cFNjSG3k 0HngoNTiW1ssgeUjAesngiIyeygb6uC89e5QtRbN1ca1WQ3dWwKAUeHdXAUuRUNktA/r bhNg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version; bh=JivwIdD6bRTTK3/m9p4l6YTVSfS366449e+8BWDGNZY=; b=lQDoHNTwT/R1hGXBC5dI39X9dYYuMfigzYSjDSW1NMIMiB/PhhIeqjiLzRNGTKckBj AsQJc8qf0I92PiOw7k812dueCfyEqvgxXFOERQ5rxtGZELmOB6ThNrEnYEbUpG8U9pLX yOlxFRX5ctJ0Pp7dNWy1Q5ltIC0jIztBWXbezSObDlb5wc6SMMqOxG+X710KKmNCrn8o kFUEcRTKFAYkBDDCw5eLE9GfgDjxZAzG2pTKvMJ54AfjGQIbYLJ+Co5CAPU+Hl5k80wQ Cs2KAqcKNZotojykz06OkP8TqJ1PcMfeBKNnZFElc7wwN3Tgoe8KEANuFBisHFup5ceI Ifow==
X-Gm-Message-State: APjAAAXt0nYO34tWAKtcMVvsslt/K+t4sBi5Xx435njtL9Qjn99vsk5R KV54GLvzVVNY20gvI20whuQ=
X-Google-Smtp-Source: APXvYqw1jx5pA4P4YX2xQGbnbxPygcmDfU1958YNXChZcX3IEBAcN+szaJNeYQaKSH27wQPmhnErNA==
X-Received: by 2002:a37:6894:: with SMTP id d142mr9811799qkc.332.1551971373021; Thu, 07 Mar 2019 07:09:33 -0800 (PST)
Received: from [172.19.37.49] ([2001:4878:a000:3000:c5da:7c32:c103:c31b]) by smtp.gmail.com with ESMTPSA id k37sm3049782qtc.91.2019.03.07.07.09.29 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Thu, 07 Mar 2019 07:09:29 -0800 (PST)
From: Aaron Falk <aaron.falk@gmail.com>
To: Michael Welzl <michawe@ifi.uio.no>
Cc: "Holland, Jake" <jholland@akamai.com>, taps WG <taps@ietf.org>
Date: Thu, 07 Mar 2019 10:09:28 -0500
X-Mailer: MailMate (1.12.4r5594)
Message-ID: <2A8C7863-4B7B-4AB6-8409-3D0C5A68B536@gmail.com>
In-Reply-To: <F0D3C2AF-7A8E-4BA5-8255-907479CA3843@ifi.uio.no>
References: <3ADB8E2C-CA29-43C5-B7A8-D6C817BC98E6@gmail.com> <33A7614B-4009-4534-93AA-7022F4C436E6@akamai.com> <4E7DBBA1-FCD5-4E64-AEC1-8E52417B3ACA@akamai.com> <F0D3C2AF-7A8E-4BA5-8255-907479CA3843@ifi.uio.no>
MIME-Version: 1.0
Content-Type: multipart/alternative; boundary="=_MailMate_4CB8EDFB-30DA-43F4-A317-7A167718CDF5_="
Archived-At: <https://mailarchive.ietf.org/arch/msg/taps/bAONpu-aPqXjgAq6qsducxrm3ng>
Subject: Re: [Taps] call for agenda items at TAPS IETF-104
X-BeenThere: taps@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: "IETF Transport Services \(TAPS\) Working Group" <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: Thu, 07 Mar 2019 15:09:40 -0000
Seems to me that Michael’s 3) below is a comment on the interface specification so I think it could be discussed during the agenda time on that doc. Seems like there is agreement that the questions of whether the wg wants to produce a YANG model and how to support multicast are separable and worth putting on the agenda for Prague. Any disagreement? --aaron On 7 Mar 2019, at 3:32, Michael Welzl wrote: > Hi, > > Very sorry for the silence. I can only speak for myself, but here's an > example of why this one person was silent: > - When you created your issue on multicast in github, I thought of > answering (positively), but then thought that the repo is about to > move, and it would probably be better to delay things until the move > is finished. > - Then, the issue was overruled by your email. I read it and found it > interesting, but hoped for someone else to answer because, frankly, I > was afraid to make a fool of myself ... because I know almost nothing > about YANG. > > But now I'll be brave :) I'll go ahead and ask: how exactly is this > YANG proposal more than just a syntax change? What would it give us? > (I understand that YANG can be automatically parsed / checked by some > tools, but... what does THAT give us?) > > Also, I actually see 3 separable things being proposed here: > > 1) the YANG model > > 2) multicast support (I find your conclusion that not much needs to > change interesting! Though the example you're giving (joining an SSM > channel) is only a part of what we'd need, as you also say...) > > 3) applying preferences to addresses and port numbers (which you seem > to take for granted in your draft, but which I don't think is > supported by our current document). > Side note: unless I'm mistaken, this wouldn't fit our structure well: > e.g. a port number would then be a Transport Property that has a > certain value, but also has a preference, but currently we say that a > Transport Property has "one of a set of data types", one of which is a > Preference. Isn't that structure too limiting? Or am I missing > something? > > I guess that 2) needs 3), but perhaps it's useful to see 2) and 3) as > separate... maybe there are other use cases for 3) alone ? > IMO, all of these things are interesting, and would be good to discuss > on site. However, I doubt that we can deal with them all in only 15 > minutes :-) > > Cheers, > Michael > > PS: Travis is down, or something. At least the "Editor's Copy" links > don't currently work. > > > >> On 7 Mar 2019, at 04:55, Holland, Jake <jholland@akamai.com> wrote: >> >> Hi taps, >> >> (Trying again, but simpler.) >> >> I'm looking for a consensus yes or no answer: >> >> Is a normative config input format an interesting and useful >> direction? >> >> >> The idea is to add functionality like this, in taps-interface: >> >> newPre = PreConnection.NewFromJson('''{ >> "remote-endpoint":{ >> "hosts":[ >> { "host":"example.com" } >> ] >> } >> }''') >> >> With a fully specified json input format that can provide all the >> configurable values. >> >> >> If no, I'll move on and assume I just don't understand taps goals. >> >> If yes, I'd like 15 minutes to discuss in Prague, and keep reading: >> >> I think a full definition of an input json format can be exactly >> specified by a YANG model. (With xml for free, if you want it.) >> >> I tried to sketch a start at what a YANG model for this might look >> like: >> https://tools.ietf.org/html/draft-jholland-taps-api-yang-00#section-3 >> >> I'm not a YANG expert yet, and it's not much of a model. And it's >> very >> far from complete. But it compiles, and all the examples in the >> draft >> validate against that model with libyang. If it's worthwhile, I >> think >> something like this can be good (and extensible!), if done right. >> >> I believe something along these lines would sharpen up taps-interface >> a lot. (After filling in all the taps-interface properties.) >> >> >> The reason I'm asking is because right now, taps-interface to me >> seems _almost_ really good, except too confusing and vague to >> actually >> build an API that can replace BSD sockets. I think with a solid >> config >> format with normative and testable examples, that could be fixed. >> >> If consensus says "interesting", I'll want 15 minutes to discuss it, >> and >> to start digging into how to make it good. (And also to add >> multicast >> support to the model and at least one implementation.) >> >> Thanks for your consideration. >> >> >> Cheers, >> Jake >> >> >> >> On 2019-03-04, 17:19, "Holland, Jake" <jholland@akamai.com> wrote: >> >> Hi taps folks, >> >> TL;DR: I think the spec should have a YANG model and I want to use >> it >> to get multicast support in an implementation. >> >> >> I recently started digging into the taps API with the intent of >> adding >> multicast support, but it looks like it's basically already there, >> as >> far as it goes[*]. >> >> But I ended up with a higher-level comment, so I thought I'd raise >> it >> to the wg and ask what you all think. >> >> I found the whole "abstract interface" approach a little too >> loosey-goosey, so I thought I'd try to suggest a way to tighten it >> up. >> >> My goal with this is to make it much more clear (to the point of >> being >> mechanically checkable) precisely what a compliant API provides. >> >> I'm not attached to the structure I'm proposing or to any of the >> particulars in the straw-man I've posted, but if it's not >> tightened up >> with something at a similar level of concreteness, I'm concerned >> that >> different implementations will be not only incompatible in random >> underspecified corner cases (like BSD sockets today when you try >> to make >> cross-platform C code), but also are likely to end up with very >> many >> important differences that would make the whole taps effort more >> or less >> moot. >> >> In a world where we end up with a doc at the level of abstraction >> I'm >> currently seeing in draft-taps-interface, it seems to me that if 2 >> different API implementations were written in the same language, >> it'll >> be prohibitively difficult for an app to migrate from using one to >> using >> the other, just because so many aspects of it are left open to the >> implementors. >> >> In that context, I thought a YANG model would be useful here to >> provide a cross-platform way to specify what exact properties and >> objects exist, an exact format in which the values can be >> specified, and >> what exact semantics they have, while still allowing for a sane >> extension path and language-specific implementation details. >> >> I'm thinking some language a bit like the first bullet in Section >> 4.2 of >> taps-interface: >> >> A compliant implementation SHOULD provide a language-appropriate >> way to >> configure a PreConnection using YANG instance data for this >> model, and >> SHOULD provide an API that outputs the YANG instance data for an >> established Connection. >> >> An implementation MAY also provide appropriate APIs for directly >> editing >> the objects without using YANG. It's RECOMMENDED where possible >> to use >> names that mechanically translate to the names in the YANG data >> model, >> using capitalization and punctuation conventions as expected for >> the >> language of the implementation. >> >> And then of course a YANG model: >> https://datatracker.ietf.org/doc/draft-jholland-taps-api-yang/ >> (draft-jholland-taps-api-yang) >> >> If this seems useful, it will need lots of refining. I'll be >> surprised >> if any part of it survives exactly as written. It's a quick and >> dirty attempt to concretize a few of the things I saw listed in >> draft-ietf-taps-interface, as a starting point to fill out if it >> seems >> useful. >> >> But the model parses, and the example data instances in the draft >> parse against the model (all with libyang). >> >> One of the main reasons I'm doing this is because it seems to me >> what's >> specified in taps-interface-02 today is missing some key features, >> like >> an enumeration of the properties in the Local/RemoteEndpoint >> examples in >> section 5.1. And I don't see that listed as an open issue in >> github, >> which surprised me a bit. >> >> I think oversights like this will become immediately and painfully >> obvious when there's a reference implementation that includes a >> YANG >> parser and an explicit data model, as opposed to the combing of >> the >> document and a sort of eyeballed comparison to NEAT that I tried >> this week to reach that conclusion (which I found challenging even >> though I thought both the document and the library were mostly >> pretty >> well written). >> >> The whole thing at this point just smells to me much more abstract >> than >> it really has to be or than it's really useful to be, which >> bothers me >> because the idea of replacing BSD sockets with something usable >> seems >> like such a great idea. I'd like this to be something I can >> actually >> use in a way that makes my life easier someday soon. >> >> But I think I'm at the point where I need a sanity check to see if >> I'm >> just missing something, or if this seems like a useful direction. >> >> Thoughts? Suggestions? Worth discussing in Prague? (If so, can >> I >> get a slot?) >> >> Cheers, >> Jake >> >> *: >> I concluded that there's no reason multicast couldn't be supported >> today, if there were an implementation that could reasonably claim >> to be >> compliant, by just adapting some of the examples in >> draft-ietf-taps-interface-02 and understanding the semantic >> meaning of >> multicast address spaces inside the API. >> >> For example, I couldn't find any reason this can't be expected to >> set >> up an SSM channel subscription without any further ado, given a >> sane >> implementation that supports it: >> >> RemoteSpecifier := NewRemoteEndpoint() >> RemoteSpecifier.WithIPv4Address(192.0.2.21) >> >> LocalSpecifier := NewLocalEndpoint() >> LocalSpecifier.WithPort(30000) >> LocalSpecifier.WithIPv4Address(232.252.0.2) >> >> NewPreconnection(RemoteSpecifier, LocalSpecifier).Listen(...) >> >> Maybe there's some value in specifying a "JoinSSM()" to override >> defaults >> in the PreConnection, just to make sure you're specifically asking >> for >> multicast. I think that would be fine for native multicast, but >> like I >> said, a much smaller point than the looseness of the API. >> >> Where it gets a bit more complicated is trying to handle multiple >> options >> for discovering a usable unicast tunnel for multicast traffic, as >> described in Section 2.4.1 of >> draft-ietf-mboned-driad-amt-discovery-01. >> >> I'd like to have a decent place to tack on an extension to this >> API that >> can transparently, within the connection API, discover the best >> available >> AMT relay and start using it when native joining is unavailable >> (and also >> to provide normative controls for configuring it when there's >> administrative configuration to be added). >> >> But that's a 2nd order question for me at this point, because in >> the >> current TAPS API I don't see any obviously good spot to put >> selection >> controls for that kind of tunnel discovery selection, or really a >> good >> way to explain what it's supposed to do, if I tried to add >> controls to >> something that's there. >> >> Solving that is my main motivation for being here. (Well, and >> that >> the BSD socket API for multicast is kind of a disaster today.) >> >> Anyway, if taps finds the whole YANG suggestion useful, I'll >> probably >> suggest some new extensions about this, and maybe a few other >> points, >> especially maybe around trying to put in a structure that can >> support >> some kind of sane explicit layering. >> >> But I'm not sure I can articulate those suggestions in a way I'm >> sure is >> meaningful without first getting a more clear specification nailed >> down >> about what's actually in the taps spec. Because right now I'm >> mostly >> just confused about what an API implementation would really look >> like, >> and how you could tell whether it matches the taps-interface spec. >> >> >> >> From: Aaron Falk <aaron.falk@gmail.com> >> Date: 2019-03-04 at 10:53 >> To: taps WG <taps@ietf.org> >> Cc: Zaheduzzaman Sarker <zaheduzzaman.sarker@ericsson.com> >> Subject: [Taps] call for agenda items at TAPS IETF-104 >> >> Hi All- >> What should we use our time to discuss? Let’s focus on things >> that would benefit from f2f discussion, consensus building, or just >> argument. :) >> • TAPS docs: are there open topics that need group attention? >> Seems like we settled most of the remainder at the interim. >> • TAPS security: this seems nearly done. Anything to discuss? >> • Implementations: a good topic for information sharing but less >> important than anything needing agreement >> • Mobility: >> https://urldefense.proofpoint.com/v2/url?u=https-3A__tools.ietf.org_html_draft-2Dietf-2Ddmm-2Dondemand-2Dmobility-2D17&d=DwMFaQ&c=96ZbZZcaMF4w0F4jpN6LZg&r=bqnFROivDo_4iF8Z3R4DyNWKbbMeXr0LOgLnElT1Ook&m=pLW5gSyetfVe_ixG4_u7qKX_VcjIqzN7Ju2BgM2rpQo&s=HUsBVBF_GhNiOk3gqY_m5qZMD-sPmBJ93GE5wd3D5_s&e= >> and >> https://urldefense.proofpoint.com/v2/url?u=https-3A__datatracker.ietf.org_doc_review-2Dietf-2Ddmm-2Dondemand-2Dmobility-2D15-2Dtsvart-2Dlc-2Dwesterlund-2D2019-2D01-2D08_&d=DwMFaQ&c=96ZbZZcaMF4w0F4jpN6LZg&r=bqnFROivDo_4iF8Z3R4DyNWKbbMeXr0LOgLnElT1Ook&m=pLW5gSyetfVe_ixG4_u7qKX_VcjIqzN7Ju2BgM2rpQo&s=0YmC_XCAu4_GVYdFi0HxiKaKBpan2COYqBL1mB6bXrY&e= >> --aaron >> >> >> >> _______________________________________________ >> Taps mailing list >> Taps@ietf.org >> https://www.ietf.org/mailman/listinfo/taps > > _______________________________________________ > Taps mailing list > Taps@ietf.org > https://www.ietf.org/mailman/listinfo/taps
- [Taps] call for agenda items at TAPS IETF-104 Aaron Falk
- Re: [Taps] call for agenda items at TAPS IETF-104 Tommy Pauly
- Re: [Taps] call for agenda items at TAPS IETF-104 Holland, Jake
- Re: [Taps] call for agenda items at TAPS IETF-104 Holland, Jake
- Re: [Taps] call for agenda items at TAPS IETF-104 Michael Welzl
- Re: [Taps] call for agenda items at TAPS IETF-104 Tommy Pauly
- Re: [Taps] call for agenda items at TAPS IETF-104 Aaron Falk
- Re: [Taps] call for agenda items at TAPS IETF-104 Brian Trammell (IETF)
- Re: [Taps] call for agenda items at TAPS IETF-104 tom petch
- Re: [Taps] call for agenda items at TAPS IETF-104 Holland, Jake
- Re: [Taps] call for agenda items at TAPS IETF-104 Aaron Falk
- Re: [Taps] call for agenda items at TAPS IETF-104 Christopher Wood
- Re: [Taps] call for agenda items at TAPS IETF-104 Holland, Jake
- Re: [Taps] call for agenda items at TAPS IETF-104 Michael Welzl