[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Proposal to do away with netconf attributes in data model payloads



At 12:57 PM 3/30/2004, Juergen Schoenwaelder wrote:
>On Sun, Mar 28, 2004 at 03:52:31PM -0800, Andy Bierman wrote:
> 
>> Would this idea make you like edit-config any better?
>> 
>> What if we formalized the edit-config verb as a node under
>> <config> instead of putting it in the data model?
>> 
>> I.e., instead of
>>  
>>  <edit-config>
>>     ...
>>     <config>
>>        <foo operation="create"> ... </foo>
>>        <goo operation="modify"> ... </goo>
>>     </config>
>>   </edit-config>
>> 
>>     where <config> is the standard container
>> 
>> we have:
>> 
>>   <edit-config>
>>     ...
>>     <config>
>>       <create>
>>         <foo> ... </foo>
>>       </create>
>>       <modify>
>>          <goo> ... </goo>
>>       </modify>
>>     </config>
>>   </edit-config>
>> 
>>  where <create>, <modify>, <merge>, <replace> and <delete>
>>  are the standard containers.  The verb applies to the
>>  innermost nest-level specified in the data model content.
>>  Each of these containers can appear zero or one times (in any
>>  order) within a <config> element.  The agent will execute
>>  them in the order they appear.
>
>My proposal would be something like this:
>
>  <edit-config>
>    <create>
>      <foo> ... </foo>
>    </create>
>    <modify>
>      <goo> ... </goo>
>    </modify>
>  </edit-config>
>
>Note that I do not make assumptions about the naming, which you seem
>to do.  (And I tend to believe that the assumption everything can be 
>fitted into a single naming hierarchy will not work.)

Your proposal is essentially the same as above,
except you removed the <config> container.
The only reason there aren't any assumptions
about naming is that there's no naming in your example.
The data modeling language will have to specify 
how naming is done.  

As I pointed out in my previous emails, this approach
is too simplistic because the agent needs to know the
specific element sub-tree associated with the edit-action.
That's why we're using the 'operation' attribute now.

Andy



>If we want to express where some configuration snipped goes, we
>should use xpath. And we should make sure that we can specify things
>like insert before or insert behind. 
> 
>> In addition, the same technique could be used to eliminate the
>> need to have an xpath attribute in the data model:
>> 
>>   <get-config>
>>     ...
>>     <config>
>>       <filter value="xpath-expr-for-foo">
>>         <foo/> 
>>       </filter>
>>       <filter value="xpath-expr-for-goo">
>>          <goo> ... </goo>
>>       </filter>
>>     </config>
>>   </get-config>
>> 
>> <filter> can appear zero or more times.  Data like <foo>
>> can appear instead of <filter>.
>
>Not sure I understand this. Why do you want to have two filter
>expressions? It should be possible to combine both sub-expressions 
>into a single expression. Also, I do not see the value of the
><config/> element here.
> 
>> ----------------------------------------------------------------
>> 
>> Separate proposal:
>> 
>> I wouldn't even mind if we put the 'config' in the
>> element path, so we had:
>> 
>>   <edit>
>>     <config>
>>       ... normal edit-config parmameters like <error-option> ...
>>       <config-data>  (container renamed from <config>)
>>         <create>  ... </create>
>>       </config-data>
>>     </config>
>>   </edit>
>> 
>>  This way <config> could be a 'choice' in the XSD, and
>>  we could add other 'filters' later.  For <get> the
>>  choice is between <config> or <all>:
>> 
>>   <get>
>>     <config>
>>       ... get-config specific params
>>       <config-data>
>>          ...
>>       </config-data>
>>     </config>
>>   </get>
>> 
>> OR
>> 
>>   <get>
>>     <all>
>>       ... get-all specific params
>>       <data>
>>          ...
>>       </data>
>>     </all>
>>   </get>
>
>Well, perhaps this is syntactic encoding and style. However, what I
>would like to see is an encoding which allows to create a procedural
>programmatic interface without too much "conversion". This is why I
>prefer to view the primitives as function signatures, e.g.
>
>
>
>-- 
>Juergen Schoenwaelder               International University Bremen
><http://www.eecs.iu-bremen.de/>     P.O. Box 750 561, 28725 Bremen, Germany
>
>--
>to unsubscribe send a message to netconf-request@ops.ietf.org with
>the word 'unsubscribe' in a single line as the message text body.
>archive: <http://ops.ietf.org/lists/netconf/> 


--
to unsubscribe send a message to netconf-request@ops.ietf.org with
the word 'unsubscribe' in a single line as the message text body.
archive: <http://ops.ietf.org/lists/netconf/>