Deferred start TX queue test

Deferred start TX queue and checking that it works properly

Make sure that if we use deferred start on randomly chosen queue, then this queue actually will not receive packets until we do it manually

  1. Check maximum number of Tx queues

  2. Prepare n_txq TX queues and set deffered flag randomly

  3. Probe the feature support on queue number 0

  4. Rollback to TEST_ETHDEV_CONFIGURED state

  5. Start the Ethernet device

  6. Ensure that interface is UP on Tester side

  7. Retrieve information about deferred_queue TX queue and make sure that the tx_deferred_start flag is set Ignore this check if tx_queue_info_get function is not supported

  8. Prepare mbuf to be sent and pattern to match it by tmpl

  9. TST: start listening to network

  10. Validate and try to transmit the packet from iut_port from deferred_queue TX queue

  11. Check that iut_port port hasn't transmitted any packets

    • TST: check that no packets arrived

  12. Start TX queue

  13. TST: continue listening to network

  14. Validate and transmit the packet from deferred_queue Tx queue on iut_port

  15. Receive packet on iut_port Check that the port has received only one packet, and this packet match the packet sent one from iut_port

  16. Check that no extra packets are received on Tester

  17. Stop deferred_queue TX queue

  18. Retrieve information about deferred_queue TX queue and make sure that the tx_deferred_start flag is set after stopping of TX queue Ignore this check if tx_queue_info_get function is not supported

Parameters:

tmpl

Traffic template

n_rxq

The number of TX queues