Re: [Taps] Early TAPS Implementation in Go, Feedback Welcome

Mirja Kuehlewind <mirja.kuehlewind@ericsson.com> Wed, 05 January 2022 14:03 UTC

Return-Path: <mirja.kuehlewind@ericsson.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 00CF23A0962 for <taps@ietfa.amsl.com>; Wed, 5 Jan 2022 06:03:00 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.677
X-Spam-Level:
X-Spam-Status: No, score=-2.677 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.576, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_MSPIKE_H2=-0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (1024-bit key) header.d=ericsson.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 hGyUyKiSxdbv for <taps@ietfa.amsl.com>; Wed, 5 Jan 2022 06:02:54 -0800 (PST)
Received: from EUR04-VI1-obe.outbound.protection.outlook.com (mail-eopbgr80077.outbound.protection.outlook.com [40.107.8.77]) (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 5D9B03A096B for <taps@ietf.org>; Wed, 5 Jan 2022 06:02:54 -0800 (PST)
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=WxVSHYUXK5h+tF4GsxfXxAAhehojcPAWPbCprHOihI7vRALNIbOFuSruO/aMGJ2kuOFSpQ4NX8Nuyw7UhcJSXtYUbkpeCYDy247fGRGMQJfuRA8uPFi13a/c3TbjxOfsn7fr45UPj3a/wLH5Sjv+ENr76makATAkFDHvDTgR2c8kMohPM+NPNIXS2ApvWXjdNmi8viIXPo2wiG5MYmc+4/vM1o/Pk6SYz43LbFICGMoySX/HyYcbP0QYo9Aa5iv7zbxeyG9jtZ30z4XovIwwO9sg9MPV1RrwubkKISMo9jLaXnHrdb1N5jW5fKI3UfavHobfd6LxdPu8oFzdgLCbKQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=2u6osJ/ANLT2F85l21KmqQYLEMR4C6NV2tP6xYHjmEg=; b=XPLV7qVhTeDEweA/Tj+4fSvUmprngekio8i8lUzYxzAa5vhab0JZuZOqJfZKKN5b4GQ+aF92cBfnoutu8t2a7r/4KgXokOjBxm+oYJbJFwD13DMA0kXQecFmnOEcnyWsarlvhyk0tg7FnpgVegugFRBnotDnRgwm+fa0VCgK6tv08/Mz2X1ZzzZZNqjwiDEE5hSHOmPRbpdHLw+Y2XIlLM5d/YHfmip2TPLyJNs0zNVNV0kgIH11auBAl0FU4wLLa71n56vBrF3+IJYSNBqPVDGZr9RI0lxev2axDXJzwjxNQpaifFi4ZMizu2NhKn4KeCgm+Xi8ppSvCxhXkW15dQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=ericsson.com; dmarc=pass action=none header.from=ericsson.com; dkim=pass header.d=ericsson.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ericsson.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=2u6osJ/ANLT2F85l21KmqQYLEMR4C6NV2tP6xYHjmEg=; b=FjrwClKiKPhYkQ3RQfqc4VkE4DZYOaIjqUX7YKjp/Yuo4fEqNn5LYDgcU/Exn7Slppc3IMYhjKxZFO2Eg6dpJqb7Fdf1dNxA3A+zTJRgSEUQtX3jWsSA9/NarBG8r/qEvH7eDab2GSQCJF/EDPlrONCGLs0565WEzMCUDP8wuaI=
Received: from PAXPR07MB7806.eurprd07.prod.outlook.com (2603:10a6:102:13a::19) by PR1PR07MB4842.eurprd07.prod.outlook.com (2603:10a6:102:b::32) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4867.5; Wed, 5 Jan 2022 14:02:50 +0000
Received: from PAXPR07MB7806.eurprd07.prod.outlook.com ([fe80::6df2:1bf8:5d67:26fc]) by PAXPR07MB7806.eurprd07.prod.outlook.com ([fe80::6df2:1bf8:5d67:26fc%4]) with mapi id 15.20.4867.007; Wed, 5 Jan 2022 14:02:50 +0000
From: Mirja Kuehlewind <mirja.kuehlewind@ericsson.com>
To: Thorben Krüger <thorben.krueger@ovgu.de>, "taps@ietf.org" <taps@ietf.org>
Thread-Topic: [Taps] Early TAPS Implementation in Go, Feedback Welcome
Thread-Index: AQHYAXX40QHGqDTQ8k228w4HVoaWPKxUh6+A
Date: Wed, 05 Jan 2022 14:02:50 +0000
Message-ID: <8D6F910B-B6E1-4E8F-B1C7-2CF570C34DCA@ericsson.com>
References: <87czl7k2rd.fsf@ovgu.de>
In-Reply-To: <87czl7k2rd.fsf@ovgu.de>
Accept-Language: en-US
Content-Language: en-GB
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
user-agent: Microsoft-MacOutlook/16.48.21041102
authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=ericsson.com;
x-ms-publictraffictype: Email
x-ms-office365-filtering-correlation-id: 92141df2-5b91-41c0-3320-08d9d0540f94
x-ms-traffictypediagnostic: PR1PR07MB4842:EE_
x-microsoft-antispam-prvs: <PR1PR07MB4842A9715E56FE60E215D67CF44B9@PR1PR07MB4842.eurprd07.prod.outlook.com>
x-ms-oob-tlc-oobclassifiers: OLM:8882;
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info: XI6r4QKLTDNUjjFuJWQHaW8osFTxUrXmzFrJCzTIQMt0Mf/QdVA7nfpWDz7/MAXPfgAcZLd85jDkD8l+ll4i7aF9b6h2nAF9/jb1vcx0raH8dq/ExBanyboFJ4dHHwZh96v4gZA58/nq9/eEPJbYfmS8SfUt2c0DhLPZ1JLPBUFxEcOFXGKTyXdLS2oLBOtbfXsKoSY37pDr+vy0+m5HjESe3PTR1AMhIdjF+UVxtbTEq98vrPWk0W8Mzwi/dya9Enllm0GLGDDz8+K7XGx5tzsoKhsDO0JZIq/CN0TvLgcWyUgipWwL36ax+VKacQiMD20oumsbEeduWPIEdbZ4RI1cxO5lPrto+aXOlFvV8yhPuVboFuU2oG7xRdQAFP6r6lfM/EfbZaRBzp8818gIf36ioMxB9me5GPt25l9l18Yni0PuWGcR5r/RQOvF3TUzFRknO6PPaB2YDS7joVmrTVfrSbghARHgj7RqWlGCxdEBLWv/p/5ls8ju/t9zRz6XIeIlfRWNTdcke3ReD5qgwyM4RGV9+WHvBSTw77m3X2xJj2ZbwYjDJQucPI5+HaBkcI/QkQBPLs25LIbrVe1rz+t9q/J823bQNZwupq7X0EphugT117xBgbcadbVpf4Ylq3U5XvE9jwv//hXNdmjfMFB40yVsMPCuJJiIG2lA9PyOz5htb38FgBbnXAl9bT1/iWPRA8AlijynwS5396ZYjR3sn3zz1YCJBbXcwlPecTMuxhHzgCvcbp4vbtbAlhXJptTE2Dav4zhCgeVwIVzhV9JCEEPxJ3Di1fNnDqEp9VH6PenoyhluLnI3igDmc4kGVxhohOBaVFR2NNiJGMWqvXh4KLOWRnK0t6Mtoti8Ov8=
x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:PAXPR07MB7806.eurprd07.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230001)(4636009)(366004)(66476007)(6512007)(66556008)(966005)(2906002)(8936002)(66446008)(8676002)(66946007)(71200400001)(6486002)(64756008)(33656002)(508600001)(122000001)(6506007)(38100700002)(82960400001)(76116006)(91956017)(186003)(38070700005)(2616005)(5660300002)(110136005)(36756003)(86362001)(44832011)(83380400001)(66574015)(316002)(45980500001)(20210929001); DIR:OUT; SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0: BdSfOQVHDZcf4gBaxv56SXQlKmrj4np/LDKG0YhF1F5oU46VS7B7lelJLGP6sVJ/1K6qsBHT1975aW+DoFBfn0G+X62lm3PPghoFXDFZIPmIhsAhYwT4M3/pJvzNJVmRS2JCoo8bLPIxRl7nl4aP/wKrBFu6VYEIpP61Oq7kA5qfhbuiNOHxvrg2pwa0IExfxpfqZPsFsxjL1JIRr7+jpOX0oOGUWr1dcCrg7JNoW3T289DlobaRd/BP6N2yCVPCh22ZRTfFL3mdoi/+gDhSxAcDZ5MOBJUXC/Obhi+uhO0pqDNjLNcogL6/IsYuEu1KTSFvxaBqDBqTQv77U87+gQr0iY7yDEQGoOqXExTL1NkEOlUD4FIWDpa/mA3c/DlwlZGYgFK+c/VNose8e8yMLqe400TlbmmT1oFrmkYFt3oKSdzSNDr0X2LlXqKUL/x7/87E+M9J1P4hgWmzhiCYMka3CG3kHr15DDj0Oq9PSHck5LFT5jrWw46JNVpEcTktvRhq+Z61UnRN4n3R5iLWrfTERbL/NoETsKXm0ez05Pl0vQ9AcbCrDEEJvvfUbn3WCx90RBttyB0ykM3aAXghMMYOQGV2bZWflkYxXO1pp2DiCnoRCcF4epIMATFUQYextQY7azX1Gpef4+EuhLIyWa9lRUTMRRaBvI0qRLgbD4FrbUl5wRV+Pg/hBygQ2TgfDXjdzE2SfuT7aiF2g/Ppo/2fHkyw7wIEvuZdTxrRm4d1EIK7GeBFMSmwuyW/fzu3Z6I36guIddnV70QYSN4rg5oKS14agvlLhlnocKV1pScB3gRlbeTZwpdoPf0HJLTUBwslndgVq3vVyoBCOLt/Y2IUsdFaGS4zU5wt0eH72kUGVrLh3i3e2aUbfTOo95kaXZKbn9msRpeq9qmWGY5Nqhe8t+pq2rbbLyXzb/a4Qggm9Yr/wRJFKlBBroEcEa6heCGQEIGg9BYAJb5Fc04VkPuzbAQ5MCx6KZ/3d6NunCYsJn2wLhc5kYo/loZbiUGffWseHirDbQgJ2s7GDw8ZFfDO91lwGDKJCEXcWRQJITFVE+9cuNaIG99tEqcnLr2MdkgpDD34RyrMQU6YxukbKB//LbHk5Gz0Up/tk1G+BAk92QTVGuKnFTeetnBa+04DtzVSBVTFdsv5OowU/aGu2FCDMoWfQctOc5eM7egDGf8pzp4dgbk/sQzA2Int3Q2hMkIA/dfPrA2lpbSUJHGqR3ANDcqbRYiTueW+KcB8G0ExigOQ1Al6XGqO3y64ciVCCvwZ3Hxk/jJreKCwCk8hSBASyeYmvwFYExoQgizCkWMWXqpo0sHR8PLSxy2Cz+pQJ8TdeNWyrMwjnZ1Vx0EU+r4rBICs5u+lb9NaprjxQxcn/JwiqM99+LW3pJ9xIi6PWqOwmyAvW4cUYK4T/yT3NVswTG3X3J8tGmqvWlaEbswHt1B/ywLjCaf3Vcgk1dho9K4u30Hys6J8JJyYk9D3ufen4RDEsvNJUhWSZj6lf2Ecw6hck5iM+3EN0SdvCCmKLm8w9x98yRQS7Ae4BqmAcDfUc7VEABBoGkMD8wz9uf1oDkB/OpV1j/ueQ+qSFC8nT3ya+ivHNXepRMVWQ4r++3ECmS3JEaqJ2Rda7i9IvIP8MLBD8II1NfuCUWEbIlLZ92ORIQMrZmHXpvgQsf3EawYam1WqPmkXVaGGIQUBDkqWjnG+Ta6Zu6Yy330n6v5fPPeLT7CXb36B7RSdr9M8980rnyM4s7AcNQjpU01aC58=
Content-Type: text/plain; charset="utf-8"
Content-ID: <12F4BF283D892249926D586EAD311AF1@eurprd07.prod.outlook.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-OriginatorOrg: ericsson.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: PAXPR07MB7806.eurprd07.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 92141df2-5b91-41c0-3320-08d9d0540f94
X-MS-Exchange-CrossTenant-originalarrivaltime: 05 Jan 2022 14:02:50.5174 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 92e84ceb-fbfd-47ab-be52-080c6b87953f
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: f2uXNabRqKFU+anImX8Q+hhhKI8JplNOkO6+MgVQykpkq8YIwuXCtVBcYr5BLWC6UrWjN0PAEW1asq/NTAbvbJljiWtfkJLDSV+UFaEOKvM=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PR1PR07MB4842
Archived-At: <https://mailarchive.ietf.org/arch/msg/taps/H7krJwdZZYonzDq5wb7dlXCT2BQ>
Subject: Re: [Taps] Early TAPS Implementation in Go, Feedback Welcome
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: Wed, 05 Jan 2022 14:03:00 -0000

