.. index:: pair: group; Setup Rx queue at run time .. _doxid-group__usecases-runtime__rx__queue__setup__with__flow: Setup Rx queue at run time ========================== .. toctree:: :hidden: group_usecases-runtime_rx_queue_setup_with_flow-run.rst Setup Rx queue when device is started, perform the check using flow API Make sure that it is possible to setup a Rx queue when the Ethernet device is started. Perform the check using flow API rules. #. Configure the Ethernet device #. Change destination MAC to NIC MAC if it is present in pattern #. Check for Rx queue runtime setup capability #. Setup isolation mode if requested by **isolated** #. Setup the queues that are not in **rxq_runtime_setup_ids** #. 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 #. Make flow rule attributes with only one "ingress" attribute #. Make flow rule pattern by **flow_rule_pattern** #. Prepare template that matches the filter #. Prepare template that does not match the filter #. Repeat following steps for all **rxq_runtime_setup_ids** #. Check that all previously started queues are able to receive traffic * Validate and create the flow rule that redirects packets that match flow rule pattern to the target queue * Transmit one packet with prepared match template. Check that the packet was recieved on target queue * Transmit one packet with mismatching template. Check that the packet was recieved on default queue. In case of isolated flow - check that the packet appeared on neither target nor default queue #. Destroy the flow rule #. Setup a queue, add deferred start flag if requested by **deferred_start** #. Restart the device to start all Rx queues that were setup previously except deferred start queues. Also make sure that the current state of the queues does not cause device start and stop failures #. Start the queue if it is deferred (**deferred_start**) .. rubric:: Parameters: .. list-table:: :widths: 20 80 * - isolated - Isolated mode toggle * - flow_rule_pattern - Flow rule * - nb_rxq - Rx queue count * - rxq_runtime_setup_ids - Indices of queues that will be setup and started at run time * - deferred_start - Should the queues that setup at run time be marked as deferred | :ref:`runtime_rx_queue_setup_with_flow`