Bug 1115 - i40e: RSS hash conf update fails when hash proto mask in rx_adv_conf is 0
Summary: i40e: RSS hash conf update fails when hash proto mask in rx_adv_conf is 0
Status: UNCONFIRMED
Alias: None
Product: DPDK
Classification: Unclassified
Component: ethdev (show other bugs)
Version: unspecified
Hardware: All All
: Normal normal
Target Milestone: ---
Assignee: Zhang Yuying
URL:
Depends on:
Blocks:
 
Reported: 2022-10-26 16:35 CEST by ivan.malov
Modified: 2023-11-01 09:04 CET (History)
5 users (show)



Attachments

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.

Note You need to log in before you can comment on or make changes to this bug.