Re: [core] WG Last Call on draft-ietf-core-conditional-attributes

Marco Tiloca <marco.tiloca@ri.se> Tue, 24 May 2022 21:39 UTC

Return-Path: <marco.tiloca@ri.se>
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 1994FC2B5A91 for <core@ietfa.amsl.com>; Tue, 24 May 2022 14:39:15 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -3.957
X-Spam-Level:
X-Spam-Status: No, score=-3.957 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, NICE_REPLY_A=-1.857, 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=ri.se
Received: from mail.ietf.org ([50.223.129.194]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id jv-FqtVBPujs for <core@ietfa.amsl.com>; Tue, 24 May 2022 14:39:10 -0700 (PDT)
Received: from emea01-obe.outbound.protection.outlook.com (mail-swedencentralazon11010006.outbound.protection.outlook.com [52.101.75.6]) (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 AB945C2B551E for <core@ietf.org>; Tue, 24 May 2022 14:38:55 -0700 (PDT)
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=S/9TY2KBldTDJtwa6X2AqRh7ZVHxPvj6efjb7Dmgp6qqKBLmJUrwI5eYiqwMGf/vCgQL62otQ46/kNpOcd3AX86M9T632TqSUhx4JKzVblYGzb3gnIXcHYMrD2HbbeYT8ye/j1L9AKEzFS5AFtn1KFFWtpvTZAld3UZfBvz5JK9KNiVJ7BW5WFn5z2deT+cJzLB77WEEOmXyKY7KkQZ2MLDPsrHfwfBZLStRvOjSB6ByGY0QmbW4dYnN2w7yygF08z7bxGD6gCRdTDtPoyLSxUJe8YUU3qzdwu9R4RzdzoaMeJnx8d6GOeyJTNwAzxc+XcAeKGb+pOnJpiHd7sHAOQ==
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=RrbByCZgZCt8F1XQtv7jd+v2qGTghqX+V77DWV3tAeY=; b=PmiAiWsTQLEXOS+LQ4cGeZo6oxwOQcQ4H8+vfHMDlsEkM9CwRsUuR50q5ycT5SLeOQ5Wyrfyb6hbIuDGNWYEhARzCvVZLEcYA8Rczvg5vJNqO69qPbrdCTevt5GCfypl4ghHNPsLkcNynGfeEFnyrV4kxMtc/g1uMhI4cItDpIDN0VkBQWtbbDB8ubTIvON92sAgcVBFf7TlndzS7SsTDoS+75LqG2AOcfHpss3H7XU6zqj4ZL9ZAj87rPRKo31kOTMnkxAieYOunK1BZx6z4/ra4GjRPTKOmCXAhuZoUIVKdLPPMmmWiMIRDTWRt7lZAYBUeW8IsdkDB2+XbCyHBw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=ri.se; dmarc=pass action=none header.from=ri.se; dkim=pass header.d=ri.se; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ri.se; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=RrbByCZgZCt8F1XQtv7jd+v2qGTghqX+V77DWV3tAeY=; b=OmFN3L1YWMSsZJWSiF5L+lu1CGWWGFASwGWXfSz9taWLEYvY6UrOgVM1xp9qSlxGPO2luQgO3CNzCxf4MB4RurkOrB97c6t5rZbdl0d/LXRosUk/Vk4A1VNJ9PsRAhpK4bholQBLcYoiubPRWOIWdASRL5kjpNa5zb7ad1txvsE=
Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=ri.se;
Received: from GVYP280MB0464.SWEP280.PROD.OUTLOOK.COM (2603:10a6:150:37::17) by MM0P280MB0455.SWEP280.PROD.OUTLOOK.COM (2603:10a6:190:12::8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5293.13; Tue, 24 May 2022 21:38:49 +0000
Received: from GVYP280MB0464.SWEP280.PROD.OUTLOOK.COM ([fe80::582d:af6:c32:fdaf]) by GVYP280MB0464.SWEP280.PROD.OUTLOOK.COM ([fe80::582d:af6:c32:fdaf%7]) with mapi id 15.20.5273.023; Tue, 24 May 2022 21:38:49 +0000
Message-ID: <9c0bf66f-dbc9-7ac4-b16d-eaa7139e7b7a@ri.se>
Date: Tue, 24 May 2022 23:38:46 +0200
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101 Thunderbird/91.5.0
Content-Language: en-US
To: Marco Tiloca <marco.tiloca=40ri.se@dmarc.ietf.org>, "core@ietf.org WG (core@ietf.org)" <core@ietf.org>
References: <5a8317ff-c7ff-ffda-da15-94bb04700451@ri.se>
From: Marco Tiloca <marco.tiloca@ri.se>
In-Reply-To: <5a8317ff-c7ff-ffda-da15-94bb04700451@ri.se>
Content-Type: multipart/signed; micalg="pgp-sha256"; protocol="application/pgp-signature"; boundary="------------nS0MdwOxHrsL09Qlm0EjNI9F"
X-ClientProxiedBy: FR3P281CA0085.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:1f::22) To GVYP280MB0464.SWEP280.PROD.OUTLOOK.COM (2603:10a6:150:37::17)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: dfad2ef7-b39a-41ad-d3d2-08da3dcdc9df
X-MS-TrafficTypeDiagnostic: MM0P280MB0455:EE_
X-Microsoft-Antispam-PRVS: <MM0P280MB045516CE5658E800CF8B83D099D79@MM0P280MB0455.SWEP280.PROD.OUTLOOK.COM>
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info: pMuAgpxHrGWyL1Ew2phO+KRae3vbrTK8f/OBaK/MyylvQj4+fGW00yV3w4kVxNmnKiLEYsI1vMZvZpnfMSzm0ldIOgyTb+hlV6OcNtN1/zQQrAjAeUNoEvTgqFOVesVlP8nZyYbk9UREUP6KvkZ2LQ1oRMX3C2BlpJUvDRnVosHtlSOvae6Gc67r4ho87CXwdEuwOiWrh2iYN9A2qTzNrryssavSgKJHsoaSXpjumzr852HLFiFcMXbtBTGMQj8WxhQqH93pU/gRLdKrC/IYChhWqRiKbeJvhA3yDE4j0daqnWv7css43S67SkM3K4lskh5Sd6U3VHjTtypDxwomQQRQSXuAGFYjr6CsuYFKH/2/KGxB8cgNiRlI+G5APt/Hq+MGTEIEl0CCSB+MfibvIpE33g0C17aTIv5b0aElddewe2TGIAoubZAIMYCIX9/cxKGNkkOJ6smPwcZHvP2M5mKkMup5XDe/pX//MA25AUr6eeq2BCK/1MhLlJj7X/10TAKWp4RHWCPRabVnD2AoCrT2KJWiEJAi6BeB7/dpsROWFMjJCdQ7+cXTl35nsgifVAa5MKQFdGVjpws9hGH0iITwE/uAsmr/09cVM5uPDDjg5GltUJrGRJ/iz2Pp6iQAmb9WxcZ+uKHaWgXSVC8cebrMnl8RDw177jsRfrcTQZ5oKVHfSqnc6qNcREzTASUcuGTNdyC3C4sEsSeBruWw9EbXnjdgEEMgFa/LgWWMbnFbpenPDfbZvUD9JXzjPWO2D+SAUjO+xYdBQO+1SKcjy7YW+VGrl7Pw8NiGWsvRbK2qVEJic/i0Hb9xTTBQwytB
X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:GVYP280MB0464.SWEP280.PROD.OUTLOOK.COM; PTR:; CAT:NONE; SFS:(13230001)(4636009)(366004)(83380400001)(53546011)(6506007)(33964004)(6666004)(316002)(186003)(66946007)(66476007)(38100700002)(8676002)(66556008)(5660300002)(21480400003)(235185007)(2906002)(8936002)(2616005)(966005)(6486002)(44832011)(31686004)(36756003)(26005)(31696002)(6512007)(86362001)(508600001)(110136005)(43740500002)(45980500001); DIR:OUT; SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0: zD/7uZPo0iHi4L2ekOBL31TjrwVKpDA+n2TCyyhdYDDDi9B+H9PIAKdvRR48yz9/oQ1s2DecvtG4owY2vK0UE3vgHCIHUakRxn6jWGwC/lZaC7U+jjvw31mYwlKUEJDJCXXGfKSY/8AT8svmIGsrq1qqHG85YMCSE6D6zGg1zb62jkGIKNsSOnLVN9Q+8hX6hMGlFiJVJvL+1pREOrBFSExpCZnDyb6/O0QUsMbSaEzUT8gZtRZdpsmJG9OxtTH5Bia+rAKt6Bxx/n0Rrx5urc1L+EyJTwnm/axBQGzchJxTpaBknQiUlor4rMOwryAoYs3h/PhS5kN8rEYBBj3ZT6HBPxv0Rhe/3kuv2qmGKEw1Z2rjmusxLjbY+PgLAu4T3//yMMqfl2DuSHmM2wNBgI5wqQDsj5C3VtcJkVEaPARsbvgEAw+KkGMlHXIgDJNQic1TXF6mc9DydJ1oOf2OVb+5CRVHumuzOx0/8MaNzYcWW8c4qy0kxNAR7LhjO+7c0SdXPDj2JCfkW8FbFxQtvQlXhGnFPFQar1QYvJXVStMvwy0hg6gv35ru9Z+CFg+r6McnJGkoJx7bdretw64gDC391euZT7Tc9Du8TbXPGJhqqJ0WoCXand4peXwo4U9jUnhc2f4GODeHw0+yMGYg1lzxDrhUDS0Xv654zrJVAe7kcKdhKO1E3Cxafjl7IiNv5Cw+e/1cG6l7sguXT5NpOPTVQNdTS+kyc5e0doyCEa3LUZOTLavl+E6Q3GzImwgzY0ihx+tKN6lBL5+q5Z9aV1Cf3+6FcqfhjnEfzczZXND9MyrKfPLsW76Jz5+Oei1lLiEqti42PmDpjCo+UA2BMDeGxwnZ/bE5dq3VGkE3WzaKiYAREBbJR1ZCtTOS9DwuLje+BCNUFdD0DSRD+ot2q4uSh5z1r3SSCXZRxJp8ca4dyMmDWoigtqtspi8m8Do/XOuIUolaQjIP07LlCUPTbAY8B1ya/sNswfVd+yHlA1REYxHX4QLWpGa2y4RnKVVYXF+FXKIEsdh5a7jQICRyC3lZSZUK5asP5S8jvf7F69zJd6fvVBo/5qHscJgLP27gR9qbs599Gs7xsLUMi+IUQMrG+3z2yvWzd6On3adXaBRwc22CPgyx0TY5TYwF/fVSnQgKSvdtu7BGugrumJSucFjrXdeWixhhZOeC5rXEnu85WqGpPp7F4XwoUXix4znaNuyhP+VigMdAYELK5I11eXB+pNLUVylGr69hPO33EZHTftSfY3mvPbZBT08g/r8YNp+8V4emDZykZjP2wb3GWloJdqj0jmbShTF38RB/Rs/8zGoWglCgK773Xcl+Mp+kHlb7iG+Tu+E99gMT81rxrRqA5CR1x8KG97QCw4kRmX5XqjsTLmVZyYQBH9kjDBSx4ofORYVbDeh7K/DM/dGRkh+j6D1EwqeycD26NyaHDF28D2wYFrPFBk2RIZu4+bg+3xbCcNaydwcdqrvD3sRo3hVkS0vFXWTns1TpXHWwTZIspwiu76I5gl5I7d2BxiKyNv84atTycUearcToozVjA/qkLx6k0Ml067RftjMlRzxayyg2Ddn7m4uxvedTnqK0jMlHqO5Mus9kz8ce4v+YlvhUrLvP5Wu4vDxOrl8OfTeuqOF+t9e/mwnP/gRbNrvI5ecwOo71e/inHKb8DMRNo2CJpV72ehObFN1TXLiaehkvkgB1WTZfL5Rz2s2kxFkKFyuPP28dwPp5iUvfQUTrfA==
X-OriginatorOrg: ri.se
X-MS-Exchange-CrossTenant-Network-Message-Id: dfad2ef7-b39a-41ad-d3d2-08da3dcdc9df
X-MS-Exchange-CrossTenant-AuthSource: GVYP280MB0464.SWEP280.PROD.OUTLOOK.COM
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 24 May 2022 21:38:49.2388 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 5a9809cf-0bcb-413a-838a-09ecc40cc9e8
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: 7sxIjtowvTVHZLtyQ2bjiPt90xtVAmurfHJCKSFzkcg2XwIIgrEfk+TKUWD/4lLQH1jnLxH5kRsbq+xfWdUfSA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: MM0P280MB0455
Archived-At: <https://mailarchive.ietf.org/arch/msg/core/WOe7F8-y3TNbrqnLkYQshZB1flk>
Subject: Re: [core] WG Last Call on draft-ietf-core-conditional-attributes
X-BeenThere: core@ietf.org
X-Mailman-Version: 2.1.34
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: Tue, 24 May 2022 21:39:15 -0000

Hi all,

Please find below my review comments.

Best,
/Marco


[Section 1]

* "describe a REST protocol [RFC7252]"

    Perhaps do you mean "describe the REST protocol CoAP [RFC7252]" ?

* s/machine to machine/machine-to-machine

* s/CoRE Observe/CoAP Observe


[Section 1.1]

* "This specification requires readers to be familiar with all the terms 
and concepts that are discussed in [RFC7641]."

    I would refer also to RFC 7252.


[Section 3]

* s/CoRE Observe/CoAP Observe

* s/simply a "name" without/simply as a "name" query parameter without

* s/"Note: In this draft, we"/Note: in this specification, we


[Section 3.1]

* "to be interesting"

    Do you mean "to trigger a notification" ?


[Section 3.1.3]

* s/the change step indicates/the Change Step attribute indicates

* s/the old state/the last reported value

* s/reported state by an amount/reported value by an amount

* s/on resource states represented with a scalar numeric value./on 
resources with a scalar numeric value.


[Section 3.1.4]

* In the section title, s/band/Band

* s/The notification band/The Notification Band

* When "c.band" is present with the "c.lt" attribute, it defines ...

    I think you mean:

      When the Notification Band and Less Than attributes are present 
while the Greater Than attribute is not, then the present attribute pair 
defines ...

* When "c.band" is present with the "c.gt" attribute, it defines ...

    I think you mean:

      When the Notification Band and Greater Than attributes are present 
while the Less Than attribute is not, then the present attribute pair 
defines ...

* s/in which the value/and the value  (2 occurrences)

* s/value not between/value is not between


[Section 3.1.5]

* s/the "c.edge" attribute/the Edge attribute


[Section 3.2]

* s/measurement of the conditions/evaluation of the conditions

* s/measurements of the conditions/evaluations of the conditions


[Section 3.2.1]

* s/the minimum period indicates/the Minimum Period attribute indicates


[Section 3.2.2]

* s/the maximum period indicates/the Maximum Period attribute indicates

* s/the minimum period parameter (if present)/the Minimum Period 
parameter (if present)


[Section 3.2.3]

* s/the minimum evaluation period indicates/the Minimum Evaluation 
Period attribute indicates

* s/measurements/evaluations  (2 instances)

* s/measurement/evaluation  (3 instances)


[Section 3.2.4]

* s/the maximum evaluation period indicates/the Maximum Evaluation 
Period attribute indicates

* s/measurements/evaluations

* s/measurement/evaluation  (2 instances)


[Section 3.2.5]

* s/the "c.con" attribute indicates/the Confirmable Notification 
attribute indicates


[Section 3.3]

* "and time to prepare for the next notification"

    I think you mean "and the time when to prepare the next notification".

* As to these two lines in the reference code:

    #define PMIN_EX ( r->last_sample_time - r->last_rep_time >= r->pmin )
    #define PMAX_EX ( r->last_sample_time - r->last_rep_time > r->pmax )

    Based on the definitions of pmin and pmax, shouldn't these lines 
rather be like the following?

    #define PMIN_EX ( current_time - r->last_rep_time >= r->pmin )
    #define PMAX_EX ( current_time - r->last_rep_time > r->pmax )

* As to these two lines in the reference code:

    #define LT_EX ( r->v < r->lt ^ r->last_rep_v < r->lt )
    #define GT_EX ( r->v > r->gt ^ r->last_rep_v > r->gt )

    Based on the definitions of lt and gt, shouldn't these lines rather 
be like the following?

    #define LT_EX ( ( r->v < r->lt && r->last_rep_v >= r->lt ) || \
                    ( r->v > r->lt && r->last_rep_v <= r->lt ) )
    #define GT_EX ( ( r->v > r->gt && r->last_rep_v <= r->gt ) || \
                    ( r->v < r->gt && r->last_rep_v >= r->gt ) )

