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]

Reply via email to