Hi Troben,

thanks for sharing and using the taps API. For the mistakes you found I recommend to open issues on github or even create a PR if the resolution is straight-forward: https://github.com/ietf-tapswg

Mirja


On 04.01.22, 15:18, "Taps on behalf of Thorben Krüger" <taps-bounces@ietf.org on behalf of thorben.krueger@ovgu.de> wrote:

    Dear TAPS,

    In the context of a recently started EU NGI Pointer project[1], we 
    are currently involved in engineering[2] an open source transport 
    services system in Go, with support for SCION[4], a 
    next-generation path-aware Internet architecture, enabling 
    multi-path communication at the inter-domain level.

    Our system, called PANAPI[3] (Path-Aware Networking API), aims to 
    hide complex automated processes (such as protocol racing) behind 
    convenient high-level abstractions. In the backend, PANAPI 
    consists of a (Lua) scriptable framework to support practical path 
    selection in the context of the SCION architecture. (We also aim 
    to provide UDP, TCP/IP and QUIC support, but achieving full 
    RFC8923[5] compliance is only a secondary goal.)

    To avoid re-inventing the wheel on the frontend-side, we have 
    chosen to adopt the abstractions laid out in the current TAPS 
    Interface draft[6]. Most of these could be easily mapped to our Go 
    implementation, but in a few cases we decided to depart from the 
    specification. We are unsure to what degree our decisions[7] are 
    in violation of the TAPS vision and would appreciate feedback, 
    especially from folks who have some familiarity with Go.

    Note that this email is not intended to announce a fait 
    accompli. PANAPI is still under development and only partially 
    usable in its current state. The user-facing API[8] is about two 
    thirds done, and we would be glad to incorporate your feedback on 
    our implementation choices[7]. While Candidate Gathering and 
    Candidate Racing are still waiting to be implemented, the main 
    SCION-based, scriptable path-selection framework for the backend 
    is nearly complete. We would highly appreciate any kind of 
    contributions, even only informal feedback, also from non-Go 
    programmers.

    Finally, we believe we have identified a few minor mistakes in the 
    Interface draft[6]. What is the proper process of discussing 
    these?

    Kind regards and happy new year,

    Thorben Krüger
    Otto-von-Guericke University, Magdeburg

    [1]: https://protect2.fireeye.com/v1/url?k=31323334-501d5122-313273af-454445555731-dfd3bd71b085b967&q=1&e=f73004e3-6a0b-487f-b306-baac8445e614&u=https%3A%2F%2Fwww.ngi.eu%2Ffunded_solution%2Fngi-pointer-project-33%2F
    [2]: https://protect2.fireeye.com/v1/url?k=31323334-501d5122-313273af-454445555731-a6202abfcbbafaa4&q=1&e=f73004e3-6a0b-487f-b306-baac8445e614&u=https%3A%2F%2Fgithub.com%2Fnetsys-lab%2Fpanapi%2Ftree%2Ftaps
    [3]: https://protect2.fireeye.com/v1/url?k=31323334-501d5122-313273af-454445555731-e2435aed8f4e8766&q=1&e=f73004e3-6a0b-487f-b306-baac8445e614&u=https%3A%2F%2Fdl.acm.org%2Fdoi%2F10.1145%2F3472727.3472808
    [4]: https://protect2.fireeye.com/v1/url?k=31323334-501d5122-313273af-454445555731-9249a3ce4b132d30&q=1&e=f73004e3-6a0b-487f-b306-baac8445e614&u=https%3A%2F%2Fscion-architecture.net%2F
    [5]: https://protect2.fireeye.com/v1/url?k=31323334-501d5122-313273af-454445555731-20505ec0daf0d7ae&q=1&e=f73004e3-6a0b-487f-b306-baac8445e614&u=https%3A%2F%2Fwww.rfc-editor.org%2Frfc%2Frfc8923.html
    [6]: 
    https://protect2.fireeye.com/v1/url?k=31323334-501d5122-313273af-454445555731-76cbc5967efb114d&q=1&e=f73004e3-6a0b-487f-b306-baac8445e614&u=https%3A%2F%2Fwww.ietf.org%2Farchive%2Fid%2Fdraft-ietf-taps-interface-13.html
    [7]: 
    https://protect2.fireeye.com/v1/url?k=31323334-501d5122-313273af-454445555731-367b4fc5664866f3&q=1&e=f73004e3-6a0b-487f-b306-baac8445e614&u=https%3A%2F%2Fgithub.com%2Fnetsys-lab%2Fpanapi%2Fblob%2Ftaps%2Fdoc%2FImplementation.md
    [8]: 
    https://protect2.fireeye.com/v1/url?k=31323334-501d5122-313273af-454445555731-9fd94feaea2ba82d&q=1&e=f73004e3-6a0b-487f-b306-baac8445e614&u=https%3A%2F%2Fpkg.go.dev%2Fgithub.com%2Fnetsys-lab%2Fpanapi%40v0.3.0-alpha7%2Ftaps

    PS: PANAPI receives official funding from NGI Pointer[1]

    _______________________________________________
    Taps mailing list
    Taps@ietf.org
    https://protect2.fireeye.com/v1/url?k=31323334-501d5122-313273af-454445555731-a4d4eb0115e9372f&q=1&e=f73004e3-6a0b-487f-b306-baac8445e614&u=https%3A%2F%2Fwww.ietf.org%2Fmailman%2Flistinfo%2Ftaps