Setup Rx queue at runtime
Setup Rx queue when device is started, perform the check using RSS
Make sure that it is possible to setup a Rx queue when the Ethernet device is started. Perform the check using RSS RETA.
Configure the Ethernet device
Prepare desired RSS hash configuration
Check for Rx queue runtime setup capability
Setup the queues that were not marked for runtime setup
Start the device
Stop and start the device again to make sure that the device can be stopped while some of its queues are not set up
Prepare tmpl for test
Get default RETA configuration which implies that all queues are setup
Prepare template for packets which would have been received on rxq_runtime_setup_idx queue if RETA had been configured by default
Establish effective RSS hash configuration
Configure RETA to redirect all packets to only setup queues
Ensure that interface is UP on Tester side
Check that a packet with the prepared template is received on one of the setup queues
Setup the rxq_runtime_setup_idx queue
Restart the device to start all Rx queues except rxq_runtime_setup_idx queue if deferred_start is
TRUE
. Also make sure that the current state of the queues does not cause device start and stop failuresStart the rxq_runtime_setup_idx queue if deferred_start is
TRUE
Reset RETA to default state
Check that a packet with the prepared template is received on the rxq_runtime_setup_idx queue
Parameters:
tmpl |
Traffic template |
nb_rxq |
Rx queue count |
rxq_runtime_setup_idx |
Index of the queue that will be setup and started at run time |
deferred_start |
Does the runtime setup queue need to be marked as deferred |