<inline>

From: Martin Björklund <[email protected]>
Sent: 23 December 2020 13:59

tom petch <[email protected]> wrote:
> Sorry about the incomplete e-mail.  Try again
>
> From: Teas <[email protected]> on behalf of Martin Björklund via
> Datatracker <[email protected]>
> Sent: 17 December 2020 18:58
>
> Reviewer: Martin Björklund
> Review result: Ready with Nits
>
> <snip>
> o  Validation
>
>    The module fails YANG validation, but that is really due to errors
>    in [email protected].  Specifially, the leafref in the
>    grouping "path-compute-info" must have prefixes in its path.
>    Without prefixes, the path refers to nodes in the module that uses
>    the grouping.  (same for other groupings in that module).
>
> <tp>
> Martin,
>
> I am confused (which is why I will never be a YANG doctor:-(.
>
> RFC7950 p.104 says
>       Identifiers appearing inside
>    the grouping are resolved relative to the scope in which the grouping
>    is defined, not where it is used.
> I recall much debate about paths and their resolution but I cannot
> find a statement that paths are resolved where they are used in
> RFC7950, nor in the many Errata.

p. 104 further says:

   Prefix mappings, type names,
   grouping names, and extension usage are evaluated in the hierarchy
   where the "grouping" statement appears.


But in this case we have a leafref path w/o prefixes.

Section 6.4.1 says:

   o  Names without a namespace prefix belong to the same namespace as
      the identifier of the current node.  Inside a grouping, that
      namespace is affected by where the grouping is used (see
      Section 7.13).

And 7.13 says:

   The effect of a "uses" reference to a grouping is that the nodes
   defined by the grouping are copied into the current schema tree and
   are then updated according to the "refine" and "augment" statements.

   The identifiers defined in the grouping are not bound to a namespace
   until the contents of the grouping are added to the schema tree via a
   "uses" statement that does not appear inside a "grouping" statement,
   at which point they are bound to the namespace of the current module.

<tp>
Martin,

Thank you for the comprehensive reply;  it is what I would have remembered 
until I looked in RFC7950 to check my understanding and read that first 
sentence on p.104 'identifiers are .. resolved' which I took as identifiers 
being given a prefix and so given global uniqueness; the subsequent  sentence 
on prefixes, types etc. I am fine with , it is the 'resolved' that made me 
doubt my memory.  What is 'resolved' in this context?

Tom Petch

/martin



> And while I find teas-te almost impossible to understand because of
> how it is structured, yet
> the elements in
> type leafref {
>         path "/te/globals/named-path-constraints/"
>            + "named-path-constraint/name";
>       }
>
> would all appear to be in teas-te and not imported from
> e.g. te-typesin, in which case prefix are not needed.
>
> So while I am sure you are right, and this is a significant problem,
> yet I cannot see the chapter and verse to back it up.
>
> In passing, this construct, in teas-yang-path-computation has a
> history of YANG difficulties.
>
> Tom petch
>
>
>
>
>
>
>
>
> /martin
>
>
>
> _______________________________________________
> Teas mailing list
> [email protected]
> https://www.ietf.org/mailman/listinfo/teas
>
> _______________________________________________
> netmod mailing list
> [email protected]
> https://www.ietf.org/mailman/listinfo/netmod
>
> _______________________________________________
> netmod mailing list
> [email protected]
> https://www.ietf.org/mailman/listinfo/netmod

_______________________________________________
netmod mailing list
[email protected]
https://www.ietf.org/mailman/listinfo/netmod

Reply via email to