Hi Chris,

Inline …

From: Christian Hopps <[email protected]>
Date: Thursday, 11 September 2025 at 09:12
To: NetMod WG <[email protected]>
Subject: [netmod] Q. on example in RFC 8641 (yang-push incorrect deletions?)
I have a question on the example in RFC8641 under 3.7 Streaming Updates

In Figure 2, an example of a `push-change-update` shows a `replace` operation, 
critically perhaps, with a <target> of the root container 
`/ietf-interfaces:interfaces`. The value is specified also starting at the root 
node <interfaces> and a specific list object with key name `eth0` is given; the 
only leaf given other than the key is `oper-status` for the specific interface.

```
<notification xmlns="urn:ietf:params:xml:ns:netconf:notification:1.0">
   <eventTime>2017-10-25T08:22:33.44Z</eventTime>
   <push-change-update
        xmlns="urn:ietf:params:xml:ns:yang:ietf-yang-push">
     <id>89</id>
     <datastore-changes>
       <yang-patch>
         <patch-id>0</patch-id>
         <edit>
           <edit-id>edit1</edit-id>
           <operation>replace</operation>
           <target>/ietf-interfaces:interfaces</target>
           <value>
             <interfaces
                  xmlns="urn:ietf:params:xml:ns:yang:ietf-interfaces">
               <interface>
                 <name>eth0</name>
                 <oper-status>down</oper-status>
               </interface>
             </interfaces>
           </value>
         </edit>
       </yang-patch>
     </datastore-changes>
   </push-change-update>
  </notification>
```

This primarily came up b/c I'm trying to figure out what format the <value> 
should take and what the <target> should be (in my case actually for RESTCONF).

Anyway my question is this, doesn't this example direct the receiver to delete 
all other interfaces and also delete (or return to default) all the rest of the 
state in the `eth0` list object while only setting the `oper-state` value?

Yes, that is also my interpretation, and I agree, this is unlikely to be what 
was intended.

This is not the intention of the document I don't believe, I think the document 
is trying to show how to replace the single oper-state value not delete all 
other interface state.

With RESTCONF transactions normally you provide the data "rooted" at the given 
target resource. With NETCONF and XML many (most/all?) times I believe the data 
is rooted at the actual root of the module. But even if the <value> data is 
correct here, shouldn't the <target> actually point at the `oper-state` leaf 
itself?

Yes, I think that the target should be the node that is logically being 
replaced, if the YANG push operation is replace.

Kind regards,
Rob



Thanks,
Chris.

_______________________________________________
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