[core] Second Resource Directory plug test: Report, part I
Christian Amsüss <christian@amsuess.com> Wed, 10 October 2018 11:20 UTC
Return-Path: <christian@amsuess.com>
X-Original-To: core@ietfa.amsl.com
Delivered-To: core@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id C389D130EEC for <core@ietfa.amsl.com>; Wed, 10 Oct 2018 04:20:38 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.9
X-Spam-Level:
X-Spam-Status: No, score=-1.9 tagged_above=-999 required=5 tests=[BAYES_00=-1.9] 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 EhTN_-cXRKZS for <core@ietfa.amsl.com>; Wed, 10 Oct 2018 04:20:35 -0700 (PDT)
Received: from prometheus.amsuess.com (alt.prometheus.amsuess.com [IPv6:2a01:4f8:190:3064::3]) (using TLSv1.2 with cipher ADH-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id AF8CB130F0E for <core@ietf.org>; Wed, 10 Oct 2018 04:20:35 -0700 (PDT)
Received: from poseidon-mailhub.amsuess.com (unknown [IPv6:2a02:b18:c13b:8010:a800:ff:fede:b1bd]) by prometheus.amsuess.com (Postfix) with ESMTPS id E7AF641AC8; Wed, 10 Oct 2018 13:20:32 +0200 (CEST)
Received: from poseidon-mailbox.amsuess.com (hermes.amsuess.com [10.13.13.254]) by poseidon-mailhub.amsuess.com (Postfix) with ESMTP id 9E3B12A; Wed, 10 Oct 2018 13:20:31 +0200 (CEST)
Received: from hephaistos.amsuess.com (hephaistos.amsuess.com [IPv6:2a02:b18:c13b:8010::71b]) by poseidon-mailbox.amsuess.com (Postfix) with ESMTPSA id 50B1610E; Wed, 10 Oct 2018 13:20:31 +0200 (CEST)
Received: (nullmailer pid 8393 invoked by uid 1000); Wed, 10 Oct 2018 11:20:30 -0000
Date: Wed, 10 Oct 2018 13:20:30 +0200
From: Christian Amsüss <christian@amsuess.com>
To: core@ietf.org
Message-ID: <20181010112030.GC31858@hephaistos.amsuess.com>
References: <20180926161903.GA30204@hephaistos.amsuess.com> <20181003093716.GA9366@hephaistos.amsuess.com>
MIME-Version: 1.0
Content-Type: multipart/signed; micalg="pgp-sha256"; protocol="application/pgp-signature"; boundary="DIOMP1UsTsWJauNi"
Content-Disposition: inline
In-Reply-To: <20181003093716.GA9366@hephaistos.amsuess.com>
User-Agent: Mutt/1.10.1 (2018-07-13)
Archived-At: <https://mailarchive.ietf.org/arch/msg/core/enMOFPTiK9qcS-lxpQ-VVyyKbuc>
Subject: [core] Second Resource Directory plug test: Report, part I
X-BeenThere: core@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: "Constrained RESTful Environments \(CoRE\) Working Group list" <core.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/core>, <mailto:core-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/core/>
List-Post: <mailto:core@ietf.org>
List-Help: <mailto:core-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/core>, <mailto:core-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 10 Oct 2018 11:20:46 -0000
Hello CoRE list, we've just completed part I of the previously announced RD plug test (between the RIOT and aiocoap implementations), and I'm sending the results to the list right away to have them available in today's interim meeting. Summary: The tests that can be expected to be performed by a device implements the registrant-EP side of RD passed, with some changes due to limits of the underlying CoAP library. One test was missed because tests were executed out-of-order. So far, nothing group related has been tested as nothing has been implemented by either participant. Details below. Best regards Christian --- Implementations under test were: * RIOT's built-in endpoint, where RIOT is an operating system for class C0 to C2 devices. The endpoint implementation is designed to do either a simple or a as a full registration, to keep both alive, and to explicitly deregister again. Due to limitations in the underlying CoAP library, it can not perform multicast discovery or send target attributes or an anchor in links yet. (Those features are being worked on.) The registrant EPs were run in iot-lab with full IPv6 connectivity and operated by Hauke Petersen; later tests also include an endpoint run locally at his site. * aiocoap's resource directory, where aiocoap is a Python implementation of CoAP that ships several tools for use on unconstrained systems. It implements all components of the RD server except groups, as well as regular registrant endpoint. No commissioning tool (CT) is implemented per se, but it provides a program called rd-relay. The relay provides links to an RD proper in multicast lookups, and performs third party registration for local registrants that attempt simple registration. The RD server was run on a public IPv6 address and operated by yours truly. Test execution: * Test 3 passed. The execution deviated from the protocol by providing no additional link or target attributes (see above), a varied endpoint name and an unexpected Content-Format header sent by the registrant (fixed). * Test 1 passed with modifications, test 4 passed. The target address in 1 was changed from multicast to unicast to accomodate library limitations, and because the implementations were not colocated. In test 4, the same links as in test 3 were used (an oversight), and again no link attributes were present. The registrant provided an endpoint name varying from the test specification. The RD used a different registration path than the example path given in the test specification. * Test 12 passed (the device was manually prompted to de-register). * Test 13 was missed when going through the list, but a version of it (minus the new base address) was executed regularly by the active registrants. * Tests 2, 5, 6, 7, 8, 9, 10, 11, 14 and 15 were not applicable to an endpoint-only client implmentation. Some of those steps were filled in by an aiocoap implementation for verification purposes: * Tests 2 and 5 were executed by running an rd-relay at Hauke's site, where he tasked an endpoint to simply register at the local rd-relay. The relay looked up the details of the RD server and then performed a thrid party registration. * Tests 10, 12 and 15 were executed continuously by means of an active observation on the server, and gave the expected results. As no link attributes were set by the registrants, the filter parameters were left out. As additional tests, the links produced in lookup were handed to an client to be dereferenced. Links from test 3 and 4 (simple and regular registration) could be read. Links from test 5 could not be read because the endpoint had no route to the internet; the CT thus entered them as <coap://[fe80::2c7c:b7ff:feac:bda8%tapbr0]/sensors/temp>. That might be an issue to consider during discovery, and was taken to the draft's issue tracker. Various obervations: * Sending more link attributes would make the link-format serialization on small devices hard in terms of flash size, link-format+cbor might be of help here and will require support by RDs. * Issues discovered in the server were failure to deregister timed out simple registrations, and needless sending of observe notifications when nothing really changed. * The GETs performed during simple registration were issued from a different IP address than the one targeted in the registration. That caused no trouble in the test, but might confuse readers of the logs. -- To use raw power is to make yourself infinitely vulnerable to greater powers. -- Bene Gesserit axiom
- [core] Second Resource Directory plug test Christian Amsüss
- Re: [core] Second Resource Directory plug test Christian Amsüss
- [core] Second Resource Directory plug test: Repor… Christian Amsüss
- [core] Second Resource Directory plug test: Repor… Christian Amsüss