When working as a secondary process, it uses eth_memif_rx in PMD egress. It should be eth_memif_tx.
Fixes: c41a04958b ("net/memif: support multi-process") Signed-off-by: Phil Yang <phil.y...@arm.com> Reviewed-by: Gavin Hu <gavin...@arm.com> --- v2: Add descriptions in commit log. v1: Initial version. drivers/net/memif/rte_eth_memif.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/net/memif/rte_eth_memif.c b/drivers/net/memif/rte_eth_memif.c index bcda426..a59f809 100644 --- a/drivers/net/memif/rte_eth_memif.c +++ b/drivers/net/memif/rte_eth_memif.c @@ -1265,7 +1265,7 @@ rte_pmd_memif_probe(struct rte_vdev_device *vdev) eth_dev->dev_ops = &ops; eth_dev->device = &vdev->device; eth_dev->rx_pkt_burst = eth_memif_rx; - eth_dev->tx_pkt_burst = eth_memif_rx; + eth_dev->tx_pkt_burst = eth_memif_tx; if (!rte_eal_primary_proc_alive(NULL)) { MIF_LOG(ERR, "Primary process is missing"); -- 2.7.4