* The name IN_BAND can be confusing; its second and third logical 
conditions relate to what is called out-of-band in the second from last 
paragraph of Section 3.1.4. Perhaps rename it to BAND_MATCH or BAND_SCOPE ?


[Section 4]

* "or the configuration of "c.epmin" and "c.epmax" values ..."

    I think you mean: "or as defined by the "c.epmin" and "c.epmax" values"

* s/CoRE Observe/CoAP Observe


[Section 6]

* In the first paragraph, s/This memo/This specification

* In the references column, you can replace "This memo" with "RFC XXXX" 
(or similar), while adding the usual note to IANA before the table about 
replacing it with the RFC number.


[Section 10.2]

* Shouldn't RFC 7252 and RFC 7641 also be normative references?


[Appendix A]

* "binding attribute / observe attributes"

    This should be Conditional Notification Attributes and Conditional 
Control Attributes


[Appendix A.2]

* The caption of Figure 2 should conclude as:

    "... when c.pmax time expires."


[Appendix A.4]

* The caption of Figure 4 should be:

    "Client registers and receives one notification of the current 
state, one of a new state (when, coincidentally, c.pmax time also 
expires), and one of a new state when it passes through the greater than 
threshold of 25."


[Nits]

* Section 3.1
--- s/here allow a/here allows a
--- s/how often a client/how often the client

