Rather than having 64-bit unsigned types and 32-bit signed types supported by the telemetry lib, we should support 64-bit values for both types. On the naming side, since both are 64-bit, we should no longer call the unsigned value u64 - "uint" is better.
This patchset implements these changes as far as is possible while still keeping API and ABI compatibility. * Internal structures and functions are updated to use 64-bit ints * Internal functions are renamed from u64 to uint * Public enum values are renamed from u64 to uint, and a macro is added to ensure that older code still compiles * The public add_*_int functions are changed to take a 64-bit value rather than a 32-bit one. Since this would be an ABI break, we use function versioning to ensure older code still calls into a wrapper function which takes a 32-bit value. The patchset also contains a couple of other small cleanups to the telemetry code that were seen in passing when making these changes - removing RTE_ prefix on internal enums, and simplifying the init of the the array of data types. NOTE: the renaming of the u64 functions to uint is split across 3 patches in this set - patches 4,5 and 6. This is to make it easier to review and to avoid warnings about new functions not being marked initially as experimental. Some/all of these 3 can be combined on merge if so desired. V2: - added additional patches to replace the old function calls within DPDK code, something missed in RFC version - added new patch to make the renamed/new functions immediately public allowing us to mark the original named versions as deprecated - re-ordered patches within the sit, so the extra cleanup changes come first Bruce Richardson (9): telemetry: remove RTE prefix from internal enum values telemetry: make array initialization more robust telemetry: rename unsigned 64-bit enum value to uint telemetry: add uint type as alias for u64 global: rename telemetry functions to newer versions telemetry: mark old names of renamed fns as deprecated telemetry: update json functions to use int/uint in names telemetry: make internal int representation 64-bits telemetry: change public API to use 64-bit signed values app/test/test_telemetry_data.c | 22 ++--- app/test/test_telemetry_json.c | 9 +- doc/guides/rel_notes/deprecation.rst | 5 ++ drivers/common/cnxk/roc_platform.h | 2 +- drivers/net/cnxk/cnxk_ethdev_sec_telemetry.c | 24 ++--- drivers/net/cnxk/cnxk_ethdev_telemetry.c | 6 +- examples/ipsec-secgw/ipsec-secgw.c | 72 +++++++-------- examples/l3fwd-power/main.c | 4 +- lib/cryptodev/rte_cryptodev.c | 6 +- lib/dmadev/rte_dmadev.c | 2 +- lib/eal/common/eal_common_memory.c | 19 ++-- lib/ethdev/rte_ethdev.c | 12 +-- lib/ethdev/sff_telemetry.c | 2 +- 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 | 32 +++---- lib/rawdev/rte_rawdev.c | 4 +- lib/security/rte_security.c | 8 +- lib/telemetry/meson.build | 1 + lib/telemetry/rte_telemetry.h | 51 +++++++++-- lib/telemetry/telemetry.c | 56 ++++++------ lib/telemetry/telemetry_data.c | 95 ++++++++++++++------ lib/telemetry/telemetry_data.h | 24 +++-- lib/telemetry/telemetry_json.h | 16 ++-- lib/telemetry/version.map | 9 ++ 26 files changed, 323 insertions(+), 223 deletions(-) -- 2.37.2