[PATCH dpdk] telemetry: fix adding dicts in container arrays

Robin Jarry rjarry at redhat.com
Wed Jan 7 22:51:30 CET 2026


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().

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

Signed-off-by: Robin Jarry <rjarry at redhat.com>
---
 lib/telemetry/telemetry_data.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/lib/telemetry/telemetry_data.c b/lib/telemetry/telemetry_data.c
index 0354a0654804..0a006559ab42 100644
--- a/lib/telemetry/telemetry_data.c
+++ b/lib/telemetry/telemetry_data.c
@@ -96,10 +96,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.52.0



More information about the dev mailing list