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
please offer the reproduce steps with standard DPDK API like testpmd, l3fwd and other examples.