[Taps] YANG model for TAPS (was: Re: Transport Services (taps) WG Virtual Meeting: 2019-05-08)

"Philipp S. Tiesel" <philipp@tiesel.net> Tue, 07 May 2019 08:46 UTC

Return-Path: <philipp@tiesel.net>
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 D697A1200A2 for <taps@ietfa.amsl.com>; Tue, 7 May 2019 01:46:44 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.598
X-Spam-Level:
X-Spam-Status: No, score=-2.598 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_LOW=-0.7, URIBL_BLOCKED=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 F2BZ88ORANsy for <taps@ietfa.amsl.com>; Tue, 7 May 2019 01:46:41 -0700 (PDT)
Received: from einhorn-mail.in-berlin.de (einhorn-mail.in-berlin.de [217.197.80.20]) (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 808F612001B for <taps@ietf.org>; Tue, 7 May 2019 01:46:41 -0700 (PDT)
X-Envelope-From: philipp@tiesel.net
Received: from x-berg.in-berlin.de (x-change.in-berlin.de [217.197.86.40]) by einhorn.in-berlin.de with ESMTPS id x478kXTP021748 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Tue, 7 May 2019 10:46:33 +0200
Received: from philipp-laptop.ods.tu-berlin.de ([130.149.141.20]) by x-berg.in-berlin.de with esmtpsa (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from <philipp@tiesel.net>) id 1hNviR-0006Cq-6S; Tue, 07 May 2019 10:44:47 +0200
From: "Philipp S. Tiesel" <philipp@tiesel.net>
Message-Id: <78919203-5513-49F9-8B15-BC721A895B37@tiesel.net>
Content-Type: multipart/signed; boundary="Apple-Mail=_94AA86AF-5431-4995-8A17-B63ACF38D836"; protocol="application/pgp-signature"; micalg="pgp-sha256"
Mime-Version: 1.0 (Mac OS X Mail 12.4 \(3445.104.8\))
Date: Tue, 07 May 2019 10:46:32 +0200
In-Reply-To: <A920F023-C5A7-4EB2-B088-FB0EACC6A539@akamai.com>
Cc: "Brian Trammell (IETF)" <ietf@trammell.ch>, Aaron Falk <aaron.falk@gmail.com>, "taps@ietf.org" <taps@ietf.org>
To: Jake Holland <jholland@akamai.com>
References: <155489822442.1250.16679801810558020672@ietfa.amsl.com> <0EB8B0C5-AA9F-4B26-A496-0308096696CE@gmail.com> <CD21123D-B57D-4F85-ADF5-0FB926C923F2@trammell.ch> <A920F023-C5A7-4EB2-B088-FB0EACC6A539@akamai.com>
X-Mailer: Apple Mail (2.3445.104.8)
Archived-At: <https://mailarchive.ietf.org/arch/msg/taps/kJr3W6C4ohJne9pevKBuAXIL5Zw>
Subject: [Taps] YANG model for TAPS (was: Re: Transport Services (taps) WG Virtual Meeting: 2019-05-08)
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: Tue, 07 May 2019 08:46:45 -0000

Hi Jake,

thanks on your work on PyTAPS and the YANG model!
I love the idea of having a implementation-agnostic way to specify endpoints and transport properties.

I have not reviewed the work on PyTAPS yet, but have some comments on the updated YANG model.
It is far better than the first version, especially with regards to the endpoint definition.

With regards to the properties, I think the modelling of transport properties still does
not work as the transport properties in the draft. The transport properties in the YANG
model model only a subset of the selection properties.

For the actual preferences, I’d rather expected something like:

container transport-properties {

  leaf reliability {
    description "Reliable Transport";
    type preference-level;
  }
  leaf per-message-reliability {
    description "Per-message Reliable Transport";
    type preference-level;
  }
  leaf preserve-order {
    description "Per-message Reliable Transport";
    type preference-level;
  }
  leaf zero-rtt-establishment {
    description "Use 0-RTT session establishment with an idempotent Message";
    type preference-level;
  }

  list iftype {
    leaf type {
        when "derived-from-or-self(../type,
            'taps:local-interface-selection')";
        type identityref {
          base "ianaift:iana-interface-type";
        }
    }
    leaf preference {
        type preference-level;
    }
    description "interface type constraint for local interface selection";
    reference "RFC 7224 Section 2";
}

But maybe we should discuss details off-line…

> On 7. May 2019, at 03:00, Holland, Jake <jholland@akamai.com> wrote:
> 
> Hi taps,
> 
> I haven't updated the docs yet, but if you're interested I can give a
> brief report on a basic proof-of-concept for yang and (almost) multicast
> SSM running against my fork of python-asyncio-taps.  If anyone has some
> time to review, I'd love to get feedback.
> 
> I adjusted the yang model to match the existing implementation, and avoided
> making any deep changes to the flow inside python-asyncio-taps.
> 
> I haven't yet submitted the updated model to draft-jholland-taps-api-yang,
> but you can review the proposed model and a couple of functioning examples
> here:
> https://github.com/GrumpyOldTroll/python-asyncio-taps/blob/master/PyTAPS/modules/ietf-taps-api.yang
> https://github.com/GrumpyOldTroll/python-asyncio-taps/blob/master/test-client2.json
> https://github.com/GrumpyOldTroll/python-asyncio-taps/blob/master/test-server2.json
> 
> These replicate the functionality of testServer.py and testClient.py, when
> run with:
> python yangServer.py -f ./test-server2.json
> python yangClient.py -f ./test-client2.json
> 
> It's not beautiful, it uses a C library to interface with libyang for
> model validation, because pyang was too painful.
> 
> 
> The multicast is slightly sketchier, but it issues an IGMP membership report
> when running:
> python yangServer.py -f ./test-mcastrx.json
> https://github.com/GrumpyOldTroll/python-asyncio-taps/blob/master/test-mcastrx.json
> 
> It was a little awkward and surprising in that some values had to be added
> in order to override the implicit defaults.
> 
> 
> Side note:
> 
> There's a disconnect about the "multiple endpoint identifiers" clause
> in the "Specifying Endpoints" section of taps-interface which I think the
> current implementation doesn't follow.  I didn't try to fix it, but it looks
> hard to support without tightening up what the semantics here are, exactly:
> 
> "Multiple endpoint identifiers can be specified for each Local Endpoint and Remote Endpoint. For example, a Local Endpoint could be configured with two interface names, or a Remote Endpoint could be specified via both IPv4 and IPv6 addresses. These multiple identifiers refer to the same transport endpoint."
> 
> Should this be opened as an issue against taps-interface?
> 
> Cheers,
> Jake
> 
> On 2019-05-06, 06:56, "Brian Trammell (IETF)" <ietf@trammell.ch> wrote:
> 
>    I'd suggest we do a scrub of issues  in github.com/ietf-tapswg/issues tagged discuss for the arch and API drafts, as well, and try to make sure all issues are assigned by the end of the call. This is certainly agenda item 3 though.
> 
>    Cheers,
> 
>    Brian
> 
>> On 6 May 2019, at 15:53, Aaron Falk <aaron.falk@gmail.com> wrote:
>> 
>> Reminder that we are having an interim meeting this Weds.
>> 
>> 	• Do we have any additional topics to add to the agenda?
>> 	• For existing topics below, who should lead the discussion?
>> --aaron
>> 
>> On 10 Apr 2019, at 8:10, IESG Secretary wrote:
>> 
>> The Transport Services (taps) Working Group will hold
>> a virtual interim meeting on 2019-05-08 from 11:00 to 13:00 America/New_York.
>> 
>> Agenda:
>> Topics:
>> * Framing
>> * Implementation draft - https://datatracker.ietf.org/doc/draft-ietf-taps-impl/
>> 
>> Information about remote participation:
>> https://ietf.webex.com/join/taps | 316 448 940
>> 
>> _______________________________________________
>> 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 mailing list
> Taps@ietf.org
> https://www.ietf.org/mailman/listinfo/taps

AVE!
   Philipp S. Tiesel

--
Philipp S. Tiesel
https://philipp.tiesel.net/