* Section 3.1.3: s/Note: Due/Note: due

* Section 3.1.4, s/ different ranges results in differing behaviour/ 
different ranges result in differing behaviours

* Section 3.2.1
--- s/occured/occurred
--- s/whether or not/regardless of whether or not
--- s/Note: Due/Note: due

* Section 3.2.2, s/whether or not/regardless of whether or not

* Section 3.2.3, s/resource since the client/resource, since the client

* Section 4
--- s/maximum allow for/maximum allows for
--- s/1 or more/one or more
--- s/eg/e.g.

* Appendix A
--- s/brevity the only/brevity only


On 2022-05-11 17:53, Marco Tiloca wrote:
> Dear all,
>
> This mail starts a Working Group Last Call for the document:
>
> https://datatracker.ietf.org/doc/html/draft-ietf-core-conditional-attributes-04 
>
>
> Please provide your comments and feedback by Wednesday, the 25th of May.
>
> Best,
> Marco (for the CoRE Chairs)
>
>
> _______________________________________________
> core mailing list
> core@ietf.org
> https://www.ietf.org/mailman/listinfo/core

-- 
Marco Tiloca
Ph.D., Senior Researcher

Phone: +46 (0)70 60 46 501

RISE Research Institutes of Sweden AB
Box 1263
164 29 Kista (Sweden)

Division: Digital Systems
Department: Computer Science
Unit: Cybersecurity

https://www.ri.se