Andy Bierman <a...@yumaworks.com> writes: > On Mon, Jun 8, 2015 at 8:39 AM, Kent Watsen <kwat...@juniper.net> wrote: >> >> >> >>>I think the two leafs are coupled through the path statement and so the >>>values of both should conform to the same type. If I extend BalazsĀ¹ >>>example with uint8 and 1..10 range: >>> >>>1. Would a leafref value of 256 be acceptable? >>> >>>2. How about "foo"? >> >> >> I agree it doesn't makes sense, but is the configuration invalid? >> >> The leafref is marked require-instance=false, it just means a matching >> condition will never succeed. >> > > If require-instance = false then the node must conform to > the data type for the leaf. This means the typedef used > in the implemented version. > >> Would a configuration be invalid if a "when" expression could never >> evaluate to true? >> > > The node would never appear in a configuration. > A must-stmt then is always false would make the config invalid.
What's actually relevant to the subject of this thread (and supports Kent's point somewhat) is this example: leaf foo { type uint8; must ". <= 10"; } leaf bar { type leafref { require-instance false; path "../foo"; } } Should <bar>20</bar> be flagged as invalid? IMO no. At first sight it looks exactly like Balazs' example but in fact it is different - if there is no "foo", the must expression doesn't apply. Lada > > >> >> Kent >> > > > Andy > >> _______________________________________________ >> netmod mailing list >> netmod@ietf.org >> https://www.ietf.org/mailman/listinfo/netmod -- Ladislav Lhotka, CZ.NIC Labs PGP Key ID: E74E8C0C _______________________________________________ netmod mailing list netmod@ietf.org https://www.ietf.org/mailman/listinfo/netmod