On Sun, Oct 15, 2017 at 12:56:42PM -0700, Andy Bierman wrote:
> > >
> > >   augment "/if:interfaces-state/if:interface" {
> > >     action reset {
> > >       description "Reset this interface";
> > >     }
> 
> Can you spot the NMDA problem above?
> Actually, it exists for in-line definitions, not just augment.
> 
> Once you collapse the interfaces-state tree into /interfaces, there
> is no way to specify whether an action is intended for <operational>
> or a configuration datastore, or all datastores.
 
I think operations (both RPCs and actions) by default always execute
in the context of the operational state datastore. This is consistent
with the way we define the xpath context. An operation that operates
on other datastores needs to carry this information in its semantics
and typically requires special arguments to select the datastores
affected. This is how <get-config> and <edit-config> work. Hence, a
reset action defined for an interface by default applies to the
operational state datastore. And this default makes likely sense for
most actions and RPCs.

If an action or RPC is expected to operate on a different datastore,
the description must explain this and there may be a need to pass a
datastore identifier to the operation. [Yes, in retrospect, one might
have designed the protocol differently so that there would always be a
datastore parameter at the protocol level but its too late for that.]

/js

-- 
Juergen Schoenwaelder           Jacobs University Bremen gGmbH
Phone: +49 421 200 3587         Campus Ring 1 | 28759 Bremen | Germany
Fax:   +49 421 200 3103         <http://www.jacobs-university.de/>

_______________________________________________
netmod mailing list
[email protected]
https://www.ietf.org/mailman/listinfo/netmod

Reply via email to