On Wed, Feb 3, 2016 at 9:06 AM, Martin Bjorklund <m...@tail-f.com> wrote:

> Hi,
>
> William Ivory <wiv...@brocade.com> wrote:
> > Hi,
> >
> > My colleagues and I are looking for clarification of the last point in
> > Section 10 of YANG 1.0:
> >
> > '   In statements that have any data definition statements as
> >    substatements, those data definition substatements MUST NOT be
> >    reordered.'
> >
> > We understand that existing statements must not be reordered in a new
> > revision of a YANG module, but we're not clear if new statements may
> > be inserted between existing statements, or must always come at the
> > 'end' of a list or container definition.
>
> They can be inserted anywhere.
>
> As Lada pointed out, this should be clarified in 6020bis.  I will do:
>
> OLD:
>
>   In statements that have any data definition statements as
>   substatements, those data definition substatements MUST NOT be
>   reordered.
>
> NEW:
>
>   In statements that have any data definition statements as
>   substatements, those data definition substatements MUST NOT be
>   reordered.  If new data definition statements are added, they can be
>   added anywhere between these substatement.
>
>
>

This is not very good.
You should explain exactly what interoperability is lost if a data-def-stmt
changes relative order from 1 release to the next.  If it is a MUST NOT,
then this should obvious.  Given that list keys MUST be encoded first,
and XML and JSON allow reordering anyway, it is a completely
mystery to me why this CLR exists at all.

(BTW, it has no affect at all on default-stmt, bit-stmt, or enum-stmt,
the only 3 YANG statements where schema-order is actually relevant).


Andy



> > A specific example we're
> > concerned with is where a grouping is used, and then later that
> > grouping has an extra element added, but the new node could also be
> > added directly.  Eg:
> >
> > Container foo {
> >         Leaf A
> >         Uses grouping B;
> >         Leaf C
> >         Leaf D
> > }
> >
> > Is it valid in a new revision of the module to do the following, or
> > must the order be A, B, C, D, E?  What if grouping B has gained a new
> > statement?
> >
> > Container foo {
> >         Leaf A
> >         Uses grouping B;
> >         Leaf C
> >         Leaf E < ---- ADDED
> >         Leaf D
> > }
>
> This is valid.
>
>
> /martin
>
>
> >
> > Thanks,
> >
> > William
> >
> >
>
> _______________________________________________
> netmod mailing list
> netmod@ietf.org
> https://www.ietf.org/mailman/listinfo/netmod
>
_______________________________________________
netmod mailing list
netmod@ietf.org
https://www.ietf.org/mailman/listinfo/netmod

Reply via email to