Build error:
../lib/librte_telemetry/rte_telemetry.c:558:28:
error: comparison of unsigned expression < 0 is always false
[-Werror,-Wtautological-compare]
Build error not observed in default make build because telemetry library
disabled by default but easier to reproduce via meson.
Fixing by converting unsigned variables to signed.
Fixes:
0fe3a37924d4 ("telemetry: format json response when sending stats")
Fixes:
4080e46c8078 ("telemetry: support global metrics")
Cc: stable@dpdk.org
Signed-off-by: Ferruh Yigit <ferruh.yigit@intel.com>
Acked-by: Kevin Laatz <kevin.laatz@intel.com>
static int32_t
rte_telemetry_json_format_port(struct telemetry_impl *telemetry,
uint32_t port_id, json_t *ports, uint32_t *metric_ids,
- uint32_t num_metric_ids)
+ int num_metric_ids)
{
struct rte_metric_value *metrics = 0;
struct rte_metric_name *names = 0;
int num_metrics, ret, err_ret;
json_t *port, *stats;
- uint32_t i;
+ int i;
num_metrics = rte_metrics_get_names(NULL, 0);
if (num_metrics < 0) {
{
int ret;
json_t *root, *ports;
- uint32_t i;
+ int i;
uint32_t port_id;
- uint32_t num_port_ids;
- uint32_t num_metric_ids;
+ int num_port_ids;
+ int num_metric_ids;
ports = json_array();
if (ports == NULL) {
int ret;
char *json_buffer = NULL;
uint32_t port_id;
- unsigned int i;
+ int i;
if (telemetry == NULL) {
TELEMETRY_LOG_ERR("Invalid telemetry argument");
enum rte_telemetry_stats_type type;
union {
struct port_param {
- uint32_t num_metric_ids;
+ int num_metric_ids;
uint32_t metric_ids[MAX_METRICS];
- uint32_t num_port_ids;
+ int num_port_ids;
uint32_t port_ids[RTE_MAX_ETHPORTS];
} pp;
struct global_param {
- uint32_t num_metric_ids;
+ int num_metric_ids;
uint32_t metric_ids[MAX_METRICS];
} gp;
};