[dpdk-dev] [PATCH v2 11/16] app/testpmd: fix missing initialization in the RSS hash show command

Adrien Mazarguil adrien.mazarguil at 6wind.com
Fri Oct 30 19:55:14 CET 2015


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 at 6wind.com>
Signed-off-by: Nelio Laranjeiro <nelio.laranjeiro at 6wind.com>
---
 app/test-pmd/config.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/app/test-pmd/config.c b/app/test-pmd/config.c
index 8474706..d6f4e64 100644
--- a/app/test-pmd/config.c
+++ b/app/test-pmd/config.c
@@ -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) {
-- 
2.1.0



More information about the dev mailing list