On Thu, Mar 16, 2017 at 2:54 AM, Robert Wilton <rwil...@cisco.com> wrote:

> Hi Dale,
>
>
> On 15/03/2017 19:02, Dale R. Worley wrote:
>
>> JOEY BOYD <joey.b...@adtran.com> writes:
>>
>>> module base-module {
>>>    prefix bmod;
>>>
>>>    feature do-things;
>>>
>>>    container things {
>>>      if-feature do-things;
>>>      ...
>>>    }
>>> }
>>>
>>> module augment-module {
>>>    prefix amod;
>>>
>>>    augment "/bmod:do-things" {
>>>      container other-things {
>>>      }
>>>    }
>>> }
>>>
>> First question:  I'm not expert in Yang, but as far as I can figure out,
>> the augment statement is augmenting "container things", right?  So the
>> augment statement should be 'augment "/bmod:things"' not 'augment
>> "/bmod:do-things"'.
>>
> Yes, the augment should be to "things".
>
>
>> But on the important question, I don't see it as at all unreasonable
>> that the augment needs to be qualified by the same if-feature.  The
>> reason is that if you're reading the text of module augment-module, it's
>> helpful to have documented, right there, that the augmentation depends
>> on the presence of a particular feature in the augmented module.  And
>> it's helpful to know that the designer did, at least for one moment,
>> think about the fact that the augmentation is conditional.
>>
>
> It isn't just any if-feature on the container that is being augmented that
> needs to be considered.  You would have to consider all if-feature
> statements by walking up the augmented node's ancestors to the top of the
> tree and combine them, or have multiple if-feature statements.
>
> Further, the 7950 YANG update rules allow for the augmented module to be
> revised and some of those if-feature statements to be subsequently
> removed.  If the augmenting module had restated the if-feature conditions
> then this would probably leave the augmenting module unintentionally out of
> sync with the module that it is augmenting.
>
> In short, I think that if-feature statements work better if they act on
> the given node and all descendant nodes, regardless of which module those
> descendants are defined in.
>
>
"work better"

Please explain which protocol you are using that allows you to manage
descendant nodes of unimplemented nodes.

NETCONF and RESTCONF do not work at all wrt/ accessing such nodes.


> Rob
>
>
Andy


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

Reply via email to