Type: fix
Fixes:
2bae16b238bd ("memif: fix the default txq placement")
Signed-off-by: Mohsin Kazmi <sykazmi@cisco.com>
Change-Id: I8fbb2aa92dc31d84a5cd0f7b9a3c7f39dfb064ee
clib_file_t template = { 0 };
memif_region_t *mr;
int i, j;
clib_file_t template = { 0 };
memif_region_t *mr;
int i, j;
- u32 n_txqs, n_threads = vlib_get_n_threads ();
+ u32 n_txqs = 0, n_threads = vlib_get_n_threads ();
clib_error_t *err = NULL;
memif_log_debug (mif, "connect %u", mif->dev_instance);
clib_error_t *err = NULL;
memif_log_debug (mif, "connect %u", mif->dev_instance);
clib_spinlock_init (&mq->lockp);
}
clib_spinlock_init (&mq->lockp);
}
- n_txqs = vec_len (mif->tx_queues);
- for (j = 0; j < n_threads; j++)
+ if (vec_len (mif->tx_queues) > 0)
- u32 qi = mif->tx_queues[j % n_txqs].queue_index;
- vnet_hw_if_tx_queue_assign_thread (vnm, qi, j);
+ n_txqs = vec_len (mif->tx_queues);
+ for (j = 0; j < n_threads; j++)
+ {
+ u32 qi = mif->tx_queues[j % n_txqs].queue_index;
+ vnet_hw_if_tx_queue_assign_thread (vnm, qi, j);
+ }
}
vec_foreach_index (i, mif->rx_queues)
}
vec_foreach_index (i, mif->rx_queues)