On Mon, Jun 8, 2015 at 11:49 AM, Ladislav Lhotka <lho...@nic.cz> wrote:
> 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.
>

I don't see where a range "1..20" is introduced.
The "leaf bar" has the same type as /foo,
so that is uint8.

I see your point... does "require-instance false"
mean it could be a valid value for the leaf, but
no instances happen to exist with that value?

Or does it mean valid for the same data-type but the instance
may never exist?

I think "valid for the data type" is correct.
The must-stmt says valid for the leaf to exist.
That is a separate test.

> Lada

Andy

>
>
>>
>>
>>>
>>> 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

Reply via email to