Re: [Ntp] [Last-Call] Last Call: <draft-ietf-ntp-yang-data-model-10.txt> (A YANG Data Model for NTP) to Proposed Standard

tom petch <daedulus@btconnect.com> Wed, 17 February 2021 12:33 UTC

Return-Path: <daedulus@btconnect.com>
X-Original-To: ntp@ietfa.amsl.com
Delivered-To: ntp@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id C09533A19A4; Wed, 17 Feb 2021 04:33:07 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.901
X-Spam-Level:
X-Spam-Status: No, score=-1.901 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, MSGID_FROM_MTA_HEADER=0.001, NICE_REPLY_A=-0.001, 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=btconnect.onmicrosoft.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 SZ0dR5UciMeA; Wed, 17 Feb 2021 04:33:04 -0800 (PST)
Received: from EUR02-AM5-obe.outbound.protection.outlook.com (mail-eopbgr00103.outbound.protection.outlook.com [40.107.0.103]) (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 47C243A199D; Wed, 17 Feb 2021 04:33:02 -0800 (PST)
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=WaCnh5kwRYrmr5SIu4ZxU8rFekmw/5/ZsYKSDyPtrIyHaX2CuRNzqaSMfr5absTvmlELQ/h3PPn2FtIoKRafgst4ImriF3f2Y4kexiNZylIC/7rOsYQ2jPXIE3DtBDXtJnUis+h99/lg4iXEekorayUlrAOXcHgyPr3MspBBFUoa0z6t7PmWip29S2J/GhywO/LV6qSWl6xdeCVCX3a+eX/VGdiFGCHbPLvZEczDKbQachuafP/mvYkGE4UKJzQqqTFtZH081plmwJWsvC4KBhgAn6i4zM2vkqMdmym9YmSpH2Qr5WyTPRhgJW+lwunL6J1oEebMIkBhzekKFMM4Lw==
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-SenderADCheck; bh=LrGDpnZjKosWrx9gBVNh7sCbySPQB0AsO3eppXwFZNw=; b=BV2mOwCpQraBVMZlcOX+nsmaDc2aR4xkaygWUWENuDMdjmgpaDR0jDoAvo2CZ5xQAHypfSj2ShVMNLluud63MzkBbnmWQDKPdyfmS2FCnusrlOpgQ+OsPAOUw5kA0GNy2MmFfaimzER7p8c7mXRSjSxZZmLjMa9TJ7OUqahmTzZu5KQEOBXoQbcBqU0cn9yxpLLxOueU/xx9VLq45CNSmF9E8dMoW0V4nO71Dt57IQlLMFJHixQXp47ka4xyq0WnGaQVvSy+aVabF5KmceiEs24/xXxgidhokZC4lXEdRV2iCUTEh/C1BWgRLKjAT3nJfpnevQEbQ3tylQIGdahevg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=btconnect.com; dmarc=pass action=none header.from=btconnect.com; dkim=pass header.d=btconnect.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=btconnect.onmicrosoft.com; s=selector2-btconnect-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=LrGDpnZjKosWrx9gBVNh7sCbySPQB0AsO3eppXwFZNw=; b=v3Dzp7HB+0p+T/4GFtGKhXVrzcw3Y1IvbPXTrPymxZEBD0Al29HObfxLU6l7N2r646Ijih/7VqpN1CHS4TU4d14limsP/frIXi0lFjXGvFTYhp5BqoUVORhmY/72LiIdF5S9MRRrpKJXcc8cLJCEpV4ecXYSz2SWUlgZG9Fni0I=
Authentication-Results: gmail.com; dkim=none (message not signed) header.d=none;gmail.com; dmarc=none action=none header.from=btconnect.com;
Received: from VI1PR07MB6704.eurprd07.prod.outlook.com (2603:10a6:800:18b::8) by VI1PR07MB6127.eurprd07.prod.outlook.com (2603:10a6:803:da::26) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3868.11; Wed, 17 Feb 2021 12:33:00 +0000
Received: from VI1PR07MB6704.eurprd07.prod.outlook.com ([fe80::181c:709a:6f7a:b811]) by VI1PR07MB6704.eurprd07.prod.outlook.com ([fe80::181c:709a:6f7a:b811%3]) with mapi id 15.20.3868.025; Wed, 17 Feb 2021 12:33:00 +0000
To: Dhruv Dhody <dhruv.ietf@gmail.com>
References: <161195994417.2651.6499166797756243533@ietfa.amsl.com> <CAB75xn5CQr2yg7wWZHj-sJM7WaaTJK5NF0pzzLhqmx5hHf8GiQ@mail.gmail.com> <60266E12.6070207@btconnect.com> <602A611E.4020306@btconnect.com> <CAB75xn7QVL+F_5bQ8roZYakbADgQ06pChb0ei7Oaf0=eqLu7Mg@mail.gmail.com>
Cc: NTP WG <ntp@ietf.org>, last-call@ietf.org, Ankit Kumar Sinha <ankit.ietf@gmail.com>, ntp-chairs@ietf.org, draft-ietf-ntp-yang-data-model@ietf.org, ek.ietf@gmail.com, Dieter Sibold <dsibold.ietf@gmail.com>
From: tom petch <daedulus@btconnect.com>
Message-ID: <602D0CF9.9090404@btconnect.com>
Date: Wed, 17 Feb 2021 12:32:57 +0000
User-Agent: Mozilla/5.0 (Windows NT 5.1; rv:38.0) Gecko/20100101 Thunderbird/38.5.0
In-Reply-To: <CAB75xn7QVL+F_5bQ8roZYakbADgQ06pChb0ei7Oaf0=eqLu7Mg@mail.gmail.com>
Content-Type: text/plain; charset="utf-8"; format="flowed"
Content-Transfer-Encoding: 7bit
X-Originating-IP: [86.146.121.140]
X-ClientProxiedBy: LO2P265CA0225.GBRP265.PROD.OUTLOOK.COM (2603:10a6:600:b::21) To VI1PR07MB6704.eurprd07.prod.outlook.com (2603:10a6:800:18b::8)
MIME-Version: 1.0
X-MS-Exchange-MessageSentRepresentingType: 1
Received: from [192.168.1.65] (86.146.121.140) by LO2P265CA0225.GBRP265.PROD.OUTLOOK.COM (2603:10a6:600:b::21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.20.3846.35 via Frontend Transport; Wed, 17 Feb 2021 12:32:59 +0000
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 47996325-5adf-4946-685e-08d8d340296c
X-MS-TrafficTypeDiagnostic: VI1PR07MB6127:
X-Microsoft-Antispam-PRVS: <VI1PR07MB612709C493B98F2521AAF64AC6869@VI1PR07MB6127.eurprd07.prod.outlook.com>
X-MS-Oob-TLC-OOBClassifiers: OLM:3383;
X-MS-Exchange-SenderADCheck: 1
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info: S+lUb13ZqF3ZrKsk4bmdWWsZkEsbsjxEf3k/GTa7HHwaTiLPxrdu6J1d7+z7a3/avIsCLpH/VLQLSgDQYGlcXwLThc3RLTtJvCPOxga+qfBgm5ithnZ66BIvwz2UNMzmfBNHGyQB+4HLjx24p8cAXl8HFdAt5pDilStCe28kBA/tV+Bv9NjQOuKMAhFNpE8p2PMYP7NfddIJTuWz4eJjSbIjkHNrPH7SlCVKcOIcdmalnQ7hWSggxurgbBLufwd/9TM9MvDgBF158ueWKDj93j/4mWlytgj6wwEWKiODXu5lTiWIYfsKy8kMQ6FvZLPwVH9SAM81cYcALwnZVu/p8Cv0UwUPom8Oa7dQ1t1qybhOhiI6nud+/nHv31LJGsO43CvwcW0+nhYYbmic9q0hkqIAgAnfN7iBqgPK4d9ox6RXcagNuDYoC+x4zTjJzTN3iW9JcVTY80BhWvxxVpF6sCCxeVmO3XTvoQPrFrsZCKPY33Rfqdn+m7OzymNIo+BljbBmtxN4lOsxi4W6dtTkZIbM+ybOA1X3G0y4TlCwHoVjjGd52068uf15j5Jernrx8FjwBBO6kibeTL2eWhXNh00wlNoPwR5zPp7QiFmLrdEKcyZtGPwhj5QEKHsVh4REUqq07LsVb1WvHJ3oPSsnsA==
X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:VI1PR07MB6704.eurprd07.prod.outlook.com; PTR:; CAT:NONE; SFS:(136003)(346002)(39860400002)(366004)(376002)(396003)(52116002)(2906002)(2616005)(956004)(30864003)(6916009)(36756003)(83380400001)(45080400002)(87266011)(5660300002)(33656002)(478600001)(26005)(16576012)(16526019)(316002)(186003)(54906003)(6486002)(66476007)(4326008)(66946007)(966005)(8676002)(86362001)(53546011)(8936002)(66556008)(21314003); DIR:OUT; SFP:1102;
X-MS-Exchange-AntiSpam-MessageData: kt/Pno3iuUqpA3ewwMppBtLufIhhcLsJPvZQvgVoA2ISTz3imEYC63NexV4Xf2kPEwF3R5BflrLE50QPrQN2egzAoN5HKBK32BGEaDUz/0S9eLJHWc6U36DD3nyNeVoaufbpbQGsSMvdSlGbsRUqvFndlxJsk603omxpoBV7bJcRAIpOge/sJqUJNk/wY5R1G+JopVEv2Wgdsy5hUUao7KXq2nbx9yC/uP4ioPTuD4eTtFhIUo2snF8RVfTgI1+wlZMIF/qORCBalG+mgiu8pBNu91d9IDt+dT9HPoGFjwyPewe4K3vBX3MbvwaGiPaRThRkuO4x8hJrsfUubMCM9YdQZwvDybftjrJwBo1TF7dUJMW0XtU0CZQbX99ubTZ6GeLfE9Syd0VnW4ePAs0eJyGVKoiWtydN0rokfMvp1ZCQFnQ/LA5fYnCX5rDXHETBxzYGmuZMS7+l9c51Gy11qnUaemV0LmnC4vWEQQ3kfivhlRSnWec5Wsv2RlsNDokogG3kci+tnrQJQHD9U2J7gGl9yUo8ifh7BPUqBvV+f/BuXLQDzVjtyvtAS+c1x9tSCFvYsR2u2dLEQlvDb/NhZr47UILqjjZ6aTIggiKwxXUXFCd2IqXrhex95lwBDYMZZ0c7MIIeqBUVKUZskKlrrpL5gX5xCqzQWfPxJCKvqysIgz3A6Mn4wwUSj4XkDG/2Yb3eB7r9q2TGBUNRvahNKj0/UXtqylBjZbI6QysO/0vvtTcDDJuMXCS79QLX3djtiDj5x6p54awbPvLflSajObW0gHQiycFpQIEWknnJfWIrSQWl+Ou5J4e17xG034Z324mi2SjuicZ9q5TXj3OU23YQY6rZQVXqw1gq78LsZi3ztXagaHHUWwoZaPY2BlshayxM2CSZ8ayQWMG92tP97ePio+6sOpPoKkemXJ6t4WK5X7SWLQucAWLDYXBpPcoNU2xKCqFqzYTujnRSHJ8OlzcXxVQ4HWuypyg7/Z+sFXZIRveROJaV6I39GVOOBePfim5qSFpDBSa+05Y1BFLDtramP6WIzMnne2uWVEKgYHSK/9OPFfsHYXuOU5wvYAHimCYxmYnxtdKLcxR8b+Im36Zm2cn/TSLXP48mkMZgBXS1PuV3nIWtl+6e3KJk0Z6UbmpBoppMgGdXUyv4Ywm/+WVr4GzG3sxTl8E08ygdo273qzBI6rF32OEp6mxHOg2XtE5nlq9bNGMZghNWDuo9UMCX6Z/YGwprYAQj0t5OH57xkCxzRatC/w81uMUccFBx9olJzMOAhDTO/14jbbnNcQZ1HfFvPQLcbbgD9VuGk/yq1fNbiuzVqSmn8WpT766F
X-OriginatorOrg: btconnect.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 47996325-5adf-4946-685e-08d8d340296c
X-MS-Exchange-CrossTenant-AuthSource: VI1PR07MB6704.eurprd07.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 17 Feb 2021 12:33:00.2210 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: cf8853ed-96e5-465b-9185-806bfe185e30
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: 6HX2h3x3KmuNapBnFb3TOeLX6t3sxwYQWsno5UkHJFIiHD7ydZbxg5c7H9Qo7gUtelR/HUH9lYQeCGOyvtjTeQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR07MB6127
Archived-At: <https://mailarchive.ietf.org/arch/msg/ntp/ijL5k1SvBtpl28vLHZjUJWR4ADY>
Subject: Re: [Ntp] [Last-Call] Last Call: <draft-ietf-ntp-yang-data-model-10.txt> (A YANG Data Model for NTP) to Proposed Standard
X-BeenThere: ntp@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: <ntp.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/ntp>, <mailto:ntp-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/ntp/>
List-Post: <mailto:ntp@ietf.org>
List-Help: <mailto:ntp-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/ntp>, <mailto:ntp-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 17 Feb 2021 12:33:08 -0000

On 17/02/2021 11:34, Dhruv Dhody wrote:
> Hi Tom,
>
> We have posted another update.
>
> Updated: https://datatracker.ietf.org/doc/draft-ietf-ntp-yang-data-model/
> Diff: https://www.ietf.org/rfcdiff?url2=draft-ietf-ntp-yang-data-model-13

Indeed and I have downloaded it.  I will look at Friday or perhaps 
Thursday.  I am conscious that the Last Call period has expired and that 
sometimes ADs press the 'Go' button while I am still thinking:-(  Ben 
did provide a link to text he had crafted about non-cryptographic use of 
MD5 which I rather liked - up to you whether or not you want it include it.

Tom Petch


>
> As suggested by Ben, added a YANG feature for MD5.
>
> Further details -
>
>
>> s.6
>> /For this reason, this YANG module allow/
>> For this reason, this YANG module allows/
>>
>
> Updated
>
>> s.7
>> This has lost its two character margin, needs insetting
>>
>
> Not sure where. I did run "pyang -f yang --keep-comments --yang-line-length 69"
>
>> typedef refid I like, much clearer, but perhaps could do with a
>> reference for MD5, RFC1321
>>
>
> I added the reference around the new MD5 feature (as suggested by Ben)
> and not at refid.
>
>> /Discountinuities in the value/Discontinuities in the value/
>> in three places
>>
>
> Updated.
>
>> when 'false() = boolean(/sys:system/sys:ntp)' {
>> I am sure that this is valid but is not something I am used to seeing.
>> An aspect of YANG that I have never understood is when you have to spell
>> things out and when they are implicit and I think that all you need here is
>> when not <presence container>
>> but would want to verify that with a YANG doctor
>>
>
> I have used when presence before but not sure what is the best way for
> "when not presence" and didn't see it before :)
>
>> The definition of each possible values:/
>> The definition of each possible value:/
>>
>
> Updated.
>
>>         leaf poll {
>>           type uint8;
>> This seems wrong to me.  Looking at s.7.3
>>      Poll: 8-bit signed integer representing the maximum interval between
>>      successive messages, in log2 seconds.  Suggested default limits for
>>      minimum and maximum poll intervals are 6 and 10, respectively.
>> ie signed integer and not uint
>>
>
> int8 is better, updated.
>
>> TTL good to have the reference - I was barking up the wrong tree
>>
>> I note
>> #define TTLMAX          8       /* max ttl manycast */
>> I assume that this is a matter of choice - I see 255 in examples which
>> is at the other end of the spectrum
>>
>
> Updated example.
>
>>             leaf beacon {
>>               type uint8;
>> I cannot find a definition of this in the RFC (which I think a defect in
>> the RFC).  Reverse engineering the code I see beacon compared to
>> unreach, which is defined, as
>>      unreach: integer representing the number of seconds the server has
>>      been unreachable
>> which suggests that beacon is a number of seconds, and not a log base 2
>> value or a counter; is this right? (The RFC should say IMHO)
>>
>
> Yes, it is not log2. I have added more text in the description.
>
>> s.8
>> /for illustration purporses./for illustration purposes./
>>
>
> Updated.
>
>>
>> I have run out of time but have made a second pass.  Some aspects still
>> confuse me, where I cannot be sure of the correlation between YANG and
>> RFC, notable time and mode; I want the words to be identical and they
>> are not!
>>
>>     identity access-mode {
>> I do not understand. The RFC has protocol, association and packet modes
>> but not access mode.  This is perhaps section 3, but I am uncertain, the
>> terminology is not quite the same, which is perhaps ok for an NTP
>> expert, which I am not, but not in a technical specification IMHO.
>>
>
> The access-mode is related to the ACL. It is not related to
> association and packet modes. The RFC does not go into detail but
> mentions its use in Section 9.2.
>
>> Thus you derive
>>     identity query-access-mode {
>> but searching the RFC only yields a match in Security.  I want the terms
>> to be identical!
>>
>
> This is not mentioned, but the granularity comes from the existing ACL
> configurations with NTP.
>
>> In contrast, association mode is in the RFC and so I can see
>>     identity broadcast-client {
>> which lacks a value for mode - perhaps 6.  But I would still like a
>> reference to section 3 for these.
>>
>
> I have made an update and aligned it as per the RFC
>
>>
>>     identity ntp-sync-state {
>> is again troublesome.  The RFC has
>> #define NSET     0       /* clock never set */
>> #define FSET     1       /* frequency set from file */
>> #define SPIK     2       /* spike detected */
>> #define FREQ     3       /* frequency mode */
>> #define SYNC     4       /* clock synchronized */
>> whereas the I-D has
>>     identity clock-not-set {
>>     identity freq-set-by-cfg {
>>     identity clock-set {
>>     identity freq-not-determined {
>>     identity clock-synchronized {
>>     identity spike {
>> which is close but I want them to be identical or a note saying how they
>> are different.
>>
>
> Updated
>
>>
>> Then what is the difference between this and
>>     identity clock-state {
>> which has
>>     identity synchronized {
>>     identity unsynchronized {
>> Why have both?
>>
>
> I have added the description to say one is a higher-level state and
> another a granular one.
>
>> Other thoughts
>>
>> I wonder about the role of
>>     identity aes-cmac {
>>       base key-chain:crypto-algorithm;
>> What does it add that a direct reference to AES-CMAC does not have? Why
>> import key-chain.  I am not saying it has no value but am unclear of
>> that value.  And
>>       leaf algorithm {
>> could do with a reference for AES-CMAC.
>>
>
> We are no longer using key-chain to make sure we could use the YANG
> feature for MD5.
>
>> Some authors include the prefix on the module in the list of prefix;
>> seems logical.
>>
>>      typedef refid
>> MD5 could do with a reference.
>>
>>           leaf clock-stratum {
>> What is syspeer? I do not see it in the RFC:-)
>>
>
> Updated.
>
>>           leaf clock-precision {
>> should be signed not unsigned I think
>>
>
> Updated.
>
>> leaf poll
>> is indeed poll in section 7.3 but I wonder why  13.1 uses hpoll?
>> Probably a comment on the RFC and not on the I-D.
>>
>
> Hal provided the details.
>
>> With ones from my previous post, below, that is it!
>>
>> Tom Petch
>>
>
> Thanks!
> Dhruv & Ankit
>
> On Mon, Feb 15, 2021 at 5:25 PM tom petch <daedulus@btconnect.com> wrote:
>>
>> On 12/02/2021 12:01, tom petch wrote:
>>> On 11/02/2021 09:39, Dhruv Dhody wrote:
>>>> Hi Tom,
>>>>
>>>> Thanks for your review. I have posted an updated version of the YANG.
>>>>
>>>> https://datatracker.ietf.org/doc/draft-ietf-ntp-yang-data-model/
>>>> https://www.ietf.org/rfcdiff?url1=draft-ietf-ntp-yang-data-model-10&url2=draft-ietf-ntp-yang-data-model-12
>>>>
>>>
>>> That was quick!  I have done a first pass but have yet to chase down the
>>> references and one at least looks odd to me. I expect to complete the
>>> process on Monday am GMT.
>>
>> Ian
>>
>> I have run out of time but have made a second pass.  Some aspects still
>> confuse me, where I cannot be sure of the correlation between YANG and
>> RFC, notable time and mode; I want the words to be identical and they
>> are not!
>>
>>     identity access-mode {
>> I do not understand. The RFC has protocol, association and packet modes
>> but not access mode.  This is perhaps section 3, but I am uncertain, the
>> terminology is not quite the same, which is perhaps ok for an NTP
>> expert, which I am not, but not in a technical specification IMHO.
>>
>> Thus you derive
>>     identity query-access-mode {
>> but searching the RFC only yields a match in Security.  I want the terms
>> to be identical!
>>
>> In contrast, association mode is in the RFC and so I can see
>>     identity broadcast-client {
>> which lacks a value for mode - perhaps 6.  But I would still like a
>> reference to section 3 for these.
>>
>>
>>     identity ntp-sync-state {
>> is again troublesome.  The RFC has
>> #define NSET     0       /* clock never set */
>> #define FSET     1       /* frequency set from file */
>> #define SPIK     2       /* spike detected */
>> #define FREQ     3       /* frequency mode */
>> #define SYNC     4       /* clock synchronized */
>> whereas the I-D has
>>     identity clock-not-set {
>>     identity freq-set-by-cfg {
>>     identity clock-set {
>>     identity freq-not-determined {
>>     identity clock-synchronized {
>>     identity spike {
>> which is close but I want them to be identical or a note saying how they
>> are different.
>>
>>
>> Then what is the difference between this and
>>     identity clock-state {
>> which has
>>     identity synchronized {
>>     identity unsynchronized {
>> Why have both?
>>
>> Other thoughts
>>
>> I wonder about the role of
>>     identity aes-cmac {
>>       base key-chain:crypto-algorithm;
>> What does it add that a direct reference to AES-CMAC does not have? Why
>> import key-chain.  I am not saying it has no value but am unclear of
>> that value.  And
>>       leaf algorithm {
>> could do with a reference for AES-CMAC.
>>
>> Some authors include the prefix on the module in the list of prefix;
>> seems logical.
>>
>>      typedef refid
>> MD5 could do with a reference.
>>
>>           leaf clock-stratum {
>> What is syspeer? I do not see it in the RFC:-)
>>
>>           leaf clock-precision {
>> should be signed not unsigned I think
>>
>> leaf poll
>> is indeed poll in section 7.3 but I wonder why  13.1 uses hpoll?
>> Probably a comment on the RFC and not on the I-D.
>>
>> With ones from my previous post, below, that is it!
>>
>> Tom Petch
>>
>>> Meanwhile,
>>>
>>> s.6
>>> /For this reason, this YANG module allow/
>>> For this reason, this YANG module allows/
>>>
>>> s.7
>>> This has lost its two character margin, needs insetting
>>>
>>> typedef refid I like, much clearer, but perhaps could do with a
>>> reference for MD5, RFC1321
>>>
>>> /Discountinuities in the value/Discontinuities in the value/
>>> in three places
>>>
>>> when 'false() = boolean(/sys:system/sys:ntp)' {
>>> I am sure that this is valid but is not something I am used to seeing.
>>> An aspect of YANG that I have never understood is when you have to spell
>>> things out and when they are implicit and I think that all you need here is
>>> when not <presence container>
>>> but would want to verify that with a YANG doctor
>>>
>>> The definition of each possible values:/
>>> The definition of each possible value:/
>>>
>>>         leaf poll {
>>>           type uint8;
>>> This seems wrong to me.  Looking at s.7.3
>>>      Poll: 8-bit signed integer representing the maximum interval between
>>>      successive messages, in log2 seconds.  Suggested default limits for
>>>      minimum and maximum poll intervals are 6 and 10, respectively.
>>> ie signed integer and not uint
>>>
>>> TTL good to have the reference - I was barking up the wrong tree
>>>
>>> I note
>>> #define TTLMAX          8       /* max ttl manycast */
>>> I assume that this is a matter of choice - I see 255 in examples which
>>> is at the other end of the spectrum
>>>
>>>             leaf beacon {
>>>               type uint8;
>>> I cannot find a definition of this in the RFC (which I think a defect in
>>> the RFC).  Reverse engineering the code I see beacon compared to
>>> unreach, which is defined, as
>>>      unreach: integer representing the number of seconds the server has
>>>      been unreachable
>>> which suggests that beacon is a number of seconds, and not a log base 2
>>> value or a counter; is this right? (The RFC should say IMHO)
>>>
>>> s.8
>>> /for illustration purporses./for illustration purposes./
>>>
>>>
>>> Back on Monday, all being well
>>>
>>> I got a bounce message last time from Yi saying on holiday until 22nd
>>> February.
>>>
>>> Tom Petch.
>>>
>>>
>>>> Please find my consolidated response below -
>>>>
>>>> Email 1:
>>>> ========
>>>>
>>>> On Mon, Feb 8, 2021 at 5:52 PM tom petch <daedulus@btconnect.com> wrote:
>>>>>
>>>>> I have two main problems and a lot of lesser ones with this I-D; given
>>>>> the number, about 50, I am not optimistic that a single cycle of
>>>>> revision will see them addressed.
>>>>>
>>>>> I see a potential loophole in the security which I will post separately
>>>>> since the audience is likely to be different.
>>>>>
>>>>> References are missing or not specific enough so when I try to compare
>>>>> values in the I-D with those of the protocol, either I cannot find them
>>>>> or they seem to be different. Giving values to enumerations is unusual
>>>>> in YANG, since NETCONF does not transmit them, and their presence
>>>>> suggests that they are protocol values, in which case I want to see what
>>>>> the protocol says.  A reference to a 110 page I-D, with two updating
>>>>> I-D, is inadequate IMO - section numbers are needed in every case.
>>>>>
>>>>
>>>> I have added section numbers in most of the cases.
>>>> I have changed enums to identity.
>>>>
>>>>> Introduction
>>>>> should mention support, or lack thereof, for NMDA
>>>>>
>>>>
>>>> Its present in Section 1.1 already, I have added keyword NMDA as well
>>>> now.
>>>>
>>>>> 1.4.  Prefixes in Data Node Names
>>>>>               | ianach    | iana-crypt-hash          | [RFC7317] |
>>>>> the reference is wrong; this is an IANA- maintained module so the
>>>>> reference must be to the IANA website
>>>>>
>>>>
>>>> No longer using ianach in this update.
>>>>
>>>>> 1.5.  Refrences in the Model
>>>>> /Refrences/References/
>>>>> /refrenced in /referenced in /
>>>>>
>>>>
>>>> Updated
>>>>
>>>>> 2.  NTP data model
>>>>>
>>>>> I do not see the value of a condensed model followed immediately by a
>>>>> full model. Perhaps the full model should be an Appendix although at
>>>>> less than three pages, this is quite small and would be ok on its own
>>>>> IMHO.
>>>>>
>>>>
>>>> Updated
>>>>
>>>>> 4.  Relationship with RFC 7317
>>>>> /supports per-interface configurations /
>>>>> support per-interface configuration/
>>>>>
>>>>
>>>> Updated
>>>>
>>>>> 5.  Access Rules
>>>>> /refer access-mode) and attach different acl-rule/
>>>>> see access-mode) and attach a different acl-rule/
>>>>>
>>>>
>>>> Updated
>>>>
>>>>> 6.  Key Management
>>>>> /32-bits unsigned /32-bit unsigned/
>>>>>
>>>>> /this YANG modules/this YANG module/
>>>>>
>>>>
>>>> Updated
>>>>
>>>>> NTP association (for example unicast-server),
>>>>> /specefied/specified/
>>>>>
>>>>
>>>> Updated
>>>>
>>>>> 7.  NTP YANG Module
>>>>>
>>>>>        import iana-crypt-hash {
>>>>>         reference         "RFC 7317: A YANG Data Model for System
>>>>> Management";
>>>>> wrong reference - this module is IANA-maintained so the reference must
>>>>> be to the IANA website
>>>>>
>>>>
>>>> Not using iana-crypt-hash anymore!
>>>>
>>>>>        contact
>>>>>           WG List:  <mailto: ntpwg@lists.ntp.org
>>>>> this is not the address I see on the datatracker
>>>>>
>>>>> the I-D has five editors but there are only two here
>>>>>
>>>>
>>>> There are 2 co-authors marked as editors. RFC 8407 says the document
>>>> author or editor contact information needs to be present.
>>>>
>>>>>        typedef access-mode {
>>>>> I cannot find this in RFC5905
>>>>>
>>>>
>>>> Section 9.2 and Appendix A.5.4. I have added section number in reference.
>>>>
>>>>>        typedef association-mode {
>>>>> this I can find but it ranges from 0 to 7 whereas the I-D has 0 to 4
>>>>> - is
>>>>> this intended?
>>>>>
>>>>
>>>> Changed to identity.
>>>>
>>>>>        typedef ntp-sync-state {
>>>>> this I cannot find; a search for 'spike' yields a value of 2 in the
>>>>> RFC, 5 here - is this intended?
>>>>>
>>>>
>>>> Instead of enum and values, changed to identity.
>>>>
>>>>>                 effect in XXX seconds.";
>>>>> for what value of XXX?
>>>>>
>>>>
>>>> Removed.
>>>>
>>>>>          leaf packet-sent {
>>>>>          leaf packet-received {
>>>>>          leaf packet-dropped {
>>>>>               discontinuities in the value of sysUpTime.";
>>>>> those who have been involved with network management for ten years or
>>>>> less will likely not recognise this object.  You could add a reference
>>>>> but I suggest you replace it with a YANG-based approach; see for example
>>>>> how draft-ietf-ospf-yang handles discontinuities
>>>>>
>>>>
>>>> Updated as suggested.
>>>>
>>>>
>>>>>              leaf access-mode {
>>>>> /defination/definition/
>>>>>
>>>>
>>>> Updated
>>>>
>>>>>              leaf clock-refid {
>>>>> ...                         reference clock of the peer to
>>>>>                   which clock is synchronized.";
>>>>>
>>>>> I do not understand this.  Presumably this corresponds to
>>>>>                  type string {
>>>>>                    length "4";
>>>>> from the three type union but what object is this?
>>>>>
>>>>
>>>> I created a typedef and cleaned it up. This is as described in Section
>>>> 7.3 of RFC5905 under Reference ID.
>>>>
>>>>>              leaf clock-offset {
>>>>> examples could do with units to make it clear that it is '1.232mS' and
>>>>> not '1.232s'
>>>>>
>>>>
>>>> Updated
>>>>
>>>>>            leaf address {
>>>>>              type inet:host;
>>>>> this includes the domain name, which I see no mention of in the RFC
>>>>>
>>>>
>>>> Changed to inet:ip-address
>>>>
>>>>>          list associations {
>>>>>               /and isconfigured is required/and isconfigured are
>>>>> required/
>>>>>
>>>>>            leaf address {
>>>>>              type inet:host;
>>>>> as above, the description seems to ignore the option of the domain name
>>>>>
>>>>>            leaf refid {
>>>>> same union as for leaf clock-refid, but a completely different
>>>>> description, neither of which I understand.
>>>>>
>>>>
>>>> Updated (all of the above).
>>>>
>>>>>                   '20.1.1.1'
>>>>> this address would appear to be assigned to Microsoft, not an
>>>>> affiliation I see among the authors.  Is the company ok with this?
>>>>>
>>>>
>>>> Updated to 203.0.113.1
>>>>
>>>>>            leaf reach {
>>>>>              type uint8;
>>>>> is this the 8-bit p.reach shift register? reference needed (again:-)
>>>>>
>>>>>            leaf unreach {
>>>>> ditto
>>>>>
>>>>
>>>> Added.
>>>>
>>>>>            leaf poll {
>>>>>              type uint8;
>>>>>              units "seconds";
>>>>>              description
>>>>>                "The polling interval for current association";
>>>>> is there a useful default?  2s appears in the RFC in places
>>>>>
>>>>
>>>> No default in this case.
>>>>
>>>>>            leaf offset {
>>>>> as above, the example values would be clearer with units
>>>>>
>>>>
>>>> Updated
>>>>
>>>>>            leaf transmit-time {
>>>>>              type yang:date-and-time;
>>>>>              description
>>>>>                "This is the local time, in timestamp format,
>>>>>                 at which the NTP packet departed the peer(T3).
>>>>>                 If the peer becomes unreachable the value is set to
>>>>> zero.";
>>>>> I think, but am not sure, that a yang:date-and-time can never be set to
>>>>> zero, the syntax does not allow it; the usual approach with YANG is a
>>>>> union with another type which can indicate a special condition - int,
>>>>> boolean, etc
>>>>>
>>>>>            leaf input-time {
>>>>>              type yang:date-and-time;
>>>>> ditto
>>>>>
>>>>
>>>> Thanks, updated as per your suggestion.
>>>>
>>>>>                leaf ttl {
>>>>>                  type uint8;
>>>>>                  description
>>>>>                    "Specifies the time to live (TTL)
>>>>> TTL does not exist in IPv6
>>>>>
>>>>
>>>> This TTL is not related to IP. See section 3.1 for manycast and
>>>> updated with reference.
>>>>
>>>>>                uses common-attributes {
>>>>>                  description
>>>>> /attribute like/attributes such as/
>>>>>
>>>>
>>>> Updated
>>>>
>>>>>                leaf ttl {
>>>>>                  type uint8;
>>>>>                  description
>>>>>                    "Specifies the maximum time to live (TTL) for
>>>>> TTL does not exist in IPv6
>>>>>
>>>>
>>>> As above.
>>>>
>>>>>                uses common-attributes {
>>>>> /attributes like/attributes such as/
>>>>>
>>>>
>>>> Updated
>>>>
>>>>>                leaf beacon {
>>>>> what are the units and is there a default? Is there a maximum of 15?  As
>>>>> ever, a reference could tell me.
>>>>>
>>>>
>>>> Added reference
>>>>
>>>>> 8.  Usage Example
>>>>> lots of examples but none for IPv6 or JSON
>>>>>
>>>>
>>>> Added one IPv6. I dont think we need add one for JSON as well.
>>>>
>>>>> 8.1
>>>>>         <sys:ntp xmlns:sys="urn:ietf:params:xml:ns:yang:ietf-ntp">
>>>>> sys: is a defined prefix and must not be re-used
>>>>>
>>>>
>>>> Oops, updated here and all other instance!
>>>>
>>>>>             <refid>20.1.1.1</refid>
>>>>> as above, is Microsoft ok with this?
>>>>>
>>>>
>>>> Updated to 203.0.113.1
>>>>
>>>>> 8.2
>>>>>           <sys:ntp xmlns:sys="urn:ietf:params:xml:ns:yang:ietf-ntp">
>>>>> sys: is a defined prefix and must not be re-used
>>>>>
>>>>> 8.3
>>>>>           <sys:ntp xmlns:sys="urn:ietf:params:xml:ns:yang:ietf-ntp">
>>>>> sys: is a defined prefix and must not be re-used
>>>>>
>>>>> 8.4
>>>>>           <sys:ntp xmlns:sys="urn:ietf:params:xml:ns:yang:ietf-ntp">
>>>>> sys: is a defined prefix and must not be re-used
>>>>>
>>>>> 8.5
>>>>>     "224.1.1.1"
>>>>> would appear to be a reserved address.  Other RFC used 224.0.1.1
>>>>>
>>>>
>>>> Updated
>>>>
>>>>>           <sys:ntp xmlns:sys="urn:ietf:params:xml:ns:yang:ietf-ntp">
>>>>> and again, twice
>>>>>
>>>>>                 <address>224.1.1.1</address>
>>>>> as above
>>>>>
>>>>> 8.6
>>>>>     "224.1.1.1"
>>>>> as above
>>>>>
>>>>>            <sys:ntp xmlns:sys="urn:ietf:params:xml:ns:yang:ietf-ntp">
>>>>> as above, twice
>>>>>
>>>>> 8.7
>>>>>         <ntp xmlns="urn:ietf:params:xml:ns:yang:ietf-ntp">
>>>>> as above
>>>>>
>>>>> 8.8
>>>>>         <ntp xmlns="urn:ietf:params:xml:ns:yang:ietf-ntp">
>>>>> as above
>>>>>
>>>>>             <refid>20.1.1.1</refid>
>>>>> as above
>>>>>
>>>>> 8.9
>>>>>         <ntp xmlns="urn:ietf:params:xml:ns:yang:ietf-ntp">
>>>>> as above
>>>>>
>>>>
>>>> Updated in all cases.
>>>>
>>>>> 12.2
>>>>>       [RFC7317]  Bierman, A. and M. Bjorklund, "A YANG Data Model
>>>>> wrong reference in the wrong place
>>>>> this is an IANA-maintained module and so the reference must be to the
>>>>> IANA website; and since the module is imported, the reference must be
>>>>> Normative.
>>>>>
>>>>
>>>> No longer using iana-crypt-hash.
>>>>
>>>>> Tom Petch
>>>>>
>>>>>
>>>>> ----- Original Message -----
>>>>> From: "The IESG" <iesg-secretary@ietf.org>
>>>>> To: "IETF-Announce" <ietf-announce@ietf.org>
>>>>> Cc: <ek.ietf@gmail.com>; <ntp-chairs@ietf.org>; <ntp@ietf.org>;
>>>>> <dsibold.ietf@gmail.com>; <draft-ietf-ntp-yang-data-model@ietf.org>
>>>>> Sent: Friday, January 29, 2021 10:39 PM
>>>>> Subject: Last Call: <draft-ietf-ntp-yang-data-model-10.txt> (A YANG Data
>>>>> Model for NTP) to Proposed Standard
>>>>>
>>>>
>>>>
>>>> Email 2:
>>>> ========
>>>>
>>>> On Mon, Feb 8, 2021 at 6:07 PM tom petch <daedulus@btconnect.com> wrote:
>>>>>
>>>>> This is my second response to this Last Call, about a possible security
>>>>> issue.
>>>>>
>>>>> RFC8573 seems clear that MD5 must not be used to effect security for NTP
>>>>> but this I-D imports iana-crypt-hash which allows MD5 without any
>>>>> restriction, so is MD5 allowed or not?
>>>>>
>>>>> There are features defined which allow the hash in iana-crypt-hash to be
>>>>> restricted but this I-D does not use them.
>>>>>
>>>>> Probably iana-crypt-hash should be updated - I will raise that on the
>>>>> NETMOD WG list.
>>>>>
>>>>
>>>> No longer using iana-crypt-hash, instead made this change to allow all
>>>> sort of key formats -
>>>>
>>>> OLD:
>>>> |     +--rw key?         ianach:crypt-hash
>>>> NEW:
>>>> |     +--rw key
>>>> |     |  +--rw (key-string-style)?
>>>> |     |     +--:(keystring)
>>>> |     |     |  +--rw keystring?            string
>>>> |     |     +--:(hexadecimal) {hex-key-string}?
>>>> |     |        +--rw hexadecimal-string?   yang:hex-string
>>>> END
>>>>
>>>> The comment related to use of MD5 still applies. I have not yet added
>>>> a check for the algorithm. I have updated the description and security
>>>> consideration to highligh that MD5 is depricated as per RFC 8573. Lets
>>>> see what the IESG suggests...
>>>>
>>>>> The I-D also uses MD5 in a way that would appear not to be security
>>>>> related, to hash an IPv6 address.
>>>>>
>>>>
>>>> This is as per RFC 5905 - "If using the IPv6 address family, it is the
>>>> first four octets of the MD5 hash of the IPv6 address."
>>>>
>>>>> In passing, this I-D has three references to RFC7317.  This is wrong -
>>>>> the module is IANA-maintained and so the references should be to the
>>>>> IANA website.
>>>>>
>>>>
>>>> No longer using iana-crypt-hash.
>>>>
>>>>> The secdir reviewer might be interested in my thoughts.
>>>>>
>>>>> Tom Petch
>>>>
>>>>
>>>> Email 3:
>>>> ========
>>>>
>>>> On Tue, Feb 9, 2021 at 4:40 PM tom petch <daedulus@btconnect.com> wrote:
>>>>>
>>>>> A separate thought to my previous two.
>>>>>
>>>>> Section 4 is very keen that this I-D and the system module which
>>>>> configures ntp SHOULD NOT coexist but this is not enforced by the YANG.
>>>>>
>>>>> It could be.  Import the system module and make the presence container
>>>>> in this I-D dependent on the absence of the presence container in
>>>>> /system/ntp.
>>>>>
>>>>
>>>> Updated as per your suggestion!
>>>>
>>>> ====
>>>>
>>>> Thanks again for your detailed review. It has improved the YANG model
>>>> significantly!
>>>>
>>>> Thanks!
>>>> Dhruv & Ankit
>>>>
>>>> On Sat, Jan 30, 2021 at 4:09 AM The IESG <iesg-secretary@ietf.org> wrote:
>>>>>
>>>>
> .
>