[PATCH v5 16/40] net/hinic: check RSS hash algorithms

Jie Hai haijie1 at huawei.com
Wed Oct 11 11:27:41 CEST 2023


A new field 'algorithm' has been added to rss_conf, check it
in case of ignoring unsupported values.

Signed-off-by: Jie Hai <haijie1 at huawei.com>
---
 drivers/net/hinic/hinic_pmd_ethdev.c | 3 +++
 drivers/net/hinic/hinic_pmd_rx.c     | 3 +++
 2 files changed, 6 insertions(+)

diff --git a/drivers/net/hinic/hinic_pmd_ethdev.c b/drivers/net/hinic/hinic_pmd_ethdev.c
index 7aa5e7d8e929..e818dc939073 100644
--- a/drivers/net/hinic/hinic_pmd_ethdev.c
+++ b/drivers/net/hinic/hinic_pmd_ethdev.c
@@ -1937,6 +1937,9 @@ static int hinic_rss_hash_update(struct rte_eth_dev *dev,
 		return HINIC_OK;
 	}
 
+	if (rss_conf->algorithm != RTE_ETH_HASH_FUNCTION_DEFAULT)
+		return HINIC_ERROR;
+
 	if (rss_conf->rss_key_len > HINIC_RSS_KEY_SIZE) {
 		PMD_DRV_LOG(ERR, "Invalid rss key, rss_key_len: %d",
 			    rss_conf->rss_key_len);
diff --git a/drivers/net/hinic/hinic_pmd_rx.c b/drivers/net/hinic/hinic_pmd_rx.c
index 7adb6e365993..7736b61c0b0f 100644
--- a/drivers/net/hinic/hinic_pmd_rx.c
+++ b/drivers/net/hinic/hinic_pmd_rx.c
@@ -670,6 +670,9 @@ int hinic_rx_configure(struct rte_eth_dev *dev)
 			goto rss_config_err;
 		}
 
+		if (rss_conf.algorithm != RTE_ETH_HASH_FUNCTION_DEFAULT)
+			goto rss_config_err;
+
 		err = hinic_rss_init(nic_dev, NULL, &rss_conf);
 		if (err) {
 			PMD_DRV_LOG(ERR, "Init rss failed");
-- 
2.30.0



More information about the dev mailing list