It's BIG (which means I include comments up to the end of section 3 now
and hope to send the rest next week; questions of clarity, mostly).
I do like section 1, much more to my taste.
'state data is defined in 1.1.1, operational data is not defined. The
former is used twice, that latter six times - I would rather 'state
data' were used throughout. (I do see it as a persistent source of
confusion as others come to use NETCONF).
s1.2 it might be better to give a REST reference [rest-dissertation]
where REST first appears.
-s1.4 " If the device supports :startup, the device automatically
copies the "
sounds like a MUST
s2.2 "The exclusive use the X.509v3 based certificates is consistent
with "
use of?
s2.3
"MUST use X.509 certificate path validation"
and
"MUST also be considered valid if it matches a locally configured
certificate fingerprint"
seem contradictory to me; suggest something along the lines of
"MUST
either use X.509 certificate path validation
[RFC5280] to verify the integrity of the RESTCONF server's TLS
certificate
or match the presented X.509 certificate with a locally configured
certificate fingerprints"
s.2.5
"If the RESTCONF client is not authorized to access a resource, the
server MUST send an HTTP response with "401 Unauthorized"
cf s.4.3
"If the user is not authorized to read the target resource, an error
response containing a "403 Forbidden" "
seems contradictory
s3.1 Can there be more than one restconf link relation? I am not
thinking of the future postulated above with a version 2, but more of
SNMP with multiple MIBs under different community.
s3.4
"Each RESTCONF edit of a datastore resource is saved to non-volatile
storage by the server. "
Is this a MUST?
s3.5
"If not maintained, then the resource timestamp for the datastore MUST
be used instead."
I am unclear what the timestamp is being used for.
"This timestamp is only affected by configuration data resources, and
MUST NOT be updated for changes to non-configuration data."
Which timestamp? resource timestamp for the datastore? Since it is a
new paragraph, I am unclear.
"If not maintained, then the resource entity tag for the datastore MUST
be used instead.
This entity tag is only affected by configuration data resources, and
MUST NOT be updated for changes to non-configuration data"
Same pair of questions
s3.5.2
"If a leaf or leaf-list is missing from the configuration ..."
"and the leaf has not been given a value yet, .. "
Do these mean that it has not been configured? If so, I would find it
clearer if it said 'configured'; if not, I am unclear of the nuance.
s3.6
"If the "input" section contains mandatory parameters, then a
message-body MUST be sent by the client."
6020bis says
" If a leaf in the input tree has a "mandatory" statement with the
value "true", the leaf MUST be present in an RPC invocation.
which I think more precise. Suggest something like
" If a leaf in the input tree has a "mandatory" statement with the
value "true", the leaf MUST be present in an RPC invocation and
a message-body MUST be sent by the client."
should a similar statement be present for output? I see no difference
between input and output in this regard.
It's BIG (which means I include comments up to the end of section 3 now and hope to send the rest next week; questions of clarity, mostly).
I do like section 1, much more to my taste.
-s1.4 " If the device supports :startup, the device automatically copies the " sounds like a MUST
"MUST
"This timestamp is only affected by configuration data resources, and MUST NOT be updated for changes to non-configuration data."
Which timestamp? resource timestamp for the datastore? Since it is a new paragraph, I am unclear.
"If not maintained, then the resource entity tag for the datastore MUST be used instead.
This entity tag is only affected by configuration data resources, and MUST NOT be updated for changes to non-configuration data"
Same pair of questions
"and the leaf has not been given a value yet, .. "
Do these mean that it has not been configured? If so, I would find it clearer if it said 'configured'; if not, I am unclear of the nuance.
"If the "input" section contains mandatory parameters, then a message-body MUST be sent by the client."
6020bis says " If a leaf in the input tree has a "mandatory" statement with the value "true", the leaf MUST be present in an RPC invocation. which I think more precise. Suggest something like
" If a leaf in the input tree has a "mandatory" statement with the value "true", the leaf MUST be present in an RPC invocation and a message-body MUST be sent by the client."
s3.6.1 " POST /restconf/data/example-action:interfaces/interface=eth0 ..." " { "example-action:input" : { ..."
module name is 'example-actions'
s3.6.2 " The server might respond:
How does the client marry the output to the request? Should the rest of the path be there? interfaces/interface=eth0/get-last-reset-time
Tom Petch