]> git.droids-corp.org - dpdk.git/commitdiff
app/testpmd: fix type of FEC mode parsing output
authorJie Zhou <jizh@linux.microsoft.com>
Tue, 29 Jun 2021 20:50:19 +0000 (13:50 -0700)
committerAndrew Rybchenko <Andrew.Rybchenko@oktetlabs.ru>
Fri, 2 Jul 2021 17:03:03 +0000 (19:03 +0200)
Passing an uint32_t pointer to an enum pointer parameter causes
pointer-sign warning on Windows (converts between pointers to
integer types with different sign), since enum is implicitly
converted to int on Windows.

And the current enum pointer parameter of that function is actually
misleading and should be fixed as an uint32_t pointer parameter.

Fixes: b19da32e3151 ("app/testpmd: add FEC command")
Cc: stable@dpdk.org
Signed-off-by: Jie Zhou <jizh@linux.microsoft.com>
Reviewed-by: Andrew Rybchenko <andrew.rybchenko@oktetlabs.ru>
app/test-pmd/cmdline.c
app/test-pmd/config.c
app/test-pmd/testpmd.h

index 0268b18f958e4fa5f18a83a3fb1ea551c4a8298e..dff5a75ec57ba1286fae821d6358e5aeac1e79a4 100644 (file)
@@ -16997,17 +16997,17 @@ cmd_set_port_fec_mode_parsed(
 {
        struct cmd_set_port_fec_mode *res = parsed_result;
        uint16_t port_id = res->port_id;
-       uint32_t mode;
+       uint32_t fec_capa;
        int ret;
 
-       ret = parse_fec_mode(res->fec_value, &mode);
+       ret = parse_fec_mode(res->fec_value, &fec_capa);
        if (ret < 0) {
                printf("Unknown fec mode: %s for Port %d\n", res->fec_value,
                        port_id);
                return;
        }
 
-       ret = rte_eth_fec_set(port_id, mode);
+       ret = rte_eth_fec_set(port_id, fec_capa);
        if (ret == -ENOTSUP) {
                printf("Function not implemented\n");
                return;
index 43c79b502168871d672362b73ca37ab53549cad5..d87c970ac99c07fd13b61b2931d05ecd245d994f 100644 (file)
@@ -3617,13 +3617,14 @@ set_tx_pkt_split(const char *name)
 }
 
 int
-parse_fec_mode(const char *name, uint32_t *mode)
+parse_fec_mode(const char *name, uint32_t *fec_capa)
 {
        uint8_t i;
 
        for (i = 0; i < RTE_DIM(fec_mode_name); i++) {
                if (strcmp(fec_mode_name[i].name, name) == 0) {
-                       *mode = RTE_ETH_FEC_MODE_TO_CAPA(fec_mode_name[i].mode);
+                       *fec_capa =
+                               RTE_ETH_FEC_MODE_TO_CAPA(fec_mode_name[i].mode);
                        return 0;
                }
        }
index 283b5e3680d2f559dba50325b1b32af639405992..9ae4d90dd1435a5eb5d4325acf90dd1364668359 100644 (file)
@@ -885,7 +885,7 @@ void show_tx_pkt_segments(void);
 void set_tx_pkt_times(unsigned int *tx_times);
 void show_tx_pkt_times(void);
 void set_tx_pkt_split(const char *name);
-int parse_fec_mode(const char *name, enum rte_eth_fec_mode *mode);
+int parse_fec_mode(const char *name, uint32_t *fec_capa);
 void show_fec_capability(uint32_t num, struct rte_eth_fec_capa *speed_fec_capa);
 void set_nb_pkt_per_burst(uint16_t pkt_burst);
 char *list_pkt_forwarding_modes(void);