From 2445b43e19e6a8693ff32d7bc6f576a76ead4d0f Mon Sep 17 00:00:00 2001 From: wenovus Date: Wed, 12 Jun 2024 12:26:16 -0700 Subject: [PATCH 1/3] Clarify that updating a leaf-list is semantically equivalent to replace. This makes sense because in general the order matters, and append is just one way of inserting elements to the list. There is also no way to delete elements if this weren't the semantic. --- rpc/gnmi/gnmi-specification.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/rpc/gnmi/gnmi-specification.md b/rpc/gnmi/gnmi-specification.md index 04d9b38..0cbc725 100644 --- a/rpc/gnmi/gnmi-specification.md +++ b/rpc/gnmi/gnmi-specification.md @@ -1059,7 +1059,9 @@ A `SetRequest` message consists of the following fields: - `replace` - A set of `Update` messages indicating elements of the data tree whose content is to be replaced. - `update` - A set of `Update` messages indicating elements of the data tree - whose content is to be updated. + whose content is to be updated. Note that `leaflist_val` acts as a single, + cohesive ordered list of values; therefore, updates to it MUST replace, + rather than append, to the list. - `extension` - a repeated field used to carry gNMI extensions, as per the description in [Section 2.7](#27-extensions-to-gnmi). From 50216b4de47eee033e9fb0113b2a64247c8b22c3 Mon Sep 17 00:00:00 2001 From: wenovus Date: Wed, 12 Jun 2024 12:31:06 -0700 Subject: [PATCH 2/3] increment version --- rpc/gnmi/gnmi-specification.md | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/rpc/gnmi/gnmi-specification.md b/rpc/gnmi/gnmi-specification.md index 0cbc725..ea2a8bf 100644 --- a/rpc/gnmi/gnmi-specification.md +++ b/rpc/gnmi/gnmi-specification.md @@ -4,10 +4,10 @@ Paul Borman, Marcus Hines, Carl Lebsack, Chris Morrow, Anees Shaikh, Rob Shakir, Wen Bo Li, Darren Loher **Date:** -May 25, 2023 +June 12, 2024 **Version:** -0.10.0 +0.10.1 **[gNMI service](https://github.com/openconfig/gnmi/blob/master/proto/gnmi/gnmi.proto) compatibility:** 0.10.x @@ -1769,6 +1769,9 @@ limitations under the License # 7 Revision History +- v0.10.1: June 12, 2024 + - Clarify that updating a `leaflist_val` is semantically equivalent to replace. + - v0.10.0: May 25, 2023 - Add `union_replace` operation. Sync revision to gNMI proto revision. From 0b0602d4071fb5d96e52debaf7857ea0aca4315d Mon Sep 17 00:00:00 2001 From: wenovus Date: Thu, 13 Jun 2024 11:49:22 -0700 Subject: [PATCH 3/3] bump to v0.11.0 this this might cause breaking change in existing implementations --- rpc/gnmi/gnmi-specification.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/rpc/gnmi/gnmi-specification.md b/rpc/gnmi/gnmi-specification.md index ea2a8bf..ecb040a 100644 --- a/rpc/gnmi/gnmi-specification.md +++ b/rpc/gnmi/gnmi-specification.md @@ -7,10 +7,10 @@ Paul Borman, Marcus Hines, Carl Lebsack, Chris Morrow, Anees Shaikh, Rob Shakir, June 12, 2024 **Version:** -0.10.1 +0.11.0 **[gNMI service](https://github.com/openconfig/gnmi/blob/master/proto/gnmi/gnmi.proto) compatibility:** -0.10.x +0.11.x # Table of Contents @@ -1769,7 +1769,7 @@ limitations under the License # 7 Revision History -- v0.10.1: June 12, 2024 +- v0.11.0: June 12, 2024 - Clarify that updating a `leaflist_val` is semantically equivalent to replace. - v0.10.0: May 25, 2023