Queue index was incorrectly incremented with port, which caused swizzling of packet placement among queues. This manifested when the number of configured ports was >1 and < nb_queues.
Fixes: c33d45af3633 ("net/ark: add Tx initial version") Cc: sta...@dpdk.org Signed-off-by: Ed Czeck <ed.cz...@atomicrules.com> --- drivers/net/ark/ark_ethdev_rx.c | 4 +--- drivers/net/ark/ark_ethdev_tx.c | 4 +--- 2 files changed, 2 insertions(+), 6 deletions(-) diff --git a/drivers/net/ark/ark_ethdev_rx.c b/drivers/net/ark/ark_ethdev_rx.c index 7de1a98..6156730 100644 --- a/drivers/net/ark/ark_ethdev_rx.c +++ b/drivers/net/ark/ark_ethdev_rx.c @@ -127,9 +127,7 @@ eth_ark_dev_rx_queue_setup(struct rte_eth_dev *dev, uint32_t i; int status; - /* Future works: divide the Q's evenly with multi-ports */ - int port = dev->data->port_id; - int qidx = port + queue_idx; + int qidx = queue_idx; /* We may already be setup, free memory prior to re-allocation */ if (dev->data->rx_queues[queue_idx] != NULL) { diff --git a/drivers/net/ark/ark_ethdev_tx.c b/drivers/net/ark/ark_ethdev_tx.c index 1967655..08bcf43 100644 --- a/drivers/net/ark/ark_ethdev_tx.c +++ b/drivers/net/ark/ark_ethdev_tx.c @@ -211,9 +211,7 @@ eth_ark_tx_queue_setup(struct rte_eth_dev *dev, struct ark_tx_queue *queue; int status; - /* Future: divide the Q's evenly with multi-ports */ - int port = dev->data->port_id; - int qidx = port + queue_idx; + int qidx = queue_idx; if (!rte_is_power_of_2(nb_desc)) { PMD_DRV_LOG(ERR, -- 2.7.4