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

Kent Watsen <kent+ietf@watsen.net> Tue, 30 July 2024 17:08 UTC

Return-Path: <01000191049d9399-3612e389-ba27-4c09-b4ee-abcf84317cf2-000000@amazonses.watsen.net>
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 7BCF6C14CE24 for <netmod@ietfa.amsl.com>; Tue, 30 Jul 2024 10:08:47 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.907
X-Spam-Level:
X-Spam-Status: No, score=-1.907 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, RCVD_IN_MSPIKE_H2=-0.001, RCVD_IN_ZEN_BLOCKED_OPENDNS=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01, 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=amazonses.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 QyDmX7uJ9Tjk for <netmod@ietfa.amsl.com>; Tue, 30 Jul 2024 10:08:43 -0700 (PDT)
Received: from a48-90.smtp-out.amazonses.com (a48-90.smtp-out.amazonses.com [54.240.48.90]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature ECDSA (P-256) server-digest SHA256) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 204F5C14CEFC for <netmod@ietf.org>; Tue, 30 Jul 2024 10:08:43 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/simple; s=ug7nbtf4gccmlpwj322ax3p6ow6yfsug; d=amazonses.com; t=1722359321; h=Content-Type:Mime-Version:Subject:From:In-Reply-To:Date:Cc:Content-Transfer-Encoding:Message-Id:References:To:Feedback-ID; bh=yChQkOosx0NflWQFaOnxcrcwzDVGVPfkxjNa5tTQ+jM=; b=QPx9c18NUsiCZho0pbwGoLeVeLeR0il7J850CqVraituffesrL/Fn943zZwAAREW +zsOtnnlA7H08f3xbMHnhP5MWf43HPStI47ebnKaQK6sn4gSIiky8dEKuFBQG8ftSkv JShRgGIGPemEG8sglyXVugDKNZWEcp8FLLyF6BvY=
Content-Type: text/plain; charset="utf-8"
Mime-Version: 1.0 (Mac OS X Mail 16.0 \(3774.400.31\))
From: Kent Watsen <kent+ietf@watsen.net>
In-Reply-To: <010001910497e593-32f32c6b-66b3-4024-a1a0-11758a8581e0-000000@email.amazonses.com>
Date: Tue, 30 Jul 2024 17:08:41 +0000
Content-Transfer-Encoding: quoted-printable
Message-ID: <01000191049d9399-3612e389-ba27-4c09-b4ee-abcf84317cf2-000000@email.amazonses.com>
References: <BY5PR11MB4196AF276BC24AB7BEC310A6B5869@BY5PR11MB4196.namprd11.prod.outlook.com> <20230323111314.gd5xis346eyylygt@anna> <AM7PR07MB624840744B6F925E96C6F526A0879@AM7PR07MB6248.eurprd07.prod.outlook.com> <CABCOCHRBPrHk8Wk0xJtYzhB8aTiS+bwUPxi70LtAPEL5Qy87kw@mail.gmail.com> <7CC7D3A9-B5DD-4857-B50B-82B7903B32C6@gmail.com> <bffad8a0-7321-463a-aca3-278527e570e6@constructor.university> <010001910497e593-32f32c6b-66b3-4024-a1a0-11758a8581e0-000000@email.amazonses.com>
To: Jürgen Schönwälder <jschoenwaelder@constructor.university>
X-Mailer: Apple Mail (2.3774.400.31)
Feedback-ID: ::1.us-east-1.DKmIRZFhhsBhtmFMNikgwZUWVrODEw9qVcPhqJEI2DA=:AmazonSES
X-SES-Outgoing: 2024.07.30-54.240.48.90
Message-ID-Hash: OWHYFSAHXGNMW7E6VPGBZ2MTO4RINC6K
X-Message-ID-Hash: OWHYFSAHXGNMW7E6VPGBZ2MTO4RINC6K
X-MailFrom: 01000191049d9399-3612e389-ba27-4c09-b4ee-abcf84317cf2-000000@amazonses.watsen.net
X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; emergency; loop; banned-address; member-moderation; header-match-netmod.ietf.org-0; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; digests; suspicious-header
CC: Joseph Nicholson <joseph@ntt.net>, "netmod@ietf.org" <netmod@ietf.org>
X-Mailman-Version: 3.3.9rc4
Precedence: list
Subject: [netmod] Re: AD review of draft-ietf-netmod-rfc6991-bis-15
List-Id: NETMOD WG list <netmod.ietf.org>
Archived-At: <https://mailarchive.ietf.org/arch/msg/netmod/4J0X9uQoRN0t_d8M0kw7aqqBlC8>
List-Archive: <https://mailarchive.ietf.org/arch/browse/netmod>
List-Help: <mailto:netmod-request@ietf.org?subject=help>
List-Owner: <mailto:netmod-owner@ietf.org>
List-Post: <mailto:netmod@ietf.org>
List-Subscribe: <mailto:netmod-join@ietf.org>
List-Unsubscribe: <mailto:netmod-leave@ietf.org>

