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

Mahesh Jethanandani <mjethanandani@gmail.com> Tue, 16 April 2024 17:08 UTC

Return-Path: <mjethanandani@gmail.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 9AAF2C14F69B for <netmod@ietfa.amsl.com>; Tue, 16 Apr 2024 10:08:17 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.094
X-Spam-Level:
X-Spam-Status: No, score=-2.094 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, FREEMAIL_FROM=0.001, HTML_MESSAGE=0.001, RCVD_IN_ZEN_BLOCKED_OPENDNS=0.001, SPF_HELO_NONE=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 (2048-bit key) header.d=gmail.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 sEhxQ8176ftW for <netmod@ietfa.amsl.com>; Tue, 16 Apr 2024 10:08:13 -0700 (PDT)
Received: from mail-pl1-x634.google.com (mail-pl1-x634.google.com [IPv6:2607:f8b0:4864:20::634]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 728AEC14F684 for <netmod@ietf.org>; Tue, 16 Apr 2024 10:08:13 -0700 (PDT)
Received: by mail-pl1-x634.google.com with SMTP id d9443c01a7336-1e0bec01232so38802885ad.3 for <netmod@ietf.org>; Tue, 16 Apr 2024 10:08:13 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1713287293; x=1713892093; darn=ietf.org; h=references:to:cc:in-reply-to:date:subject:mime-version:message-id :from:from:to:cc:subject:date:message-id:reply-to; bh=a36ptak4aSMEzKSfVMxSQ/UYJMWpLezS5klI603Uhgs=; b=IZyjwxZKZQDlirM3qSO9wGSOatGi+bUQBb28OsXbSNy8LFmLOeVO3k37XH9lQEitt/ ckQMXCVbjseDsuVsKmLAUcMCICOAY2ZVcD9RPvZmuKDd+yf/7gZVdRE04dWA/0R7PT88 5SkC30lD9x7XKipDWDfvoF8BOOHzryEIAY406c1k7KIIme78eDmHy4QI6MHvXEJefWGR jqLB4L8eU/Ka742iEN8EBzOxU4G3yASC55jXQW3aSfn/ZHrQm41f1NXINs8hOSY+Ed2r HZw7iwnARqilkvOhUSQDIjnTSRHSvWMWZ1sG1FWXuroSpMiQrk3kTSe2g43siXBCgmF9 49oQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1713287293; x=1713892093; h=references:to:cc:in-reply-to:date:subject:mime-version:message-id :from:x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=a36ptak4aSMEzKSfVMxSQ/UYJMWpLezS5klI603Uhgs=; b=OBe6ymjJnXsNyAEPJ4VhFkMZyVxPwWWQPGKbtG8mRZGC6dZHiqFe+3o6xWoQzmppzE U+bHzC9EtGANMwElaJcufkKjnUaSpaqalj/DqZbNgc+uOn7Ajjg3A5XPXL5SU+tkuB1N uY2ZVzWV6v8/48QcB/7b4PcJfNMPDs0KT5OC58SsrHpgxbFmU9mIEugYYeflLKKrH9BH UsShRzDVXIcARbZaT7PYhQqjDS984Z6sLefQxzNUO42nvJdovNgFi0xKjjCNlY6SJ21X WIdNgjNJImTv9h4Ci8as8DcdukGdiu1jGpWTTCtk0fQlFt7Djvc7BtFh3F5+Mxm3CDdZ baeQ==
X-Gm-Message-State: AOJu0Yz+xi9y6NVA79mWcf6aSp5v32VRQixOtBLxMenz0IsW+s0PX/4K dUUoKN+fIJtLP9qwbVMSCcKnh0PApaqcN0HiL9LYvwon2pMMXxqIWBPZwmoS
X-Google-Smtp-Source: AGHT+IFG/p507OD/f6LjhrCtzeJv9cGWNtkMNZwnuaJt49eTbxoVtfoupwakdcPuF1Oo/orovTMyUA==
X-Received: by 2002:a17:903:24c:b0:1e7:b7a7:9397 with SMTP id j12-20020a170903024c00b001e7b7a79397mr4161353plh.55.1713287292511; Tue, 16 Apr 2024 10:08:12 -0700 (PDT)
Received: from smtpclient.apple (c-69-181-169-15.hsd1.ca.comcast.net. [69.181.169.15]) by smtp.gmail.com with ESMTPSA id kw14-20020a170902f90e00b001e249903b0fsm10034317plb.256.2024.04.16.10.08.11 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Tue, 16 Apr 2024 10:08:11 -0700 (PDT)
From: Mahesh Jethanandani <mjethanandani@gmail.com>
Message-Id: <2A6786B6-2F57-4466-8813-64191518DA15@gmail.com>
Content-Type: multipart/alternative; boundary="Apple-Mail=_AE87A3BC-3AA1-41F7-9B22-F8D05F45B674"
Mime-Version: 1.0 (Mac OS X Mail 16.0 \(3696.120.41.1.8\))
Date: Tue, 16 Apr 2024 10:08:09 -0700
In-Reply-To: <bffad8a0-7321-463a-aca3-278527e570e6@constructor.university>
Cc: NETMOD Working Group <netmod@ietf.org>
To: Jürgen Schönwälder <jschoenwaelder@constructor.university>
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>
X-Mailer: Apple Mail (2.3696.120.41.1.8)
Archived-At: <https://mailarchive.ietf.org/arch/msg/netmod/iLtvW9PIs9HWkGllCeJv9q4390Y>
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: Tue, 16 Apr 2024 17:08:17 -0000

Hi Jürgen,

It appears that Brian and you had made progress on the other thread related to IPv6 zone definition. Are there any outstanding issues that need to be resolved?

What is the plan to submit an updated version of the document?

Thanks.

> On Apr 5, 2024, at 11:23 PM, 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


Mahesh Jethanandani
mjethanandani@gmail.com