On Thu, Mar 16, 2017 at 8:05 AM, Dale R. Worley <[email protected]> wrote:
> Robert Wilton <[email protected]> writes: > > 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. > > Yes, I would expect that. > > > 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. > > It's an interesting sort of out-of-sync, though, as nothing would be > *incorrect*. With some combinations of features, the augmented node > would have the agumentation and with some, it would not. But it seems > to me that is quite OK, since whatever depends on the presence of the > augmentation (e.g., client logic or XPath expressions in the > augmentation) only expects the augmentation to be there if the > additional feature is present. > YANG does not do a great job of separating conformance from conditional schema nodes. The if-feature-stmt does not say false means the conformance requirement is removed. It says the schema node is removed. This means a server cannot pick some nodes from a YANG feature. The schema tree has all or none (of the nodes marked with this if-feature). This distinction may be important, especially if one tries to reconcile the "always exists" property of NP-containers with if-feature. If there are no semantics for an NP-container then how can it be included or excluded from the conformance model or the implementation? Maybe when-stmt and if-feature-stmt on an NP container really just impacts the descendants, not the NP-container itself. > Dale > Andy > > _______________________________________________ > netmod mailing list > [email protected] > https://www.ietf.org/mailman/listinfo/netmod >
_______________________________________________ netmod mailing list [email protected] https://www.ietf.org/mailman/listinfo/netmod
