Type: fix
For some virtio backends, packets don't seem to flow
if all the queues that have been requested are not
initialized
Change-Id: I41765d668497ff954e6d69d36836590947fd93b1
Signed-off-by: Nathan Skrzypczak <nathan.skrzypczak@gmail.com>
virtio_pci_create_if_args_t * args, void **bar)
{
clib_error_t *error = 0;
virtio_pci_create_if_args_t * args, void **bar)
{
clib_error_t *error = 0;
- vlib_thread_main_t *vtm = vlib_get_thread_main ();
u8 status = 0;
if ((error = virtio_pci_read_caps (vm, vif, bar)))
u8 status = 0;
if ((error = virtio_pci_read_caps (vm, vif, bar)))
- if (i >= vtm->n_vlib_mains)
- {
- /*
- * There is 1:1 mapping between tx queue and vpp worker thread.
- * tx queue 0 is bind with thread index 0, tx queue 1 on thread
- * index 1 and so on.
- * Multiple worker threads can poll same tx queue when number of
- * workers are more than tx queues. In this case, 1:N mapping
- * between tx queue and vpp worker thread.
- */
- virtio_log_debug (vif, "%s %u, %s", "tx-queue: number",
- TX_QUEUE (i),
- "no VPP worker thread is available");
- continue;
- }
-
if ((error = virtio_pci_vring_init (vm, vif, TX_QUEUE (i))))
{
args->rv = VNET_API_ERROR_INIT_FAILED;
if ((error = virtio_pci_vring_init (vm, vif, TX_QUEUE (i))))
{
args->rv = VNET_API_ERROR_INIT_FAILED;