Re: [Dots] Yangdoctors early review of draft-ietf-dots-rfc8782-bis-00

mohamed.boucadair@orange.com Thu, 24 September 2020 08:36 UTC

Return-Path: <mohamed.boucadair@orange.com>
X-Original-To: dots@ietfa.amsl.com
Delivered-To: dots@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id CD9C93A09DB; Thu, 24 Sep 2020 01:36:15 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.118
X-Spam-Level:
X-Spam-Status: No, score=-2.118 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_MSPIKE_H4=-0.01, RCVD_IN_MSPIKE_WL=-0.01, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, UNPARSEABLE_RELAY=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=orange.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 K_bc4ECQJKXp; Thu, 24 Sep 2020 01:36:14 -0700 (PDT)
Received: from relais-inet.orange.com (relais-inet.orange.com [80.12.70.36]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id EA76A3A09D8; Thu, 24 Sep 2020 01:36:10 -0700 (PDT)
Received: from opfednr06.francetelecom.fr (unknown [xx.xx.xx.70]) by opfednr27.francetelecom.fr (ESMTP service) with ESMTP id 4BxpKj1v72z4wlf; Thu, 24 Sep 2020 10:36:09 +0200 (CEST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=orange.com; s=ORANGE001; t=1600936569; bh=d6OW6TwinyhpDmdeRDcJTtLuduJhHT848EGqInsWvzM=; h=From:To:Subject:Date:Message-ID:Content-Type: Content-Transfer-Encoding:MIME-Version; b=k4sYfNvhzBM0qzVE6wkS/9AsGHptq6rKWL03so/04jqoy8dk+jr73X1wCFJxylTmv +SRMKKmL3IqBBULdDzVaSo59T5rVe3NMSnIqsYn/lb1Ad3pn8CmRkaYL94FJ+i5y5x sibrwUXoRnLsXHXfQcAIlonM0aGF7sgZoC9nkQew50oamtOCWYvymxM7VY7e6uf4e2 Xx7d88VhTUlSyw/2xlYubB5nScFqI+7c6qVLWQZ4R3ENnIQJs3zME4383uqkJUj1Cu NvXZ0Tw3Zi9ZVPNbWTkaBBSeev8pBtfWhz+cAwatbQg2p/+X95i2oowi6KuC+m7j7h ZmCyvA9k2DLPg==
Received: from Exchangemail-eme6.itn.ftgroup (unknown [xx.xx.13.104]) by opfednr06.francetelecom.fr (ESMTP service) with ESMTP id 4BxpKj17P1zDq7L; Thu, 24 Sep 2020 10:36:09 +0200 (CEST)
From: mohamed.boucadair@orange.com
To: Ebben Aries <ebben.aries@nokia.com>, "yang-doctors@ietf.org" <yang-doctors@ietf.org>
CC: "dots@ietf.org" <dots@ietf.org>, "draft-ietf-dots-rfc8782-bis.all@ietf.org" <draft-ietf-dots-rfc8782-bis.all@ietf.org>
Thread-Topic: Yangdoctors early review of draft-ietf-dots-rfc8782-bis-00
Thread-Index: AQHWkhNaJj3ct9KtuU+sGJdrsGqwE6l3VNxQ
Date: Thu, 24 Sep 2020 08:36:08 +0000
Message-ID: <18277_1600936569_5F6C5A79_18277_298_1_787AE7BB302AE849A7480A190F8B9330315459EC@OPEXCAUBMA2.corporate.adroot.infra.ftgroup>
References: <160091148495.1709.10744527350560713534@ietfa.amsl.com>
In-Reply-To: <160091148495.1709.10744527350560713534@ietfa.amsl.com>
Accept-Language: fr-FR, en-US
Content-Language: fr-FR
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-originating-ip: [10.114.13.245]
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
MIME-Version: 1.0
Archived-At: <https://mailarchive.ietf.org/arch/msg/dots/zB8QW7cAhqVFt8KW_WH_JYv1gCg>
Subject: Re: [Dots] Yangdoctors early review of draft-ietf-dots-rfc8782-bis-00
X-BeenThere: dots@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: "List for discussion of DDoS Open Threat Signaling \(DOTS\) technology and directions." <dots.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/dots>, <mailto:dots-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/dots/>
List-Post: <mailto:dots@ietf.org>
List-Help: <mailto:dots-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/dots>, <mailto:dots-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 24 Sep 2020 08:36:16 -0000

Hi Ebben, all,

Thank you for the review. 

Please see inline. 

Cheers,
Med

> -----Message d'origine-----
> De : Ebben Aries via Datatracker [mailto:noreply@ietf.org]
> Envoyé : jeudi 24 septembre 2020 03:38
> À : yang-doctors@ietf.org
> Cc : dots@ietf.org; draft-ietf-dots-rfc8782-bis.all@ietf.org
> Objet : Yangdoctors early review of draft-ietf-dots-rfc8782-bis-00
> 
> Reviewer: Ebben Aries
> Review result: On the Right Track
> 
> 2 modules in this draft:
> - ietf-dots-signal-channel@2020-07-02.yang
> - iana-dots-signal-channel@2020-05-28.yang
> 
> YANG compiler errors or warnings (pyang 2.3.2, yanglint 1.9.2)
> - No compiler errors or warnings however pyang 2.3.2 is currently
> the only
>   compiler verified to emit YANG sx:structure data in tree format.
> Instance

[Med] I confirm this is what we are using. 

>   data could not yet easily be validated given the current
> linters/compilers.
> 
> General comments on the draft/modules:
> ----------------------------------------
> The modules defined in this draft are an update replacement to those
> defined in RFC8782 with only 1 being updated from the prior
> publication.
>   - ietf-dots-signal-channel@2020-05-28.yang (updated)
>   - iana-dots-signal-channel@2020-05-28.yang
> 
> - First, I share some of the same comments as the previous review in
> that it
>   takes some additional thought on modeling structures for alternate
> protocol
>   communications with the YANG language.  Overall, I think this is
> likely fine
>   but also question where the draft/RFC specification outlines rules
> that are
>   not conveyed within the data-model.  Some examples include
> specifying
>   mandatory attributes but not making use of the YANG 'mandatory'
> statement.

[Med] We are using "mandatory" statements when this makes sense (e.g., alt-server, hb-status). It is not used for some attributes that may appear in both directions, but are not mandatory in one direction. For example, "lifetime" is mandatory in a mitigation request, but it is when the server replies with a conflict message. 

FWIW, a constraint we had is to reuse as much as possible the same CBOR key/attribute names. This is not possible if we overload the module with "choice"s:

==
   Each "case" may
   contain multiple nodes, but each node may appear in only one "case"
   under a "choice".
==

This is why what is normative for an implementation is the core of the specification not the YANG module itself.

>   Other cases are stating the intent of reserved or invalid integers
> but not
>   putting the same restrictions on the types under a given data
> node. 

[Med] Can you please indicate which data node are you referring to? Thanks.

 Overall
>   this means that you cannot validate the instance/payload data
> according to
>   the data-model alone.

[Med] Agree. The data model alone is not sufficient for an implementer, it should rely on the detailed spec. 

> 
> - Previous review suggested the main edits required switching the
> top-level
>   container 'dots-signal'.  This has now been fulfilled by that of
> an
>   sx:structure in this revision.
> 

[Med] Thanks. 

> - A recent discussion among YANG doctors suggests the use of
> normative
>   language (RFC2119) in YANG description statements. For example
> 'should' =>
>   'SHOULD', 'must' => 'MUST', etc... A benefit to this approach is
> RFC
>   comprehension even when the module is stripped from the source
> document it
>   is contained under.

[Med] Thank you for sharing this. I understand the benefit for the "classic" use of YANG, but in our case I'm afraid thus this will be redundant with the core specification itself. 

> 
> - (draft) L887 nit: "As a reminder, the prefix length must be less
> than or
>   equal to 32 (for IPv4) for 128 (for IPv6)"

[Med] Fixed. Changed to:

"As a reminder, the prefix length must be less than or equal to 32 for IPv4 and 128 for IPv6."

> 
> Module ietf-dots-signal-channel:
> ----------------------------------------
> - IMO, the module prefix 'signal' is too generic for what is
> specific to
>   message payload over a protocol that uses CoAP.  Looking at all
> the
>   published RFCs for dots, we have the same use of generic prefixes.
> Since
>   the prefix is of local scope, it is not an entirely large issue
> but in
>   hindsight should have had some better consistency especially when
> the
>   recommendation to module importers is to utilize the defined
> prefix of said
>   module.

[Med] Fair enough. Changed to "ietf-dots-signal".

> 
> - This module imports and references 'ietf-dots-data-channel' as
> prefix
>   'ietf-data'.  Not only is this too generic as I mentioned above,
> it is not
>   using the suggested prefix of 'data-channel' (which is also too
> generic) as
>   defined within that module (RFC7950 Section 7.1.4)
> 
>    "When used inside the "module" statement, the "prefix" statement
>     defines the prefix suggested to be used when this module is
> imported."

[Med] Fixed. Updated to use 'data-channel'.

> 
> - Minor nit: It appears all author email addresses have been updated
> since the
>   RFC8782 variant replacing '@' with '&'

[Med] Fixed. 

> 
> Module iana-dots-signal-channel:
> ----------------------------------------
> - Similar to what I mention above regarding the module prefix, we
> use a
>   generic 'iana-signal' prefix here which is inconsistent and not
> descriptive
>   of the overall intent of the module.

[Med] Updated to "iana-signal-channel".

> 
> Overall, I'm not sure if the other referenced and published DOTS
> YANG modules went through a YD review but the comments above really
> should be addressed in a new revision of those modules.

[Med] Sure. We will double check those. 

  Once the
> above is addressed and possibly some discussion around when type
> restrictions are not conveyed within the model, it is probably on
> the right track. 

[Med] Great, thanks. We can add some clarification as needed, but as indicated above, if you can share the attributes you are referring to, this will be helpful. Thanks.  

 Since this is not the usual use of YANG in the
> context of YD reviews, it is a bit of an on the fly analysis which
> may require some additional discussion among other YANG doctors.
> 

[Med] Sure.


_________________________________________________________________________________________________________________________

Ce message et ses pieces jointes peuvent contenir des informations confidentielles ou privilegiees et ne doivent donc
pas etre diffuses, exploites ou copies sans autorisation. Si vous avez recu ce message par erreur, veuillez le signaler
a l'expediteur et le detruire ainsi que les pieces jointes. Les messages electroniques etant susceptibles d'alteration,
Orange decline toute responsabilite si ce message a ete altere, deforme ou falsifie. Merci.

This message and its attachments may contain confidential or privileged information that may be protected by law;
they should not be distributed, used or copied without authorisation.
If you have received this email in error, please notify the sender and delete this message and its attachments.
As emails may be altered, Orange is not liable for messages that have been modified, changed or falsified.
Thank you.