patch 'telemetry: fix adding dict in container array' has been queued to stable release 23.11.7

Shani Peretz shperetz at nvidia.com
Tue Mar 31 08:25:08 CEST 2026


Hi,

FYI, your patch has been queued to stable release 23.11.7

Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 04/05/26. So please
shout if anyone has objections.

Also note that after the patch there's a diff of the upstream commit vs the
patch applied to the branch. This will indicate if there was any rebasing
needed to apply to the stable branch. If there were code changes for rebasing
(ie: not only metadata diffs), please double check that the rebase was
correctly done.

Queued patches are on a temporary branch at:
https://github.com/shanipr/dpdk-stable

This queued commit can be viewed at:
https://github.com/shanipr/dpdk-stable/commit/892efa32c31047aa1c500b0e30af28f26e47724d

Thanks.

Shani

---
>From 892efa32c31047aa1c500b0e30af28f26e47724d Mon Sep 17 00:00:00 2001
From: Robin Jarry <rjarry at redhat.com>
Date: Thu, 8 Jan 2026 11:50:37 +0100
Subject: [PATCH] telemetry: fix adding dict in container array

[ upstream commit dd5789e3cedbcd44fb832e9b8f969850182e1e25 ]

Currently, adding TEL_DICT containers in TEL_ARRAY_CONTAINER containers
is not supported by rte_tel_data_add_array_container. It wrongfully
returns -EINVAL where it should allow it.

This is supported by the JSON formatter.

Allow the same value types than rte_tel_data_add_dict_container().

Add test case to verify it works as expected.

Fixes: c933bb5177ca ("telemetry: support array values in data object")

Signed-off-by: Robin Jarry <rjarry at redhat.com>
Acked-by: Bruce Richardson <bruce.richardson at intel.com>
Acked-by: Chengwen Feng <fengchengwen at huawei.com>
---
 app/test/test_telemetry_data.c | 21 +++++++++++++++++++++
 lib/telemetry/telemetry_data.c |  6 +++---
 2 files changed, 24 insertions(+), 3 deletions(-)

diff --git a/app/test/test_telemetry_data.c b/app/test/test_telemetry_data.c
index 59898ff5e9..e904b5a7f2 100644
--- a/app/test/test_telemetry_data.c
+++ b/app/test/test_telemetry_data.c
@@ -405,6 +405,26 @@ test_array_with_array_uint_hex_values_nopadding(void)
 	return CHECK_OUTPUT("[[\"0x888\"],[\"0x8888\"]]");
 }
 
+static int
+test_array_with_dict_values(void)
+{
+	rte_tel_data_start_array(&response_data, RTE_TEL_CONTAINER);
+
+	struct rte_tel_data *d1 = rte_tel_data_alloc();
+	rte_tel_data_start_dict(d1);
+	rte_tel_data_add_dict_string(d1, "name", "foo");
+	rte_tel_data_add_dict_uint(d1, "size", 42);
+	rte_tel_data_add_array_container(&response_data, d1, 0);
+
+	struct rte_tel_data *d2 = rte_tel_data_alloc();
+	rte_tel_data_start_dict(d2);
+	rte_tel_data_add_dict_string(d2, "name", "bar");
+	rte_tel_data_add_dict_uint(d2, "size", 666);
+	rte_tel_data_add_array_container(&response_data, d2, 0);
+
+	return CHECK_OUTPUT("[{\"name\":\"foo\",\"size\":42},{\"name\":\"bar\",\"size\":666}]");
+}
+
 static int
 test_case_array_u64(void)
 {
@@ -597,6 +617,7 @@ telemetry_data_autotest(void)
 			test_array_with_array_string_values,
 			test_array_with_array_uint_hex_values_padding,
 			test_array_with_array_uint_hex_values_nopadding,
+			test_array_with_dict_values,
 			test_string_char_escaping,
 			test_array_char_escaping,
 			test_dict_char_escaping,
diff --git a/lib/telemetry/telemetry_data.c b/lib/telemetry/telemetry_data.c
index 3b1a2408df..12a5c35b72 100644
--- a/lib/telemetry/telemetry_data.c
+++ b/lib/telemetry/telemetry_data.c
@@ -94,10 +94,10 @@ int
 rte_tel_data_add_array_container(struct rte_tel_data *d,
 		struct rte_tel_data *val, int keep)
 {
-	if (d->type != TEL_ARRAY_CONTAINER ||
-			(val->type != TEL_ARRAY_UINT
+	if (d->type != TEL_ARRAY_CONTAINER || (val->type != TEL_ARRAY_UINT
 			&& val->type != TEL_ARRAY_INT
-			&& val->type != TEL_ARRAY_STRING))
+			&& val->type != TEL_ARRAY_STRING
+			&& val->type != TEL_DICT))
 		return -EINVAL;
 	if (d->data_len >= RTE_TEL_MAX_ARRAY_ENTRIES)
 		return -ENOSPC;
-- 
2.43.0

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2026-03-31 00:32:37.864251962 +0300
+++ 0109-telemetry-fix-adding-dict-in-container-array.patch	2026-03-31 00:32:29.862486000 +0300
@@ -1 +1 @@
-From dd5789e3cedbcd44fb832e9b8f969850182e1e25 Mon Sep 17 00:00:00 2001
+From 892efa32c31047aa1c500b0e30af28f26e47724d Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit dd5789e3cedbcd44fb832e9b8f969850182e1e25 ]
+
@@ -17 +18,0 @@
-Cc: stable at dpdk.org
@@ -28 +29 @@
-index def282434b..37a6f82572 100644
+index 59898ff5e9..e904b5a7f2 100644
@@ -67 +68 @@
-index 0354a06548..0a006559ab 100644
+index 3b1a2408df..12a5c35b72 100644
@@ -70 +71 @@
-@@ -96,10 +96,10 @@ int
+@@ -94,10 +94,10 @@ int


More information about the stable mailing list