Hi Kent, authors, NETMOD,

Here are my WGLC comments on draft-ietf-netmod-immutable-flag-02.

Thank you to the authors persevering with topic.  I’m not totally convinced 
that we need this document but I can appreciate that the authors (and other 
SDOs) believe that this work is important and helpful, and I can also 
appreciate that reporting this is one common way is better than bespoke vendor 
extensions.  As such, and as written I think that it does no harm, hence I’m 
not opposed to the WG publishing this …. All being said, I have a few comments:



Moderate level comments:



(1) p 7, sec 5.1.  The "leaf" Statement



   When a leaf node instance is immutable, its value cannot change.



Surely, you can also not delete a leaf that is marked as immutable, otherwise, 
it would be possible to change its value simply by deleting it, then creating 
it with a new different value?  The same comment also applies to leaf-lists.





(2) p 7, sec 5.3.  The "container" Statement



   When a container node instance is immutable, it cannot change, unless

   the immutability of its descendant node is toggled.



Do you mean descendant node here, or ancestor node?  Why would the immutability 
of a child node affect its parent node?  The same comment applies to list 
statements.





(3) p 7, sec 5.4.  The "list" Statement



   When a list node instance is immutable, it cannot change, unless the

   immutability of its descendant node is toggled.



RFC 7952 does not allow meta-data annotations to list's themselves, only to 
list entries.  This probably needs to be clarified that lists (and leaf-lists) 
can only inherit immutability from a parent node.





(4) p 11, sec 9.  YANG Module



     feature immutable {

       description

         "Indicates that the server supports the 'immutable' metadata

          annotation.";

     }



Is this feature required?  What does it mean if this module is implemented by 
the server but this feature isn't implemented?





(5) p 12, sec 10.  Security Considerations



   The security considerations for the Defining and Using Metadata with

   YANG (see Section 9 of [RFC7952]) apply to the metadata annotation

   defined in this document.



Note that RFC's security considerations section states:



   This document introduces a mechanism for defining metadata

   annotations in YANG modules and attaching them to instances of YANG

   data nodes.  By itself, this mechanism represents no security threat.

   Security implications of a particular annotation defined using this

   mechanism MUST be duly considered and documented in the annotation's

   definition.



This probably means that you may need a bit more text in this document to state 
that knowing whether or not a data node is immutable does not give any 
significant additional information to an attacker.







Minor level comments:



(6) p 3, sec 1.  Introduction



   *  UC4 Declaring immutable system configuration from an LNE's

      perspective



LNE isn't defined anywhere.  Presumably Logical Network Element?





(7) p 5, sec 3.  Applicability



   While immutable flag applies to all configuration nodes, its value

   "true" can only be used for system configuration.



'system configuration' should probably be defined and reference the 
system-datastore draft or NMDA draft.





(8) p 5, sec 3.  Applicability



   The immutable flag is also visible in read-only datastores like

   <system> (if implemented, see [I-D.ietf-netmod-system-config]),

   <intended> and <operational> when a "with-immutable" parameter is

   carried (Section 4.2), however this only serves as descriptive

   information about the instance node itself, but has no effect on the

   handling of the read-only datastore.



This states that the immutable flat is also visible in read-only datastores, 
but presumably it is only visible in read-only datastores, since everything in 
<running>, is by definition, under the clients control and writable, or can be 
deleted?





(9) p 5, sec 3.  Applicability



   An instance has the same immutability if it appears in different

   writable datastores, the immutability of data object is also protocol

   and user independent.  The immutability and configured value of an

   existing node MUST only change via software upgrade, hardware

   resources change, or license change.



I think that this second sentence isn't really clear.  Is the following what is 
meant, and would this be more clear?



The immutability of any configuration data node, and the value of any immutable 
configured data node, MUST only change via software upgrade, hardware sources 
change, or license change.





(10) p 5, sec 4.2.  "with-immutable" Parameter



   This section specifies the NETCONF [RFC6241] and RESTCONF [RFC8040]

   protocol extensions to support the "with-immutable" parameter.  The

   "immutable" metadata annotations are not returned in a response

   unless explicitly requested by the client using this parameter.



Possibly consider naming the flag:

"with-immutability",

"with-immutability-flag",

"with-immutability-annotation"



This would make it more consistent with "with-defaults"





(11) p 9, sec 9.  YANG Module



   <CODE BEGINS> file 
[email protected]<mailto:[email protected]>

   module ietf-immutable {



Maybe consider calling this module "ietf-immutable-annotation" or 
"ietf-immutability-flag".

Kind regards,
Rob


From: Kent Watsen <[email protected]>
Date: Wednesday, 26 February 2025 at 23:06
To: [email protected] <[email protected]>
Subject: [netmod] 1st WGLC on immutable-flag
This email begins a two-week WGLC on:
YANG Metadata Annotation for Immutable Flag
https://datatracker.ietf.org/doc/html/draft-ietf-netmod-system-config-10

Please take time to review this draft and post comments by Mar 12.  Both 
favorable comments and objections are welcomed.


FWIW, a new IPR call is in progress:

https://mailarchive.ietf.org/arch/msg/netmod/le-_mNVF8hBpZRkDl27kckHKr4Q/

We’re running these calls in parallel since both the previous IPR call and what 
is currently on file indicates no IPR.


Kent  (and Lou)
_______________________________________________
netmod mailing list -- [email protected]
To unsubscribe send an email to [email protected]

Reply via email to