Andy Bierman <[email protected]> wrote: > On Mon, May 23, 2016 at 7:08 AM, Martin Bjorklund <[email protected]> wrote: > > > Hi, > > > > This comment from the Gen-ART review deserves it's own thread. > > > > > > gen-art> - section 7.6.4 > > gen-art> > > gen-art> The default value MUST NOT be marked with an "if-feature" > > statement. > > gen-art> > > [...] > > gen-art> But it's not clear what the whole set of situations is that > > should be > > gen-art> forbidden. For instance, this should work: > > gen-art> > > gen-art> typedef xyz { > > gen-art> type enumeration { > > gen-art> enum blue { if-feature blue; } > > gen-art> ... > > gen-art> } > > gen-art> } > > gen-art> > > gen-art> leaf color { > > gen-art> if-feature blue; > > gen-art> type xyz; > > gen-art> default blue; > > gen-art> } > > gen-art> > > gen-art> Whereas this won't: > > gen-art> > > gen-art> typedef xyz { > > gen-art> type enumeration { > > gen-art> enum blue { if-feature blue; } > > gen-art> ... > > gen-art> } > > gen-art> } > > gen-art> > > gen-art> leaf color { > > gen-art> // No if-feature here. > > gen-art> type xyz; > > gen-art> default blue; > > gen-art> } > > gen-art> > > gen-art> Is this rule only meant to cover the situation where the leaf's > > type > > gen-art> is an "in-line" enum and the particular enum value has an > > if-feature? > > > > mbj> Good point. Yes, the first example should be valid. Another valid > > mbj> example would be: > > mbj> > > mbj> container colors { > > mbj> if-feature blue; > > mbj> leaf color { > > mbj> type xyz; > > mbj> default blue; > > mbj> } > > mbj> } > > mbj> > > mbj> Maybe: > > mbj> > > mbj> OLD: > > mbj> > > mbj> The definition of the default value MUST NOT be marked with an > > mbj> "if-feature" statement. > > mbj> > > mbj> NEW: > > mbj> > > mbj> If the definition of the default value is conditional based on one > > or > > mbj> more features (see ^if-feature^), then the leaf node MUST > > mbj> also be conditional based on at least the same set of features. > > mbj> > > mbj> (modelled after the text in 9.9) > > > > Does anyone have comments on this proposal? > > > > > > What problem is this supposed to solve?
See the first of the examples above. > If the server does not advertise feature "blue", then the default-stmt > is still invalid. Correct. > Are you suggesting that defining defaults that depend on > features is a conformance mechanism for declaring a feature to be mandatory? No. Just that if the if-feature expression on the leaf matches (or is more restrictive than) then if-feature on the default value, it should work. /martin _______________________________________________ netmod mailing list [email protected] https://www.ietf.org/mailman/listinfo/netmod
