net/memif: support multiple Tx
authorAnand Sunkad <anand.sunkad@benisontech.com>
Thu, 17 Oct 2019 13:20:50 +0000 (13:20 +0000)
committerFerruh Yigit <ferruh.yigit@intel.com>
Fri, 25 Oct 2019 17:00:22 +0000 (19:00 +0200)
When Multiple slave/master Memif's interfaces are created in single
process data transmission over second connection is not successful.

Issue is because of "mq->in_port" is not initialized with
"dev->data->port_id" in memif_tx_queue_setup() function, and while
transmitting packets over second connection in eth_memif_tx function
it refer "mq->in_port" which is always zero, which leads to data
transmission always in 0th port.

To mitigate the issue,"mq->in_port" is initialized with
"dev->data->port_id" in memif_tx_queue_setup() function.

Signed-off-by: Anand Sunkad <anand.sunkad@benisontech.com>
Reviewed-by: Jakub Grajciar <jgrajcia@cisco.com>
drivers/net/memif/rte_eth_memif.c

index b27ca2b..35934c8 100644 (file)
@@ -873,6 +873,7 @@ memif_tx_queue_setup(struct rte_eth_dev *dev,
        mq->n_bytes = 0;
        mq->intr_handle.fd = -1;
        mq->intr_handle.type = RTE_INTR_HANDLE_EXT;
+       mq->in_port = dev->data->port_id;
        dev->data->tx_queues[qid] = mq;
 
        return 0;