[PATCH v3 6/8] net/gve: update RSS config just after successful programming

Joshua Washington joshwash at google.com
Sat Oct 10 02:59:38 CEST 2026


Moving this into the control op allows for better flexibility when
introducing the mailbox op, which will include support for a query
operation.

Signed-off-by: Joshua Washington <joshwash at google.com>
---
 drivers/net/gve/base/gve_adminq.c | 5 +++++
 drivers/net/gve/gve_ethdev.c      | 6 ------
 2 files changed, 5 insertions(+), 6 deletions(-)

diff --git a/drivers/net/gve/base/gve_adminq.c b/drivers/net/gve/base/gve_adminq.c
index 4dd095880d..db3e43c6b0 100644
--- a/drivers/net/gve/base/gve_adminq.c
+++ b/drivers/net/gve/base/gve_adminq.c
@@ -3,9 +3,12 @@
  * Copyright (C) 2015-2022 Google, Inc.
  */
 
+#include <rte_common.h>
+
 #include "../gve_ethdev.h"
 #include "gve_adminq.h"
 #include "gve_register.h"
+#include "gve_rss.h"
 
 #define GVE_MAX_ADMINQ_RELEASE_CHECK	500
 #define GVE_ADMINQ_SLEEP_LEN		20
@@ -1275,6 +1278,8 @@ int gve_adminq_configure_rss(struct gve_priv *priv,
 	};
 
 	err = gve_adminq_execute_cmd(priv, &cmd);
+	if (err == 0)
+		gve_update_priv_rss_config(priv, rss_config);
 
 out:
 	if (indir)
diff --git a/drivers/net/gve/gve_ethdev.c b/drivers/net/gve/gve_ethdev.c
index 1ee49856af..d117b28dd0 100644
--- a/drivers/net/gve/gve_ethdev.c
+++ b/drivers/net/gve/gve_ethdev.c
@@ -251,8 +251,6 @@ gve_dev_configure(struct rte_eth_dev *dev)
 		if (err)
 			PMD_DRV_LOG(ERR,
 				"Could not reconfigure RSS redirection table.");
-		else
-			gve_update_priv_rss_config(priv, &update_reta_config);
 
 		gve_free_rss_config(&update_reta_config);
 		return err;
@@ -1187,8 +1185,6 @@ gve_rss_hash_update(struct rte_eth_dev *dev,
 			gve_rss_conf.indir_size * sizeof(*priv->rss_config.indir));
 
 	err = process_priv->ctrl_ops->configure_rss(priv, &gve_rss_conf);
-	if (!err)
-		gve_update_priv_rss_config(priv, &gve_rss_conf);
 
 err:
 	gve_free_rss_config(&gve_rss_conf);
@@ -1266,8 +1262,6 @@ gve_rss_reta_update(struct rte_eth_dev *dev,
 	err = process_priv->ctrl_ops->configure_rss(priv, &gve_rss_conf);
 	if (err)
 		PMD_DRV_LOG(ERR, "Problem configuring RSS with device.");
-	else
-		gve_update_priv_rss_config(priv, &gve_rss_conf);
 
 	gve_free_rss_config(&gve_rss_conf);
 	return err;
-- 
2.56.0.170.g584c36229d-goog



More information about the dev mailing list