mbox

[V2,00/11] telemetry: add u32 value type and hex integer string API

Message ID 20221209110450.62456-1-lihuisong@huawei.com (mailing list archive)
Headers

Message

lihuisong (C) Dec. 9, 2022, 11:04 a.m. UTC
  Some lib telemetry interfaces add the 'u32' and 'u64' data by the
rte_tel_data_add_dict/array_int API. This may cause data conversion
error or data truncation.

The 'u32' data can not be assigned to signed 32-bit integer. However,
assigning to u64 is very wasteful, after all, the buffer capacity of
each transfer is limited. So it is necessary for 'u32' data to add
usigned 32-bit integer type and a series of 'u32' operation APIs.

This patchset uses the new 'u32' API to resolve the problem of data
conversion error, and use the 'u64' API to add 'u64' data.

In addition, this patchset introduces two APIs to store u32 and u64
values as hexadecimal encoded strings in telemetry library. 

---
 -v2:
    - fix ABI break warning.
    - introduce two APIs to store u32 and u64 values as hexadecimal
      encoded strings. 

Huisong Li (11):
  telemetry: move to header to controllable range
  telemetry: add u32 value type
  test: add test cases for adding u32 value API
  ethdev: fix possible data truncation and conversion error
  mempool: fix possible data truncation and conversion error
  cryptodev: fix possible data conversion error
  mem: possible data truncation and conversion error
  telemetry: refactor mapping betwween value and array type
  telemetry: support adding integer value as hexadecimal
  test: add test cases for adding hex integer values API
  ethdev: display capability values in hexadecimal format

 app/test/test_telemetry_data.c     | 249 ++++++++++++++++++++++++++++-
 app/test/test_telemetry_json.c     |  23 ++-
 lib/cryptodev/rte_cryptodev.c      |   2 +-
 lib/eal/common/eal_common_memory.c |  14 +-
 lib/ethdev/rte_ethdev.c            |  13 +-
 lib/mempool/rte_mempool.c          |  24 +--
 lib/telemetry/rte_telemetry.h      | 112 ++++++++++++-
 lib/telemetry/telemetry.c          |  25 ++-
 lib/telemetry/telemetry_data.c     | 122 ++++++++++++--
 lib/telemetry/telemetry_data.h     |   2 +
 lib/telemetry/telemetry_json.h     |  29 ++++
 lib/telemetry/version.map          |  14 ++
 12 files changed, 581 insertions(+), 48 deletions(-)