Ladislav Lhotka <lho...@nic.cz> wrote: > > > On 05 Apr 2016, at 11:09, Martin Bjorklund <m...@tail-f.com> wrote: > > > > Andy Bierman <a...@yumaworks.com> wrote: > >> On Mon, Apr 4, 2016 at 1:08 PM, Ladislav Lhotka <lho...@nic.cz> wrote: > >> > >>> > >>>> On 04 Apr 2016, at 16:15, Andy Bierman <a...@yumaworks.com> wrote: > >>>> > >>>> > >>>> On Mon, Apr 4, 2016 at 12:01 PM, Ladislav Lhotka <lho...@nic.cz> wrote: > >>>> > >>>>> On 04 Apr 2016, at 15:57, Andy Bierman <a...@yumaworks.com> wrote: > >>>>> > >>>>> Hi, > >>>>> > >>>>> I do not see any reason to prohibit this use of action-stmt > >>>>> or notification-stmt. If the list has no keys then there is > >>>>> no need to distinguish instances because the data model defines > >>>>> no such semantics. > >>>> > >>>> If such a keyless list has multiple entries, how can an action request > >>> specify which of the list entries it is tied to? > >>>> > >>>> it must be be relevant to distinguish instances or else the designer > >>>> would have defined a key. > >>>> > >>>> > >>>>> > >>>>> What breaks if this is allowed? > >>>> > >>>> The behaviour is undefined. > >>>> > >>>> > >>>> > >>>> IMO lists without keys are a really bad idea. > >>>> But the semantics are fully defined according to YANG. > >>>> If the list has no keys then there is no instance information > >>>> relevant to the data model. The action or notification is passed > >>>> all the keys (happens to be zero in this case). > >>> > >>> To my understanding, each action request has to specify the unique > >>> instance that's the "receiver" of the action. If this cannot be done, it > >>> is > >>> IMO a problem in the spec. > >>> > >>> An alternative implementation of actions would be to use instance > >>> identifiers instead of an explicit data hierarchy, and in this case it > >>> would be possible to use indices for identifying entries. But the > >>> hierarchy > >>> provides no such option. > >>> > >>> It's not a big issue, but there is already a couple of rules regarding > >>> where actions can and cannot be defined, so this would be another one > >>> intended to avoid potential ambiguity. > >>> > >>> > >> I agree actions were not considered when keyless lists were allowed in > >> YANG. > >> There was an assumption that this data is always read-only that is no > >> longer true in YANG 1.1. > >> > >> I certainly prefer adding a restriction than redoing the way actions work. > >> Using /foo[5] does not work because entry "5" might move or get deleted, > >> so the numbering is not stable. > > > > How about: > > > > An action MUST NOT have any ancestor node that is a list node without > > a "key" statement. > > > Or rather: > > An action MUST NOT be defined for a node that is a list without a > "key" statement, or has a list node without a "key" statement as its > ancestor.
I don't see the difference. Even in: list foo { action bar { ... } } "foo" is an ancestor to "bar". /martin _______________________________________________ netmod mailing list netmod@ietf.org https://www.ietf.org/mailman/listinfo/netmod