On Fri, Aug 15, 2025 at 1:10 PM Andy Bierman <[email protected]> wrote:

>
>
> On Fri, Aug 15, 2025 at 12:38 PM Reshad Rahman <reshad=
> [email protected]> wrote:
>
>> Hi,
>>
>> Using yanglint, when I try to validate the example in Appendix C of
>> RFC8525, I get the following error:
>>
>> > data /home/xyz/YANG/example-yang-library.xml
>>
>> libyang[0]: Mandatory node "module-set-id" instance does not exist.
>> (path: Data location "/ietf-yang-library:modules-state".)
>>
>> YANGLINT[E]: Failed to parse input data file
>> "/home/xyz/YANG/example-yang-library.xml".
>> >
>>
>> My understanding is that yanglint is behaving correctly (no presence-stmt
>> in the modules-state container), but would like confirmation.
>>
>> If yes, is that worth an errata on RFC8525?
>>
>>
> This may violate a guideline in RFC8407bis, but nothing in RFC 7950.
>


I do not think yanglint is correct. This warning should only be for
config=true data nodes.

https://www.ietf.org/archive/id/draft-ietf-netmod-rfc8407bis-28.html#section-4.10

The guideline is for top-level "database" data nodes.
The term should really be "datastore", and config=false nodes are only part
of <operational>, which is not subject to validation.

Andy


In practice, the server creates its own config=false data at boot-time, so
> the constraint is not actually violated.
> Mandatory=true for config=false is not validated on the server.
> It means the node is expected in a response from the server requesting
> this data.
> It is validated by the client.
>
>
>
>> Regards,
>> Reshad.
>>
>>
> Andy
>
>
>>   container modules-state {
>>
>>        config false;
>>        status deprecated;
>>        description
>>          "Contains YANG module monitoring information.";
>>        leaf module-set-id {
>>          type string;
>>          mandatory true;
>>          status deprecated;
>>          description
>>            "Contains a server-specific identifier representing
>>             the current set of modules and submodules.  The
>>             server MUST change the value of this leaf if the
>>             information represented by the 'module' list instances
>>             has changed.";
>>        }
>>        uses module-list {
>>          status deprecated;
>>        }
>>      }
>>
>> _______________________________________________
>> netmod mailing list -- [email protected]
>> To unsubscribe send an email to [email protected]
>>
>
_______________________________________________
netmod mailing list -- [email protected]
To unsubscribe send an email to [email protected]

Reply via email to