Re: [netmod] AD review of draft-ietf-netmod-rfc6991-bis-15

tom petch <ietfc@btconnect.com> Thu, 23 March 2023 12:11 UTC

Return-Path: <ietfc@btconnect.com>
X-Original-To: netmod@ietfa.amsl.com
Delivered-To: netmod@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 295D4C13AE41; Thu, 23 Mar 2023 05:11:43 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.897
X-Spam-Level:
X-Spam-Status: No, score=-1.897 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, RCVD_IN_DNSWL_BLOCKED=0.001, RCVD_IN_MSPIKE_H2=-0.001, RCVD_IN_ZEN_BLOCKED_OPENDNS=0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001, URIBL_DBL_BLOCKED_OPENDNS=0.001, URIBL_ZEN_BLOCKED_OPENDNS=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 ([50.223.129.194]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id wphjro0kVYnd; Thu, 23 Mar 2023 05:11:38 -0700 (PDT)
Received: from EUR01-VE1-obe.outbound.protection.outlook.com (mail-ve1eur01on2113.outbound.protection.outlook.com [40.107.14.113]) (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 43DE2C13AE31; Thu, 23 Mar 2023 05:11:38 -0700 (PDT)
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=YgSiH1cbmWzdJmvsYTBx8k8WHdkaGb2Vsn3b8fvqfe1ZUdiPDFgYRODgvHcIgYe12d5kQvysrGZUKMCyxp0qVRTG9NYSaXdiBnrABWS8KfuuKZC67pvek5F6y2EJXA/P3Di1lNyKC2CzA3esMVZo4Iu2pWRNTyEe/7gA+Nga6rmHdhAGvIHtdy6goOaDQuZmQZKQ1e0Jo1p6Anm2Jd1p5rWkqVqMyYLCSm9U1zVtwpj7fJYxARe0173hiPaJRkwLjrbX9XHPD3DI7Ut6Ne0mpaXUs+N1QKFz5BNSEVhXhJrAjTlTT4WEVL3P5tsQ/1c+QPJEl8mLkGXufv31MtatZA==
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=rv8GskJiAaB6XGkCZFK0hvyy1hKX2lwEABJyPbuCP+A=; b=SFd3ndhYaey5nGKDEaJwPmX+XjL3MLzLrWH2mw1dUpYG8yxIpJwIGmZ2BPWKbA2RhRpIRnDNIUYBDxWnZ0AdkO0ho21BhhbiXwB4ASi0KKMxN3/crRpBPqp63ko4ynvs578P9HnrlDDcSVORKGnrV6f5ZC191NftnnL+7cHHzSgIP2PRjiqqFIh7XUSEqtnDdw4JqRHX8BywgA8Mkg1kDZvCGWASHDuQgAP85UlvvQkItqFlBmriawFjauCogvOKaEnJ2PgCjO3NVIBq6jJ311kdVbE/CbC4DWYS+4rO1iNxGUFNMYrd8j4inCvKSLEoxo2hWeMEsA5usSrGpKTloA==
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=rv8GskJiAaB6XGkCZFK0hvyy1hKX2lwEABJyPbuCP+A=; b=wRf2TNJTfcXlfbX7kviZazyHrwN/3t4t3eo5AHT+AWJVKHDImNNvs+Px7ynpKfZHqETTbCD25Vx6nD/+ZU8cZVodrJ9lDvSgwvuFgk699LcwcK3xMCK9YnMsH9MEeIVe9jPKlw7udE1nIVyJZH8GXnw4pAYn2TXr8aWaObXnKtk=
Received: from AM7PR07MB6248.eurprd07.prod.outlook.com (2603:10a6:20b:134::11) by PR3PR07MB8291.eurprd07.prod.outlook.com (2603:10a6:102:17e::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.37; Thu, 23 Mar 2023 12:11:34 +0000
Received: from AM7PR07MB6248.eurprd07.prod.outlook.com ([fe80::34a0:cbda:4ac4:e2f0]) by AM7PR07MB6248.eurprd07.prod.outlook.com ([fe80::34a0:cbda:4ac4:e2f0%4]) with mapi id 15.20.6178.038; Thu, 23 Mar 2023 12:11:34 +0000
From: tom petch <ietfc@btconnect.com>
To: "Rob Wilton (rwilton)" <rwilton@cisco.com>, Jürgen Schönwälder <jschoenwaelder@constructor.university>
CC: "netmod@ietf.org" <netmod@ietf.org>, "draft-ietf-netmod-rfc6991-bis.all@ietf.org" <draft-ietf-netmod-rfc6991-bis.all@ietf.org>
Thread-Topic: [netmod] AD review of draft-ietf-netmod-rfc6991-bis-15
Thread-Index: AdlcpTS7ECfEUkBhS7+41DqQLLF8cwA00EwAAAHwxh8=
Date: Thu, 23 Mar 2023 12:11:34 +0000
Message-ID: <AM7PR07MB624840744B6F925E96C6F526A0879@AM7PR07MB6248.eurprd07.prod.outlook.com>
References: <BY5PR11MB4196AF276BC24AB7BEC310A6B5869@BY5PR11MB4196.namprd11.prod.outlook.com> <20230323111314.gd5xis346eyylygt@anna>
In-Reply-To: <20230323111314.gd5xis346eyylygt@anna>
Accept-Language: en-GB, en-US
Content-Language: en-GB
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
msip_labels:
authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=btconnect.com;
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: AM7PR07MB6248:EE_|PR3PR07MB8291:EE_
x-ms-office365-filtering-correlation-id: 93102f9d-e433-4205-23fd-08db2b97bec5
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info: Tvs5hLLTrEp5H5WNpZpxUAb11IlO145JIeiSW8FD3h3KZQncZZUlSnj4Kum95vEZr7ccvGNnA+8KnKGJYw93vm3+k9BByas1OTz+g5OMt38qEp/uYn6T8U0e5EQ9EDgMkJvV1aQemsJqpCKlOK9HoAZmZWCtj64Wkkl0SkvlWi0iHKKJcMOhajaSb7hp73cwRAFj9YVYAyJmK30OJtiSNcNPg4Rh1Slyogc56p7yV/ThrixC01pJdShiGEWKC3xbxhSxEX6lJo4WgUhXsZhlESBnBJqh8qww7P9yUnTIjyS2m7Kr1RN0x91wEmdoevdY/RlDzBz0m6MoT2ybdrcJXWFEKrzNvm94sAfI6oD5p1kLKtl00NHeX+768IgXD9fWqRGwI3e8QJx6ESe1sCVhTKwVkHsMLX+vgKK7T5lM8y3znA8Ofm0Snwul3D8vHOrTWMGFK79XytACjALBsvq0pFImdZh113EPgD1g7pUHUQQqKS150enVM6Fmzf+t2tSbJh58JUa/auFo310LhucXg5O2YP0rRByN0jfAuuIedpeiHnfScsKs5QzrWDzw8omt7Tqv8HxwD6ixv2fJHmfVjP4p6QqR2bIelX74vZ9s3jkEFqGeioquROS5WZfo4t3pJDJ1nWov6UxYV+SHrfu6rQ==
x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:AM7PR07MB6248.eurprd07.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230025)(136003)(346002)(396003)(366004)(39860400002)(376002)(451199018)(33656002)(40140700001)(4326008)(8676002)(86362001)(91956017)(66946007)(66556008)(66476007)(66446008)(64756008)(8936002)(76116006)(52536014)(41300700001)(478600001)(71200400001)(966005)(316002)(7696005)(54906003)(110136005)(2906002)(5660300002)(82960400001)(38070700005)(55016003)(122000001)(38100700002)(9686003)(6506007)(26005)(186003)(66574015)(66899018); DIR:OUT; SFP:1102;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0: W6zfUk9qruT2s8bbUnaew0fvu1cyPFIl03029cxEdpj2Q3O0RQd72K78JNtLWduirxie3rucFPSmq1DCnr0Hhv/97+V4raxwRwgFDSs7oApABITH8r4siNwvd+A/9B1QTot5cMS7EbvnUlzXLEx9lTQhNYXxghZ7z9h9IqsgBeftvmVu+y1Rfu/ue+dOg1/1jqUJQWrK+7vN0G2Qk4LGK/6j29r1m6NibSxhKKfKVkp4sspQQBmtSsBCMKvRXdahKxj5U8fO2H/w3+Epncel/WWklA3ZUDy3Rtw9nBvdI/LL01XTgzaZmS5KNaoTL1AGFBrRpp9I1ZZdsTseC1R05XSnypCMbTq8VOJVeaS0o5p4KhivEuCoe4r92sVkzRYlcSq1Az7MWoZ4VMdq7VR5Xzq9w6BLPYTFStxTqKgGW+ajUKMy1i8vX2hNsrrLXbUe7ir8HxuZOnVUeV9ochLbQT6/zdHoyL4hXBo44BrrbUT5fpFjhe/HVU1GEEMhNDkHq5CGVLcT5G5osnaPomuRl/GS8FfUR6jTMQA0/ScqVVwqldSP1G4+AvYMGjM6jbv9d+H1TRpPGm/txywmnQEQdp4JPO3ahEyCUeUN3XyR+Nr6VlXXRxlXum7DffIZRYHUw6X3ofCn31wkHiOHw28sgJZBX83gzx7+3s4/DvdovVBluXhCRpC4v6/3DnVnDJUWDgH3eqW4IXld6D9MWpY+cx3j+NLTKDdZXzQ344l1HJ/jeLdt9+UtBZxSXMccAr3m+xMdCHTB+ZrZqUmSzUixWksrOocpgmt286yGbOqcx7VzjilIWVpBUOfF5p8/9K6zPYtWJC+gS/cdeeyb7I/PrmCxWOnyFnvxNyorKkAUYZ0sWvyQHnhyqcTdr1UL2YbEC6GnsiB0t9s7YIZK9lKVOgwm7XT6tJyKyAgIahS6DsVDOGmBau1QXn9d72d3udnOXSiBwPhxJAXkBSdN5b9PsT+Exz6Rp2xuP3pzuORuufGRwUCN0eMlmBrK7W7vc8S3J/0Qd6nr3SGAmTGEoP1OqYyYJpZSwGRVpPMOz1UfwUX8G+BLY/dVrtqdZ24FuJlE5owywGDXvOVPmWy1BckNBxwL7lWrrzM22PRGprJKpFISCBD35nuPPEP4sR63+xObndIkZvKNXUBb+IznlhAQsRcraoNR2ESx7yTZKrnG3Ha7cLJtWKXAB/Knvom88YYf2OZjLDIWemX9QEJ103bgnMBCMixUFrJNelrxInr5K6Ked4ntA5gJ6fWpLY9cKak0SUz04joNk6o3wbw1PdG4+dYt+N9kYVhpHEAOj8M68eY40/pzPgMK/mRT9/7gD9t2EB9y+zCWTzDlWXFsWFYM7aFSYvw5vKEtR9sM9qxJc7A90WCkil2wTh2j+tWXuvC0I8E1NH3Z8DEBogli6lhzWqS0NSfOq40vOpEzoERDeUmokCaw94MOGmBJSfxKMOnMcSSHKn+mWgI/cbETD2q8fXlcP8KG2nxvZ5A4bdtYNij5OkgyCqTwakl2bGuOkfzGCkwpmRuSlPg1WRsU7unHX5i2ateYuPrp7YEPq3Sg1GDzU8nffhRGMA8Mhwevj+Yw
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-OriginatorOrg: btconnect.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: AM7PR07MB6248.eurprd07.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 93102f9d-e433-4205-23fd-08db2b97bec5
X-MS-Exchange-CrossTenant-originalarrivaltime: 23 Mar 2023 12:11:34.3235 (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: osd3RJ57ZCW8G3dQdBXM/yQOJhPWHQxBFwpNV4mLOVJMPmJkEWFhoxqN0yE3+EJnNsyCmwXf2Xvoa9sVisedlQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PR3PR07MB8291
Archived-At: <https://mailarchive.ietf.org/arch/msg/netmod/hEzZ3dKiONAhxlk0ydArNblWCrw>
Subject: Re: [netmod] AD review of draft-ietf-netmod-rfc6991-bis-15
X-BeenThere: netmod@ietf.org
X-Mailman-Version: 2.1.39
Precedence: list
List-Id: NETMOD WG list <netmod.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/netmod>, <mailto:netmod-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/netmod/>
List-Post: <mailto:netmod@ietf.org>
List-Help: <mailto:netmod-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/netmod>, <mailto:netmod-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 23 Mar 2023 12:11:43 -0000

From: netmod <netmod-bounces@ietf.org> on behalf of Jürgen Schönwälder <jschoenwaelder@constructor.university>
Sent: 23 March 2023 11:13

On Wed, Mar 22, 2023 at 01:31:43PM +0000, Rob Wilton (rwilton) wrote:
> Hi Jürgen,
>
> Thanks for the draft.  Please see my AD review comments below, except for a couple of comments related to the change to ipv6-address definition that I've spun into a separate thread so that I can include the interested parties of draft-ietf-6man-rfc6874bis into the discussion.

Thanks for your review. See responses inline.

> Moderate level comments:
>
> (1) p 13, sec 3.  Core YANG Types
>
>      typedef date-with-zone-offset {
>
> Why don't we just call this 'date' rather than 'date-with-zone-offset', particularly because the zone information is optional?  Intuitively, from the name of this type, I would have expected that zone information as being required rather than being optional.
>
> I also note that the current naming convention of this type seems somewhat inconsistent from "date-no-zone", since one of them includes "offset" and the other does not.
>
> This same comment also applies to 'time-with-zone-offset'.

Earlier versions had just 'date' and 'time' and both included a zone
offset. We then also got 'date-no-zone' and 'time-no-zone' and all was
kind of nice and consistent. Then the IP address debate kicked in and
finally some people made the point that we should be always explicit
(but then you can't encode all semantics in a name anyway). So this is
how we got to the names we have now. For me personally, 'date' and
'date-no-zone' and 'time' and 'time-no-zone' was just fine. The
'-offset' came in as a way to future proof definitions since in some
contexts you may want to indicate the timezone not with a fixed offset
but with a timezone name like 'Europe/Berlin' that is then resolved
using more complex rules to a specific offset.

I personally would be happy to change date-with-zone-offset back to
date and time-with-zone-offset back to time and to deal with the
future in the future...

<tp>

Me too.  I think that the fashion for incorporating ever more semantics into an identifier is a misunderstanding of what an identifier is for ie to identify.

Tom Petch

> (2) p 27, sec 4.  Internet Protocol Suite Types
>
> I've moved this comment to a separate thread.
>
>
> (3) p 28, sec 4.  Internet Protocol Suite Types
>
> I've moved this comment to a separate thread.
>
>
> Minor level comments:
>
> (4) p 13, sec 3.  Core YANG Types
>
>        description
>         "The date type represents a time-interval of the length
>          of a day, i.e., 24 hours.
>
> I think that it might be helpful if the first part of the description stated that the type optionally includes the zone offset, particularly to differentiate from the type that excludes it.

I am happy to add. "It includes and optional time zone offset." so
that it says:

     "The date type represents a time-interval of the length
      of a day, i.e., 24 hours. It includes and optional time
      zone offset.

With the current naming scheme, we would have to
s/date/date-with-zone-offset/ everywhere in the description.
That will look pretty ugly. [sarcasm on] Perhaps we should
call it 'date-with-optional-zone-offset' and then the additional
sentence is not needed anymore. [sarcasm off]

> This same comment also applies to 'time-with-zone-offset'.

Yes.

> (5) p 14, sec 3.  Core YANG Types
>
>        type date-with-zone-offset {
>          pattern '[0-9]{4}-(1[0-2]|0[1-9])-(0[1-9]|[1-2][0-9]|3[0-1])';
>        }
>
> Although I can understand why it is modelled this way, i.e., to make the relationship between the types clear, there is likely to be a small performance overhead of modelling it this way, where this regex for this type is a strict subset of date-with-zone-offset.  I wonder whether it would be cleaner to just define this type as an equivalent top-level type to date-with-zone-offset, both in the definition and description rather than as a derived type?
>
> This same comment also applies to 'time-no-zone'.

This would require to copy quite some text and then this cloned text
needs to be kept consistent in the future. I do not think this is a
good idea. Implementations can take shortcuts if this is found to be
time critical (but that might also be very implementation specific).
My preference is to not change this.

> (6) p 15, sec 3.  Core YANG Types
>
>          The maximum time period that can be expressed is in the
>          range [-89478485 days 08:00:00 to 89478485 days 07:00:00].
>
> I found this notation slightly confusing.  When I originally saw it, I assumed that it is talking about time zones, and it only really made sense when comparing it to the other periods.
>
> I wasn't sure whether the specific details are that important, and whether defining it as -89478485 days to 89478485 days, might be both sufficient and easier to read.
>
> E.g.,
>          The maximum time period that can be expressed is in the
>          range [-89478485to 89478485] days .
>
> If changed, this same comment applies to the other period types as well.

For time periods with lower resolution, the details start to matter,
(see microseconds32 on the extreme end) and so I ended up using the
same notation and precision for all types. I think this is generally
the right thing to do, being always precise is better than arbitrarily
dropping precision. If someone has ideas for a better notation, I am
open for that. Perhaps adding ", where hh:mm:ss stands for hours,
minutes and seconds" would already do it?:

         The maximum time period that can be expressed is in the
         range [-89478485 days 08:00:00 to 89478485 days 07:00:00],
         where hh:mm:ss stands for hours, minutes and seconds."

> (7) p 15, sec 3.  Core YANG Types
>
>          This type should be range restricted in situations
>          where only non-negative time periods are desirable,
>          (i.e., range '0..max').";
>
> Isn't this going to be the common mainline case for network configuration?  I.e., I presume that most cases where periods are intervals are going to be reported will be positive.  Hence, it might be helpful to have a separate set of types defined for the positive only cases.
>
> This same comment applies to the other period types.

I ones had unsigned versions of these types. If we also add unsigned
types, we end up with nine additional types, we would get something
like:

hours-int32
hours-uint32
minutes-int32
minutes-uint32
seconds-int32
seconds-uint32
...
nanoseconds-int64
nanoseconds-uint64

Well, perhaps this is the right thing to do, people can then pick what
is most appropriate for their use case.

> (8) p 16, sec 3.  Core YANG Types
>
>      typedef milliseconds32 {
>
> I was slightly surprised that we don't have a milliseconds64, e.g., the default timestamp in Java is given as an int64 in milliseconds.
>

So far nobody asked for it. On POSIX systems (I think POSIX.1-2001 and
later), you usually have system APIs that can go into microsecond
resolution:

           struct timeval {
               time_t      tv_sec;     /* seconds */
               suseconds_t tv_usec;    /* microseconds */
           };

But if there is a use case for milliseconds64, I can easily add it.
well milliseconds-int64 and milliseconds-uint64, depending on the
resolution of your previous point.

> Nit level comments:
>
> (9) p 21, sec 3.  Core YANG Types
>
>           7950. An earlier version of this definition did exclude
>
> I suggest 'did exclude' -> 'excluded'

Changed.

/js

--
Jürgen Schönwälder              Constructor University Bremen gGmbH
Phone: +49 421 200 3587         Campus Ring 1 | 28759 Bremen | Germany
Fax:   +49 421 200 3103         <https://constructor.university/>

_______________________________________________
netmod mailing list
netmod@ietf.org
https://www.ietf.org/mailman/listinfo/netmod