Hi Andy, > IMO the RFCs are clear.
> > The 'edit-config' RPC input parameters have some constraints like mandatory > parameters. > The 'config' payload constraints are not part of the RPC input parameter > validation. > Only constraints defined on the RPC input parameters are checked here. > > https://datatracker.ietf.org/doc/html/rfc6241#section-7.2 > > The server applies the config to its internal datastore. > At that point the config contents are part of a configuration data tree. > > > https://datatracker.ietf.org/doc/html/rfc7950#section-8 > > o If the constraint is defined on configuration data, it MUST be > true in a valid configuration data tree. > ... > o If the constraint is defined on RPC or action input parameters, it > MUST be true in an invocation of the RPC or action operation. You’re right. Validation is context dependent. K. > Andy > > >> K. >> >> >>> Thanks & Regards, >>> Partha. >>> >>> From: Kent Watsen <[email protected] <mailto:[email protected]>> >>> Sent: Tuesday, September 17, 2024 2:26 AM >>> To: R, Parthasarathy <[email protected] >>> <mailto:[email protected]>> >>> Cc: [email protected] <mailto:[email protected]> >>> Subject: Re: [netmod] Regarding RFC 7950 Mandatory validation >>> >>> Hi Partha, >>> >>> >>> >>> On Sep 6, 2024, at 1:13 PM, [email protected] >>> <mailto:[email protected]><[email protected] >>> <mailto:[email protected]>> wrote: >>> >>> Hi, >>> I am a Software Engineer working in Fujitsu’s NMS product >>> supporting Netconf devices. I want a clarification in RFC 7950 on the >>> behavior of constraint validation in an edit-config request enforced by >>> ‘mandatory’ statement. I referred to section 8 in RFC 7950 regarding this >>> and from what I see, all edit-config requests should include the mandatory >>> leafs. There is no special behavior mentioned on edit-config’s operation >>> type as ‘create’ or ‘merge’ or ‘delete’ in the validation section of RFC. >>> >>> This ends up in two different interpretations: >>> 1. All edit-config requests must always include the mandatory >>> attributes irrespective of the operation type is create/merge >>> 2. Edit-config requests must include the mandatory attributes only if >>> operation type is create and it can choose to skip if the attribute is >>> already present in Datastore due to previous edit-configs. >>> >>> Kindly confirm which interpretation holds good. Also, I would like to >>> understand, if, ‘mandatory’ check applies to the payload during Payload >>> Parsing stage (mentioned in section 8.3.1 of RFC 7950) for every edit >>> config and that all edit config operations must include the mandatory >>> attributes into the payload, even if the operation is merge and the >>> mandatory attribute exists in the candidate store. >>> >>> >>> It’s more the latter, but please note that YANG doesn’t validate what is in >>> a message over-the-wire, so much as the contents of the <running> datastore >>> (as Andy mentioned) after the over-the-wire message has been processed. >>> >>> PS: If using NMDA (RFC8342), then it’s the <intended> datastore that is >>> subject to validation. >>> >>> K. >>> >>> >>> >>> >>> Kindly help to clarify. >>> >>> Thanks & Regards, >>> Partha. >>> _______________________________________________ >>> netmod mailing list -- [email protected] <mailto:[email protected]> >>> To unsubscribe send an email to [email protected] >>> <mailto:[email protected]>
_______________________________________________ netmod mailing list -- [email protected] To unsubscribe send an email to [email protected]
