[v2] app/testpmd: update Rx RSS HASH offload when setting MQ RSS
Checks
Commit Message
From: Huisong Li <lihuisong@huawei.com>
Currently, when starting testpmd application without '--disable-rss' and
the number of Rx queue configured is greater than 1, ETH_MQ_RX_RSS flag
is set in port->dev_conf.rxmode.mq_mode in testpmd application, and
DEV_RX_OFFLOAD_RSS_HASH flag is set in rx_offloads
(dev->data->dev_conf.rxmode.offloads) according to the ETH_MQ_RX_RSS
flag of rxmode.mq_mode in PMD drivers.
However, DEV_RX_OFFLOAD_RSS_HASH is not set to rx_offloads maintained
in testpmd application, this will cause the inconsistent problem that
rx_offloads is different for testpmd and PMD drivers.
Signed-off-by: Huisong Li <lihuisong@huawei.com>
Signed-off-by: Wei Hu (Xavier) <xavier.huwei@huawei.com>
---
v1 -> v2: add check if PMD support DEV_RX_OFFLOAD_RSS_HASH before
setting it.
---
app/test-pmd/testpmd.c | 8 ++++++--
1 file changed, 6 insertions(+), 2 deletions(-)
@@ -3353,11 +3353,15 @@ init_port_config(void)
}
if (port->dcb_flag == 0) {
- if( port->dev_conf.rx_adv_conf.rss_conf.rss_hf != 0)
+ if (port->dev_conf.rx_adv_conf.rss_conf.rss_hf != 0) {
port->dev_conf.rxmode.mq_mode =
(enum rte_eth_rx_mq_mode)
(rx_mq_mode & ETH_MQ_RX_RSS);
- else
+ if (port->dev_info.rx_offload_capa &
+ DEV_RX_OFFLOAD_RSS_HASH)
+ port->dev_conf.rxmode.offloads |=
+ DEV_RX_OFFLOAD_RSS_HASH;
+ } else
port->dev_conf.rxmode.mq_mode = ETH_MQ_RX_NONE;
}