Subject: [Netconf] with-defaults capability URI

From: Andy Bierman <[email-masked]>
Date: Sat, 07 Mar 2009 21:17:53 -0800

Hi,

Sec. 2.3:

    urn:ietf:params:netconf:capability:with-defaults

    The identifier MUST have an additional parameter: "basic".  This
    indicates how the agent reports default data in <rpc-reply> messages,
    in the case the manager does not specify the required behavior in the
    <rpc> request.  The allowed values of this parameter are report-all,
    trim, explicit as defined in Section 2.1.1.  E.g.:

    urn:ietf:params:netconf:capability:with-defaults?basic=report-all

This scheme does not work if the agent uses 'report-all'.
It tells the manager what the agent will do if <with-defaults>
is missing.  But, what if 'basic=report-all', and the manager
sends 'with-defaults=false' in a <get> request?

What will the agent do wrt/ default filtering?
Will the agent use 'trim' mode or 'explicit' mode?  (Yes.)
The manager needs to know which one.

How about this scheme instead?  And how about using a version
number as well?

   urn:...:with-defaults:1.0?with=<withval>&without=<withoutval>

       e.g.:  urn:...:with-defaults:1.0?with=trim&without=report-all

   with = behavior when request includes 'with-defaults=false'

       <withval> = [trim, explicit]

   without = behavior when request does not include 'with-default'
             element at all

      <withoutval> = [report-all, trim, explicit]

In case it is not clear, when 'with-defaults=true' is present,
the behavior is always 'report-all'.

Andy