From 9fa6f7d425d66a00c3f63c7a3033eb06fd6b1852 Mon Sep 17 00:00:00 2001 From: priyadarshitathagat Date: Wed, 17 Jul 2024 18:53:47 +0000 Subject: [PATCH] net/gve: Update Rx/Tx functions for RTE_PROC_SECONDARY The RSS support for GVE allows multiple CPU cores to handle the rx/tx queues as pollers. This requires initializing the eth_dev_ops and updating the RX/TX functions for these pollers. Signed-off-by: Tathagat Priyadarshi Acked-by: Rushil Gupta --- drivers/net/gve/gve_ethdev.c | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/drivers/net/gve/gve_ethdev.c b/drivers/net/gve/gve_ethdev.c index ca92277..2d8ef6f 100644 --- a/drivers/net/gve/gve_ethdev.c +++ b/drivers/net/gve/gve_ethdev.c @@ -1173,8 +1173,18 @@ struct gve_queue_page_list * rte_be32_t *db_bar; int err; - if (rte_eal_process_type() != RTE_PROC_PRIMARY) + if (rte_eal_process_type() != RTE_PROC_PRIMARY) { + if (gve_is_gqi(priv)) { + gve_set_rx_function(eth_dev); + gve_set_tx_function(eth_dev); + eth_dev->dev_ops = &gve_eth_dev_ops; + } else { + gve_set_rx_function_dqo(eth_dev); + gve_set_tx_function_dqo(eth_dev); + eth_dev->dev_ops = &gve_eth_dev_ops_dqo; + } return 0; + } pci_dev = RTE_DEV_TO_PCI(eth_dev->device); -- 1.8.3.1 https://github.com/DPDK/dpdk/pull/86