From patchwork Thu Jan 12 10:58:55 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Bruce Richardson X-Patchwork-Id: 121895 X-Patchwork-Delegate: thomas@monjalon.net Return-Path: X-Original-To: patchwork@inbox.dpdk.org Delivered-To: patchwork@inbox.dpdk.org Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id E70DA423B5; Thu, 12 Jan 2023 11:59:26 +0100 (CET) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id CEBC542D2C; Thu, 12 Jan 2023 11:59:23 +0100 (CET) Received: from mga11.intel.com (mga11.intel.com [192.55.52.93]) by mails.dpdk.org (Postfix) with ESMTP id D55CD40156 for ; Thu, 12 Jan 2023 11:59:21 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1673521162; x=1705057162; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=4kTBf4Zh9aofvtDdXX53b680NawoqJYBp59sTGNyg38=; b=NEaCPkkW1BIv2KvqTSVEfoPoDqH70zjc9YrVSvbSBgcekHlgwfOv0ugX s7qKoxJrZkRiRFdebuXYcG6nl4K0pO5OXg/u/bKdLbLkbUMg3AhgnGfZk dXW1ChEndnwmQgNvVFJQ+FlHAD5v8YBEltH7i4zbUkqeLrihqP75fG7P9 7a/wCUqjpk8ech3VyVUssudWg2gSHC3DFttSw/Rc1d/uUg2U6qKztdwv3 cvbD2bz4n3PNPimSKYCjAzKgK5VGkjPdolgj9PzpS4wp1blmKHx5y1Hqe wv/dbM0AC0VsPrwyHJTUQk0wrXhlTuxzJJcwelrmWUk10M/O/LCxDR2UI g==; X-IronPort-AV: E=McAfee;i="6500,9779,10586"; a="321365655" X-IronPort-AV: E=Sophos;i="5.96,319,1665471600"; d="scan'208";a="321365655" Received: from orsmga004.jf.intel.com ([10.7.209.38]) by fmsmga102.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 12 Jan 2023 02:59:21 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6500,9779,10586"; a="781746859" X-IronPort-AV: E=Sophos;i="5.96,319,1665471600"; d="scan'208";a="781746859" Received: from silpixa00401385.ir.intel.com ([10.237.214.166]) by orsmga004.jf.intel.com with ESMTP; 12 Jan 2023 02:59:18 -0800 From: Bruce Richardson To: dev@dpdk.org Cc: Bruce Richardson , =?utf-8?q?Morten_Br=C3=B8?= =?utf-8?q?rup?= , Tyler Retzlaff , Thomas Monjalon , Ferruh Yigit , Andrew Rybchenko , Ciara Power Subject: [PATCH v2 1/9] telemetry: remove RTE prefix from internal enum values Date: Thu, 12 Jan 2023 10:58:55 +0000 Message-Id: <20230112105903.46341-2-bruce.richardson@intel.com> X-Mailer: git-send-email 2.37.2 In-Reply-To: <20230112105903.46341-1-bruce.richardson@intel.com> References: <20221213182730.97065-1-bruce.richardson@intel.com> <20230112105903.46341-1-bruce.richardson@intel.com> MIME-Version: 1.0 X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org To better distinguish which values are public and which are internal remove the "RTE_" prefix off the internal enum defining the container types. Signed-off-by: Bruce Richardson Acked-by: Morten Brørup Acked-by: Tyler Retzlaff --- lib/ethdev/sff_telemetry.c | 2 +- lib/telemetry/telemetry.c | 36 +++++++++++++++--------------- lib/telemetry/telemetry_data.c | 40 +++++++++++++++++----------------- lib/telemetry/telemetry_data.h | 14 ++++++------ 4 files changed, 46 insertions(+), 46 deletions(-) diff --git a/lib/ethdev/sff_telemetry.c b/lib/ethdev/sff_telemetry.c index ca6d196560..5923350424 100644 --- a/lib/ethdev/sff_telemetry.c +++ b/lib/ethdev/sff_telemetry.c @@ -96,7 +96,7 @@ ssf_add_dict_string(struct rte_tel_data *d, const char *name_str, const char *va { struct tel_dict_entry *e = &d->data.dict[d->data_len]; - if (d->type != RTE_TEL_DICT) + if (d->type != TEL_DICT) return; if (d->data_len >= RTE_TEL_MAX_DICT_ENTRIES) { RTE_ETHDEV_LOG(ERR, "data_len has exceeded the maximum number of inserts\n"); diff --git a/lib/telemetry/telemetry.c b/lib/telemetry/telemetry.c index 8fbb4f3060..792b4e12b6 100644 --- a/lib/telemetry/telemetry.c +++ b/lib/telemetry/telemetry.c @@ -167,27 +167,27 @@ container_to_json(const struct rte_tel_data *d, char *out_buf, size_t buf_len) size_t used = 0; unsigned int i; - if (d->type != RTE_TEL_DICT && d->type != RTE_TEL_ARRAY_U64 && - d->type != RTE_TEL_ARRAY_INT && d->type != RTE_TEL_ARRAY_STRING) + if (d->type != TEL_DICT && d->type != TEL_ARRAY_U64 && + d->type != TEL_ARRAY_INT && d->type != TEL_ARRAY_STRING) return snprintf(out_buf, buf_len, "null"); used = rte_tel_json_empty_array(out_buf, buf_len, 0); - if (d->type == RTE_TEL_ARRAY_U64) + if (d->type == TEL_ARRAY_U64) for (i = 0; i < d->data_len; i++) used = rte_tel_json_add_array_u64(out_buf, buf_len, used, d->data.array[i].u64val); - if (d->type == RTE_TEL_ARRAY_INT) + if (d->type == TEL_ARRAY_INT) for (i = 0; i < d->data_len; i++) used = rte_tel_json_add_array_int(out_buf, buf_len, used, d->data.array[i].ival); - if (d->type == RTE_TEL_ARRAY_STRING) + if (d->type == TEL_ARRAY_STRING) for (i = 0; i < d->data_len; i++) used = rte_tel_json_add_array_string(out_buf, buf_len, used, d->data.array[i].sval); - if (d->type == RTE_TEL_DICT) + if (d->type == TEL_DICT) for (i = 0; i < d->data_len; i++) { const struct tel_dict_entry *v = &d->data.dict[i]; switch (v->type) { @@ -245,15 +245,15 @@ output_json(const char *cmd, const struct rte_tel_data *d, int s) buf_len = sizeof(out_buf) - prefix_used - 1; /* space for '}' */ switch (d->type) { - case RTE_TEL_NULL: + case TEL_NULL: used = strlcpy(cb_data_buf, "null", buf_len); break; - case RTE_TEL_STRING: + case TEL_STRING: used = rte_tel_json_str(cb_data_buf, buf_len, 0, d->data.str); break; - case RTE_TEL_DICT: + case TEL_DICT: used = rte_tel_json_empty_obj(cb_data_buf, buf_len, 0); for (i = 0; i < d->data_len; i++) { const struct tel_dict_entry *v = &d->data.dict[i]; @@ -291,26 +291,26 @@ output_json(const char *cmd, const struct rte_tel_data *d, int s) } break; - case RTE_TEL_ARRAY_STRING: - case RTE_TEL_ARRAY_INT: - case RTE_TEL_ARRAY_U64: - case RTE_TEL_ARRAY_CONTAINER: + case TEL_ARRAY_STRING: + case TEL_ARRAY_INT: + case TEL_ARRAY_U64: + case TEL_ARRAY_CONTAINER: used = rte_tel_json_empty_array(cb_data_buf, buf_len, 0); for (i = 0; i < d->data_len; i++) - if (d->type == RTE_TEL_ARRAY_STRING) + if (d->type == TEL_ARRAY_STRING) used = rte_tel_json_add_array_string( cb_data_buf, buf_len, used, d->data.array[i].sval); - else if (d->type == RTE_TEL_ARRAY_INT) + else if (d->type == TEL_ARRAY_INT) used = rte_tel_json_add_array_int(cb_data_buf, buf_len, used, d->data.array[i].ival); - else if (d->type == RTE_TEL_ARRAY_U64) + else if (d->type == TEL_ARRAY_U64) used = rte_tel_json_add_array_u64(cb_data_buf, buf_len, used, d->data.array[i].u64val); - else if (d->type == RTE_TEL_ARRAY_CONTAINER) { + else if (d->type == TEL_ARRAY_CONTAINER) { char temp[buf_len]; const struct container *rec_data = &d->data.array[i].container; @@ -351,7 +351,7 @@ static int unknown_command(const char *cmd __rte_unused, const char *params __rte_unused, struct rte_tel_data *d) { - return d->type = RTE_TEL_NULL; + return d->type = TEL_NULL; } static void * diff --git a/lib/telemetry/telemetry_data.c b/lib/telemetry/telemetry_data.c index 34366ecee3..76fae720e3 100644 --- a/lib/telemetry/telemetry_data.c +++ b/lib/telemetry/telemetry_data.c @@ -16,10 +16,10 @@ int rte_tel_data_start_array(struct rte_tel_data *d, enum rte_tel_value_type type) { enum tel_container_types array_types[] = { - RTE_TEL_ARRAY_STRING, /* RTE_TEL_STRING_VAL = 0 */ - RTE_TEL_ARRAY_INT, /* RTE_TEL_INT_VAL = 1 */ - RTE_TEL_ARRAY_U64, /* RTE_TEL_u64_VAL = 2 */ - RTE_TEL_ARRAY_CONTAINER, /* RTE_TEL_CONTAINER = 3 */ + TEL_ARRAY_STRING, /* RTE_TEL_STRING_VAL = 0 */ + TEL_ARRAY_INT, /* RTE_TEL_INT_VAL = 1 */ + TEL_ARRAY_U64, /* RTE_TEL_U64_VAL = 2 */ + TEL_ARRAY_CONTAINER, /* RTE_TEL_CONTAINER = 3 */ }; d->type = array_types[type]; d->data_len = 0; @@ -29,7 +29,7 @@ rte_tel_data_start_array(struct rte_tel_data *d, enum rte_tel_value_type type) int rte_tel_data_start_dict(struct rte_tel_data *d) { - d->type = RTE_TEL_DICT; + d->type = TEL_DICT; d->data_len = 0; return 0; } @@ -37,7 +37,7 @@ rte_tel_data_start_dict(struct rte_tel_data *d) int rte_tel_data_string(struct rte_tel_data *d, const char *str) { - d->type = RTE_TEL_STRING; + d->type = TEL_STRING; d->data_len = strlcpy(d->data.str, str, sizeof(d->data.str)); if (d->data_len >= RTE_TEL_MAX_SINGLE_STRING_LEN) { d->data_len = RTE_TEL_MAX_SINGLE_STRING_LEN - 1; @@ -49,7 +49,7 @@ rte_tel_data_string(struct rte_tel_data *d, const char *str) int rte_tel_data_add_array_string(struct rte_tel_data *d, const char *str) { - if (d->type != RTE_TEL_ARRAY_STRING) + if (d->type != TEL_ARRAY_STRING) return -EINVAL; if (d->data_len >= RTE_TEL_MAX_ARRAY_ENTRIES) return -ENOSPC; @@ -61,7 +61,7 @@ rte_tel_data_add_array_string(struct rte_tel_data *d, const char *str) int rte_tel_data_add_array_int(struct rte_tel_data *d, int x) { - if (d->type != RTE_TEL_ARRAY_INT) + if (d->type != TEL_ARRAY_INT) return -EINVAL; if (d->data_len >= RTE_TEL_MAX_ARRAY_ENTRIES) return -ENOSPC; @@ -72,7 +72,7 @@ rte_tel_data_add_array_int(struct rte_tel_data *d, int x) int rte_tel_data_add_array_u64(struct rte_tel_data *d, uint64_t x) { - if (d->type != RTE_TEL_ARRAY_U64) + if (d->type != TEL_ARRAY_U64) return -EINVAL; if (d->data_len >= RTE_TEL_MAX_ARRAY_ENTRIES) return -ENOSPC; @@ -84,10 +84,10 @@ int rte_tel_data_add_array_container(struct rte_tel_data *d, struct rte_tel_data *val, int keep) { - if (d->type != RTE_TEL_ARRAY_CONTAINER || - (val->type != RTE_TEL_ARRAY_U64 - && val->type != RTE_TEL_ARRAY_INT - && val->type != RTE_TEL_ARRAY_STRING)) + if (d->type != TEL_ARRAY_CONTAINER || + (val->type != TEL_ARRAY_U64 + && val->type != TEL_ARRAY_INT + && val->type != TEL_ARRAY_STRING)) return -EINVAL; if (d->data_len >= RTE_TEL_MAX_ARRAY_ENTRIES) return -ENOSPC; @@ -122,7 +122,7 @@ rte_tel_data_add_dict_string(struct rte_tel_data *d, const char *name, struct tel_dict_entry *e = &d->data.dict[d->data_len]; size_t nbytes, vbytes; - if (d->type != RTE_TEL_DICT) + if (d->type != TEL_DICT) return -EINVAL; if (d->data_len >= RTE_TEL_MAX_DICT_ENTRIES) return -ENOSPC; @@ -144,7 +144,7 @@ int rte_tel_data_add_dict_int(struct rte_tel_data *d, const char *name, int val) { struct tel_dict_entry *e = &d->data.dict[d->data_len]; - if (d->type != RTE_TEL_DICT) + if (d->type != TEL_DICT) return -EINVAL; if (d->data_len >= RTE_TEL_MAX_DICT_ENTRIES) return -ENOSPC; @@ -164,7 +164,7 @@ rte_tel_data_add_dict_u64(struct rte_tel_data *d, const char *name, uint64_t val) { struct tel_dict_entry *e = &d->data.dict[d->data_len]; - if (d->type != RTE_TEL_DICT) + if (d->type != TEL_DICT) return -EINVAL; if (d->data_len >= RTE_TEL_MAX_DICT_ENTRIES) return -ENOSPC; @@ -185,10 +185,10 @@ rte_tel_data_add_dict_container(struct rte_tel_data *d, const char *name, { struct tel_dict_entry *e = &d->data.dict[d->data_len]; - if (d->type != RTE_TEL_DICT || (val->type != RTE_TEL_ARRAY_U64 - && val->type != RTE_TEL_ARRAY_INT - && val->type != RTE_TEL_ARRAY_STRING - && val->type != RTE_TEL_DICT)) + if (d->type != TEL_DICT || (val->type != TEL_ARRAY_U64 + && val->type != TEL_ARRAY_INT + && val->type != TEL_ARRAY_STRING + && val->type != TEL_DICT)) return -EINVAL; if (d->data_len >= RTE_TEL_MAX_DICT_ENTRIES) return -ENOSPC; diff --git a/lib/telemetry/telemetry_data.h b/lib/telemetry/telemetry_data.h index 26aa28e72c..79c916bd7e 100644 --- a/lib/telemetry/telemetry_data.h +++ b/lib/telemetry/telemetry_data.h @@ -8,13 +8,13 @@ #include "rte_telemetry.h" enum tel_container_types { - RTE_TEL_NULL, /** null, used as error value */ - RTE_TEL_STRING, /** basic string type, no included data */ - RTE_TEL_DICT, /** name-value pairs, of individual value type */ - RTE_TEL_ARRAY_STRING, /** array of string values only */ - RTE_TEL_ARRAY_INT, /** array of signed, 32-bit int values */ - RTE_TEL_ARRAY_U64, /** array of unsigned 64-bit int values */ - RTE_TEL_ARRAY_CONTAINER, /** array of container structs */ + TEL_NULL, /** null, used as error value */ + TEL_STRING, /** basic string type, no included data */ + TEL_DICT, /** name-value pairs, of individual value type */ + TEL_ARRAY_STRING, /** array of string values only */ + TEL_ARRAY_INT, /** array of signed, 32-bit int values */ + TEL_ARRAY_U64, /** array of unsigned 64-bit int values */ + TEL_ARRAY_CONTAINER, /** array of container structs */ }; struct container { From patchwork Thu Jan 12 10:58:56 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Bruce Richardson X-Patchwork-Id: 121896 X-Patchwork-Delegate: thomas@monjalon.net Return-Path: X-Original-To: patchwork@inbox.dpdk.org Delivered-To: patchwork@inbox.dpdk.org Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 592FD423B5; Thu, 12 Jan 2023 11:59:32 +0100 (CET) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id A97A442D32; Thu, 12 Jan 2023 11:59:24 +0100 (CET) Received: from mga11.intel.com (mga11.intel.com [192.55.52.93]) by mails.dpdk.org (Postfix) with ESMTP id 90BB642D28 for ; Thu, 12 Jan 2023 11:59:23 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1673521163; x=1705057163; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=OqoJOM6rFcJxK6PURdiVEKd5oXyQmmZ9ICU3M2eYC9U=; b=KFOdJ9VIarA8Gfaj9/ebLP2FR1vapxHmyV2RGBBxE2kQXiK0bOnKke50 qp0IeFpoeHGVyyvpZVlm6HyOCCrd9XvCtmbEfTAfN6vZ3d6KPEs4EDP8q tudvtCPk9rgWh+QAQLknDVBbmjISkrLJE70sSS4M8PEV02LyJPNV2G/EI osUGZteCj9dKyEk3Rt7kZM9cF0j1IPRAHf9qprL2D4eSVD9MEBnYqPjgL ZNkjtO7vQu9h3ct8mjJvT1bqU+IwVivRTQMdrmz+yHtMeGRH7RMdVFeJ2 bXLCgIt0hgqHWR7Z0qi4c99CiwGX4dK1MHEtOp2jzo1ydruoJ/kB700LZ w==; X-IronPort-AV: E=McAfee;i="6500,9779,10586"; a="321365663" X-IronPort-AV: E=Sophos;i="5.96,319,1665471600"; d="scan'208";a="321365663" Received: from orsmga004.jf.intel.com ([10.7.209.38]) by fmsmga102.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 12 Jan 2023 02:59:23 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6500,9779,10586"; a="781746863" X-IronPort-AV: E=Sophos;i="5.96,319,1665471600"; d="scan'208";a="781746863" Received: from silpixa00401385.ir.intel.com ([10.237.214.166]) by orsmga004.jf.intel.com with ESMTP; 12 Jan 2023 02:59:21 -0800 From: Bruce Richardson To: dev@dpdk.org Cc: Bruce Richardson , =?utf-8?q?Morten_Br=C3=B8?= =?utf-8?q?rup?= , Tyler Retzlaff , Ciara Power Subject: [PATCH v2 2/9] telemetry: make array initialization more robust Date: Thu, 12 Jan 2023 10:58:56 +0000 Message-Id: <20230112105903.46341-3-bruce.richardson@intel.com> X-Mailer: git-send-email 2.37.2 In-Reply-To: <20230112105903.46341-1-bruce.richardson@intel.com> References: <20221213182730.97065-1-bruce.richardson@intel.com> <20230112105903.46341-1-bruce.richardson@intel.com> MIME-Version: 1.0 X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Rather than relying on a specific ordering of elements in the array matching that of elements in the enum definition, we can explicitly mark each array entry using the equivalent enum value as an index. Signed-off-by: Bruce Richardson Acked-by: Morten Brørup Acked-by: Tyler Retzlaff --- lib/telemetry/telemetry_data.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/lib/telemetry/telemetry_data.c b/lib/telemetry/telemetry_data.c index 76fae720e3..3f5ef3979b 100644 --- a/lib/telemetry/telemetry_data.c +++ b/lib/telemetry/telemetry_data.c @@ -16,10 +16,10 @@ int rte_tel_data_start_array(struct rte_tel_data *d, enum rte_tel_value_type type) { enum tel_container_types array_types[] = { - TEL_ARRAY_STRING, /* RTE_TEL_STRING_VAL = 0 */ - TEL_ARRAY_INT, /* RTE_TEL_INT_VAL = 1 */ - TEL_ARRAY_U64, /* RTE_TEL_U64_VAL = 2 */ - TEL_ARRAY_CONTAINER, /* RTE_TEL_CONTAINER = 3 */ + [RTE_TEL_STRING_VAL] = TEL_ARRAY_STRING, + [RTE_TEL_INT_VAL] = TEL_ARRAY_INT, + [RTE_TEL_U64_VAL] = TEL_ARRAY_U64, + [RTE_TEL_CONTAINER] = TEL_ARRAY_CONTAINER, }; d->type = array_types[type]; d->data_len = 0; From patchwork Thu Jan 12 10:58:57 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Bruce Richardson X-Patchwork-Id: 121897 X-Patchwork-Delegate: thomas@monjalon.net Return-Path: X-Original-To: patchwork@inbox.dpdk.org Delivered-To: patchwork@inbox.dpdk.org Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 81277423B5; Thu, 12 Jan 2023 11:59:38 +0100 (CET) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 9B81542D38; Thu, 12 Jan 2023 11:59:30 +0100 (CET) Received: from mga11.intel.com (mga11.intel.com [192.55.52.93]) by mails.dpdk.org (Postfix) with ESMTP id 4E00442D38 for ; Thu, 12 Jan 2023 11:59:28 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1673521168; x=1705057168; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=qPzGVFrE4tVD+RfLTG9fKx3YX+3Vkv8o0EyBaEW6chA=; b=FLjyniA6l3/KvAwTPmIRQ2ZEiQKl/8kLJjqne45wyZKPau73uQ4RmhcE NTX5I25rQDcwo+PZpG4Wy976tSG+M6sFHxFhERG64lAt/5s7sPElQiY5p DQ8GpwFOrtVB3+c2pLkq0LKA0fMMZTHQDkvQOPjRLFJqtrQaXNQky63Tn fXj+Rp9UqeU4X9RdOlGCIOKxbY/XHW7gdPeMRpx0U0cyaLzNjLH2t7f23 l54sJdBbuUMNCHjcXZgNwuAfFalA2ukTlETwJvOLwn+EiOfKKR1FgA8cB lVvlClwJAO5LjdxCTh2X3JB2Lun6e9gnW8NEwzTJ4DLpcBoMq/aRleaHE Q==; X-IronPort-AV: E=McAfee;i="6500,9779,10586"; a="321365669" X-IronPort-AV: E=Sophos;i="5.96,319,1665471600"; d="scan'208";a="321365669" Received: from orsmga004.jf.intel.com ([10.7.209.38]) by fmsmga102.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 12 Jan 2023 02:59:27 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6500,9779,10586"; a="781746872" X-IronPort-AV: E=Sophos;i="5.96,319,1665471600"; d="scan'208";a="781746872" Received: from silpixa00401385.ir.intel.com ([10.237.214.166]) by orsmga004.jf.intel.com with ESMTP; 12 Jan 2023 02:59:23 -0800 From: Bruce Richardson To: dev@dpdk.org Cc: Bruce Richardson , =?utf-8?q?Morten_Br=C3=B8?= =?utf-8?q?rup?= , Tyler Retzlaff , Ciara Power , Nithin Dabilpuram , Kiran Kumar K , Sunil Kumar Kori , Satha Rao , Akhil Goyal , Fan Zhang , Thomas Monjalon , Ferruh Yigit , Andrew Rybchenko , Konstantin Ananyev , Vladimir Medvedkin Subject: [PATCH v2 3/9] telemetry: rename unsigned 64-bit enum value to uint Date: Thu, 12 Jan 2023 10:58:57 +0000 Message-Id: <20230112105903.46341-4-bruce.richardson@intel.com> X-Mailer: git-send-email 2.37.2 In-Reply-To: <20230112105903.46341-1-bruce.richardson@intel.com> References: <20221213182730.97065-1-bruce.richardson@intel.com> <20230112105903.46341-1-bruce.richardson@intel.com> MIME-Version: 1.0 X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org For telemetry data, rather than having unsigned 64-bit values and signed 32-bit values, we want to just have unsigned and signed values, each stored with the max bit-width i.e. 64-bits. To that end, we rename the U64 enum entry to "UINT" to have a more generic name For backward API-level compatibility, we can use a macro to alias the old name to the new. Suggested-by: Morten Brørup Signed-off-by: Bruce Richardson Acked-by: Morten Brørup Acked-by: Tyler Retzlaff --- app/test/test_telemetry_data.c | 10 +++++----- drivers/net/cnxk/cnxk_ethdev_sec_telemetry.c | 4 ++-- drivers/net/cnxk/cnxk_ethdev_telemetry.c | 2 +- lib/cryptodev/rte_cryptodev.c | 2 +- lib/ethdev/rte_ethdev.c | 2 +- lib/ipsec/ipsec_telemetry.c | 2 +- lib/security/rte_security.c | 4 ++-- lib/telemetry/rte_telemetry.h | 6 ++++-- lib/telemetry/telemetry.c | 4 ++-- lib/telemetry/telemetry_data.c | 4 ++-- 10 files changed, 21 insertions(+), 19 deletions(-) diff --git a/app/test/test_telemetry_data.c b/app/test/test_telemetry_data.c index d92667a527..24a2035b61 100644 --- a/app/test/test_telemetry_data.c +++ b/app/test/test_telemetry_data.c @@ -283,7 +283,7 @@ test_case_array_u64(void) { int i; - rte_tel_data_start_array(&response_data, RTE_TEL_U64_VAL); + rte_tel_data_start_array(&response_data, RTE_TEL_UINT_VAL); for (i = 0; i < 5; i++) rte_tel_data_add_array_u64(&response_data, i); return CHECK_OUTPUT("[0,1,2,3,4]"); @@ -310,10 +310,10 @@ test_dict_with_array_u64_values(void) int i; struct rte_tel_data *child_data = rte_tel_data_alloc(); - rte_tel_data_start_array(child_data, RTE_TEL_U64_VAL); + rte_tel_data_start_array(child_data, RTE_TEL_UINT_VAL); struct rte_tel_data *child_data2 = rte_tel_data_alloc(); - rte_tel_data_start_array(child_data2, RTE_TEL_U64_VAL); + rte_tel_data_start_array(child_data2, RTE_TEL_UINT_VAL); rte_tel_data_start_dict(&response_data); @@ -336,10 +336,10 @@ test_array_with_array_u64_values(void) int i; struct rte_tel_data *child_data = rte_tel_data_alloc(); - rte_tel_data_start_array(child_data, RTE_TEL_U64_VAL); + rte_tel_data_start_array(child_data, RTE_TEL_UINT_VAL); struct rte_tel_data *child_data2 = rte_tel_data_alloc(); - rte_tel_data_start_array(child_data2, RTE_TEL_U64_VAL); + rte_tel_data_start_array(child_data2, RTE_TEL_UINT_VAL); rte_tel_data_start_array(&response_data, RTE_TEL_CONTAINER); diff --git a/drivers/net/cnxk/cnxk_ethdev_sec_telemetry.c b/drivers/net/cnxk/cnxk_ethdev_sec_telemetry.c index 8e6277cbcd..59f0cce5ab 100644 --- a/drivers/net/cnxk/cnxk_ethdev_sec_telemetry.c +++ b/drivers/net/cnxk/cnxk_ethdev_sec_telemetry.c @@ -94,7 +94,7 @@ copy_outb_sa_10k(struct rte_tel_data *d, uint32_t i, void *sa) return -ENOMEM; } - rte_tel_data_start_array(outer_hdr, RTE_TEL_U64_VAL); + rte_tel_data_start_array(outer_hdr, RTE_TEL_UINT_VAL); for (j = 0; j < RTE_DIM(out_sa->outer_hdr.ipv6.src_addr); j++) rte_tel_data_add_array_u64(outer_hdr, @@ -167,7 +167,7 @@ copy_inb_sa_10k(struct rte_tel_data *d, uint32_t i, void *sa) return -ENOMEM; } - rte_tel_data_start_array(outer_hdr, RTE_TEL_U64_VAL); + rte_tel_data_start_array(outer_hdr, RTE_TEL_UINT_VAL); for (j = 0; j < RTE_DIM(in_sa->outer_hdr.ipv6.src_addr); j++) rte_tel_data_add_array_u64(outer_hdr, diff --git a/drivers/net/cnxk/cnxk_ethdev_telemetry.c b/drivers/net/cnxk/cnxk_ethdev_telemetry.c index 180108ab9c..5db973d620 100644 --- a/drivers/net/cnxk/cnxk_ethdev_telemetry.c +++ b/drivers/net/cnxk/cnxk_ethdev_telemetry.c @@ -52,7 +52,7 @@ ethdev_tel_handle_info(const char *cmd __rte_unused, i_data = rte_tel_data_alloc(); if (i_data == NULL) return -ENOMEM; - rte_tel_data_start_array(i_data, RTE_TEL_U64_VAL); + rte_tel_data_start_array(i_data, RTE_TEL_UINT_VAL); for (i = 0; i < RTE_MAX_ETHPORTS; i++) { /* Skip if port is unused */ diff --git a/lib/cryptodev/rte_cryptodev.c b/lib/cryptodev/rte_cryptodev.c index 2165a0688c..79ea958db4 100644 --- a/lib/cryptodev/rte_cryptodev.c +++ b/lib/cryptodev/rte_cryptodev.c @@ -2744,7 +2744,7 @@ crypto_caps_array(struct rte_tel_data *d, uint64_t caps_val[CRYPTO_CAPS_SZ]; unsigned int i = 0, j; - rte_tel_data_start_array(d, RTE_TEL_U64_VAL); + rte_tel_data_start_array(d, RTE_TEL_UINT_VAL); while ((dev_caps = &capabilities[i++])->op != RTE_CRYPTO_OP_TYPE_UNDEFINED) { diff --git a/lib/ethdev/rte_ethdev.c b/lib/ethdev/rte_ethdev.c index 5d5e18db1e..28028e5de5 100644 --- a/lib/ethdev/rte_ethdev.c +++ b/lib/ethdev/rte_ethdev.c @@ -5818,7 +5818,7 @@ eth_dev_add_port_queue_stats(struct rte_tel_data *d, uint64_t *q_stats, struct rte_tel_data *q_data = rte_tel_data_alloc(); if (q_data == NULL) return; - rte_tel_data_start_array(q_data, RTE_TEL_U64_VAL); + rte_tel_data_start_array(q_data, RTE_TEL_UINT_VAL); for (q = 0; q < RTE_ETHDEV_QUEUE_STAT_CNTRS; q++) rte_tel_data_add_array_u64(q_data, q_stats[q]); rte_tel_data_add_dict_container(d, stat_name, q_data, 0); diff --git a/lib/ipsec/ipsec_telemetry.c b/lib/ipsec/ipsec_telemetry.c index cfebf454d6..b184e8df99 100644 --- a/lib/ipsec/ipsec_telemetry.c +++ b/lib/ipsec/ipsec_telemetry.c @@ -22,7 +22,7 @@ handle_telemetry_cmd_ipsec_sa_list(const char *cmd __rte_unused, struct rte_tel_data *data) { struct ipsec_telemetry_entry *entry; - rte_tel_data_start_array(data, RTE_TEL_U64_VAL); + rte_tel_data_start_array(data, RTE_TEL_UINT_VAL); LIST_FOREACH(entry, &ipsec_telemetry_list, next) { const struct rte_ipsec_sa *sa = entry->sa; diff --git a/lib/security/rte_security.c b/lib/security/rte_security.c index 29af5f3e4b..68063f6450 100644 --- a/lib/security/rte_security.c +++ b/lib/security/rte_security.c @@ -316,7 +316,7 @@ crypto_caps_array(struct rte_tel_data *d, uint64_t caps_val[CRYPTO_CAPS_SZ]; unsigned int i = 0, j; - rte_tel_data_start_array(d, RTE_TEL_U64_VAL); + rte_tel_data_start_array(d, RTE_TEL_UINT_VAL); while ((dev_caps = &capabilities[i++])->op != RTE_CRYPTO_OP_TYPE_UNDEFINED) { @@ -341,7 +341,7 @@ sec_caps_array(struct rte_tel_data *d, uint64_t caps_val[SEC_CAPS_SZ]; unsigned int i = 0, j; - rte_tel_data_start_array(d, RTE_TEL_U64_VAL); + rte_tel_data_start_array(d, RTE_TEL_UINT_VAL); while ((dev_caps = &capabilities[i++])->action != RTE_SECURITY_ACTION_TYPE_NONE) { diff --git a/lib/telemetry/rte_telemetry.h b/lib/telemetry/rte_telemetry.h index d9918c4e96..c2ad65effe 100644 --- a/lib/telemetry/rte_telemetry.h +++ b/lib/telemetry/rte_telemetry.h @@ -43,10 +43,12 @@ struct rte_tel_data; enum rte_tel_value_type { RTE_TEL_STRING_VAL, /** a string value */ RTE_TEL_INT_VAL, /** a signed 32-bit int value */ - RTE_TEL_U64_VAL, /** an unsigned 64-bit int value */ + RTE_TEL_UINT_VAL, /** an unsigned 64-bit int value */ RTE_TEL_CONTAINER, /** a container struct */ }; +#define RTE_TEL_U64_VAL RTE_TEL_UINT_VAL + /** * Start an array of the specified type for returning from a callback * @@ -121,7 +123,7 @@ rte_tel_data_add_array_int(struct rte_tel_data *d, int x); /** * Add a uint64_t to an array. * The array must have been started by rte_tel_data_start_array() with - * RTE_TEL_U64_VAL as the type parameter. + * RTE_TEL_UINT_VAL as the type parameter. * * @param d * The data structure passed to the callback diff --git a/lib/telemetry/telemetry.c b/lib/telemetry/telemetry.c index 792b4e12b6..916a0a4604 100644 --- a/lib/telemetry/telemetry.c +++ b/lib/telemetry/telemetry.c @@ -201,7 +201,7 @@ container_to_json(const struct rte_tel_data *d, char *out_buf, size_t buf_len) buf_len, used, v->name, v->value.ival); break; - case RTE_TEL_U64_VAL: + case RTE_TEL_UINT_VAL: used = rte_tel_json_add_obj_u64(out_buf, buf_len, used, v->name, v->value.u64val); @@ -268,7 +268,7 @@ output_json(const char *cmd, const struct rte_tel_data *d, int s) buf_len, used, v->name, v->value.ival); break; - case RTE_TEL_U64_VAL: + case RTE_TEL_UINT_VAL: used = rte_tel_json_add_obj_u64(cb_data_buf, buf_len, used, v->name, v->value.u64val); diff --git a/lib/telemetry/telemetry_data.c b/lib/telemetry/telemetry_data.c index 3f5ef3979b..d4345908d5 100644 --- a/lib/telemetry/telemetry_data.c +++ b/lib/telemetry/telemetry_data.c @@ -18,7 +18,7 @@ rte_tel_data_start_array(struct rte_tel_data *d, enum rte_tel_value_type type) enum tel_container_types array_types[] = { [RTE_TEL_STRING_VAL] = TEL_ARRAY_STRING, [RTE_TEL_INT_VAL] = TEL_ARRAY_INT, - [RTE_TEL_U64_VAL] = TEL_ARRAY_U64, + [RTE_TEL_UINT_VAL] = TEL_ARRAY_U64, [RTE_TEL_CONTAINER] = TEL_ARRAY_CONTAINER, }; d->type = array_types[type]; @@ -173,7 +173,7 @@ rte_tel_data_add_dict_u64(struct rte_tel_data *d, return -EINVAL; d->data_len++; - e->type = RTE_TEL_U64_VAL; + e->type = RTE_TEL_UINT_VAL; e->value.u64val = val; const size_t bytes = strlcpy(e->name, name, RTE_TEL_MAX_STRING_LEN); return bytes < RTE_TEL_MAX_STRING_LEN ? 0 : E2BIG; From patchwork Thu Jan 12 10:58:58 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Bruce Richardson X-Patchwork-Id: 121898 X-Patchwork-Delegate: thomas@monjalon.net Return-Path: X-Original-To: patchwork@inbox.dpdk.org Delivered-To: patchwork@inbox.dpdk.org Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id E4F7C423B5; Thu, 12 Jan 2023 11:59:44 +0100 (CET) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 792C742D3F; Thu, 12 Jan 2023 11:59:32 +0100 (CET) Received: from mga11.intel.com (mga11.intel.com [192.55.52.93]) by mails.dpdk.org (Postfix) with ESMTP id 9D56742D39 for ; Thu, 12 Jan 2023 11:59:30 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1673521170; x=1705057170; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=u2ApU2MSOgT9Q4rzioBnRimpjsyO3FLzdPg2K5DgPL8=; b=KGxNYLboQHNzCt+xRy9bhrMY5efgV7oXpSV3PQq1j1/Jo2FQmOKvntIY elkeLj9MrQilA5yqwELhE3oUmKBK73iu2sACA/GBVVoyRlW/+ZRLMzHwt QUwWCCuIZQLU3XGP07dnnE6oZzq7aVvHS6RSyuBX2FXL4vjRvAN+MkUhC WdnR8Arx8eZ5dgAWSSihAw6I5u7KwXXlM7shhyJDy+tQP97iACSJNkIuu /yK3H8ScQypzkwCCk/sIApwvMPlc6XXHlqp6UMJKqrgd9H+0+9R/m+MrE bKdEgbk6WUDyEHbHxIUuzaa+V25pLAQ1kCU0rYkxMsUuADxYdEF26eUFl A==; X-IronPort-AV: E=McAfee;i="6500,9779,10586"; a="321365684" X-IronPort-AV: E=Sophos;i="5.96,319,1665471600"; d="scan'208";a="321365684" Received: from orsmga004.jf.intel.com ([10.7.209.38]) by fmsmga102.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 12 Jan 2023 02:59:30 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6500,9779,10586"; a="781746880" X-IronPort-AV: E=Sophos;i="5.96,319,1665471600"; d="scan'208";a="781746880" Received: from silpixa00401385.ir.intel.com ([10.237.214.166]) by orsmga004.jf.intel.com with ESMTP; 12 Jan 2023 02:59:27 -0800 From: Bruce Richardson To: dev@dpdk.org Cc: Bruce Richardson , =?utf-8?q?Morten_Br=C3=B8?= =?utf-8?q?rup?= , Tyler Retzlaff , Ciara Power Subject: [PATCH v2 4/9] telemetry: add uint type as alias for u64 Date: Thu, 12 Jan 2023 10:58:58 +0000 Message-Id: <20230112105903.46341-5-bruce.richardson@intel.com> X-Mailer: git-send-email 2.37.2 In-Reply-To: <20230112105903.46341-1-bruce.richardson@intel.com> References: <20221213182730.97065-1-bruce.richardson@intel.com> <20230112105903.46341-1-bruce.richardson@intel.com> MIME-Version: 1.0 X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org To match the "_int" suffix for telemetry data functions taking signed values, we can add new functions with the "_uint" suffix for unsigned ones. While later patches will deprecate the old public functions, for now we can just add the new functions as aliases or duplicates of the older ones with the "u64" suffix. Internal functions can be directly renamed, without any need for aliasing or deprecation. Suggested-by: Morten Brørup Signed-off-by: Bruce Richardson Acked-by: Morten Brørup Acked-by: Tyler Retzlaff --- NOTE: To avoid excessive checkpatch warnings, these functions are added initially as experimental. A later patch marks them as stable as part of the deprecation process for the old ones. --- lib/telemetry/rte_telemetry.h | 37 ++++++++++++++++++++++++++++++++++ lib/telemetry/telemetry.c | 16 +++++++-------- lib/telemetry/telemetry_data.c | 28 +++++++++++++++++-------- lib/telemetry/telemetry_data.h | 4 ++-- lib/telemetry/version.map | 7 +++++++ 5 files changed, 74 insertions(+), 18 deletions(-) diff --git a/lib/telemetry/rte_telemetry.h b/lib/telemetry/rte_telemetry.h index c2ad65effe..73a0511807 100644 --- a/lib/telemetry/rte_telemetry.h +++ b/lib/telemetry/rte_telemetry.h @@ -8,6 +8,8 @@ #ifndef _RTE_TELEMETRY_H_ #define _RTE_TELEMETRY_H_ +#include + #ifdef __cplusplus extern "C" { #endif @@ -121,6 +123,22 @@ int rte_tel_data_add_array_int(struct rte_tel_data *d, int x); /** + * Add an unsigned value to an array. + * The array must have been started by rte_tel_data_start_array() with + * RTE_TEL_UINT_VAL as the type parameter. + * + * @param d + * The data structure passed to the callback + * @param x + * The number to be returned in the array + * @return + * 0 on success, negative errno on error + */ +__rte_experimental +int +rte_tel_data_add_array_uint(struct rte_tel_data *d, uint64_t x); + + /** * Add a uint64_t to an array. * The array must have been started by rte_tel_data_start_array() with * RTE_TEL_UINT_VAL as the type parameter. @@ -193,6 +211,25 @@ int rte_tel_data_add_dict_int(struct rte_tel_data *d, const char *name, int val); /** + * Add an unsigned value to a dictionary. + * The dict must have been started by rte_tel_data_start_dict(). + * + * @param d + * The data structure passed to the callback + * @param name + * The name the value is to be stored under in the dict + * Must contain only alphanumeric characters or the symbols: '_' or '/' + * @param val + * The number to be stored in the dict + * @return + * 0 on success, negative errno on error, E2BIG on string truncation of name. + */ +__rte_experimental +int +rte_tel_data_add_dict_uint(struct rte_tel_data *d, + const char *name, uint64_t val); + + /** * Add a uint64_t value to a dictionary. * The dict must have been started by rte_tel_data_start_dict(). * diff --git a/lib/telemetry/telemetry.c b/lib/telemetry/telemetry.c index 916a0a4604..89bdde8422 100644 --- a/lib/telemetry/telemetry.c +++ b/lib/telemetry/telemetry.c @@ -167,16 +167,16 @@ container_to_json(const struct rte_tel_data *d, char *out_buf, size_t buf_len) size_t used = 0; unsigned int i; - if (d->type != TEL_DICT && d->type != TEL_ARRAY_U64 && + if (d->type != TEL_DICT && d->type != TEL_ARRAY_UINT && d->type != TEL_ARRAY_INT && d->type != TEL_ARRAY_STRING) return snprintf(out_buf, buf_len, "null"); used = rte_tel_json_empty_array(out_buf, buf_len, 0); - if (d->type == TEL_ARRAY_U64) + if (d->type == TEL_ARRAY_UINT) for (i = 0; i < d->data_len; i++) used = rte_tel_json_add_array_u64(out_buf, buf_len, used, - d->data.array[i].u64val); + d->data.array[i].uval); if (d->type == TEL_ARRAY_INT) for (i = 0; i < d->data_len; i++) used = rte_tel_json_add_array_int(out_buf, @@ -204,7 +204,7 @@ container_to_json(const struct rte_tel_data *d, char *out_buf, size_t buf_len) case RTE_TEL_UINT_VAL: used = rte_tel_json_add_obj_u64(out_buf, buf_len, used, - v->name, v->value.u64val); + v->name, v->value.uval); break; case RTE_TEL_CONTAINER: { @@ -271,7 +271,7 @@ output_json(const char *cmd, const struct rte_tel_data *d, int s) case RTE_TEL_UINT_VAL: used = rte_tel_json_add_obj_u64(cb_data_buf, buf_len, used, - v->name, v->value.u64val); + v->name, v->value.uval); break; case RTE_TEL_CONTAINER: { @@ -293,7 +293,7 @@ output_json(const char *cmd, const struct rte_tel_data *d, int s) case TEL_ARRAY_STRING: case TEL_ARRAY_INT: - case TEL_ARRAY_U64: + case TEL_ARRAY_UINT: case TEL_ARRAY_CONTAINER: used = rte_tel_json_empty_array(cb_data_buf, buf_len, 0); for (i = 0; i < d->data_len; i++) @@ -306,10 +306,10 @@ output_json(const char *cmd, const struct rte_tel_data *d, int s) used = rte_tel_json_add_array_int(cb_data_buf, buf_len, used, d->data.array[i].ival); - else if (d->type == TEL_ARRAY_U64) + else if (d->type == TEL_ARRAY_UINT) used = rte_tel_json_add_array_u64(cb_data_buf, buf_len, used, - d->data.array[i].u64val); + d->data.array[i].uval); else if (d->type == TEL_ARRAY_CONTAINER) { char temp[buf_len]; const struct container *rec_data = diff --git a/lib/telemetry/telemetry_data.c b/lib/telemetry/telemetry_data.c index d4345908d5..9a180937fd 100644 --- a/lib/telemetry/telemetry_data.c +++ b/lib/telemetry/telemetry_data.c @@ -18,7 +18,7 @@ rte_tel_data_start_array(struct rte_tel_data *d, enum rte_tel_value_type type) enum tel_container_types array_types[] = { [RTE_TEL_STRING_VAL] = TEL_ARRAY_STRING, [RTE_TEL_INT_VAL] = TEL_ARRAY_INT, - [RTE_TEL_UINT_VAL] = TEL_ARRAY_U64, + [RTE_TEL_UINT_VAL] = TEL_ARRAY_UINT, [RTE_TEL_CONTAINER] = TEL_ARRAY_CONTAINER, }; d->type = array_types[type]; @@ -70,22 +70,28 @@ rte_tel_data_add_array_int(struct rte_tel_data *d, int x) } int -rte_tel_data_add_array_u64(struct rte_tel_data *d, uint64_t x) +rte_tel_data_add_array_uint(struct rte_tel_data *d, uint64_t x) { - if (d->type != TEL_ARRAY_U64) + if (d->type != TEL_ARRAY_UINT) return -EINVAL; if (d->data_len >= RTE_TEL_MAX_ARRAY_ENTRIES) return -ENOSPC; - d->data.array[d->data_len++].u64val = x; + d->data.array[d->data_len++].uval = x; return 0; } +int +rte_tel_data_add_array_u64(struct rte_tel_data *d, uint64_t x) +{ + return rte_tel_data_add_array_uint(d, x); +} + 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_U64 + (val->type != TEL_ARRAY_UINT && val->type != TEL_ARRAY_INT && val->type != TEL_ARRAY_STRING)) return -EINVAL; @@ -160,7 +166,7 @@ rte_tel_data_add_dict_int(struct rte_tel_data *d, const char *name, int val) } int -rte_tel_data_add_dict_u64(struct rte_tel_data *d, +rte_tel_data_add_dict_uint(struct rte_tel_data *d, const char *name, uint64_t val) { struct tel_dict_entry *e = &d->data.dict[d->data_len]; @@ -174,18 +180,24 @@ rte_tel_data_add_dict_u64(struct rte_tel_data *d, d->data_len++; e->type = RTE_TEL_UINT_VAL; - e->value.u64val = val; + e->value.uval = val; const size_t bytes = strlcpy(e->name, name, RTE_TEL_MAX_STRING_LEN); return bytes < RTE_TEL_MAX_STRING_LEN ? 0 : E2BIG; } +int +rte_tel_data_add_dict_u64(struct rte_tel_data *d, const char *name, uint64_t val) +{ + return rte_tel_data_add_dict_uint(d, name, val); +} + int rte_tel_data_add_dict_container(struct rte_tel_data *d, const char *name, struct rte_tel_data *val, int keep) { struct tel_dict_entry *e = &d->data.dict[d->data_len]; - if (d->type != TEL_DICT || (val->type != TEL_ARRAY_U64 + if (d->type != TEL_DICT || (val->type != TEL_ARRAY_UINT && val->type != TEL_ARRAY_INT && val->type != TEL_ARRAY_STRING && val->type != TEL_DICT)) diff --git a/lib/telemetry/telemetry_data.h b/lib/telemetry/telemetry_data.h index 79c916bd7e..8db6875a81 100644 --- a/lib/telemetry/telemetry_data.h +++ b/lib/telemetry/telemetry_data.h @@ -13,7 +13,7 @@ enum tel_container_types { TEL_DICT, /** name-value pairs, of individual value type */ TEL_ARRAY_STRING, /** array of string values only */ TEL_ARRAY_INT, /** array of signed, 32-bit int values */ - TEL_ARRAY_U64, /** array of unsigned 64-bit int values */ + TEL_ARRAY_UINT, /** array of unsigned 64-bit int values */ TEL_ARRAY_CONTAINER, /** array of container structs */ }; @@ -29,7 +29,7 @@ struct container { union tel_value { char sval[RTE_TEL_MAX_STRING_LEN]; int ival; - uint64_t u64val; + uint64_t uval; struct container container; }; diff --git a/lib/telemetry/version.map b/lib/telemetry/version.map index 9794f9ea20..0f70d82dfc 100644 --- a/lib/telemetry/version.map +++ b/lib/telemetry/version.map @@ -19,6 +19,13 @@ DPDK_23 { local: *; }; +EXPERIMENTAL { + global: + + rte_tel_data_add_array_uint; + rte_tel_data_add_dict_uint; +}; + INTERNAL { rte_telemetry_legacy_register; rte_telemetry_init; From patchwork Thu Jan 12 10:58:59 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Bruce Richardson X-Patchwork-Id: 121899 X-Patchwork-Delegate: thomas@monjalon.net Return-Path: X-Original-To: patchwork@inbox.dpdk.org Delivered-To: patchwork@inbox.dpdk.org Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 4D398423B5; Thu, 12 Jan 2023 11:59:52 +0100 (CET) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id D6B5342D45; Thu, 12 Jan 2023 11:59:40 +0100 (CET) Received: from mga11.intel.com (mga11.intel.com [192.55.52.93]) by mails.dpdk.org (Postfix) with ESMTP id 95E2342D45 for ; Thu, 12 Jan 2023 11:59:38 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1673521178; x=1705057178; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=lSk1EocHLrDMaEoowVLldu7s81Km3d9pZpVxC52pK6E=; b=DwTvG4b4M/Wh4OfSaemXFbLu3lpWXwAYE10xSUo3rmqh96NqcEQYR57P pt5zJIysNl+AFinAKXwmDfIeSGFxAVJc8ogVVGF8fv170XQ8dfyeOCvJJ 05NwdxiJPE2CSwmD0juVZZThWo+pi//EYGEsz5YJkR4I8mWmMwOukwaFc bdR1wyyhfp33GjSXi/bEmV2DMXCG6cwRhGSBZxsgIHgOTHFJvLZm0Wtrj cO6Gq2cNX7FFesrGgzCY+r5fpxRclqELzDNTRNiWUYW2f+2inlCooGWGv nL1s2Qomt6KW4huYhFY1gDXQc6yscgD2rDiTXZUGTQ2rTiJuNZ56+/Jpq Q==; X-IronPort-AV: E=McAfee;i="6500,9779,10586"; a="321365711" X-IronPort-AV: E=Sophos;i="5.96,319,1665471600"; d="scan'208";a="321365711" Received: from orsmga004.jf.intel.com ([10.7.209.38]) by fmsmga102.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 12 Jan 2023 02:59:37 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6500,9779,10586"; a="781746895" X-IronPort-AV: E=Sophos;i="5.96,319,1665471600"; d="scan'208";a="781746895" Received: from silpixa00401385.ir.intel.com ([10.237.214.166]) by orsmga004.jf.intel.com with ESMTP; 12 Jan 2023 02:59:30 -0800 From: Bruce Richardson To: dev@dpdk.org Cc: Bruce Richardson , Ciara Power , Nithin Dabilpuram , Kiran Kumar K , Sunil Kumar Kori , Satha Rao , Radu Nicolau , Akhil Goyal , David Hunt , Fan Zhang , Chengwen Feng , Kevin Laatz , Anatoly Burakov , Thomas Monjalon , Ferruh Yigit , Andrew Rybchenko , Naga Harish K S V , Jerin Jacob , Erik Gabriel Carrillo , Konstantin Ananyev , Vladimir Medvedkin , Sachin Saxena , Hemant Agrawal Subject: [PATCH v2 5/9] global: rename telemetry functions to newer versions Date: Thu, 12 Jan 2023 10:58:59 +0000 Message-Id: <20230112105903.46341-6-bruce.richardson@intel.com> X-Mailer: git-send-email 2.37.2 In-Reply-To: <20230112105903.46341-1-bruce.richardson@intel.com> References: <20221213182730.97065-1-bruce.richardson@intel.com> <20230112105903.46341-1-bruce.richardson@intel.com> MIME-Version: 1.0 X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Within the DPDK code-base, replace all occurances of "rte_tel_data_add_array_u64" with "rte_tel_data_add_array_uint", and similarly replace all occurances of "rte_tel_data_add_dict_u64" with "rte_tel_data_add_dict_uint". This allows us to later mark the older functions as deprecated without hitting warnings. Signed-off-by: Bruce Richardson --- app/test/test_telemetry_data.c | 12 ++-- drivers/common/cnxk/roc_platform.h | 2 +- drivers/net/cnxk/cnxk_ethdev_sec_telemetry.c | 20 +++--- drivers/net/cnxk/cnxk_ethdev_telemetry.c | 4 +- examples/ipsec-secgw/ipsec-secgw.c | 72 +++++++++----------- examples/l3fwd-power/main.c | 4 +- lib/cryptodev/rte_cryptodev.c | 4 +- lib/dmadev/rte_dmadev.c | 2 +- lib/eal/common/eal_common_memory.c | 19 +++--- lib/ethdev/rte_ethdev.c | 10 +-- lib/eventdev/rte_event_eth_rx_adapter.c | 22 +++--- lib/eventdev/rte_event_timer_adapter.c | 38 +++++++---- lib/eventdev/rte_eventdev.c | 5 +- lib/ipsec/ipsec_telemetry.c | 30 ++++---- lib/rawdev/rte_rawdev.c | 4 +- lib/security/rte_security.c | 4 +- 16 files changed, 128 insertions(+), 124 deletions(-) diff --git a/app/test/test_telemetry_data.c b/app/test/test_telemetry_data.c index 24a2035b61..b00c148a57 100644 --- a/app/test/test_telemetry_data.c +++ b/app/test/test_telemetry_data.c @@ -285,7 +285,7 @@ test_case_array_u64(void) rte_tel_data_start_array(&response_data, RTE_TEL_UINT_VAL); for (i = 0; i < 5; i++) - rte_tel_data_add_array_u64(&response_data, i); + rte_tel_data_add_array_uint(&response_data, i); return CHECK_OUTPUT("[0,1,2,3,4]"); } @@ -299,7 +299,7 @@ test_case_add_dict_u64(void) for (i = 0; i < 5; i++) { sprintf(name_of_value, "dict_%d", i); - rte_tel_data_add_dict_u64(&response_data, name_of_value, i); + rte_tel_data_add_dict_uint(&response_data, name_of_value, i); } return CHECK_OUTPUT("{\"dict_0\":0,\"dict_1\":1,\"dict_2\":2,\"dict_3\":3,\"dict_4\":4}"); } @@ -318,8 +318,8 @@ test_dict_with_array_u64_values(void) rte_tel_data_start_dict(&response_data); for (i = 0; i < 10; i++) { - rte_tel_data_add_array_u64(child_data, i); - rte_tel_data_add_array_u64(child_data2, i); + rte_tel_data_add_array_uint(child_data, i); + rte_tel_data_add_array_uint(child_data2, i); } rte_tel_data_add_dict_container(&response_data, "dict_0", @@ -344,8 +344,8 @@ test_array_with_array_u64_values(void) rte_tel_data_start_array(&response_data, RTE_TEL_CONTAINER); for (i = 0; i < 5; i++) { - rte_tel_data_add_array_u64(child_data, i); - rte_tel_data_add_array_u64(child_data2, i); + rte_tel_data_add_array_uint(child_data, i); + rte_tel_data_add_array_uint(child_data2, i); } rte_tel_data_add_array_container(&response_data, child_data, 0); rte_tel_data_add_array_container(&response_data, child_data2, 0); diff --git a/drivers/common/cnxk/roc_platform.h b/drivers/common/cnxk/roc_platform.h index 1a48ff3db4..b29f3e06f1 100644 --- a/drivers/common/cnxk/roc_platform.h +++ b/drivers/common/cnxk/roc_platform.h @@ -224,7 +224,7 @@ #define plt_tel_data_start_dict rte_tel_data_start_dict #define plt_tel_data_add_dict_int rte_tel_data_add_dict_int #define plt_tel_data_add_dict_ptr(d, n, v) \ - rte_tel_data_add_dict_u64(d, n, (uint64_t)v) + rte_tel_data_add_dict_uint(d, n, (uint64_t)v) #define plt_tel_data_add_dict_string rte_tel_data_add_dict_string #define plt_tel_data_add_dict_u64 rte_tel_data_add_dict_u64 #define plt_telemetry_register_cmd rte_telemetry_register_cmd diff --git a/drivers/net/cnxk/cnxk_ethdev_sec_telemetry.c b/drivers/net/cnxk/cnxk_ethdev_sec_telemetry.c index 59f0cce5ab..386278cfc9 100644 --- a/drivers/net/cnxk/cnxk_ethdev_sec_telemetry.c +++ b/drivers/net/cnxk/cnxk_ethdev_sec_telemetry.c @@ -53,10 +53,10 @@ copy_inb_sa_9k(struct rte_tel_data *d, uint32_t i, void *sa) rte_tel_data_add_dict_string(d, str, strw0); snprintf(str, sizeof(str), "insa_esnh_%u", i); - rte_tel_data_add_dict_u64(d, str, in_sa->common_sa.seq_t.th); + rte_tel_data_add_dict_uint(d, str, in_sa->common_sa.seq_t.th); snprintf(str, sizeof(str), "insa_esnl_%u", i); - rte_tel_data_add_dict_u64(d, str, in_sa->common_sa.seq_t.tl); + rte_tel_data_add_dict_uint(d, str, in_sa->common_sa.seq_t.tl); return 0; } @@ -97,12 +97,12 @@ copy_outb_sa_10k(struct rte_tel_data *d, uint32_t i, void *sa) rte_tel_data_start_array(outer_hdr, RTE_TEL_UINT_VAL); for (j = 0; j < RTE_DIM(out_sa->outer_hdr.ipv6.src_addr); j++) - rte_tel_data_add_array_u64(outer_hdr, - out_sa->outer_hdr.ipv6.src_addr[j]); + rte_tel_data_add_array_uint(outer_hdr, + out_sa->outer_hdr.ipv6.src_addr[j]); for (j = 0; j < RTE_DIM(out_sa->outer_hdr.ipv6.dst_addr); j++) - rte_tel_data_add_array_u64(outer_hdr, - out_sa->outer_hdr.ipv6.dst_addr[j]); + rte_tel_data_add_array_uint(outer_hdr, + out_sa->outer_hdr.ipv6.dst_addr[j]); snprintf(str, sizeof(str), "outsa_outer_hdr_%u", i); rte_tel_data_add_dict_container(d, str, outer_hdr, 0); @@ -170,12 +170,12 @@ copy_inb_sa_10k(struct rte_tel_data *d, uint32_t i, void *sa) rte_tel_data_start_array(outer_hdr, RTE_TEL_UINT_VAL); for (j = 0; j < RTE_DIM(in_sa->outer_hdr.ipv6.src_addr); j++) - rte_tel_data_add_array_u64(outer_hdr, - in_sa->outer_hdr.ipv6.src_addr[j]); + rte_tel_data_add_array_uint(outer_hdr, + in_sa->outer_hdr.ipv6.src_addr[j]); for (j = 0; j < RTE_DIM(in_sa->outer_hdr.ipv6.dst_addr); j++) - rte_tel_data_add_array_u64(outer_hdr, - in_sa->outer_hdr.ipv6.dst_addr[j]); + rte_tel_data_add_array_uint(outer_hdr, + in_sa->outer_hdr.ipv6.dst_addr[j]); snprintf(str, sizeof(str), "insa_outer_hdr_%u", i); rte_tel_data_add_dict_container(d, str, outer_hdr, 0); diff --git a/drivers/net/cnxk/cnxk_ethdev_telemetry.c b/drivers/net/cnxk/cnxk_ethdev_telemetry.c index 5db973d620..3027ca4735 100644 --- a/drivers/net/cnxk/cnxk_ethdev_telemetry.c +++ b/drivers/net/cnxk/cnxk_ethdev_telemetry.c @@ -80,8 +80,8 @@ ethdev_tel_handle_info(const char *cmd __rte_unused, } for (j = 0; j < ETH_INFO_SZ; j++) - rte_tel_data_add_array_u64(i_data, - eth_info.val[j]); + rte_tel_data_add_array_uint(i_data, + eth_info.val[j]); j++; } diff --git a/examples/ipsec-secgw/ipsec-secgw.c b/examples/ipsec-secgw/ipsec-secgw.c index a64a26c992..d2d9d85b4a 100644 --- a/examples/ipsec-secgw/ipsec-secgw.c +++ b/examples/ipsec-secgw/ipsec-secgw.c @@ -2588,14 +2588,12 @@ handle_telemetry_cmd_ipsec_secgw_stats(const char *cmd __rte_unused, } /* add telemetry key/values pairs */ - rte_tel_data_add_dict_u64(data, "packets received", - total_pkts_rx); + rte_tel_data_add_dict_uint(data, "packets received", total_pkts_rx); - rte_tel_data_add_dict_u64(data, "packets transmitted", - total_pkts_tx); + rte_tel_data_add_dict_uint(data, "packets transmitted", total_pkts_tx); - rte_tel_data_add_dict_u64(data, "packets dropped", - total_pkts_dropped); + rte_tel_data_add_dict_uint(data, "packets dropped", + total_pkts_dropped); return 0; @@ -2695,30 +2693,30 @@ handle_telemetry_cmd_ipsec_secgw_stats_outbound(const char *cmd __rte_unused, /* add spd 4 telemetry key/values pairs */ - rte_tel_data_add_dict_u64(spd4_data, "protect", - total_stats.outbound.spd4.protect); - rte_tel_data_add_dict_u64(spd4_data, "bypass", - total_stats.outbound.spd4.bypass); - rte_tel_data_add_dict_u64(spd4_data, "discard", - total_stats.outbound.spd4.discard); + rte_tel_data_add_dict_uint(spd4_data, "protect", + total_stats.outbound.spd4.protect); + rte_tel_data_add_dict_uint(spd4_data, "bypass", + total_stats.outbound.spd4.bypass); + rte_tel_data_add_dict_uint(spd4_data, "discard", + total_stats.outbound.spd4.discard); rte_tel_data_add_dict_container(data, "spd4", spd4_data, 0); /* add spd 6 telemetry key/values pairs */ - rte_tel_data_add_dict_u64(spd6_data, "protect", - total_stats.outbound.spd6.protect); - rte_tel_data_add_dict_u64(spd6_data, "bypass", - total_stats.outbound.spd6.bypass); - rte_tel_data_add_dict_u64(spd6_data, "discard", - total_stats.outbound.spd6.discard); + rte_tel_data_add_dict_uint(spd6_data, "protect", + total_stats.outbound.spd6.protect); + rte_tel_data_add_dict_uint(spd6_data, "bypass", + total_stats.outbound.spd6.bypass); + rte_tel_data_add_dict_uint(spd6_data, "discard", + total_stats.outbound.spd6.discard); rte_tel_data_add_dict_container(data, "spd6", spd6_data, 0); /* add sad telemetry key/values pairs */ - rte_tel_data_add_dict_u64(sad_data, "miss", - total_stats.outbound.sad.miss); + rte_tel_data_add_dict_uint(sad_data, "miss", + total_stats.outbound.sad.miss); rte_tel_data_add_dict_container(data, "sad", sad_data, 0); @@ -2769,30 +2767,30 @@ handle_telemetry_cmd_ipsec_secgw_stats_inbound(const char *cmd __rte_unused, /* add sad telemetry key/values pairs */ - rte_tel_data_add_dict_u64(sad_data, "miss", - total_stats.inbound.sad.miss); + rte_tel_data_add_dict_uint(sad_data, "miss", + total_stats.inbound.sad.miss); rte_tel_data_add_dict_container(data, "sad", sad_data, 0); /* add spd 4 telemetry key/values pairs */ - rte_tel_data_add_dict_u64(spd4_data, "protect", - total_stats.inbound.spd4.protect); - rte_tel_data_add_dict_u64(spd4_data, "bypass", - total_stats.inbound.spd4.bypass); - rte_tel_data_add_dict_u64(spd4_data, "discard", - total_stats.inbound.spd4.discard); + rte_tel_data_add_dict_uint(spd4_data, "protect", + total_stats.inbound.spd4.protect); + rte_tel_data_add_dict_uint(spd4_data, "bypass", + total_stats.inbound.spd4.bypass); + rte_tel_data_add_dict_uint(spd4_data, "discard", + total_stats.inbound.spd4.discard); rte_tel_data_add_dict_container(data, "spd4", spd4_data, 0); /* add spd 6 telemetry key/values pairs */ - rte_tel_data_add_dict_u64(spd6_data, "protect", - total_stats.inbound.spd6.protect); - rte_tel_data_add_dict_u64(spd6_data, "bypass", - total_stats.inbound.spd6.bypass); - rte_tel_data_add_dict_u64(spd6_data, "discard", - total_stats.inbound.spd6.discard); + rte_tel_data_add_dict_uint(spd6_data, "protect", + total_stats.inbound.spd6.protect); + rte_tel_data_add_dict_uint(spd6_data, "bypass", + total_stats.inbound.spd6.bypass); + rte_tel_data_add_dict_uint(spd6_data, "discard", + total_stats.inbound.spd6.discard); rte_tel_data_add_dict_container(data, "spd6", spd6_data, 0); @@ -2839,14 +2837,12 @@ handle_telemetry_cmd_ipsec_secgw_stats_routing(const char *cmd __rte_unused, update_statistics(&total_stats, coreid); /* add lpm 4 telemetry key/values pairs */ - rte_tel_data_add_dict_u64(lpm4_data, "miss", - total_stats.lpm4.miss); + rte_tel_data_add_dict_uint(lpm4_data, "miss", total_stats.lpm4.miss); rte_tel_data_add_dict_container(data, "IPv4 LPM", lpm4_data, 0); /* add lpm 6 telemetry key/values pairs */ - rte_tel_data_add_dict_u64(lpm6_data, "miss", - total_stats.lpm6.miss); + rte_tel_data_add_dict_uint(lpm6_data, "miss", total_stats.lpm6.miss); rte_tel_data_add_dict_container(data, "IPv6 LPM", lpm6_data, 0); diff --git a/examples/l3fwd-power/main.c b/examples/l3fwd-power/main.c index fd3ade330f..caf26b373e 100644 --- a/examples/l3fwd-power/main.c +++ b/examples/l3fwd-power/main.c @@ -2555,8 +2555,8 @@ handle_app_stats(const char *cmd __rte_unused, rte_tel_data_start_dict(d); get_current_stat_values(values); for (i = 0; i < NUM_TELSTATS; i++) - rte_tel_data_add_dict_u64(d, telstats_strings[i].name, - values[i]); + rte_tel_data_add_dict_uint(d, telstats_strings[i].name, + values[i]); return 0; } diff --git a/lib/cryptodev/rte_cryptodev.c b/lib/cryptodev/rte_cryptodev.c index 79ea958db4..bc53aab100 100644 --- a/lib/cryptodev/rte_cryptodev.c +++ b/lib/cryptodev/rte_cryptodev.c @@ -2698,7 +2698,7 @@ cryptodev_handle_dev_info(const char *cmd __rte_unused, return 0; } -#define ADD_DICT_STAT(s) rte_tel_data_add_dict_u64(d, #s, cryptodev_stats.s) +#define ADD_DICT_STAT(s) rte_tel_data_add_dict_uint(d, #s, cryptodev_stats.s) static int cryptodev_handle_dev_stats(const char *cmd __rte_unused, @@ -2751,7 +2751,7 @@ crypto_caps_array(struct rte_tel_data *d, memset(&caps_val, 0, CRYPTO_CAPS_SZ * sizeof(caps_val[0])); rte_memcpy(caps_val, dev_caps, sizeof(capabilities[0])); for (j = 0; j < CRYPTO_CAPS_SZ; j++) - rte_tel_data_add_array_u64(d, caps_val[j]); + rte_tel_data_add_array_uint(d, caps_val[j]); } return i; diff --git a/lib/dmadev/rte_dmadev.c b/lib/dmadev/rte_dmadev.c index 4da653eec7..8c095e1f35 100644 --- a/lib/dmadev/rte_dmadev.c +++ b/lib/dmadev/rte_dmadev.c @@ -944,7 +944,7 @@ dmadev_handle_dev_info(const char *cmd __rte_unused, return 0; } -#define ADD_DICT_STAT(s) rte_tel_data_add_dict_u64(d, #s, dma_stats.s) +#define ADD_DICT_STAT(s) rte_tel_data_add_dict_uint(d, #s, dma_stats.s) static int dmadev_handle_dev_stats(const char *cmd __rte_unused, diff --git a/lib/eal/common/eal_common_memory.c b/lib/eal/common/eal_common_memory.c index 688dc615d7..3d2fc8e98b 100644 --- a/lib/eal/common/eal_common_memory.c +++ b/lib/eal/common/eal_common_memory.c @@ -1141,15 +1141,16 @@ handle_eal_heap_info_request(const char *cmd __rte_unused, const char *params, rte_tel_data_start_dict(d); rte_tel_data_add_dict_int(d, "Head id", heap_id); rte_tel_data_add_dict_string(d, "Name", heap->name); - rte_tel_data_add_dict_u64(d, "Heap_size", - sock_stats.heap_totalsz_bytes); - rte_tel_data_add_dict_u64(d, "Free_size", sock_stats.heap_freesz_bytes); - rte_tel_data_add_dict_u64(d, "Alloc_size", - sock_stats.heap_allocsz_bytes); - rte_tel_data_add_dict_u64(d, "Greatest_free_size", - sock_stats.greatest_free_size); - rte_tel_data_add_dict_u64(d, "Alloc_count", sock_stats.alloc_count); - rte_tel_data_add_dict_u64(d, "Free_count", sock_stats.free_count); + rte_tel_data_add_dict_uint(d, "Heap_size", + sock_stats.heap_totalsz_bytes); + rte_tel_data_add_dict_uint(d, "Free_size", + sock_stats.heap_freesz_bytes); + rte_tel_data_add_dict_uint(d, "Alloc_size", + sock_stats.heap_allocsz_bytes); + rte_tel_data_add_dict_uint(d, "Greatest_free_size", + sock_stats.greatest_free_size); + rte_tel_data_add_dict_uint(d, "Alloc_count", sock_stats.alloc_count); + rte_tel_data_add_dict_uint(d, "Free_count", sock_stats.free_count); return 0; } diff --git a/lib/ethdev/rte_ethdev.c b/lib/ethdev/rte_ethdev.c index 28028e5de5..4dd2968a01 100644 --- a/lib/ethdev/rte_ethdev.c +++ b/lib/ethdev/rte_ethdev.c @@ -5820,11 +5820,11 @@ eth_dev_add_port_queue_stats(struct rte_tel_data *d, uint64_t *q_stats, return; rte_tel_data_start_array(q_data, RTE_TEL_UINT_VAL); for (q = 0; q < RTE_ETHDEV_QUEUE_STAT_CNTRS; q++) - rte_tel_data_add_array_u64(q_data, q_stats[q]); + rte_tel_data_add_array_uint(q_data, q_stats[q]); rte_tel_data_add_dict_container(d, stat_name, q_data, 0); } -#define ADD_DICT_STAT(stats, s) rte_tel_data_add_dict_u64(d, #s, stats.s) +#define ADD_DICT_STAT(stats, s) rte_tel_data_add_dict_uint(d, #s, stats.s) static int eth_dev_handle_port_stats(const char *cmd __rte_unused, @@ -5909,8 +5909,8 @@ eth_dev_handle_port_xstats(const char *cmd __rte_unused, rte_tel_data_start_dict(d); for (i = 0; i < num_xstats; i++) - rte_tel_data_add_dict_u64(d, xstat_names[i].name, - eth_xstats[i].value); + rte_tel_data_add_dict_uint(d, xstat_names[i].name, + eth_xstats[i].value); free(eth_xstats); return 0; } @@ -5987,7 +5987,7 @@ eth_dev_handle_port_link_status(const char *cmd __rte_unused, return 0; } rte_tel_data_add_dict_string(d, status_str, "UP"); - rte_tel_data_add_dict_u64(d, "speed", link.link_speed); + rte_tel_data_add_dict_uint(d, "speed", link.link_speed); rte_tel_data_add_dict_string(d, "duplex", (link.link_duplex == RTE_ETH_LINK_FULL_DUPLEX) ? "full-duplex" : "half-duplex"); diff --git a/lib/eventdev/rte_event_eth_rx_adapter.c b/lib/eventdev/rte_event_eth_rx_adapter.c index cf7bbd4d69..13d7163b79 100644 --- a/lib/eventdev/rte_event_eth_rx_adapter.c +++ b/lib/eventdev/rte_event_eth_rx_adapter.c @@ -3433,7 +3433,7 @@ rte_event_eth_rx_adapter_instance_get(uint16_t eth_dev_id, return -EINVAL; } -#define RXA_ADD_DICT(stats, s) rte_tel_data_add_dict_u64(d, #s, stats.s) +#define RXA_ADD_DICT(stats, s) rte_tel_data_add_dict_uint(d, #s, stats.s) static int handle_rxa_stats(const char *cmd __rte_unused, @@ -3458,7 +3458,7 @@ handle_rxa_stats(const char *cmd __rte_unused, } rte_tel_data_start_dict(d); - rte_tel_data_add_dict_u64(d, "rx_adapter_id", rx_adapter_id); + rte_tel_data_add_dict_uint(d, "rx_adapter_id", rx_adapter_id); RXA_ADD_DICT(rx_adptr_stats, rx_packets); RXA_ADD_DICT(rx_adptr_stats, rx_poll_count); RXA_ADD_DICT(rx_adptr_stats, rx_dropped); @@ -3552,9 +3552,9 @@ handle_rxa_get_queue_conf(const char *cmd __rte_unused, } rte_tel_data_start_dict(d); - rte_tel_data_add_dict_u64(d, "rx_adapter_id", rx_adapter_id); - rte_tel_data_add_dict_u64(d, "eth_dev_id", eth_dev_id); - rte_tel_data_add_dict_u64(d, "rx_queue_id", rx_queue_id); + rte_tel_data_add_dict_uint(d, "rx_adapter_id", rx_adapter_id); + rte_tel_data_add_dict_uint(d, "eth_dev_id", eth_dev_id); + rte_tel_data_add_dict_uint(d, "rx_queue_id", rx_queue_id); RXA_ADD_DICT(queue_conf, rx_queue_flags); RXA_ADD_DICT(queue_conf, servicing_weight); RXA_ADD_DICT(queue_conf.ev, queue_id); @@ -3624,9 +3624,9 @@ handle_rxa_get_queue_stats(const char *cmd __rte_unused, } rte_tel_data_start_dict(d); - rte_tel_data_add_dict_u64(d, "rx_adapter_id", rx_adapter_id); - rte_tel_data_add_dict_u64(d, "eth_dev_id", eth_dev_id); - rte_tel_data_add_dict_u64(d, "rx_queue_id", rx_queue_id); + rte_tel_data_add_dict_uint(d, "rx_adapter_id", rx_adapter_id); + rte_tel_data_add_dict_uint(d, "eth_dev_id", eth_dev_id); + rte_tel_data_add_dict_uint(d, "rx_queue_id", rx_queue_id); RXA_ADD_DICT(q_stats, rx_event_buf_count); RXA_ADD_DICT(q_stats, rx_event_buf_size); RXA_ADD_DICT(q_stats, rx_poll_count); @@ -3752,9 +3752,9 @@ handle_rxa_instance_get(const char *cmd __rte_unused, } rte_tel_data_start_dict(d); - rte_tel_data_add_dict_u64(d, "eth_dev_id", eth_dev_id); - rte_tel_data_add_dict_u64(d, "rx_queue_id", rx_queue_id); - rte_tel_data_add_dict_u64(d, "rxa_instance_id", instance_id); + rte_tel_data_add_dict_uint(d, "eth_dev_id", eth_dev_id); + rte_tel_data_add_dict_uint(d, "rx_queue_id", rx_queue_id); + rte_tel_data_add_dict_uint(d, "rxa_instance_id", instance_id); return 0; diff --git a/lib/eventdev/rte_event_timer_adapter.c b/lib/eventdev/rte_event_timer_adapter.c index a0f14bf861..1c3f91605a 100644 --- a/lib/eventdev/rte_event_timer_adapter.c +++ b/lib/eventdev/rte_event_timer_adapter.c @@ -1316,15 +1316,20 @@ handle_ta_info(const char *cmd __rte_unused, const char *params, } rte_tel_data_start_dict(d); - rte_tel_data_add_dict_u64(d, "timer_adapter_id", adapter_id); - rte_tel_data_add_dict_u64(d, "min_resolution_ns", adapter_info.min_resolution_ns); - rte_tel_data_add_dict_u64(d, "max_tmo_ns", adapter_info.max_tmo_ns); - rte_tel_data_add_dict_u64(d, "event_dev_id", adapter_info.conf.event_dev_id); - rte_tel_data_add_dict_u64(d, "socket_id", adapter_info.conf.socket_id); - rte_tel_data_add_dict_u64(d, "clk_src", adapter_info.conf.clk_src); - rte_tel_data_add_dict_u64(d, "timer_tick_ns", adapter_info.conf.timer_tick_ns); - rte_tel_data_add_dict_u64(d, "nb_timers", adapter_info.conf.nb_timers); - rte_tel_data_add_dict_u64(d, "flags", adapter_info.conf.flags); + rte_tel_data_add_dict_uint(d, "timer_adapter_id", adapter_id); + rte_tel_data_add_dict_uint(d, "min_resolution_ns", + adapter_info.min_resolution_ns); + rte_tel_data_add_dict_uint(d, "max_tmo_ns", adapter_info.max_tmo_ns); + rte_tel_data_add_dict_uint(d, "event_dev_id", + adapter_info.conf.event_dev_id); + rte_tel_data_add_dict_uint(d, "socket_id", + adapter_info.conf.socket_id); + rte_tel_data_add_dict_uint(d, "clk_src", adapter_info.conf.clk_src); + rte_tel_data_add_dict_uint(d, "timer_tick_ns", + adapter_info.conf.timer_tick_ns); + rte_tel_data_add_dict_uint(d, "nb_timers", + adapter_info.conf.nb_timers); + rte_tel_data_add_dict_uint(d, "flags", adapter_info.conf.flags); return 0; } @@ -1357,12 +1362,15 @@ handle_ta_stats(const char *cmd __rte_unused, const char *params, } rte_tel_data_start_dict(d); - rte_tel_data_add_dict_u64(d, "timer_adapter_id", adapter_id); - rte_tel_data_add_dict_u64(d, "evtim_exp_count", stats.evtim_exp_count); - rte_tel_data_add_dict_u64(d, "ev_enq_count", stats.ev_enq_count); - rte_tel_data_add_dict_u64(d, "ev_inv_count", stats.ev_inv_count); - rte_tel_data_add_dict_u64(d, "evtim_retry_count", stats.evtim_retry_count); - rte_tel_data_add_dict_u64(d, "adapter_tick_count", stats.adapter_tick_count); + rte_tel_data_add_dict_uint(d, "timer_adapter_id", adapter_id); + rte_tel_data_add_dict_uint(d, "evtim_exp_count", + stats.evtim_exp_count); + rte_tel_data_add_dict_uint(d, "ev_enq_count", stats.ev_enq_count); + rte_tel_data_add_dict_uint(d, "ev_inv_count", stats.ev_inv_count); + rte_tel_data_add_dict_uint(d, "evtim_retry_count", + stats.evtim_retry_count); + rte_tel_data_add_dict_uint(d, "adapter_tick_count", + stats.adapter_tick_count); return 0; } diff --git a/lib/eventdev/rte_eventdev.c b/lib/eventdev/rte_eventdev.c index b0414206d9..027e6a93ce 100644 --- a/lib/eventdev/rte_eventdev.c +++ b/lib/eventdev/rte_eventdev.c @@ -1645,7 +1645,7 @@ handle_queue_links(const char *cmd __rte_unused, char qid_name[32]; snprintf(qid_name, 31, "qid_%u", queues[i]); - rte_tel_data_add_dict_u64(d, qid_name, priorities[i]); + rte_tel_data_add_dict_uint(d, qid_name, priorities[i]); } return 0; @@ -1711,8 +1711,7 @@ eventdev_build_telemetry_data(int dev_id, rte_tel_data_start_dict(d); for (i = 0; i < num_xstats; i++) - rte_tel_data_add_dict_u64(d, xstat_names[i].name, - values[i]); + rte_tel_data_add_dict_uint(d, xstat_names[i].name, values[i]); free(xstat_names); free(ids); diff --git a/lib/ipsec/ipsec_telemetry.c b/lib/ipsec/ipsec_telemetry.c index b184e8df99..3b03ddee63 100644 --- a/lib/ipsec/ipsec_telemetry.c +++ b/lib/ipsec/ipsec_telemetry.c @@ -26,7 +26,7 @@ handle_telemetry_cmd_ipsec_sa_list(const char *cmd __rte_unused, LIST_FOREACH(entry, &ipsec_telemetry_list, next) { const struct rte_ipsec_sa *sa = entry->sa; - rte_tel_data_add_array_u64(data, rte_be_to_cpu_32(sa->spi)); + rte_tel_data_add_array_uint(data, rte_be_to_cpu_32(sa->spi)); } return 0; @@ -80,15 +80,14 @@ handle_telemetry_cmd_ipsec_sa_stats(const char *cmd __rte_unused, rte_tel_data_start_dict(sa_data); /* add telemetry key/values pairs */ - rte_tel_data_add_dict_u64(sa_data, name_pkt_cnt, - sa->statistics.count); + rte_tel_data_add_dict_uint(sa_data, name_pkt_cnt, + sa->statistics.count); - rte_tel_data_add_dict_u64(sa_data, name_byte_cnt, - sa->statistics.bytes - - (sa->statistics.count * sa->hdr_len)); + rte_tel_data_add_dict_uint(sa_data, name_byte_cnt, + sa->statistics.bytes - (sa->statistics.count * sa->hdr_len)); - rte_tel_data_add_dict_u64(sa_data, name_error_cnt, - sa->statistics.errors.count); + rte_tel_data_add_dict_uint(sa_data, name_error_cnt, + sa->statistics.errors.count); /* generate telemetry label */ snprintf(sa_name, sizeof(sa_name), "SA_SPI_%i", @@ -177,15 +176,16 @@ handle_telemetry_cmd_ipsec_sa_details(const char *cmd __rte_unused, RTE_IPSEC_SATP_DIR_IB) if (sa->sqn.inb.rsn[sa->sqn.inb.rdidx]) - rte_tel_data_add_dict_u64(data, - "sequence-number", - sa->sqn.inb.rsn[sa->sqn.inb.rdidx]->sqn); + rte_tel_data_add_dict_uint(data, + "sequence-number", + sa->sqn.inb.rsn[sa->sqn.inb.rdidx]->sqn); else - rte_tel_data_add_dict_u64(data, - "sequence-number", 0); + rte_tel_data_add_dict_uint(data, + "sequence-number", + 0); else - rte_tel_data_add_dict_u64(data, "sequence-number", - sa->sqn.outb); + rte_tel_data_add_dict_uint(data, "sequence-number", + sa->sqn.outb); rte_tel_data_add_dict_string(data, "explicit-congestion-notification", diff --git a/lib/rawdev/rte_rawdev.c b/lib/rawdev/rte_rawdev.c index 5fbdb94229..dacaa60e22 100644 --- a/lib/rawdev/rte_rawdev.c +++ b/lib/rawdev/rte_rawdev.c @@ -631,8 +631,8 @@ handle_dev_xstats(const char *cmd __rte_unused, rte_tel_data_start_dict(d); for (i = 0; i < num_xstats; i++) - rte_tel_data_add_dict_u64(d, xstat_names[i].name, - rawdev_xstats[i]); + rte_tel_data_add_dict_uint(d, xstat_names[i].name, + rawdev_xstats[i]); free(rawdev_xstats); return 0; diff --git a/lib/security/rte_security.c b/lib/security/rte_security.c index 68063f6450..e102c55e55 100644 --- a/lib/security/rte_security.c +++ b/lib/security/rte_security.c @@ -323,7 +323,7 @@ crypto_caps_array(struct rte_tel_data *d, memset(&caps_val, 0, CRYPTO_CAPS_SZ * sizeof(caps_val[0])); rte_memcpy(caps_val, dev_caps, sizeof(capabilities[0])); for (j = 0; j < CRYPTO_CAPS_SZ; j++) - rte_tel_data_add_array_u64(d, caps_val[j]); + rte_tel_data_add_array_uint(d, caps_val[j]); } return (i - 1); @@ -348,7 +348,7 @@ sec_caps_array(struct rte_tel_data *d, memset(&caps_val, 0, SEC_CAPS_SZ * sizeof(caps_val[0])); rte_memcpy(caps_val, dev_caps, sizeof(capabilities[0])); for (j = 0; j < SEC_CAPS_SZ; j++) - rte_tel_data_add_array_u64(d, caps_val[j]); + rte_tel_data_add_array_uint(d, caps_val[j]); } return i - 1; From patchwork Thu Jan 12 10:59:00 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Bruce Richardson X-Patchwork-Id: 121900 X-Patchwork-Delegate: thomas@monjalon.net Return-Path: X-Original-To: patchwork@inbox.dpdk.org Delivered-To: patchwork@inbox.dpdk.org Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id DEBA7423B5; Thu, 12 Jan 2023 11:59:57 +0100 (CET) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id B1DB542D4E; Thu, 12 Jan 2023 11:59:41 +0100 (CET) Received: from mga11.intel.com (mga11.intel.com [192.55.52.93]) by mails.dpdk.org (Postfix) with ESMTP id 9B45C42D30 for ; Thu, 12 Jan 2023 11:59:39 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1673521179; x=1705057179; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=+dOFKOrRDPR4Lsn7E6XKEDj8KbRarU0Cc1BYIqPh/Bk=; b=CyoxolgF8dn5TLWK8zio18XSTeXd78euIGviD1Y+1Gwby5NehodV3syI FcFetDjetgQGO6ArKYYw3FsYSHXc9zj9/CC1DStNrahCt5DZT4js5BVVq 4IYwZcu3qstgOk+PNuN9ga5efG/XNu2bBDRsLm/O7UwzqvQd9xJbJl/o8 hV6Kxrs+1pstlMSLTR9b1+EaZU8FrWSQoAcSoE1kMe27Vt7TfsIQWEM/y JwIwKLd7uKCbKpJRvBPD7F2KgalReNipiJbYXLvUcijUNqWrDnVqmVXcd OoIWuaQ+S2HVyuHX+e7lPIiwEjA9jG4qm5ltvTgOcaDAd71gjOlcitmWJ w==; X-IronPort-AV: E=McAfee;i="6500,9779,10586"; a="321365715" X-IronPort-AV: E=Sophos;i="5.96,319,1665471600"; d="scan'208";a="321365715" Received: from orsmga004.jf.intel.com ([10.7.209.38]) by fmsmga102.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 12 Jan 2023 02:59:38 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6500,9779,10586"; a="781746899" X-IronPort-AV: E=Sophos;i="5.96,319,1665471600"; d="scan'208";a="781746899" Received: from silpixa00401385.ir.intel.com ([10.237.214.166]) by orsmga004.jf.intel.com with ESMTP; 12 Jan 2023 02:59:36 -0800 From: Bruce Richardson To: dev@dpdk.org Cc: Bruce Richardson , Ciara Power Subject: [PATCH v2 6/9] telemetry: mark old names of renamed fns as deprecated Date: Thu, 12 Jan 2023 10:59:00 +0000 Message-Id: <20230112105903.46341-7-bruce.richardson@intel.com> X-Mailer: git-send-email 2.37.2 In-Reply-To: <20230112105903.46341-1-bruce.richardson@intel.com> References: <20221213182730.97065-1-bruce.richardson@intel.com> <20230112105903.46341-1-bruce.richardson@intel.com> MIME-Version: 1.0 X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Add a deprecation notice for the renaming of the telemetry data u64/uint functions, and point users to the newer versions of them when building. To do this, we also need to mark the renamed versions as stable, rather than experimental. Signed-off-by: Bruce Richardson --- Note: This patch adds the deprecation macro *after* the function prototype rather than before, as adding it before - as with the experimental tag - causes doxygen to get confused and give errors: .../lib/telemetry/rte_telemetry.h:141: warning: argument 'd' of command @param is not found in the argument list of __rte_deprecated_msg("use 'rte_tel_data_add_array_uint' instead") .../lib/telemetry/rte_telemetry.h:141: warning: argument 'x' of command @param is not found in the argument list of __rte_deprecated_msg("use 'rte_tel_data_add_array_uint' instead") --- doc/guides/rel_notes/deprecation.rst | 5 +++++ lib/telemetry/rte_telemetry.h | 10 +++++----- lib/telemetry/version.map | 9 ++------- 3 files changed, 12 insertions(+), 12 deletions(-) diff --git a/doc/guides/rel_notes/deprecation.rst b/doc/guides/rel_notes/deprecation.rst index b9b02dcef0..98ad6baed5 100644 --- a/doc/guides/rel_notes/deprecation.rst +++ b/doc/guides/rel_notes/deprecation.rst @@ -11,6 +11,11 @@ here. Deprecation Notices ------------------- +* telemetry: The functions ``rte_tel_data_add_array_u64`` and ``rte_tel_data_add_dict_u64``, + used by telemetry callbacks for adding unsigned integer values to be returned to the user, + are renamed to ``rte_tel_data_add_array_uint`` and ``rte_tel_data_add_dict_uint`` respectively. + As such, the old function names are deprecated and will be removed in a future release. + * kvargs: The function ``rte_kvargs_process`` will get a new parameter for returning key match count. It will ease handling of no-match case. diff --git a/lib/telemetry/rte_telemetry.h b/lib/telemetry/rte_telemetry.h index 73a0511807..4598303d5d 100644 --- a/lib/telemetry/rte_telemetry.h +++ b/lib/telemetry/rte_telemetry.h @@ -8,7 +8,7 @@ #ifndef _RTE_TELEMETRY_H_ #define _RTE_TELEMETRY_H_ -#include +#include #ifdef __cplusplus extern "C" { @@ -134,7 +134,6 @@ rte_tel_data_add_array_int(struct rte_tel_data *d, int x); * @return * 0 on success, negative errno on error */ -__rte_experimental int rte_tel_data_add_array_uint(struct rte_tel_data *d, uint64_t x); @@ -151,7 +150,8 @@ rte_tel_data_add_array_uint(struct rte_tel_data *d, uint64_t x); * 0 on success, negative errno on error */ int -rte_tel_data_add_array_u64(struct rte_tel_data *d, uint64_t x); +rte_tel_data_add_array_u64(struct rte_tel_data *d, uint64_t x) + __rte_deprecated_msg("use 'rte_tel_data_add_array_uint' instead"); /** * Add a container to an array. A container is an existing telemetry data @@ -224,7 +224,6 @@ rte_tel_data_add_dict_int(struct rte_tel_data *d, const char *name, int val); * @return * 0 on success, negative errno on error, E2BIG on string truncation of name. */ -__rte_experimental int rte_tel_data_add_dict_uint(struct rte_tel_data *d, const char *name, uint64_t val); @@ -245,7 +244,8 @@ rte_tel_data_add_dict_uint(struct rte_tel_data *d, */ int rte_tel_data_add_dict_u64(struct rte_tel_data *d, - const char *name, uint64_t val); + const char *name, uint64_t val) + __rte_deprecated_msg("use 'rte_tel_data_add_dict_uint' instead"); /** * Add a container to a dictionary. A container is an existing telemetry data diff --git a/lib/telemetry/version.map b/lib/telemetry/version.map index 0f70d82dfc..d661180317 100644 --- a/lib/telemetry/version.map +++ b/lib/telemetry/version.map @@ -5,10 +5,12 @@ DPDK_23 { rte_tel_data_add_array_int; rte_tel_data_add_array_string; rte_tel_data_add_array_u64; + rte_tel_data_add_array_uint; rte_tel_data_add_dict_container; rte_tel_data_add_dict_int; rte_tel_data_add_dict_string; rte_tel_data_add_dict_u64; + rte_tel_data_add_dict_uint; rte_tel_data_alloc; rte_tel_data_free; rte_tel_data_start_array; @@ -19,13 +21,6 @@ DPDK_23 { local: *; }; -EXPERIMENTAL { - global: - - rte_tel_data_add_array_uint; - rte_tel_data_add_dict_uint; -}; - INTERNAL { rte_telemetry_legacy_register; rte_telemetry_init; From patchwork Thu Jan 12 10:59:01 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Bruce Richardson X-Patchwork-Id: 121901 X-Patchwork-Delegate: thomas@monjalon.net Return-Path: X-Original-To: patchwork@inbox.dpdk.org Delivered-To: patchwork@inbox.dpdk.org Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 026C2423B5; Thu, 12 Jan 2023 12:00:07 +0100 (CET) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id D082842D57; Thu, 12 Jan 2023 11:59:42 +0100 (CET) Received: from mga11.intel.com (mga11.intel.com [192.55.52.93]) by mails.dpdk.org (Postfix) with ESMTP id B8B2442D30 for ; Thu, 12 Jan 2023 11:59:40 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1673521181; x=1705057181; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=NzMmEw5aBR90292DDv4v5ZgjVaQFtB7RarGz+7QorAo=; b=hLT509mjROJLsOCXWLJPtdSwHsPoSRLsUbQhFZfMR2vSbjkAmto9flps 5hT7HOYBM7udF50ICqJg79p7jNPGndmBkZlVBzwrkzxfwrVPUh93HmD6A FgQ9jGbDO+qcI4qvSTEgFDgChMnGIPgBeUOdmlKZzsT8mkT8o3dYFgGoD vKKKzXIpEvJosAg8oB0OZmZ3DLGEfG5BsHjpz97xa26pRLCQoOsdTp54l aZeaIYF/MkiJvWdiB8KHF+338z9AbBN7C7lJcEDH2O84KY+wyhS0Fx4cz kWde8Ef3vE/irZVdbYLrSIvZZ+CWOTMltBxk1BLnO2yfeD6CC9sKKvCoA Q==; X-IronPort-AV: E=McAfee;i="6500,9779,10586"; a="321365719" X-IronPort-AV: E=Sophos;i="5.96,319,1665471600"; d="scan'208";a="321365719" Received: from orsmga004.jf.intel.com ([10.7.209.38]) by fmsmga102.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 12 Jan 2023 02:59:40 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6500,9779,10586"; a="781746903" X-IronPort-AV: E=Sophos;i="5.96,319,1665471600"; d="scan'208";a="781746903" Received: from silpixa00401385.ir.intel.com ([10.237.214.166]) by orsmga004.jf.intel.com with ESMTP; 12 Jan 2023 02:59:38 -0800 From: Bruce Richardson To: dev@dpdk.org Cc: Bruce Richardson , =?utf-8?q?Morten_Br=C3=B8?= =?utf-8?q?rup?= , Tyler Retzlaff , Ciara Power Subject: [PATCH v2 7/9] telemetry: update json functions to use int/uint in names Date: Thu, 12 Jan 2023 10:59:01 +0000 Message-Id: <20230112105903.46341-8-bruce.richardson@intel.com> X-Mailer: git-send-email 2.37.2 In-Reply-To: <20230112105903.46341-1-bruce.richardson@intel.com> References: <20221213182730.97065-1-bruce.richardson@intel.com> <20230112105903.46341-1-bruce.richardson@intel.com> MIME-Version: 1.0 X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Since we are standardizing on using uint in place of u64, and expanding the int values to 64-bit, we can update the internal json functions to use the new names and expanded signed type. Suggested-by: Morten Brørup Signed-off-by: Bruce Richardson Acked-by: Morten Brørup Acked-by: Tyler Retzlaff --- app/test/test_telemetry_json.c | 9 ++++----- lib/telemetry/telemetry.c | 8 ++++---- lib/telemetry/telemetry_json.h | 16 ++++++++-------- 3 files changed, 16 insertions(+), 17 deletions(-) diff --git a/app/test/test_telemetry_json.c b/app/test/test_telemetry_json.c index 184c3ba9f1..e81e3a8a98 100644 --- a/app/test/test_telemetry_json.c +++ b/app/test/test_telemetry_json.c @@ -37,9 +37,9 @@ test_basic_obj(void) char buf[1024]; int used = 0; - used = rte_tel_json_add_obj_u64(buf, sizeof(buf), used, + used = rte_tel_json_add_obj_uint(buf, sizeof(buf), used, "weddings", 4); - used = rte_tel_json_add_obj_u64(buf, sizeof(buf), used, + used = rte_tel_json_add_obj_uint(buf, sizeof(buf), used, "funerals", 1); printf("%s: buf = '%s', expected = '%s'\n", __func__, buf, expected); @@ -80,8 +80,7 @@ test_overflow_obj(void) int i, used = 0; for (i = 0; i < (int)RTE_DIM(names); i++) - used = rte_tel_json_add_obj_u64(buf, sizeof(buf), used, - names[i], vals[i]); + used = rte_tel_json_add_obj_uint(buf, sizeof(buf), used, names[i], vals[i]); printf("%s: buf = '%s', expected = '%s'\n", __func__, buf, expected); if (buf[used - 1] != '}') @@ -117,7 +116,7 @@ test_large_obj_element(void) char buf[sizeof(str) - 5] = "XYZ"; int used = 0; - used = rte_tel_json_add_obj_u64(buf, sizeof(buf), used, str, 0); + used = rte_tel_json_add_obj_uint(buf, sizeof(buf), used, str, 0); printf("%s: buf = '%s', expected = '%s'\n", __func__, buf, expected); if (used != 0) return -1; diff --git a/lib/telemetry/telemetry.c b/lib/telemetry/telemetry.c index 89bdde8422..655191bcf1 100644 --- a/lib/telemetry/telemetry.c +++ b/lib/telemetry/telemetry.c @@ -174,7 +174,7 @@ container_to_json(const struct rte_tel_data *d, char *out_buf, size_t buf_len) used = rte_tel_json_empty_array(out_buf, buf_len, 0); if (d->type == TEL_ARRAY_UINT) for (i = 0; i < d->data_len; i++) - used = rte_tel_json_add_array_u64(out_buf, + used = rte_tel_json_add_array_uint(out_buf, buf_len, used, d->data.array[i].uval); if (d->type == TEL_ARRAY_INT) @@ -202,7 +202,7 @@ container_to_json(const struct rte_tel_data *d, char *out_buf, size_t buf_len) v->name, v->value.ival); break; case RTE_TEL_UINT_VAL: - used = rte_tel_json_add_obj_u64(out_buf, + used = rte_tel_json_add_obj_uint(out_buf, buf_len, used, v->name, v->value.uval); break; @@ -269,7 +269,7 @@ output_json(const char *cmd, const struct rte_tel_data *d, int s) v->name, v->value.ival); break; case RTE_TEL_UINT_VAL: - used = rte_tel_json_add_obj_u64(cb_data_buf, + used = rte_tel_json_add_obj_uint(cb_data_buf, buf_len, used, v->name, v->value.uval); break; @@ -307,7 +307,7 @@ output_json(const char *cmd, const struct rte_tel_data *d, int s) buf_len, used, d->data.array[i].ival); else if (d->type == TEL_ARRAY_UINT) - used = rte_tel_json_add_array_u64(cb_data_buf, + used = rte_tel_json_add_array_uint(cb_data_buf, buf_len, used, d->data.array[i].uval); else if (d->type == TEL_ARRAY_CONTAINER) { diff --git a/lib/telemetry/telemetry_json.h b/lib/telemetry/telemetry_json.h index e3fae7c30d..744bbfe053 100644 --- a/lib/telemetry/telemetry_json.h +++ b/lib/telemetry/telemetry_json.h @@ -136,19 +136,19 @@ rte_tel_json_add_array_string(char *buf, const int len, const int used, /* Appends an integer into the JSON array in the provided buffer. */ static inline int -rte_tel_json_add_array_int(char *buf, const int len, const int used, int val) +rte_tel_json_add_array_int(char *buf, const int len, const int used, int64_t val) { int ret, end = used - 1; /* strip off final delimiter */ if (used <= 2) /* assume empty, since minimum is '[]' */ - return __json_snprintf(buf, len, "[%d]", val); + return __json_snprintf(buf, len, "[%"PRId64"]", val); - ret = __json_snprintf(buf + end, len - end, ",%d]", val); + ret = __json_snprintf(buf + end, len - end, ",%"PRId64"]", val); return ret == 0 ? used : end + ret; } /* Appends a uint64_t into the JSON array in the provided buffer. */ static inline int -rte_tel_json_add_array_u64(char *buf, const int len, const int used, +rte_tel_json_add_array_uint(char *buf, const int len, const int used, uint64_t val) { int ret, end = used - 1; /* strip off final delimiter */ @@ -180,7 +180,7 @@ rte_tel_json_add_array_json(char *buf, const int len, const int used, * provided buffer. */ static inline int -rte_tel_json_add_obj_u64(char *buf, const int len, const int used, +rte_tel_json_add_obj_uint(char *buf, const int len, const int used, const char *name, uint64_t val) { int ret, end = used - 1; @@ -199,14 +199,14 @@ rte_tel_json_add_obj_u64(char *buf, const int len, const int used, */ static inline int rte_tel_json_add_obj_int(char *buf, const int len, const int used, - const char *name, int val) + const char *name, int64_t val) { int ret, end = used - 1; if (used <= 2) /* assume empty, since minimum is '{}' */ - return __json_snprintf(buf, len, "{\"%s\":%d}", name, + return __json_snprintf(buf, len, "{\"%s\":%"PRId64"}", name, val); - ret = __json_snprintf(buf + end, len - end, ",\"%s\":%d}", + ret = __json_snprintf(buf + end, len - end, ",\"%s\":%"PRId64"}", name, val); return ret == 0 ? used : end + ret; } From patchwork Thu Jan 12 10:59:02 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Bruce Richardson X-Patchwork-Id: 121902 X-Patchwork-Delegate: thomas@monjalon.net Return-Path: X-Original-To: patchwork@inbox.dpdk.org Delivered-To: patchwork@inbox.dpdk.org Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 3527F423B5; Thu, 12 Jan 2023 12:00:14 +0100 (CET) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id A2F1642D27; Thu, 12 Jan 2023 11:59:46 +0100 (CET) Received: from mga11.intel.com (mga11.intel.com [192.55.52.93]) by mails.dpdk.org (Postfix) with ESMTP id 629D642D4C for ; Thu, 12 Jan 2023 11:59:45 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1673521185; x=1705057185; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=TcHcw9FWcbYbPHA87JYTOeeggmYPLpFAX9Zx3RO29J8=; b=G4wJYlsGvQfNTUGL3cXk1DnKT9Fh+o73VyyJTaJdknVBn9HaF2Ht3sU4 KsZvNm/qyoCtIXE+KQfXWZY9oZak+LUCpfHmvqla0gO3dKfvPhocONPzQ +iBVOJOSq9/dcbW3KfZ60PIBGUFnhWo8S37n4rDP/aPVtEHPRFS+jtCoQ G9RXOO6DSk2BX9Ez/wjH1AdQUTqX5IvUrv//xYFfVnNBXtRVqtZDmIc8p tTe52yweMb+FAjJre9u7HjfXx2PnCaT8u+ezQbBlj8Hz8nKWpM73F9kAz 9pgFGxAUCfNq4QoO3W2cNL0XhL3nifUJLO60fwP49l6sBA4MngN0/56JU g==; X-IronPort-AV: E=McAfee;i="6500,9779,10586"; a="321365733" X-IronPort-AV: E=Sophos;i="5.96,319,1665471600"; d="scan'208";a="321365733" Received: from orsmga004.jf.intel.com ([10.7.209.38]) by fmsmga102.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 12 Jan 2023 02:59:44 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6500,9779,10586"; a="781746906" X-IronPort-AV: E=Sophos;i="5.96,319,1665471600"; d="scan'208";a="781746906" Received: from silpixa00401385.ir.intel.com ([10.237.214.166]) by orsmga004.jf.intel.com with ESMTP; 12 Jan 2023 02:59:40 -0800 From: Bruce Richardson To: dev@dpdk.org Cc: Bruce Richardson , =?utf-8?q?Morten_Br=C3=B8?= =?utf-8?q?rup?= , Tyler Retzlaff , Ciara Power Subject: [PATCH v2 8/9] telemetry: make internal int representation 64-bits Date: Thu, 12 Jan 2023 10:59:02 +0000 Message-Id: <20230112105903.46341-9-bruce.richardson@intel.com> X-Mailer: git-send-email 2.37.2 In-Reply-To: <20230112105903.46341-1-bruce.richardson@intel.com> References: <20221213182730.97065-1-bruce.richardson@intel.com> <20230112105903.46341-1-bruce.richardson@intel.com> MIME-Version: 1.0 X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org The internal storage for int values can be expanded from 32-bit to 64-bit without affecting the external ABI. Suggested-by: Morten Brørup Signed-off-by: Bruce Richardson Acked-by: Morten Brørup Acked-by: Tyler Retzlaff --- lib/telemetry/telemetry_data.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/telemetry/telemetry_data.h b/lib/telemetry/telemetry_data.h index 8db6875a81..205509c5a2 100644 --- a/lib/telemetry/telemetry_data.h +++ b/lib/telemetry/telemetry_data.h @@ -28,7 +28,7 @@ struct container { */ union tel_value { char sval[RTE_TEL_MAX_STRING_LEN]; - int ival; + int64_t ival; uint64_t uval; struct container container; }; From patchwork Thu Jan 12 10:59:03 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Bruce Richardson X-Patchwork-Id: 121903 X-Patchwork-Delegate: thomas@monjalon.net Return-Path: X-Original-To: patchwork@inbox.dpdk.org Delivered-To: patchwork@inbox.dpdk.org Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 3BDD3423B5; Thu, 12 Jan 2023 12:00:21 +0100 (CET) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 7818442D5B; Thu, 12 Jan 2023 11:59:47 +0100 (CET) Received: from mga11.intel.com (mga11.intel.com [192.55.52.93]) by mails.dpdk.org (Postfix) with ESMTP id 3116B42D2A for ; Thu, 12 Jan 2023 11:59:45 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1673521186; x=1705057186; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=l3PjSvXq1OyIVzUGA8CakUncJZvu8ZjjMEiXYThDxwA=; b=Tqv3/iFiVHSpyEikglW2IMElm4T4Mg4IezPY6VdZciHWfKjToQGcgZwC rOFY2QvbhazzML/pYTd7yG853EaEIY5I+dNNnaxBbbQkTuS/2gkAxllxV l5Au2UXxg7AfihOxoGzMtMk2vkhx+cKSqXyicFExg1+XIaGU1ESEqAaGa oURz7RdLHGQnmSaXQk94n/IB2JbgFq74ySpTR56mHDB2ZB+7UBF4TFyI4 gObzmt15KCH+lI/tAzqDO9GJAr0gd+RxUvy+7xVCZpOAiqLm0XJzvf/1M LKGSzJ0THyFYvTWI+zk8qov3KXWrf+Rpxy4k6hXdn5BZRlnGSMj56Ssg0 Q==; X-IronPort-AV: E=McAfee;i="6500,9779,10586"; a="321365738" X-IronPort-AV: E=Sophos;i="5.96,319,1665471600"; d="scan'208";a="321365738" Received: from orsmga004.jf.intel.com ([10.7.209.38]) by fmsmga102.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 12 Jan 2023 02:59:45 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6500,9779,10586"; a="781746914" X-IronPort-AV: E=Sophos;i="5.96,319,1665471600"; d="scan'208";a="781746914" Received: from silpixa00401385.ir.intel.com ([10.237.214.166]) by orsmga004.jf.intel.com with ESMTP; 12 Jan 2023 02:59:42 -0800 From: Bruce Richardson To: dev@dpdk.org Cc: Bruce Richardson , =?utf-8?q?Morten_Br=C3=B8?= =?utf-8?q?rup?= , Tyler Retzlaff , Ciara Power Subject: [PATCH v2 9/9] telemetry: change public API to use 64-bit signed values Date: Thu, 12 Jan 2023 10:59:03 +0000 Message-Id: <20230112105903.46341-10-bruce.richardson@intel.com> X-Mailer: git-send-email 2.37.2 In-Reply-To: <20230112105903.46341-1-bruce.richardson@intel.com> References: <20221213182730.97065-1-bruce.richardson@intel.com> <20230112105903.46341-1-bruce.richardson@intel.com> MIME-Version: 1.0 X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org While the unsigned values added to telemetry dicts/arrays were up to 64-bits in size, the sized values were only up to 32-bits. We can standardize the API by having both int and uint functions take 64-bit values. For ABI compatibility, we use function versioning to ensure older binaries can still use the older functions taking a 32-bit parameter. Suggested-by: Morten Brørup Signed-off-by: Bruce Richardson Acked-by: Morten Brørup Acked-by: Tyler Retzlaff --- lib/telemetry/meson.build | 1 + lib/telemetry/rte_telemetry.h | 4 ++-- lib/telemetry/telemetry_data.c | 33 +++++++++++++++++++++++++++++---- lib/telemetry/telemetry_data.h | 6 ++++++ lib/telemetry/version.map | 7 +++++++ 5 files changed, 45 insertions(+), 6 deletions(-) diff --git a/lib/telemetry/meson.build b/lib/telemetry/meson.build index f84c9aa3be..73750d9ef4 100644 --- a/lib/telemetry/meson.build +++ b/lib/telemetry/meson.build @@ -6,3 +6,4 @@ includes = [global_inc] sources = files('telemetry.c', 'telemetry_data.c', 'telemetry_legacy.c') headers = files('rte_telemetry.h') includes += include_directories('../metrics') +use_function_versioning = true diff --git a/lib/telemetry/rte_telemetry.h b/lib/telemetry/rte_telemetry.h index 4598303d5d..b481c112dd 100644 --- a/lib/telemetry/rte_telemetry.h +++ b/lib/telemetry/rte_telemetry.h @@ -120,7 +120,7 @@ rte_tel_data_add_array_string(struct rte_tel_data *d, const char *str); * 0 on success, negative errno on error */ int -rte_tel_data_add_array_int(struct rte_tel_data *d, int x); +rte_tel_data_add_array_int(struct rte_tel_data *d, int64_t x); /** * Add an unsigned value to an array. @@ -208,7 +208,7 @@ rte_tel_data_add_dict_string(struct rte_tel_data *d, const char *name, * 0 on success, negative errno on error, E2BIG on string truncation of name. */ int -rte_tel_data_add_dict_int(struct rte_tel_data *d, const char *name, int val); +rte_tel_data_add_dict_int(struct rte_tel_data *d, const char *name, int64_t val); /** * Add an unsigned value to a dictionary. diff --git a/lib/telemetry/telemetry_data.c b/lib/telemetry/telemetry_data.c index 9a180937fd..ac7be795df 100644 --- a/lib/telemetry/telemetry_data.c +++ b/lib/telemetry/telemetry_data.c @@ -8,6 +8,7 @@ #undef RTE_USE_LIBBSD #include +#include #include #include "telemetry_data.h" @@ -58,8 +59,8 @@ rte_tel_data_add_array_string(struct rte_tel_data *d, const char *str) return bytes < RTE_TEL_MAX_STRING_LEN ? 0 : E2BIG; } -int -rte_tel_data_add_array_int(struct rte_tel_data *d, int x) +int __vsym +rte_tel_data_add_array_int_v24(struct rte_tel_data *d, int64_t x) { if (d->type != TEL_ARRAY_INT) return -EINVAL; @@ -69,6 +70,18 @@ rte_tel_data_add_array_int(struct rte_tel_data *d, int x) return 0; } +int __vsym +rte_tel_data_add_array_int_v23(struct rte_tel_data *d, int x) +{ + return rte_tel_data_add_array_int_v24(d, x); +} + +/* mark the v23 function as the older version, and v24 as the default version */ +VERSION_SYMBOL(rte_tel_data_add_array_int, _v23, 23); +BIND_DEFAULT_SYMBOL(rte_tel_data_add_array_int, _v24, 24); +MAP_STATIC_SYMBOL(int rte_tel_data_add_array_int(struct rte_tel_data *d, + int64_t x), rte_tel_data_add_array_int_v24); + int rte_tel_data_add_array_uint(struct rte_tel_data *d, uint64_t x) { @@ -146,8 +159,8 @@ rte_tel_data_add_dict_string(struct rte_tel_data *d, const char *name, return 0; } -int -rte_tel_data_add_dict_int(struct rte_tel_data *d, const char *name, int val) +int __vsym +rte_tel_data_add_dict_int_v24(struct rte_tel_data *d, const char *name, int64_t val) { struct tel_dict_entry *e = &d->data.dict[d->data_len]; if (d->type != TEL_DICT) @@ -165,6 +178,18 @@ rte_tel_data_add_dict_int(struct rte_tel_data *d, const char *name, int val) return bytes < RTE_TEL_MAX_STRING_LEN ? 0 : E2BIG; } +int __vsym +rte_tel_data_add_dict_int_v23(struct rte_tel_data *d, const char *name, int val) +{ + return rte_tel_data_add_dict_int_v24(d, name, val); +} + +/* mark the v23 function as the older version, and v24 as the default version */ +VERSION_SYMBOL(rte_tel_data_add_dict_int, _v23, 23); +BIND_DEFAULT_SYMBOL(rte_tel_data_add_dict_int, _v24, 24); +MAP_STATIC_SYMBOL(int rte_tel_data_add_dict_int(struct rte_tel_data *d, + const char *name, int64_t val), rte_tel_data_add_dict_int_v24); + int rte_tel_data_add_dict_uint(struct rte_tel_data *d, const char *name, uint64_t val) diff --git a/lib/telemetry/telemetry_data.h b/lib/telemetry/telemetry_data.h index 205509c5a2..53e4cabea5 100644 --- a/lib/telemetry/telemetry_data.h +++ b/lib/telemetry/telemetry_data.h @@ -49,4 +49,10 @@ struct rte_tel_data { } data; /* data container */ }; +/* versioned functions */ +int rte_tel_data_add_array_int_v23(struct rte_tel_data *d, int val); +int rte_tel_data_add_array_int_v24(struct rte_tel_data *d, int64_t val); +int rte_tel_data_add_dict_int_v23(struct rte_tel_data *d, const char *name, int val); +int rte_tel_data_add_dict_int_v24(struct rte_tel_data *d, const char *name, int64_t val); + #endif diff --git a/lib/telemetry/version.map b/lib/telemetry/version.map index d661180317..accfad5011 100644 --- a/lib/telemetry/version.map +++ b/lib/telemetry/version.map @@ -21,6 +21,13 @@ DPDK_23 { local: *; }; +DPDK_24 { + global: + + rte_tel_data_add_array_int; + rte_tel_data_add_dict_int; +} DPDK_23; + INTERNAL { rte_telemetry_legacy_register; rte_telemetry_init;