Subject: Re: [netmod] Comments on draft-ietf-netmod-yang-07.txt

From: "tom.petch" <[email-masked]>
Date: Mon, 3 Aug 2009 18:02:59 +0200

----- Original Message -----
From: "Martin Bjorklund" <[email-masked]>
To: <[email-masked]>
Cc: <[email-masked]>
Sent: Thursday, July 30, 2009 9:48 PM
>
> "tom.petch" <[email-masked]> wrote:
> > Martin
> >
> > Some wordings that have bugged me for a while.
> >
> > 5.1 ..."by using the enterprise or organization name as a prefix."
> > Do you really mean prefix? only I think of prefix as shorthand and while
IBM,
> > Cisco or HP might qualify, other organization names would not.
>
> The text you quoted is preceeded by an "e.g." -- this is just a
> friendly suggestion.  If it is better, I can remove the quoted text.

I still wonder what you had in mind.  I would expect the enterprise or
organization name to be in the namespace URI, not in the prefix, and the rest of
the paragraph does seem to be about namespace names not prefix names.

On the other hand, unique and consistent prefix names would make a big
difference to the ease of use of yang, as I perceive it having done, totally
informally, for SMI.  So, at the risk of opening another XPath-like can of
worms, I wonder what support there would be for that eg require all non-RFC
prefix start with a character that flags them as enterprise defined.

> > 5.5 .."searches up the levels of hierarchy in the schema tree"
> > levels of hierarchy has a suggestion of all the nodes at a level whereas I
> > think
> > that this means search the path to the root.
>
> Me, Phil and Lada came up with this replacement text:
>
> OLD:
>
>    When a YANG implementation resolves a reference to an unprefixed type
>    or grouping, or one which uses the prefix of the local module, it
>    searches up the levels of hierarchy in the schema tree, starting at
>    the current level, for the definition of the type or grouping.
>
> NEW:
>
>    A reference to an unprefixed type or grouping, or one which uses the
>    prefix of the current module, is resolved by locating the closest
>    matching "typedef" or "grouping" statement among the immediate
>    substatments of each ancestor statement.

Ok (/statments/statements/)

> > 6 "   YANG modules are written in the UTF-8 [RFC3629] character set."
> >
> > UTF-8 is not a character set in the lexicons I use; character encoding,
> > transfer format, character syntax but not character set.
>
> NEW:
>
>    YANG modules use the UTF-8 [RFC3629] character encoding.

Yes

> > 6.1.3 "up to at most the column of the double quote character."
> > seems imprecise, leaving the option of everything up to or some way short of
or
> > whatever an implementation chooses
>
> How about this:
>
>   If the double quoted string contains a line break followed by space
>   or tab characters which is used to indent the text according to the
>   layout in the YANG file, this leading whitespace is stripped from
>   the string, up to the column of the double quote character, or to
>   the first non-whitespace character, whichever occurs first.

Yes ( /which is/which are/ )

> > 6.2.1 "All groupings defined within a parent node "
> > well no, grouping names, otherwise it sounds like the identifiers defined
> > within
> > the grouping.
>
> Fixed.
>
> > 7.1.3 "with the exception of data node identifiers defined inside a grouping
"
> > well, only when they are 'uses'd in another module; needs adding IMO
>
> It says See section 7.12 for details.  We have rewritten this section
> to:
>
>
> 7.12.  The uses Statement
>
>    The "uses" statement is used to reference a "grouping" definition.
>    It takes one argument, which is the name of the grouping.
>
>    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
>    then updated according to the refinement 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,
>    a which point they are bound to the namespace of the current module.

Ok

> > 9.9.2 "Predicates are used only for constraining the values for the
> >    key nodes for list entries"
> > or leaflists?
>
> Fixed.
>
>
> /martin

---

From: Martin Bjorklund <[email-masked]>
Date: Mon, 10 Aug 2009 12:40:21 +0200 (CEST)

"tom.petch" <[email-masked]> wrote:
> I still wonder what you had in mind.

Actually, this text was written by Juergen for SMIng (see section 2 of
rfc 3780).

> I would expect the enterprise or

Hmm.  Is it the term "prefix" that is unfortunate?  The idea was that
if the acme company writes a bgp module, it could be called ACME-BGP.
I.e. the company name is used as a prefix in the module name.

I have fixed the rest of your comments.

/martin

---

From: "tom.petch" <[email-masked]>
Date: Mon, 10 Aug 2009 13:58:39 +0200

----- Original Message -----
From: "Martin Bjorklund" <[email-masked]>
To: <[email-masked]>
Cc: <[email-masked]>
Sent: Monday, August 10, 2009 12:40 PM

> > organization name to be in the namespace URI, not in the prefix, and the
rest
> > of

Ah, now I am with you.  I was reading prefix as in bgp:ipAddress not in the more
generic sense.

Perhaps expand the sentence to
"e.g., by using the enterprise or organization name as a prefix for the module
name."
lest anyone else make the same mistake as I.

Tom Petch

> I have fixed the rest of your comments.
<snip>

---

From: Martin Bjorklund <[email-masked]>
Date: Mon, 10 Aug 2009 22:05:10 +0200 (CEST)

Fixed.

/martin