diff --git a/rpc/gnmi/gnmi-specification.md b/rpc/gnmi/gnmi-specification.md index 04d9b38..863845b 100644 --- a/rpc/gnmi/gnmi-specification.md +++ b/rpc/gnmi/gnmi-specification.md @@ -1699,6 +1699,18 @@ Where a node within the subscribed paths has been removed, the `delete` field of the `Notification` message MUST have the path of the node that has been removed appended to it. +Explicit deletion is required to signify the removal of a leaf that is no longer +present on a target device in ON-CHANGE subscription mode, and optional in SAMPLE subscription mode. + +Additionally, deletes are not required to be per-leaf and can be at an intermediate +branch that applies to a multitude of leaves, e.g. when removing a logical interface +in a configuration, deletes could be issued at container level branches that apply to +that interface, rather than all the individual leaves. + +Explicit deletion also applies to TARGET-DEFINED subscription mode. +Whereas, if the TARGET-DEFINED subscription determines the best type of delivery to be ON-CHANGE, +explicit deletion is required and if decided to be SAMPLE, deletion will be optional. + To replace the contents of an entire node within the tree, the target populates the `delete` field with the path of the node being removed, along with the new contents within the `update` field.