So there seem to be two available solutions here:

(i) The server MUST provide an origin value for the top level datanode, 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.

(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?

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