On Wed, Oct 14, 2015 at 1:26 PM, Martin Bjorklund <m...@tail-f.com> wrote:

> Andy Bierman <a...@yumaworks.com> wrote:
> > On Wed, Oct 14, 2015 at 12:48 PM, Martin Bjorklund <m...@tail-f.com>
> wrote:
> >
> > > Andy Bierman <a...@yumaworks.com> wrote:
> > > > On Wed, Oct 14, 2015 at 12:25 PM, Martin Bjorklund <m...@tail-f.com>
> > > wrote:
> > > >
> > > > > Balazs Lengyel <balazs.leng...@ericsson.com> wrote:
> > > > > > Hello Martin,
> > > > > > I agree that A1 is what follows the spirit of YANG, but then
> IMHO you
> > > > > > should change/correct 8.2.1 in YANG because that implies A2 and
> > > error.
> > > > >
> > > > > Ok, I agree.  I suggest we remove from 8.2.1:
> > > > >
> > > > >    o  If data for a node tagged with "when" is present, and the
> "when"
> > > > >       condition evaluates to "false", the server MUST reply with an
> > > > >       "unknown-element" error-tag in the rpc-error.
> > > > >
> > > > > and add to 8.2.2:
> > > > >
> > > > >   o  Modification requests for nodes tagged with "when", and the
> "when"
> > > > >      condition evaluates to "false".  In this case the server MUST
> > > reply
> > > > >      with an "unknown-element" error-tag in the rpc-error.
> > > > >
> > > > >
> > > > >
> > > >
> > > > This seems like a BIG protocol change to <edit-config> behavior.
> > > > IMO this not an error at all.  In our server the false-when data is
> just
> > > > pruned, and no error is ever sent for a pruned when=false data node.
> > >
> > > So you are not following the current RFC 6020 spec?
> > >
> >
> >
> > Yes we are following it.
>
> Ok.
>
> > The schema for the edit-config RPC operation contains
> > an 'anyxml' for <config> node.  It does not contain any
> > when-stmts for the data nodes that get passed in the <config> node.
> > The correct behavior is to just enforce the error on the when-stmts
> > that appear in the rpc-stmt.
>
> I don't understand what you are trying to say.
>


I know about the text that says a false-when in an RPC is an error.
Show me the when-stmts  "interface" in the "edit-config" rpc-stmt.




>
> Here's an example:
>
>   augment /if:interfaces/if:interface {
>     when "if:type = 'ianaift:ethernetCsmacd'";
>
>     container ethernet {
>       leaf duplex {
>         type enumeration {
>           enum "half";
>           enum "full";
>         }
>       }
>     }
>   }
>
> Suppose the db is empty.
>
> What if the edit-confif contains
>
>   <interfaces>
>     <interface>
>       <name>eth0</name>
>       <eth:duplex>full</eth:duplex>
>       <type>ianaift:ethernetCsmacd</type>
>     </interface>
>   </interfaces>
>
> will that work or not?  I.e., will the eth0 interface be created with
> duplex full?
>

Yes -- because these are data nodes and the rules for when-stmt
on data nodes are different than for rpc-stmt.  Then the when-stmt
is a test on whether the node should exist in the candidate or running
datastore.

Our server applies all the edits first, when checks all the when-stmts
that might have changed value.  Nodes that have already existed in the
datastore may get pruned, not just the new nodes.





>
> /martin
>
>
>

Andy


>
> >
> >
> >
> >
> > > I don't think this is a BIG protocol change, since the spec already
> > > says that requests for nodes w/ false when expressions MUST send
> > > error.  The change is to say that this behavior is true regardless of
> > > evaluation order.
> > >
> > > > It may be a client programming error for the client to provide
> > > > false when nodes or not.  What if the client is reusing some
> > > > code that sends 5 parameters, it it's OK if 1 of them gets
> > > > pruned sometimes because of a false when (e.g, product
> > > > feature-specific knob and that feature is not installed)
> > >
> > > Well, it might be simpler to send if-featured nodes that the specific
> > > server doesn't support - this is also an error in 6020.
> > >
> > > > BTW, this is a really good example of what not to do, if one
> > > > wants to make the YANG specification protocol independent.
> > >
> > > That statement is true for the entire section 8.2, it is not
> > > specifically true for this change.
> > >
> > >
> > > /martin
> > >
> >
> >
> > Andy
>
_______________________________________________
netmod mailing list
netmod@ietf.org
https://www.ietf.org/mailman/listinfo/netmod

Reply via email to