Allow error to be returned for VIRTCHNL_OP_SET_RSS_HENA when set
hena = 0. Add warning that PF does not support hena = 0 now.

Fixes: 95f2f0e9fc2a6("net/iavf: improve default RSS")
Cc: sta...@dpdk.org

Signed-off-by: Xuan Ding <xuan.d...@intel.com>
---

v2:
* Modify the commit log to avoid a spelling error.
---
 drivers/net/iavf/iavf_ethdev.c | 20 +++++++++++++-------
 1 file changed, 13 insertions(+), 7 deletions(-)

diff --git a/drivers/net/iavf/iavf_ethdev.c b/drivers/net/iavf/iavf_ethdev.c
index e22c62ed00..46857875ea 100644
--- a/drivers/net/iavf/iavf_ethdev.c
+++ b/drivers/net/iavf/iavf_ethdev.c
@@ -1250,11 +1250,15 @@ iavf_dev_rss_hash_update(struct rte_eth_dev *dev,
        if (rss_conf->rss_hf == 0)
                return 0;
 
-       /* Overwritten default RSS. */
+       /* Clear existing RSS. */
        ret = iavf_set_hena(adapter, 0);
+
+       /* It is a workaround, temporarily allow error to be returned
+        * due to possible lack of PF handling for hena = 0.
+        */
        if (ret)
-               PMD_DRV_LOG(ERR, "%s Remove rss vsi fail %d",
-                           __func__, ret);
+               PMD_DRV_LOG(WARNING, "fail to clean existing RSS,"
+                           "lack PF support");
 
        /* Set new RSS configuration. */
        ret = iavf_rss_hash_set(adapter, rss_conf->rss_hf, true);
@@ -2174,10 +2178,12 @@ iavf_dev_init(struct rte_eth_dev *eth_dev)
 
        /* Set hena = 0 to ask PF to cleanup all existing RSS. */
        ret = iavf_set_hena(adapter, 0);
-       if (ret) {
-               PMD_DRV_LOG(ERR, "fail to disable default PF RSS");
-               return ret;
-       }
+       if (ret)
+               /* It is a workaround, temporarily allow error to be returned
+                * due to possible lack of PF handling for hena = 0.
+                */
+               PMD_DRV_LOG(WARNING, "fail to disable default RSS,"
+                           "lack PF support");
 
        return 0;
 }
-- 
2.17.1

Reply via email to