Update the RSS hash configuration
Update the RSS hash configuration
Make sure that the RSS configuration updating is successful
Initialise the Ethernet device to get device information
Check if required number of Rx queues is supported
Setup RX configuration to work in RSS mode
Enable RSS_HASH offload if it is supported
Commence configuration with generating a random hash key
Specify all of the advertised flags in the hash proto mask
Start the Ethernet device
Try to update hash configuration via the dedicated API
On error, lead the ethdev to state
TEST_ETHDEV_INITIALIZED
If needed, fill out
rx_adv_conf
and redo steps 7 and 8If needed, apply parameter rss_hash_protos and redo step 8
Query the RSS hash configuration and check that the new configuration was successfully updated Skip this step, if RSS hash configuration query is not supported
Prepare a packet by tmpl to check the RSS hash coniguration by the packet sending
Query the RETA. Use default one if query operation is not supported
Calculate the packet hash, using the Toeplitz function and the new hash key
Determine the queue index by means of the hash
Ensure that interface is UP on Tester side
Transmit the packet from tst_if
Try to receive the packet on expected_queue
If the packet has not hit the target queue, consider symmetric RSS hash.
Make sure that the packet received matches the packet sent
Check RSS hash value if it is available
Check other Rx queues to collect diagnostics
Parameters:
tmpl |
The template of packet |
nb_rx_queues |
The number of RX queues |
rss_hash_protos |
Bitmask of RSS hash protocols |