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