Bug 1115

Summary: i40e: RSS hash conf update fails when hash proto mask in rx_adv_conf is 0
Product: DPDK Reporter: ivan.malov
Component: ethdevAssignee: Zhang Yuying (yuying.zhang)
Status: UNCONFIRMED ---    
Severity: normal CC: andrew.rybchenko, beilei.xing, ivan.malov, kaiwenx.deng, yux.jiang
Priority: Normal    
Version: unspecified   
Target Milestone: ---   
Hardware: All   
OS: All   

Description ivan.malov 2022-10-26 16:35:55 CEST
Opensource ethdev tests [1] have been improved over the past weeks.
With the latest update, test "usecases/update_rss_hash_conf" finds
yet another bug in i40e PMD. If the user has not passed a non-zero
hash protocol mask via "rx_adv_conf" during device configure stage,
any attempts to use rte_eth_dev_rss_hash_update() at a later stage
will fail regardless of hash protocol mask and key being requested.

When the test sees that, it tries to re-configure the ethdev, this
time with the "rx_adv_conf" hash protocol mask being non-zero. The
following invocations of rte_eth_dev_rss_hash_update() do not fail.

In this particular case, the "non-zero" mask being used is in fact
taken from the "flow_type_rss_offloads" field specified by the PMD.


Further research indicates that the PMD considers RSS unconfigured
in the case of zero "rx_adv_conf" hash protocol mask, which is not
correct. Whether the user wants to enable RSS or not is determined
solely by testing RTE_ETH_MQ_RX_RSS_FLAG in "rxmode.mq_mode" field.
If this flag is set, rte_eth_dev_rss_hash_update() should not fail
unless the application tries a wittingly unsupported configuration.


A complete log example can be found at [2].


[1] http://mails.dpdk.org/archives/dev/2022-October/251663.html
[2] https://ts-factory.io/bublik/v2/log/163204?focusId=163697&mode=treeAndlog
Comment 1 dengkaiwen 2023-11-01 09:04:24 CET
please offer the reproduce steps with standard DPDK API like testpmd, l3fwd and other examples.