[dpdk-dev] [dpdk-stable] [PATCH] app/testpmd: fixed get RSS conf

Ferruh Yigit ferruh.yigit at intel.com
Fri Dec 21 15:25:37 CET 2018


On 12/21/2018 1:01 PM, Qiming Yang wrote:
> I40e do not allow to get rss hena only, need to get rss
> key meanwhile.

i40e_get_rss_key() returns error if 'rss_conf.rss_key' is NULL, this patch is
fixing the error case.

But instead of fixing this in application level, it can be better to fix in
driver level. Because 'rte_eth_dev_rss_hash_conf_get()' API doesn't dictate
'rss_conf.rss_key' to be not NULL, so any other application can cause same problem.

Possible solution can be to have an interim 'key' buffer in
'i40e_dev_rss_hash_conf_get()' and copy it to 'rss_conf.rss_key' if it is not NULL.

> 
> Fixes: 16321de09396 ("ethdev: allow to get RSS hash functions and key")
> Cc: stable at dpdk.org
> 
> Signed-off-by: Qiming Yang <qiming.yang at intel.com>
> ---
>  app/test-pmd/config.c | 5 +++--
>  1 file changed, 3 insertions(+), 2 deletions(-)
> 
> diff --git a/app/test-pmd/config.c b/app/test-pmd/config.c
> index b9e5dd9..482c4f5 100644
> --- a/app/test-pmd/config.c
> +++ b/app/test-pmd/config.c
> @@ -1764,8 +1764,7 @@ port_rss_hash_conf_show(portid_t port_id, int show_rss_key)
>  		return;
>  	}
>  
> -	/* Get RSS hash key if asked to display it */
> -	rss_conf.rss_key = (show_rss_key) ? rss_key : NULL;
> +	rss_conf.rss_key = rss_key;
>  	rss_conf.rss_key_len = hash_key_size;
>  	diag = rte_eth_dev_rss_hash_conf_get(port_id, &rss_conf);
>  	if (diag != 0) {
> @@ -1793,6 +1792,8 @@ port_rss_hash_conf_show(portid_t port_id, int show_rss_key)
>  			printf("%s ", rss_type_table[i].str);
>  	}
>  	printf("\n");
> +
> +	/* Get RSS hash key if asked to display it */
>  	if (!show_rss_key)
>  		return;
>  	printf("RSS key:\n");
> 



More information about the dev mailing list