telemetry: fix build
authorFerruh Yigit <ferruh.yigit@intel.com>
Thu, 27 Jun 2019 19:51:44 +0000 (20:51 +0100)
committerThomas Monjalon <thomas@monjalon.net>
Fri, 28 Jun 2019 09:06:08 +0000 (11:06 +0200)
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>
lib/librte_telemetry/rte_telemetry.c
lib/librte_telemetry/rte_telemetry_internal.h

index a4b82c9..949c636 100644 (file)
@@ -318,13 +318,13 @@ eperm_fail:
 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) {
@@ -453,10 +453,10 @@ rte_telemetry_encode_json_format(struct telemetry_impl *telemetry,
 {
        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) {
@@ -589,7 +589,7 @@ rte_telemetry_send_ports_stats_values(struct telemetry_encode_param *ep,
        int ret;
        char *json_buffer = NULL;
        uint32_t port_id;
-       unsigned int i;
+       int i;
 
        if (telemetry == NULL) {
                TELEMETRY_LOG_ERR("Invalid telemetry argument");
index 6a91d0c..ce1ee88 100644 (file)
@@ -60,13 +60,13 @@ struct telemetry_encode_param {
        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;
        };