From bccc77a6a74a6c30e68f88b2ef0d0099c45898c8 Mon Sep 17 00:00:00 2001 From: Yasufumi Ogawa Date: Sun, 29 Sep 2019 11:41:41 +0900 Subject: [PATCH] net/null: fix multi-process Rx and Tx Packet processing in secondary process cannot work because rx_pkt_burst and tx_pkt_burst in eth_dev are not initialized while probing device. This patch is to the initialization. Fixes: ee27edbe0c10 ("drivers/net: share vdev data to secondary process") Cc: stable@dpdk.org Signed-off-by: Yasufumi Ogawa Reviewed-by: Ferruh Yigit --- drivers/net/null/rte_eth_null.c | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/drivers/net/null/rte_eth_null.c b/drivers/net/null/rte_eth_null.c index e2ff41a229..3a8904729b 100644 --- a/drivers/net/null/rte_eth_null.c +++ b/drivers/net/null/rte_eth_null.c @@ -590,6 +590,13 @@ rte_pmd_null_probe(struct rte_vdev_device *dev) /* TODO: request info from primary to set up Rx and Tx */ eth_dev->dev_ops = &ops; eth_dev->device = &dev->device; + if (packet_copy) { + eth_dev->rx_pkt_burst = eth_null_copy_rx; + eth_dev->tx_pkt_burst = eth_null_copy_tx; + } else { + eth_dev->rx_pkt_burst = eth_null_rx; + eth_dev->tx_pkt_burst = eth_null_tx; + } rte_eth_dev_probing_finish(eth_dev); return 0; } -- 2.20.1