Hi Rob/All,

Keep in mind that the document says what it says and that to change text really requires a new version.

On 10/8/2018 6:01 AM, Robert Wilton wrote:
So there seem to be two available solutions here:

(i) The server MUST provide an origin value for the top level datanode,
This is pretty close to what Andy previously quoted:

     md:annotation origin {
       type origin-ref;
       description
         "The 'origin' annotation can be present on any configuration
          data node in the operational state datastore.  It specifies
          from where the node originated.  If not specified for a given
          configuration data node, then the origin is the same as the
          origin of its parent node in the data tree.  The origin for
          any top-level configuration data nodes must be specified.";
     }


I think it's clear that the reviewers, notably myself as shepherd, missed that this is a lowercase "must" and should have asked for clarification during the review process.

Having an errata saying this "must" really is a "MUST" is quite reasonable from my perspective.

but for NP containers it can use whatever origin value it likes - since
the origin value imparts no direct meaning other than the default origin
that descendants acquire if they haven't provided an explicit origin.

In this case we would probably add a line of text to clarify this
behavior of choosing a suitable origin value for top level NP containers.
I guess I'd need to see that specific language to understand if a new requirement or recommended behavior is being prescribed.  If it is, we need a new document to do so.

(ii) The requirement is weakened as Juergen has described previously.


Solution (i) minimizes the impact of the change to the RFC, but probably
constrains server implementations slightly more than is strictly required.

Solution (ii) gives a bit more flexibility to server implementations but
in theory could break client implementation that rely on a top level
origin always being provided.  Although, in reality I would expect a
robust client implementation to either not care, or choose a suitable
default origin (e.g. "unknown") if an explicit origin hasn't been provided.

If solution (ii) is beyond the scope of what is allowed in an errata
then it would seem that we should go with solution (i) instead.  But how
do we get to a final decision?

Either we agree that s/must/MUST in an errata or start a new (update or bis) draft  to update the behavior.  It would also be fine to flag the issue in the errata without specific resolution, with the understanding that the issue would need to be resolved, in an update or bis, at some point in the future.

Lou


Thanks,
Rob


On 07/10/2018 18:09, Juergen Schoenwaelder wrote:
On Sun, Oct 07, 2018 at 09:49:57AM -0700, Andy Bierman wrote:
Can somebody explain the rationale for the highlighted text from 5.3.4?
Note the difference between "applies to" and "carries". A non-presence
container has no relevance for configuration and hence an origin value
does not *apply* to a non-presence container. Still, a non-presence
container can *carry* an origin attribute.

There are many top-level configuration NP-containers defined already.
It is clearly more efficient to have 1 origin attribute in the top-level
container than in each of the child nodes.
There is no requirement to produce efficient encodings. This is up to
implementations, the cost of calculating a minimal encodings may be
high for systems that like to stream information. That said, even
toplevel origin attributes are not sufficient to guarantee an
efficient encoding. If most child nodes have an origin different than
what is stated in the toplevel container, you gain little.

The requirement really is that an origin must be defined for all
configuration data nodes (except np-containers). The way how this
is done is up to implementations. If implementations want to set
default origins at the toplevel, so be it.

/js



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

Reply via email to