When set port DCB in VT mode enabled, it should remove RSS HASH offload before reconfiguring the device and queues. Because port multi-queue mode is changed from RSS to DCB in VT. Fixes: 2a977b891f99 ("app/testpmd: fix DCB configuration") Signed-off-by: Jie Wang <jie1x.wang@intel.com>
Acked-by: Aman Deep Singh <aman.deep.singh@intel.com>
--- v3: * update commit log. * remove RSS HASh offload from DCB in VT. v2: * update commit log. * remove RSS HASH offload from port->rx_conf[i].offloads. --- app/test-pmd/testpmd.c | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/app/test-pmd/testpmd.c b/app/test-pmd/testpmd.c index a66dfb297c..c18942279a 100644 --- a/app/test-pmd/testpmd.c +++ b/app/test-pmd/testpmd.c @@ -3948,6 +3948,13 @@ init_port_dcb_config(portid_t pid, if (retval < 0) return retval; port_conf.rxmode.offloads |= RTE_ETH_RX_OFFLOAD_VLAN_FILTER; + /* remove RSS HASH offload for DCB in vt mode */ + if (port_conf.rxmode.mq_mode == RTE_ETH_MQ_RX_VMDQ_DCB) { + port_conf.rxmode.offloads &= ~RTE_ETH_RX_OFFLOAD_RSS_HASH; + for (i = 0; i < nb_rxq; i++) + rte_port->rx_conf[i].offloads &= + ~RTE_ETH_RX_OFFLOAD_RSS_HASH; + } /* re-configure the device . */ retval = rte_eth_dev_configure(pid, nb_rxq, nb_rxq, &port_conf);