Update the RSS hash configuration

Update the RSS hash configuration

Make sure that the RSS configuration updating is successful

  1. Initialise the Ethernet device to get device information

  2. Check if required number of Rx queues is supported

  3. Setup RX configuration to work in RSS mode

  4. Enable RSS_HASH offload if it is supported

  5. Commence configuration with generating a random hash key

  6. Specify all of the advertised flags in the hash proto mask

  7. Start the Ethernet device

  8. Try to update hash configuration via the dedicated API

  9. On error, lead the ethdev to state TEST_ETHDEV_INITIALIZED

  10. If needed, fill out rx_adv_conf and redo steps 7 and 8

  11. If needed, apply parameter rss_hash_protos and redo step 8

  12. 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

  13. Prepare a packet by tmpl to check the RSS hash coniguration by the packet sending

  14. Query the RETA. Use default one if query operation is not supported

  15. Calculate the packet hash, using the Toeplitz function and the new hash key

  16. Determine the queue index by means of the hash

  17. Ensure that interface is UP on Tester side

  18. Transmit the packet from tst_if

  19. Try to receive the packet on expected_queue

  20. If the packet has not hit the target queue, consider symmetric RSS hash.

  21. Make sure that the packet received matches the packet sent

  22. Check RSS hash value if it is available

  23. 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