[CC-ing Rob]


> On Jul 30, 2024, at 1:02 PM, Kent Watsen <kent+ietf@watsen.net> wrote:
> 
> Hi Juergen,
> 
> During the IETF 120 NETMOD session, there was a discussion regarding the status of this document.  The chairs asked if anyone would be willing to help get it over the line.   Both Rob and Joseph (CC-ed) volunteered.
> 
> Is there a repo that you were working out of?
> 
> Kent  // as shepherd
> 
> 
>> On Apr 6, 2024, at 2:23 AM, Jürgen Schönwälder <jschoenwaelder@constructor.university> wrote:
>> 
>> Hi Mahesh,
>> 
>> I stopped working on this document since the AD indicated that he will
>> refuse any non-backwards compatible changes (regardless whether they
>> can be considered bug fixes). And I am personally also not happy about
>> some of the new naming conventions (which this message/thread was
>> about). If we are now taking a fresh look at things, I can produce a
>> new version, but this really only makes sense if we are willing to
>> actually publish this update.
>> 
>> /js
>> 
>> On 06.04.24 06:04, Mahesh Jethanandani wrote:
>>> Hi Juergen,
>>> Reviving this thread to identify next steps for the document. Where are we with publishing a -16 version of the draft?
>>> I do not see objections to most of your suggestions on the changes you recommend. For milli vs micro part of the discussion, could we have both?
>>> Separately, on the other thread on for changes to IPv6 zone definition, which I will respond to, can you summarize what the consensus is, so we can try to close on the thread.
>>> Thanks
>>>> On Mar 23, 2023, at 11:29 AM, Andy Bierman <andy@yumaworks.com> wrote:
>>>> 
>>>> 
>>>> 
>>>> On Thu, Mar 23, 2023 at 5:11 AM tom petch <ietfc@btconnect.com <mailto:ietfc@btconnect.com>> wrote:
>>>> From: netmod <netmod-bounces@ietf.org <mailto: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.
>>>> 
>>>> 
>>>> Me three.
>>>> IMO simple names like 'date' and 'time' and 'date-and-time' are easier to understand.
>>>> Optional fields are different than mandatory fields.
>>>> If a data type has some mandatory field, then it may need to have its own typedef and name.
>>>> 
>>>> 
>>>> 
>>>> Tom Petch
>>>> 
>>>> Andy
>>>> 
>>>>> (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/ <https://constructor.university/>>
>>>> 
>>>> _______________________________________________
>>>> netmod mailing list
>>>> netmod@ietf.org <mailto:netmod@ietf.org>
>>>> https://www.ietf.org/mailman/listinfo/netmod <https://www.ietf.org/mailman/listinfo/netmod>
>>>> 
>>>> _______________________________________________
>>>> netmod mailing list
>>>> netmod@ietf.org <mailto:netmod@ietf.org>
>>>> https://www.ietf.org/mailman/listinfo/netmod <https://www.ietf.org/mailman/listinfo/netmod>
>>>> _______________________________________________
>>>> netmod mailing list
>>>> netmod@ietf.org <mailto:netmod@ietf.org>
>>>> https://www.ietf.org/mailman/listinfo/netmod <https://www.ietf.org/mailman/listinfo/netmod>
>>> Mahesh Jethanandani
>>> mjethanandani@gmail.com
>> 
>> -- 
>> Jürgen Schönwälder              Constructor University Bremen gGmbH
>> Phone: +49 421 200 3587         Campus Ring 1 | 28759 Bremen | Germany
>> 
>> _______________________________________________
>> netmod mailing list
>> netmod@ietf.org
>> https://www.ietf.org/mailman/listinfo/netmod
> 
> _______________________________________________
> netmod mailing list -- netmod@ietf.org
> To unsubscribe send an email to netmod-leave@ietf.org