From mboxrd@z Thu Jan 1 00:00:00 1970 From: Qi Zhang Subject: [PATCH] app/testpmd: fix testpmd failure due to RSS offload check Date: Tue, 24 Apr 2018 22:18:06 +0800 Message-ID: <20180424141806.47123-1-qi.z.zhang@intel.com> Cc: dev@dpdk.org, Qi Zhang To: thomas@monjalon.net, ferruh.yigit@intel.com Return-path: Received: from mga07.intel.com (mga07.intel.com [134.134.136.100]) by dpdk.org (Postfix) with ESMTP id 064B129D2 for ; Tue, 24 Apr 2018 16:17:53 +0200 (CEST) List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" After add RSS hash offload check, default rss_hf will fail on devices that not support all bits, the patch take rss_hf as a suggest value and only set bits that device supported base on rte_eth_dev_get_info. Fixes: 527624c663f8 ("ethdev: add supported hash function check") Signed-off-by: Qi Zhang --- app/test-pmd/testpmd.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/app/test-pmd/testpmd.c b/app/test-pmd/testpmd.c index d6da41927..af3fc5388 100644 --- a/app/test-pmd/testpmd.c +++ b/app/test-pmd/testpmd.c @@ -2265,13 +2265,16 @@ init_port_config(void) { portid_t pid; struct rte_port *port; + struct rte_eth_dev_info dev_info; RTE_ETH_FOREACH_DEV(pid) { port = &ports[pid]; port->dev_conf.fdir_conf = fdir_conf; if (nb_rxq > 1) { + rte_eth_dev_info_get(pid, &dev_info); port->dev_conf.rx_adv_conf.rss_conf.rss_key = NULL; - port->dev_conf.rx_adv_conf.rss_conf.rss_hf = rss_hf; + port->dev_conf.rx_adv_conf.rss_conf.rss_hf = + rss_hf & dev_info.flow_type_rss_offloads; } else { port->dev_conf.rx_adv_conf.rss_conf.rss_key = NULL; port->dev_conf.rx_adv_conf.rss_conf.rss_hf = 0; -- 2.13.6