On Tue, Jan 10, 2017 at 8:16 AM, Juergen Schoenwaelder <
j.schoenwael...@jacobs-university.de> wrote:

> On Tue, Jan 10, 2017 at 07:30:51AM -0800, Andy Bierman wrote:
> > On Mon, Jan 9, 2017 at 11:21 PM, Juergen Schoenwaelder <
> > j.schoenwael...@jacobs-university.de> wrote:
> >
> > > On Mon, Jan 09, 2017 at 01:17:09PM -0800, Andy Bierman wrote:
> > > >
> > > > I think itt is not realistic to say that datastores are optional.
> > > >
> > > > e.g. <enabled> leaf:  If there is a standard way to enable/disable
> config
> > > > then individual "enabled" leafs are redundant. However XPath
> (must/when)
> > > > has no way to describe if the subtree is enabled (which is a
> > > show-stopper)
> > >
> > > I may not understand what you are saying. From what I know, there are
> > > implementations that allow to 'comment out' nodes and subtrees and
> > > that work with clients in a backwards compatible way.
> > >
> > > > <foo-config> vs <foo-oper>.  If the applied or operational datastore
> is
> > > > assumed,
> > > > then there is no need to model the redundant config-as-operstate.
> > > > If this is left out of the model, then the datastore becomes
> mandatory.
> > > > If it is left in the model, the datasore becomes redundant.
> > > >
> > > > The basic premise that these datastores are optional is flawed.
> > > > One cannot design a YANG module assuming the datastores are present
> > > > if they are in fact optional.
> > >
> > > The claim that all datastores are mandatory is equally flawed.
> > >
> > >
> > correct -- nobody is saying that.
>
> Well, I originally commented on the statement that intened would be
> required and adding complexity - it does not.
>
> > The reason this is different is that the YANG objects are impacted.
> > Candidate vs. running has no impact whatsoever on the set of
> > YANG modules.  The protocol is not self-selecting some objects
> > and making other objects invisible.
>
> Yes. And the same is true for intended as long as an implementation
> does not support templates or inactive configuration objects.
>
> > But if I want to model <foo-state>, I will soon have to decide
> > to use <foo-state> and allow all protocols to read it or
> > model get-state(foo) and require a different module for each
> > protocol.
>
> If you do /foo and /foo-state, things will just work with or without
> an operational state datastore. If you have only /foo, then an
> operational state datastore may come in handy if you have to support
> config and state with different lifetimes.
>

Will they really work without /foo-state?

How will I write XPath must/when/leafref statements for foo-state if it
doesn't exist?

(BTW, why do I need foo-state in both applied and operational datastores?
This part is not clear)

If the solution is to introduce an XPath function like
operational-value(/top/speed)
then this is both complicated and mandatory (YANG designers need the same
XPath function set on every server)





> /js
>


Andy


>
> --
> 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
netmod@ietf.org
https://www.ietf.org/mailman/listinfo/netmod

Reply via email to