Check Tx descriptor status correctness

Prove that Tx descriptor status callback readings are consistent

The test is to confirm that Tx descriptor status callback provides accurate readings with respect to certain descriptors in the Tx ring under different circumstances (descriptors added to the Tx queue, descriptors acknowledged by the HW as done) and in case of reserved entries

  1. Prepare TEST_ETHDEV_RX_SETUP_DONE state

  2. Setup the second Tx queue with default settings. Do it before the first Tx queue setup to be able to start the device right after the first Tx queue setup to find the highest free threshold possible

  3. Setup the first Tx queue with the highest free threshold possible

  4. Prepare TEST_ETHDEV_STARTED state

  5. Check that the first descriptor is unused

  6. Check that the last usable descriptor is unused

  7. Verify reserved descriptors (if any)

  8. Check that non-existing descriptor status retrieval is rejected

  9. Prepare sufficient mempool

  10. Cook traffic template

  11. Validate and add the packets to the Tx queue on IUT

  12. Check that the first descriptor is either FULL or DONE

  13. If the first descriptor isn't DONE, delay and check if it becomes DONE

Parameters:

template

Traffic template