Subject: [netmod] I-D Action:draft-ietf-netmod-yang-07.txt

From: [email-masked]
Date: Mon, 13 Jul 2009 13:00:01 -0700 (PDT)

A New Internet-Draft is available from the on-line Internet-Drafts directories.
This draft is a work item of the NETCONF Data Modeling Language Working Group of the IETF.

	Title           : YANG - A data modeling language for NETCONF
	Author(s)       : M. Bjorklund
	Filename        : draft-ietf-netmod-yang-07.txt
	Pages           : 175
	Date            : 2009-07-13

YANG is a data modeling language used to model configuration and
state data manipulated by the Network Configuration Protocol
(NETCONF) protocol, NETCONF remote procedure calls, and NETCONF
notifications.

A URL for this Internet-Draft is:
http://www.ietf.org/internet-drafts/draft-ietf-netmod-yang-07.txt

Internet-Drafts are also available by anonymous FTP at:
ftp://ftp.ietf.org/internet-drafts/

Below is the data which will enable a MIME compliant mail reader
implementation to automatically retrieve the ASCII version of the
Internet-Draft.

---

From: Balazs Lengyel <[email-masked]>
Date: Tue, 21 Jul 2009 17:21:18 +0200

Hello,
Where will the "Mapping to the NETCONF Schema Discovery Mechanism" be described?
Balazs

---

From: Balazs Lengyel <[email-masked]>
Date: Tue, 21 Jul 2009 18:27:38 +0200

Hello,
Ch 9.9.2 page 124)
Change:
If the leaf with the instance-identifier type represents
to
If the leaf with the leafref type represents

Ch 9.13 page 132
The accessible tree in the first bullet about trees is restricted to config data.
On the previous page it is allowed to point with a config leafref to state data if require 
instance is false.

Please synchronize the two statements. IMHO the tree should include state data as well.

Both for instance identifiers and leafrefs it should be stated, that the accessible tree is 
from the SAME datastore where the leaf exists. For leafs in the candidate it is the candidate 
and so on. The terminology "data in one of the NETCONF datastores" does not specify which 
datastore.

Balazs

---

From: Balazs Lengyel <[email-masked]>
Date: Tue, 21 Jul 2009 18:52:30 +0200

Hello,
Ch 9.13.2
The last paragraph looks like a copy paste error from leafref. Please remove it.

Balazs

---

From: Martin Bjorklund <[email-masked]>
Date: Wed, 22 Jul 2009 00:01:11 +0200 (CEST)

> Where will the "Mapping to the NETCONF Schema Discovery Mechanism" be

The text we had was included in the monitoring spec instead.

/martin

---

From: Martin Bjorklund <[email-masked]>
Date: Wed, 22 Jul 2009 00:09:48 +0200 (CEST)

> If the leaf with the leafref type represents

Fixed.

> On the previous page it is allowed to point with a config leafref to state data
> if require instance is false.
> 

I will get back to you on this one.

/martin

---

From: Martin Bjorklund <[email-masked]>
Date: Wed, 22 Jul 2009 00:10:12 +0200 (CEST)

Fixed.

/martin

---

From: "tom.petch" <[email-masked]>
Date: Thu, 23 Jul 2009 16:23:01 +0200

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.

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.

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.

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

"    \\      a single backslash"
so is a double backslash \\\ or \\\\ - worth an example

6.2.1 "All groupings defined within a parent node "
well no, grouping names, otherwise it sounds like the identifiers defined within
the grouping.

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

9.9.2 "Predicates are used only for constraining the values for the
   key nodes for list entries"
or leaflists?

Tom Petch

---

From: Phil Shafer <[email-masked]>
Date: Thu, 23 Jul 2009 11:40:30 -0400

>Cisco or HP might qualify, other organization names would not.

We tried to use java-style reverse dns names, but it didn't fly.

>whatever an implementation chooses

I think the intent is to make this trimming optional.

Great comments!

Thanks,
 Phil

---

From: Martin Bjorklund <[email-masked]>
Date: Thu, 30 Jul 2009 21:48:00 +0200 (CEST)

Hi,

Sorry for the late reply on this.

> 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.

> 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.

> transfer format, character syntax but not character set.

NEW:

   YANG modules use the UTF-8 [RFC3629] character encoding.

> 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.

Fixed.

> 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.

Fixed.

/martin