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 <[email protected]>
---
 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 3ba99fd74c..49604f9362 100644
--- a/drivers/net/gve/gve_ethdev.c
+++ b/drivers/net/gve/gve_ethdev.c
@@ -243,8 +243,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;
@@ -1161,8 +1159,6 @@ gve_rss_hash_update(struct rte_eth_dev *dev,
                        gve_rss_conf.indir_size * 
sizeof(*priv->rss_config.indir));
 
        err = 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);
@@ -1239,8 +1235,6 @@ gve_rss_reta_update(struct rte_eth_dev *dev,
        err = 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.rc1.315.gc6ed9934b7-goog

Reply via email to