Subject: [Netconf] comments on netconf-monitoring-04

From: Balazs Lengyel <[email-masked]>
Date: Mon, 16 Mar 2009 11:21:41 +0100

Hello,

Comments:

General:
Some parts of the capability template should be followed.
- The capability string should be defined not just in the IANA considerations, but before that 
separately
- it should be explicitly stated that this does not change any existing operations or capabilities
- it should be stated that this does not depend on other capabilities

Introduction paragraph 2)
I would just write:
"This capability allows the client to query the Netconf servers capabilities during a session."

This leaves the question whether capabilities can change during the session open. That should
be answered by the 4741bis anyway.

1.1. Definition of Terms)
d/lockedescribed  - strange :-)

2.1. The /netconf-state Subtree)
IMHO it would be good to list all OAM sessions not just NETCONF. Maybe add:
"List of active management sessions on the device, MUST include all active NETCONF sessions and
SHOULD include all active non-NETCONF management sessions."

2.1.2. The /netconf-state/datastores Subtree
"The /netconf-state/datastores subtree contains configuration data
for the NETCONF server"

So there is something to configure here... I don't think so.

s/ConfigurationDataStore instance/ConfigurationDataStore

"Both a global lock and a partial lock MUST contain the sessionId."
What if a non-NETCONF session locks a datastore? This possibility is acknowledged by 4741 and
the partial-lock draft, so it should be handled here as well. We should provide information on
those locks as well.

"For partial locks the list of locked nodes is also returned. Since
    this list may change over time the select expressions originally used
    to request the lock are also returned. "

This sentence is not correct. Change to:
For partial locks the list of locked nodes and the select expressions originally used
    to request the lock are also returned.

3.2. NETCONF Schema List Retrieval (<get> monitoring data)
If access control denies the partial lock, the <error-tag> will be 'access-denied'.

How does partial-lock come here?

4.1)
<ietf-netconf-state xmlns="urn:ietf:params:xml:ns:netconf:state">
          <schemas/>
</netconf-state>

opening and closing tags don't match

5.1) XSD

"<xs:enumeration value="BEEP"/>1G"
Remove !G

The XSD definition of NETCONFDatastoreType does not match the YANG definition. It allows

<startup>Hello this is a funny definition</startup>

YANG does nto allow this.

Instance-identifiers are never defined.
a reference to the partial-lock draft should be included

TransportType restricts the allowed values of transport, so if someone uses e.g. plain TCP that 
will mean he is violating the standard. I think this MUST be an extensible list. (in YANG too)

The ProtocolType must also be extensible too. (in YANG too)

domainName
  The description clause of objects using the
  domainName type MUST describe how (and when)
  these names are resolved to IP addresses.

Is this described or remove the MUST from above

8.  IANA Considerations
reservations for the targetnamespace of the 2 XSDs are missing

9.References
A non-normative YANG reference is missing

Appendix A) YANG
Reference statements should be included towards the Notification RFC and the Partial-lock draft.