From f4f89120a7df52f92fcac89e3fe13cfac1097051 Mon Sep 17 00:00:00 2001 From: Huisong Li Date: Mon, 19 Dec 2022 15:06:42 +0800 Subject: ethdev: fix telemetry data truncation MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit [ upstream commit 7db3f2af573287abb9201d46a92b4ca3ebc5d9ad ] The 'u32' and 'u64' data can not assigned to 'int' type variable. They need to use the 'u64' APIs to add. Fixes: 58b43c1ddfd1 ("ethdev: add telemetry endpoint for device info") Cc: stable@dpdk.org Signed-off-by: Huisong Li Acked-by: Morten Brørup Acked-by: Chengwen Feng --- lib/ethdev/rte_ethdev.c | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/lib/ethdev/rte_ethdev.c b/lib/ethdev/rte_ethdev.c index d82819a458..c216091e79 100644 --- a/lib/ethdev/rte_ethdev.c +++ b/lib/ethdev/rte_ethdev.c @@ -6397,9 +6397,9 @@ eth_dev_handle_port_info(const char *cmd __rte_unused, eth_dev->data->nb_tx_queues); rte_tel_data_add_dict_int(d, "port_id", eth_dev->data->port_id); rte_tel_data_add_dict_int(d, "mtu", eth_dev->data->mtu); - rte_tel_data_add_dict_int(d, "rx_mbuf_size_min", + rte_tel_data_add_dict_u64(d, "rx_mbuf_size_min", eth_dev->data->min_rx_buf_size); - rte_tel_data_add_dict_int(d, "rx_mbuf_alloc_fail", + rte_tel_data_add_dict_u64(d, "rx_mbuf_alloc_fail", eth_dev->data->rx_mbuf_alloc_failed); rte_ether_format_addr(mac_addr, sizeof(mac_addr), eth_dev->data->mac_addrs); @@ -6428,12 +6428,12 @@ eth_dev_handle_port_info(const char *cmd __rte_unused, rte_tel_data_add_dict_container(d, "rxq_state", rxq_state, 0); rte_tel_data_add_dict_container(d, "txq_state", txq_state, 0); rte_tel_data_add_dict_int(d, "numa_node", eth_dev->data->numa_node); - rte_tel_data_add_dict_int(d, "dev_flags", eth_dev->data->dev_flags); - rte_tel_data_add_dict_int(d, "rx_offloads", + rte_tel_data_add_dict_u64(d, "dev_flags", eth_dev->data->dev_flags); + rte_tel_data_add_dict_u64(d, "rx_offloads", eth_dev->data->dev_conf.rxmode.offloads); - rte_tel_data_add_dict_int(d, "tx_offloads", + rte_tel_data_add_dict_u64(d, "tx_offloads", eth_dev->data->dev_conf.txmode.offloads); - rte_tel_data_add_dict_int(d, "ethdev_rss_hf", + rte_tel_data_add_dict_u64(d, "ethdev_rss_hf", eth_dev->data->dev_conf.rx_adv_conf.rss_conf.rss_hf); return 0; -- 2.23.0