From: Anand Sunkad Date: Thu, 17 Oct 2019 13:20:50 +0000 (+0000) Subject: net/memif: support multiple Tx X-Git-Url: http://git.droids-corp.org/?a=commitdiff_plain;h=ed650f3dd83fe4a4000277d1a44a38806c0c7d67;hp=d803feec8d23c0c0394809d8fa6e2563607ce180;p=dpdk.git net/memif: support multiple Tx 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 Reviewed-by: Jakub Grajciar --- diff --git a/drivers/net/memif/rte_eth_memif.c b/drivers/net/memif/rte_eth_memif.c index b27ca2b5f5..35934c8345 100644 --- a/drivers/net/memif/rte_eth_memif.c +++ b/drivers/net/memif/rte_eth_memif.c @@ -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;