app/testpmd: fix missing init in RSS hash show command
authorAdrien Mazarguil <adrien.mazarguil@6wind.com>
Fri, 30 Oct 2015 18:55:14 +0000 (19:55 +0100)
committerThomas Monjalon <thomas.monjalon@6wind.com>
Sun, 1 Nov 2015 10:23:30 +0000 (11:23 +0100)
The "show port X rss-hash" command sometimes displays garbage instead of the
expected RSS hash key because the maximum key length is undefined. When the
requested key is too large to fit in the buffer,
rte_eth_dev_rss_hash_conf_get() does not update it.

Signed-off-by: Adrien Mazarguil <adrien.mazarguil@6wind.com>
Signed-off-by: Nelio Laranjeiro <nelio.laranjeiro@6wind.com>
app/test-pmd/config.c

index 8474706..d6f4e64 100644 (file)
@@ -879,7 +879,7 @@ void
 port_rss_hash_conf_show(portid_t port_id, char rss_info[], int show_rss_key)
 {
        struct rte_eth_rss_conf rss_conf;
-       uint8_t rss_key[10 * 4];
+       uint8_t rss_key[10 * 4] = "";
        uint64_t rss_hf;
        uint8_t i;
        int diag;
@@ -895,6 +895,7 @@ port_rss_hash_conf_show(portid_t port_id, char rss_info[], int show_rss_key)
 
        /* Get RSS hash key if asked to display it */
        rss_conf.rss_key = (show_rss_key) ? rss_key : NULL;
+       rss_conf.rss_key_len = sizeof(rss_key);
        diag = rte_eth_dev_rss_hash_conf_get(port_id, &rss_conf);
        if (diag != 0) {
                switch (diag) {