From patchwork Wed Oct 11 09:27:26 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jie Hai X-Patchwork-Id: 132507 X-Patchwork-Delegate: ferruh.yigit@amd.com Return-Path: X-Original-To: patchwork@inbox.dpdk.org Delivered-To: patchwork@inbox.dpdk.org Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 2313B4235E; Wed, 11 Oct 2023 11:31:35 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 1808E40A79; Wed, 11 Oct 2023 11:31:32 +0200 (CEST) Received: from szxga02-in.huawei.com (szxga02-in.huawei.com [45.249.212.188]) by mails.dpdk.org (Postfix) with ESMTP id 055AF40279 for ; Wed, 11 Oct 2023 11:31:29 +0200 (CEST) Received: from kwepemi500020.china.huawei.com (unknown [172.30.72.54]) by szxga02-in.huawei.com (SkyGuard) with ESMTP id 4S56rG0sSpzVlYy; Wed, 11 Oct 2023 17:27:58 +0800 (CST) Received: from localhost.localdomain (10.67.165.2) by kwepemi500020.china.huawei.com (7.221.188.8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.31; Wed, 11 Oct 2023 17:31:27 +0800 From: Jie Hai To: , Thomas Monjalon , Ferruh Yigit , Andrew Rybchenko , Ori Kam CC: , , Subject: [PATCH v5 01/40] ethdev: overwrite some comment related to RSS Date: Wed, 11 Oct 2023 17:27:26 +0800 Message-ID: <20231011092805.693171-2-haijie1@huawei.com> X-Mailer: git-send-email 2.30.0 In-Reply-To: <20231011092805.693171-1-haijie1@huawei.com> References: <20230908080030.3837515-1-haijie1@huawei.com> <20231011092805.693171-1-haijie1@huawei.com> MIME-Version: 1.0 X-Originating-IP: [10.67.165.2] X-ClientProxiedBy: dggems704-chm.china.huawei.com (10.3.19.181) To kwepemi500020.china.huawei.com (7.221.188.8) X-CFilter-Loop: Reflected X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org 1. overwrite the comments of fields of 'rte_eth_rss_conf'. 2. Add comments for RTE_ETH_HASH_FUNCTION_DEFAULT. Signed-off-by: Jie Hai --- lib/ethdev/rte_ethdev.h | 29 ++++++++++++++--------------- lib/ethdev/rte_flow.h | 3 +++ 2 files changed, 17 insertions(+), 15 deletions(-) diff --git a/lib/ethdev/rte_ethdev.h b/lib/ethdev/rte_ethdev.h index 8542257721c9..b9e4e21189d2 100644 --- a/lib/ethdev/rte_ethdev.h +++ b/lib/ethdev/rte_ethdev.h @@ -448,24 +448,23 @@ struct rte_vlan_filter_conf { /** * A structure used to configure the Receive Side Scaling (RSS) feature * of an Ethernet port. - * If not NULL, the *rss_key* pointer of the *rss_conf* structure points - * to an array holding the RSS key to use for hashing specific header - * fields of received packets. The length of this array should be indicated - * by *rss_key_len* below. Otherwise, a default random hash key is used by - * the device driver. - * - * The *rss_key_len* field of the *rss_conf* structure indicates the length - * in bytes of the array pointed by *rss_key*. To be compatible, this length - * will be checked in i40e only. Others assume 40 bytes to be used as before. - * - * The *rss_hf* field of the *rss_conf* structure indicates the different - * types of IPv4/IPv6 packets to which the RSS hashing must be applied. - * Supplying an *rss_hf* equal to zero disables the RSS feature. */ struct rte_eth_rss_conf { - uint8_t *rss_key; /**< If not NULL, 40-byte hash key. */ + /** + * If used to query, the'rss_key_len' indicates the size of rss key of + * the hardware. And only when rss_key_len is not zero, the 'rss_key' + * is valid. + * If used to configure, rss_key_len indicates the length of the + * 'rss_key' if 'rss_key' is not empty. + */ + uint8_t *rss_key; uint8_t rss_key_len; /**< hash key length in bytes. */ - uint64_t rss_hf; /**< Hash functions to apply - see below. */ + /** + * Indicating which type of packets and which part of the packets + * to apply for RSS hash, (see RTE_ETH_RSS_*). + * Setting *rss_hf* to zero disables the RSS feature. + */ + uint64_t rss_hf; }; /* diff --git a/lib/ethdev/rte_flow.h b/lib/ethdev/rte_flow.h index b385741fba6d..5d9e3c68af7b 100644 --- a/lib/ethdev/rte_flow.h +++ b/lib/ethdev/rte_flow.h @@ -3227,6 +3227,9 @@ struct rte_flow_query_count { * Hash function types. */ enum rte_eth_hash_function { + /** + * DEFAULT means driver decides which hash algorithm to pick. + */ RTE_ETH_HASH_FUNCTION_DEFAULT = 0, RTE_ETH_HASH_FUNCTION_TOEPLITZ, /**< Toeplitz */ RTE_ETH_HASH_FUNCTION_SIMPLE_XOR, /**< Simple XOR */ From patchwork Wed Oct 11 09:27:27 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jie Hai X-Patchwork-Id: 132510 X-Patchwork-Delegate: ferruh.yigit@amd.com Return-Path: X-Original-To: patchwork@inbox.dpdk.org Delivered-To: patchwork@inbox.dpdk.org Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 904504235E; Wed, 11 Oct 2023 11:31:53 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 9219F40DCE; Wed, 11 Oct 2023 11:31:35 +0200 (CEST) Received: from szxga01-in.huawei.com (szxga01-in.huawei.com [45.249.212.187]) by mails.dpdk.org (Postfix) with ESMTP id A7370402C2 for ; Wed, 11 Oct 2023 11:31:30 +0200 (CEST) Received: from kwepemi500020.china.huawei.com (unknown [172.30.72.54]) by szxga01-in.huawei.com (SkyGuard) with ESMTP id 4S56sL1VhdzrTPR; Wed, 11 Oct 2023 17:28:54 +0800 (CST) Received: from localhost.localdomain (10.67.165.2) by kwepemi500020.china.huawei.com (7.221.188.8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.31; Wed, 11 Oct 2023 17:31:28 +0800 From: Jie Hai To: , Thomas Monjalon , Ferruh Yigit , Andrew Rybchenko , Ori Kam CC: , , Subject: [PATCH v5 02/40] ethdev: support setting and querying RSS algorithm Date: Wed, 11 Oct 2023 17:27:27 +0800 Message-ID: <20231011092805.693171-3-haijie1@huawei.com> X-Mailer: git-send-email 2.30.0 In-Reply-To: <20231011092805.693171-1-haijie1@huawei.com> References: <20230908080030.3837515-1-haijie1@huawei.com> <20231011092805.693171-1-haijie1@huawei.com> MIME-Version: 1.0 X-Originating-IP: [10.67.165.2] X-ClientProxiedBy: dggems704-chm.china.huawei.com (10.3.19.181) To kwepemi500020.china.huawei.com (7.221.188.8) X-CFilter-Loop: Reflected X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Currently, rte_eth_rss_conf supports configuring and querying RSS hash functions, rss key and it's length, but not RSS hash algorithm. The structure ``rte_eth_rss_conf`` is extended by adding a new field "algorithm". This represents the RSS algorithms to apply. The following API will be affected: - rte_eth_dev_configure - rte_eth_dev_rss_hash_update - rte_eth_dev_rss_hash_conf_get If the value of "algorithm" used for configuration is a gibberish value, report the error and return. Do the same for rte_eth_dev_rss_hash_update and rte_eth_dev_configure. To check whether the drivers report valid "algorithm", it is set to default value before querying. Signed-off-by: Jie Hai Signed-off-by: Dongdong Liu --- doc/guides/rel_notes/release_23_11.rst | 2 ++ lib/ethdev/rte_ethdev.c | 17 ++++++++++++++++ lib/ethdev/rte_ethdev.h | 27 +++++++++++++++++++++++++ lib/ethdev/rte_flow.c | 1 - lib/ethdev/rte_flow.h | 28 ++------------------------ 5 files changed, 48 insertions(+), 27 deletions(-) diff --git a/doc/guides/rel_notes/release_23_11.rst b/doc/guides/rel_notes/release_23_11.rst index e13d57728071..92a445ab2ed3 100644 --- a/doc/guides/rel_notes/release_23_11.rst +++ b/doc/guides/rel_notes/release_23_11.rst @@ -197,6 +197,8 @@ ABI Changes fields, to move ``rxq`` and ``txq`` fields, to change the size of ``reserved1`` and ``reserved2`` fields. +* ethdev: Added "algorithm" field to ``rte_eth_rss_conf`` structure for RSS + hash algorithm. Known Issues ------------ diff --git a/lib/ethdev/rte_ethdev.c b/lib/ethdev/rte_ethdev.c index 18a4b950b184..2eda1b8072e5 100644 --- a/lib/ethdev/rte_ethdev.c +++ b/lib/ethdev/rte_ethdev.c @@ -1464,6 +1464,14 @@ rte_eth_dev_configure(uint16_t port_id, uint16_t nb_rx_q, uint16_t nb_tx_q, goto rollback; } + if (dev_conf->rx_adv_conf.rss_conf.algorithm >= RTE_ETH_HASH_FUNCTION_MAX) { + RTE_ETHDEV_LOG(ERR, + "Ethdev port_id=%u invalid RSS algorithm: 0x%"PRIx64"\n", + port_id, dev_conf->rx_adv_conf.rss_conf.algorithm); + ret = -EINVAL; + goto rollback; + } + /* Check if Rx RSS distribution is disabled but RSS hash is enabled. */ if (((dev_conf->rxmode.mq_mode & RTE_ETH_MQ_RX_RSS_FLAG) == 0) && (dev_conf->rxmode.offloads & RTE_ETH_RX_OFFLOAD_RSS_HASH)) { @@ -4673,6 +4681,13 @@ rte_eth_dev_rss_hash_update(uint16_t port_id, return -ENOTSUP; } + if (rss_conf->algorithm >= RTE_ETH_HASH_FUNCTION_MAX) { + RTE_ETHDEV_LOG(ERR, + "Ethdev port_id=%u invalid RSS algorithm: 0x%"PRIx64"\n", + port_id, rss_conf->algorithm); + return -EINVAL; + } + if (*dev->dev_ops->rss_hash_update == NULL) return -ENOTSUP; ret = eth_err(port_id, (*dev->dev_ops->rss_hash_update)(dev, @@ -4700,6 +4715,8 @@ rte_eth_dev_rss_hash_conf_get(uint16_t port_id, return -EINVAL; } + rss_conf->algorithm = RTE_ETH_HASH_FUNCTION_DEFAULT; + if (*dev->dev_ops->rss_hash_conf_get == NULL) return -ENOTSUP; ret = eth_err(port_id, (*dev->dev_ops->rss_hash_conf_get)(dev, diff --git a/lib/ethdev/rte_ethdev.h b/lib/ethdev/rte_ethdev.h index b9e4e21189d2..42c4250bd509 100644 --- a/lib/ethdev/rte_ethdev.h +++ b/lib/ethdev/rte_ethdev.h @@ -445,6 +445,32 @@ struct rte_vlan_filter_conf { uint64_t ids[64]; }; +/** + * Hash function types. + */ +enum rte_eth_hash_function { + /** + * DEFAULT means driver decides which hash algorithm to pick. + */ + RTE_ETH_HASH_FUNCTION_DEFAULT = 0, + RTE_ETH_HASH_FUNCTION_TOEPLITZ, /**< Toeplitz */ + RTE_ETH_HASH_FUNCTION_SIMPLE_XOR, /**< Simple XOR */ + /** + * Symmetric Toeplitz: src, dst will be replaced by + * xor(src, dst). For the case with src/dst only, + * src or dst address will xor with zero pair. + */ + RTE_ETH_HASH_FUNCTION_SYMMETRIC_TOEPLITZ, + /** + * Symmetric Toeplitz: L3 and L4 fields are sorted prior to + * the hash function. + * If src_ip > dst_ip, swap src_ip and dst_ip. + * If src_port > dst_port, swap src_port and dst_port. + */ + RTE_ETH_HASH_FUNCTION_SYMMETRIC_TOEPLITZ_SORT, + RTE_ETH_HASH_FUNCTION_MAX, +}; + /** * A structure used to configure the Receive Side Scaling (RSS) feature * of an Ethernet port. @@ -465,6 +491,7 @@ struct rte_eth_rss_conf { * Setting *rss_hf* to zero disables the RSS feature. */ uint64_t rss_hf; + enum rte_eth_hash_function algorithm; /**< Hash algorithm. */ }; /* diff --git a/lib/ethdev/rte_flow.c b/lib/ethdev/rte_flow.c index ba8bf27090fb..deedce08fb0a 100644 --- a/lib/ethdev/rte_flow.c +++ b/lib/ethdev/rte_flow.c @@ -13,7 +13,6 @@ #include #include #include -#include "rte_ethdev.h" #include "rte_flow_driver.h" #include "rte_flow.h" diff --git a/lib/ethdev/rte_flow.h b/lib/ethdev/rte_flow.h index 5d9e3c68af7b..877a2e1d6ad3 100644 --- a/lib/ethdev/rte_flow.h +++ b/lib/ethdev/rte_flow.h @@ -40,6 +40,8 @@ #include #include +#include "rte_ethdev.h" + #ifdef __cplusplus extern "C" { #endif @@ -3223,32 +3225,6 @@ struct rte_flow_query_count { uint64_t bytes; /**< Number of bytes through this rule [out]. */ }; -/** - * Hash function types. - */ -enum rte_eth_hash_function { - /** - * DEFAULT means driver decides which hash algorithm to pick. - */ - RTE_ETH_HASH_FUNCTION_DEFAULT = 0, - RTE_ETH_HASH_FUNCTION_TOEPLITZ, /**< Toeplitz */ - RTE_ETH_HASH_FUNCTION_SIMPLE_XOR, /**< Simple XOR */ - /** - * Symmetric Toeplitz: src, dst will be replaced by - * xor(src, dst). For the case with src/dst only, - * src or dst address will xor with zero pair. - */ - RTE_ETH_HASH_FUNCTION_SYMMETRIC_TOEPLITZ, - /** - * Symmetric Toeplitz: L3 and L4 fields are sorted prior to - * the hash function. - * If src_ip > dst_ip, swap src_ip and dst_ip. - * If src_port > dst_port, swap src_port and dst_port. - */ - RTE_ETH_HASH_FUNCTION_SYMMETRIC_TOEPLITZ_SORT, - RTE_ETH_HASH_FUNCTION_MAX, -}; - /** * RTE_FLOW_ACTION_TYPE_RSS * From patchwork Wed Oct 11 09:27:28 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jie Hai X-Patchwork-Id: 132508 X-Patchwork-Delegate: ferruh.yigit@amd.com Return-Path: X-Original-To: patchwork@inbox.dpdk.org Delivered-To: patchwork@inbox.dpdk.org Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 1F34C4235E; Wed, 11 Oct 2023 11:31:41 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 3E71840A81; Wed, 11 Oct 2023 11:31:33 +0200 (CEST) Received: from szxga08-in.huawei.com (szxga08-in.huawei.com [45.249.212.255]) by mails.dpdk.org (Postfix) with ESMTP id 9EF9F40279 for ; Wed, 11 Oct 2023 11:31:30 +0200 (CEST) Received: from kwepemi500020.china.huawei.com (unknown [172.30.72.56]) by szxga08-in.huawei.com (SkyGuard) with ESMTP id 4S56sM30p4z1M96X; Wed, 11 Oct 2023 17:28:55 +0800 (CST) Received: from localhost.localdomain (10.67.165.2) by kwepemi500020.china.huawei.com (7.221.188.8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.31; Wed, 11 Oct 2023 17:31:28 +0800 From: Jie Hai To: , Igor Russkikh CC: , , Subject: [PATCH v5 03/40] net/atlantic: check RSS hash algorithms Date: Wed, 11 Oct 2023 17:27:28 +0800 Message-ID: <20231011092805.693171-4-haijie1@huawei.com> X-Mailer: git-send-email 2.30.0 In-Reply-To: <20231011092805.693171-1-haijie1@huawei.com> References: <20230908080030.3837515-1-haijie1@huawei.com> <20231011092805.693171-1-haijie1@huawei.com> MIME-Version: 1.0 X-Originating-IP: [10.67.165.2] X-ClientProxiedBy: dggems704-chm.china.huawei.com (10.3.19.181) To kwepemi500020.china.huawei.com (7.221.188.8) X-CFilter-Loop: Reflected X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org A new field 'algorithm' has been added to rss_conf, check it in case of ignoring unsupported values. Signed-off-by: Jie Hai --- drivers/net/atlantic/atl_ethdev.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/drivers/net/atlantic/atl_ethdev.c b/drivers/net/atlantic/atl_ethdev.c index 3a028f429002..c6e772d47263 100644 --- a/drivers/net/atlantic/atl_ethdev.c +++ b/drivers/net/atlantic/atl_ethdev.c @@ -1857,6 +1857,8 @@ atl_rss_hash_update(struct rte_eth_dev *dev, }; cfg->is_rss = !!rss_conf->rss_hf; + if (rss_conf->algorithm != RTE_ETH_HASH_FUNCTION_DEFAULT) + return -EINVAL; if (rss_conf->rss_key) { memcpy(cfg->aq_rss.hash_secret_key, rss_conf->rss_key, rss_conf->rss_key_len); From patchwork Wed Oct 11 09:27:29 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jie Hai X-Patchwork-Id: 132509 X-Patchwork-Delegate: ferruh.yigit@amd.com Return-Path: X-Original-To: patchwork@inbox.dpdk.org Delivered-To: patchwork@inbox.dpdk.org Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 464424235E; Wed, 11 Oct 2023 11:31:47 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 6D33040C35; Wed, 11 Oct 2023 11:31:34 +0200 (CEST) Received: from szxga03-in.huawei.com (szxga03-in.huawei.com [45.249.212.189]) by mails.dpdk.org (Postfix) with ESMTP id D9C4A40A75 for ; Wed, 11 Oct 2023 11:31:30 +0200 (CEST) Received: from kwepemi500020.china.huawei.com (unknown [172.30.72.57]) by szxga03-in.huawei.com (SkyGuard) with ESMTP id 4S56ql3pDvzkY4X; Wed, 11 Oct 2023 17:27:31 +0800 (CST) Received: from localhost.localdomain (10.67.165.2) by kwepemi500020.china.huawei.com (7.221.188.8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.31; Wed, 11 Oct 2023 17:31:29 +0800 From: Jie Hai To: , Selwin Sebastian CC: , , Subject: [PATCH v5 04/40] net/axgbe: check RSS hash algorithms Date: Wed, 11 Oct 2023 17:27:29 +0800 Message-ID: <20231011092805.693171-5-haijie1@huawei.com> X-Mailer: git-send-email 2.30.0 In-Reply-To: <20231011092805.693171-1-haijie1@huawei.com> References: <20230908080030.3837515-1-haijie1@huawei.com> <20231011092805.693171-1-haijie1@huawei.com> MIME-Version: 1.0 X-Originating-IP: [10.67.165.2] X-ClientProxiedBy: dggems704-chm.china.huawei.com (10.3.19.181) To kwepemi500020.china.huawei.com (7.221.188.8) X-CFilter-Loop: Reflected X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org A new field 'algorithm' has been added to rss_conf, check it in case of ignoring unsupported values. Signed-off-by: Jie Hai --- drivers/net/axgbe/axgbe_ethdev.c | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/drivers/net/axgbe/axgbe_ethdev.c b/drivers/net/axgbe/axgbe_ethdev.c index d08ea4893c37..f67faff2d636 100644 --- a/drivers/net/axgbe/axgbe_ethdev.c +++ b/drivers/net/axgbe/axgbe_ethdev.c @@ -339,6 +339,12 @@ static int axgbe_dev_configure(struct rte_eth_dev *dev) { struct axgbe_port *pdata = dev->data->dev_private; + + if (dev->data->dev_conf.rxmode.mq_mode == RTE_ETH_MQ_RX_RSS && + dev->data->dev_conf.rx_adv_conf.rss_conf.algorithm != + RTE_ETH_HASH_FUNCTION_DEFAULT) + return -EINVAL; + /* Checksum offload to hardware */ pdata->rx_csum_enable = dev->data->dev_conf.rxmode.offloads & RTE_ETH_RX_OFFLOAD_CHECKSUM; @@ -582,6 +588,9 @@ axgbe_dev_rss_hash_update(struct rte_eth_dev *dev, return -EINVAL; } + if (rss_conf->algorithm != RTE_ETH_HASH_FUNCTION_DEFAULT) + return -EINVAL; + if (rss_conf->rss_key != NULL && rss_conf->rss_key_len == AXGBE_RSS_HASH_KEY_SIZE) { rte_memcpy(pdata->rss_key, rss_conf->rss_key, From patchwork Wed Oct 11 09:27:30 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jie Hai X-Patchwork-Id: 132511 X-Patchwork-Delegate: ferruh.yigit@amd.com Return-Path: X-Original-To: patchwork@inbox.dpdk.org Delivered-To: patchwork@inbox.dpdk.org Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 508EB4235E; Wed, 11 Oct 2023 11:32:02 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 12CDF40E03; Wed, 11 Oct 2023 11:31:37 +0200 (CEST) Received: from szxga08-in.huawei.com (szxga08-in.huawei.com [45.249.212.255]) by mails.dpdk.org (Postfix) with ESMTP id 3454C40279 for ; Wed, 11 Oct 2023 11:31:31 +0200 (CEST) Received: from kwepemi500020.china.huawei.com (unknown [172.30.72.55]) by szxga08-in.huawei.com (SkyGuard) with ESMTP id 4S56sN2kbnz1M967; Wed, 11 Oct 2023 17:28:56 +0800 (CST) Received: from localhost.localdomain (10.67.165.2) by kwepemi500020.china.huawei.com (7.221.188.8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.31; Wed, 11 Oct 2023 17:31:29 +0800 From: Jie Hai To: , Julien Aube CC: , , Subject: [PATCH v5 05/40] net/bnx2x: check RSS hash algorithms Date: Wed, 11 Oct 2023 17:27:30 +0800 Message-ID: <20231011092805.693171-6-haijie1@huawei.com> X-Mailer: git-send-email 2.30.0 In-Reply-To: <20231011092805.693171-1-haijie1@huawei.com> References: <20230908080030.3837515-1-haijie1@huawei.com> <20231011092805.693171-1-haijie1@huawei.com> MIME-Version: 1.0 X-Originating-IP: [10.67.165.2] X-ClientProxiedBy: dggems704-chm.china.huawei.com (10.3.19.181) To kwepemi500020.china.huawei.com (7.221.188.8) X-CFilter-Loop: Reflected X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org A new field 'algorithm' has been added to rss_conf, check it in case of ignoring unsupported values. Signed-off-by: Jie Hai --- drivers/net/bnx2x/bnx2x_ethdev.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/drivers/net/bnx2x/bnx2x_ethdev.c b/drivers/net/bnx2x/bnx2x_ethdev.c index 4448cf2de2d7..078d6db75d1b 100644 --- a/drivers/net/bnx2x/bnx2x_ethdev.c +++ b/drivers/net/bnx2x/bnx2x_ethdev.c @@ -196,6 +196,10 @@ bnx2x_dev_configure(struct rte_eth_dev *dev) PMD_DRV_LOG(DEBUG, sc, "num_queues=%d, mtu=%d", sc->num_queues, sc->mtu); + if (dev->data->dev_conf.rx_adv_conf.rss_conf.algorithm != + RTE_ETH_HASH_FUNCTION_DEFAULT) + return -EINVAL; + /* allocate ilt */ if (bnx2x_alloc_ilt_mem(sc) != 0) { PMD_DRV_LOG(ERR, sc, "bnx2x_alloc_ilt_mem was failed"); From patchwork Wed Oct 11 09:27:31 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jie Hai X-Patchwork-Id: 132512 X-Patchwork-Delegate: ferruh.yigit@amd.com Return-Path: X-Original-To: patchwork@inbox.dpdk.org Delivered-To: patchwork@inbox.dpdk.org Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 09FC24235E; Wed, 11 Oct 2023 11:32:08 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 178E540E36; Wed, 11 Oct 2023 11:31:38 +0200 (CEST) Received: from szxga08-in.huawei.com (szxga08-in.huawei.com [45.249.212.255]) by mails.dpdk.org (Postfix) with ESMTP id AC9A4402C2 for ; Wed, 11 Oct 2023 11:31:31 +0200 (CEST) Received: from kwepemi500020.china.huawei.com (unknown [172.30.72.57]) by szxga08-in.huawei.com (SkyGuard) with ESMTP id 4S56sN6FYXz1M9BJ; Wed, 11 Oct 2023 17:28:56 +0800 (CST) Received: from localhost.localdomain (10.67.165.2) by kwepemi500020.china.huawei.com (7.221.188.8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.31; Wed, 11 Oct 2023 17:31:29 +0800 From: Jie Hai To: , Ajit Khaparde , Somnath Kotur CC: , , Subject: [PATCH v5 06/40] net/bnxt: check RSS hash algorithms Date: Wed, 11 Oct 2023 17:27:31 +0800 Message-ID: <20231011092805.693171-7-haijie1@huawei.com> X-Mailer: git-send-email 2.30.0 In-Reply-To: <20231011092805.693171-1-haijie1@huawei.com> References: <20230908080030.3837515-1-haijie1@huawei.com> <20231011092805.693171-1-haijie1@huawei.com> MIME-Version: 1.0 X-Originating-IP: [10.67.165.2] X-ClientProxiedBy: dggems704-chm.china.huawei.com (10.3.19.181) To kwepemi500020.china.huawei.com (7.221.188.8) X-CFilter-Loop: Reflected X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org A new field 'algorithm' has been added to rss_conf, check it in case of ignoring unsupported values. Signed-off-by: Jie Hai --- drivers/net/bnxt/bnxt_ethdev.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/drivers/net/bnxt/bnxt_ethdev.c b/drivers/net/bnxt/bnxt_ethdev.c index ee1552452a11..92ce05b26dc7 100644 --- a/drivers/net/bnxt/bnxt_ethdev.c +++ b/drivers/net/bnxt/bnxt_ethdev.c @@ -1166,6 +1166,9 @@ static int bnxt_dev_configure_op(struct rte_eth_dev *eth_dev) rx_offloads |= RTE_ETH_RX_OFFLOAD_RSS_HASH; eth_dev->data->dev_conf.rxmode.offloads = rx_offloads; + if (rss_conf->algorithm != RTE_ETH_HASH_FUNCTION_DEFAULT) + return -EINVAL; + /* application provides the hash key to program */ if (rss_conf->rss_key != NULL) { if (rss_conf->rss_key_len != HW_HASH_KEY_SIZE) @@ -2168,6 +2171,9 @@ static int bnxt_rss_hash_update_op(struct rte_eth_dev *eth_dev, return -EINVAL; } + if (rss_conf->algorithm != RTE_ETH_HASH_FUNCTION_DEFAULT) + return -EINVAL; + /* Update the default RSS VNIC(s) */ vnic = bnxt_get_default_vnic(bp); vnic->hash_type = bnxt_rte_to_hwrm_hash_types(rss_conf->rss_hf); From patchwork Wed Oct 11 09:27:32 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jie Hai X-Patchwork-Id: 132513 X-Patchwork-Delegate: ferruh.yigit@amd.com Return-Path: X-Original-To: patchwork@inbox.dpdk.org Delivered-To: patchwork@inbox.dpdk.org Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id DAF3A42350; Wed, 11 Oct 2023 11:32:13 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 542F140E64; Wed, 11 Oct 2023 11:31:39 +0200 (CEST) Received: from szxga02-in.huawei.com (szxga02-in.huawei.com [45.249.212.188]) by mails.dpdk.org (Postfix) with ESMTP id 2ADEF402C2 for ; Wed, 11 Oct 2023 11:31:32 +0200 (CEST) Received: from kwepemi500020.china.huawei.com (unknown [172.30.72.56]) by szxga02-in.huawei.com (SkyGuard) with ESMTP id 4S56rK1CM4zVlZL; Wed, 11 Oct 2023 17:28:01 +0800 (CST) Received: from localhost.localdomain (10.67.165.2) by kwepemi500020.china.huawei.com (7.221.188.8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.31; Wed, 11 Oct 2023 17:31:30 +0800 From: Jie Hai To: , Chas Williams , "Min Hu (Connor)" CC: , , Subject: [PATCH v5 07/40] net/bonding: check RSS hash algorithms Date: Wed, 11 Oct 2023 17:27:32 +0800 Message-ID: <20231011092805.693171-8-haijie1@huawei.com> X-Mailer: git-send-email 2.30.0 In-Reply-To: <20231011092805.693171-1-haijie1@huawei.com> References: <20230908080030.3837515-1-haijie1@huawei.com> <20231011092805.693171-1-haijie1@huawei.com> MIME-Version: 1.0 X-Originating-IP: [10.67.165.2] X-ClientProxiedBy: dggems704-chm.china.huawei.com (10.3.19.181) To kwepemi500020.china.huawei.com (7.221.188.8) X-CFilter-Loop: Reflected X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org A new field 'algorithm' has been added to rss_conf, check it in case of ignoring unsupported values. Signed-off-by: Jie Hai --- drivers/net/bonding/rte_eth_bond_pmd.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/drivers/net/bonding/rte_eth_bond_pmd.c b/drivers/net/bonding/rte_eth_bond_pmd.c index 122b1187fd9c..75ad0270af03 100644 --- a/drivers/net/bonding/rte_eth_bond_pmd.c +++ b/drivers/net/bonding/rte_eth_bond_pmd.c @@ -3187,6 +3187,9 @@ bond_ethdev_rss_hash_update(struct rte_eth_dev *dev, if (bond_rss_conf.rss_hf != 0) dev->data->dev_conf.rx_adv_conf.rss_conf.rss_hf = bond_rss_conf.rss_hf; + if (bond_rss_conf.algorithm != RTE_ETH_HASH_FUNCTION_DEFAULT) + return -EINVAL; + if (bond_rss_conf.rss_key) { if (bond_rss_conf.rss_key_len < internals->rss_key_len) return -EINVAL; @@ -3915,6 +3918,9 @@ bond_ethdev_configure(struct rte_eth_dev *dev) struct rte_eth_rss_conf *rss_conf = &dev->data->dev_conf.rx_adv_conf.rss_conf; + if (rss_conf->algorithm != RTE_ETH_HASH_FUNCTION_DEFAULT) + return -EINVAL; + if (internals->rss_key_len == 0) { internals->rss_key_len = sizeof(default_rss_key); } From patchwork Wed Oct 11 09:27:33 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jie Hai X-Patchwork-Id: 132514 X-Patchwork-Delegate: ferruh.yigit@amd.com Return-Path: X-Original-To: patchwork@inbox.dpdk.org Delivered-To: patchwork@inbox.dpdk.org Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 5B5FF42350; Wed, 11 Oct 2023 11:32:20 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 7D02740DDE; Wed, 11 Oct 2023 11:31:40 +0200 (CEST) Received: from szxga08-in.huawei.com (szxga08-in.huawei.com [45.249.212.255]) by mails.dpdk.org (Postfix) with ESMTP id 9AEB740A7F for ; Wed, 11 Oct 2023 11:31:32 +0200 (CEST) Received: from kwepemi500020.china.huawei.com (unknown [172.30.72.57]) by szxga08-in.huawei.com (SkyGuard) with ESMTP id 4S56sP6gTLz1M9PZ; Wed, 11 Oct 2023 17:28:57 +0800 (CST) Received: from localhost.localdomain (10.67.165.2) by kwepemi500020.china.huawei.com (7.221.188.8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.31; Wed, 11 Oct 2023 17:31:31 +0800 From: Jie Hai To: , Nithin Dabilpuram , Kiran Kumar K , Sunil Kumar Kori , Satha Rao CC: , , Subject: [PATCH v5 08/40] net/cnxk: check RSS hash algorithms Date: Wed, 11 Oct 2023 17:27:33 +0800 Message-ID: <20231011092805.693171-9-haijie1@huawei.com> X-Mailer: git-send-email 2.30.0 In-Reply-To: <20231011092805.693171-1-haijie1@huawei.com> References: <20230908080030.3837515-1-haijie1@huawei.com> <20231011092805.693171-1-haijie1@huawei.com> MIME-Version: 1.0 X-Originating-IP: [10.67.165.2] X-ClientProxiedBy: dggems704-chm.china.huawei.com (10.3.19.181) To kwepemi500020.china.huawei.com (7.221.188.8) X-CFilter-Loop: Reflected X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org A new field 'algorithm' has been added to rss_conf, check it in case of ignoring unsupported values. Signed-off-by: Jie Hai --- drivers/net/cnxk/cnxk_ethdev.c | 5 +++++ drivers/net/cnxk/cnxk_ethdev_ops.c | 3 +++ 2 files changed, 8 insertions(+) diff --git a/drivers/net/cnxk/cnxk_ethdev.c b/drivers/net/cnxk/cnxk_ethdev.c index 01b707b6c4ac..dc150de745df 100644 --- a/drivers/net/cnxk/cnxk_ethdev.c +++ b/drivers/net/cnxk/cnxk_ethdev.c @@ -976,6 +976,10 @@ nix_rss_default_setup(struct cnxk_eth_dev *dev) if (rss_hash_level) rss_hash_level -= 1; + if (eth_dev->data->dev_conf.rx_adv_conf.rss_conf.algorithm != + RTE_ETH_HASH_FUNCTION_DEFAULT) + return -EINVAL; + flowkey_cfg = cnxk_rss_ethdev_to_nix(dev, rss_hf, rss_hash_level); return roc_nix_rss_default_setup(&dev->nix, flowkey_cfg); } @@ -1373,6 +1377,7 @@ cnxk_nix_configure(struct rte_eth_dev *eth_dev) } /* Configure RSS */ + rc = nix_rss_default_setup(dev); if (rc) { plt_err("Failed to configure rss rc=%d", rc); diff --git a/drivers/net/cnxk/cnxk_ethdev_ops.c b/drivers/net/cnxk/cnxk_ethdev_ops.c index 3ade8eed3626..b6cba99cbb7f 100644 --- a/drivers/net/cnxk/cnxk_ethdev_ops.c +++ b/drivers/net/cnxk/cnxk_ethdev_ops.c @@ -1054,6 +1054,9 @@ cnxk_nix_rss_hash_update(struct rte_eth_dev *eth_dev, int rc = -EINVAL; uint8_t alg_idx; + if (rss_conf->algorithm != RTE_ETH_HASH_FUNCTION_DEFAULT) + goto fail; + if (rss_conf->rss_key && rss_conf->rss_key_len != ROC_NIX_RSS_KEY_LEN) { plt_err("Hash key size mismatch %d vs %d", rss_conf->rss_key_len, ROC_NIX_RSS_KEY_LEN); From patchwork Wed Oct 11 09:27:34 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jie Hai X-Patchwork-Id: 132516 X-Patchwork-Delegate: ferruh.yigit@amd.com Return-Path: X-Original-To: patchwork@inbox.dpdk.org Delivered-To: patchwork@inbox.dpdk.org Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 68F4642350; Wed, 11 Oct 2023 11:32:32 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 050D640ED1; Wed, 11 Oct 2023 11:31:43 +0200 (CEST) Received: from szxga01-in.huawei.com (szxga01-in.huawei.com [45.249.212.187]) by mails.dpdk.org (Postfix) with ESMTP id 7954640697 for ; Wed, 11 Oct 2023 11:31:33 +0200 (CEST) Received: from kwepemi500020.china.huawei.com (unknown [172.30.72.55]) by szxga01-in.huawei.com (SkyGuard) with ESMTP id 4S56q263vgzvPsM for ; Wed, 11 Oct 2023 17:26:54 +0800 (CST) Received: from localhost.localdomain (10.67.165.2) by kwepemi500020.china.huawei.com (7.221.188.8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.31; Wed, 11 Oct 2023 17:31:31 +0800 From: Jie Hai To: , Yuying Zhang , Beilei Xing CC: , , Subject: [PATCH v5 09/40] net/cpfl: check RSS hash algorithms Date: Wed, 11 Oct 2023 17:27:34 +0800 Message-ID: <20231011092805.693171-10-haijie1@huawei.com> X-Mailer: git-send-email 2.30.0 In-Reply-To: <20231011092805.693171-1-haijie1@huawei.com> References: <20230908080030.3837515-1-haijie1@huawei.com> <20231011092805.693171-1-haijie1@huawei.com> MIME-Version: 1.0 X-Originating-IP: [10.67.165.2] X-ClientProxiedBy: dggems704-chm.china.huawei.com (10.3.19.181) To kwepemi500020.china.huawei.com (7.221.188.8) X-CFilter-Loop: Reflected X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org A new field 'algorithm' has been added to rss_conf, check it in case of ignoring unsupported values. Signed-off-by: Jie Hai --- drivers/net/cpfl/cpfl_ethdev.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/drivers/net/cpfl/cpfl_ethdev.c b/drivers/net/cpfl/cpfl_ethdev.c index c4ca9343c3e0..6acb6ce9fd22 100644 --- a/drivers/net/cpfl/cpfl_ethdev.c +++ b/drivers/net/cpfl/cpfl_ethdev.c @@ -450,6 +450,9 @@ cpfl_init_rss(struct idpf_vport *vport) rss_conf = &dev_data->dev_conf.rx_adv_conf.rss_conf; nb_q = dev_data->nb_rx_queues; + if (rss_conf->algorithm != RTE_ETH_HASH_FUNCTION_DEFAULT) + return -EINVAL; + if (rss_conf->rss_key == NULL) { for (i = 0; i < vport->rss_key_size; i++) vport->rss_key[i] = (uint8_t)rte_rand(); @@ -568,6 +571,9 @@ cpfl_rss_hash_update(struct rte_eth_dev *dev, return -ENOTSUP; } + if (rss_conf->algorithm != RTE_ETH_HASH_FUNCTION_DEFAULT) + return -EINVAL; + if (!rss_conf->rss_key || rss_conf->rss_key_len == 0) { PMD_DRV_LOG(DEBUG, "No key to be configured"); goto skip_rss_key; From patchwork Wed Oct 11 09:27:35 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jie Hai X-Patchwork-Id: 132515 X-Patchwork-Delegate: ferruh.yigit@amd.com Return-Path: X-Original-To: patchwork@inbox.dpdk.org Delivered-To: patchwork@inbox.dpdk.org Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 912AB42350; Wed, 11 Oct 2023 11:32:26 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id A5C7640E8A; Wed, 11 Oct 2023 11:31:41 +0200 (CEST) Received: from szxga02-in.huawei.com (szxga02-in.huawei.com [45.249.212.188]) by mails.dpdk.org (Postfix) with ESMTP id 8AD4340A87 for ; Wed, 11 Oct 2023 11:31:33 +0200 (CEST) Received: from kwepemi500020.china.huawei.com (unknown [172.30.72.54]) by szxga02-in.huawei.com (SkyGuard) with ESMTP id 4S56rL4v90zVlYt; Wed, 11 Oct 2023 17:28:02 +0800 (CST) Received: from localhost.localdomain (10.67.165.2) by kwepemi500020.china.huawei.com (7.221.188.8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.31; Wed, 11 Oct 2023 17:31:32 +0800 From: Jie Hai To: , Rahul Lakkireddy CC: , , Subject: [PATCH v5 10/40] net/cxgbe: check RSS hash algorithms Date: Wed, 11 Oct 2023 17:27:35 +0800 Message-ID: <20231011092805.693171-11-haijie1@huawei.com> X-Mailer: git-send-email 2.30.0 In-Reply-To: <20231011092805.693171-1-haijie1@huawei.com> References: <20230908080030.3837515-1-haijie1@huawei.com> <20231011092805.693171-1-haijie1@huawei.com> MIME-Version: 1.0 X-Originating-IP: [10.67.165.2] X-ClientProxiedBy: dggems704-chm.china.huawei.com (10.3.19.181) To kwepemi500020.china.huawei.com (7.221.188.8) X-CFilter-Loop: Reflected X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org A new field 'algorithm' has been added to rss_conf, check it in case of ignoring unsupported values. Signed-off-by: Jie Hai --- drivers/net/cxgbe/cxgbe_ethdev.c | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/drivers/net/cxgbe/cxgbe_ethdev.c b/drivers/net/cxgbe/cxgbe_ethdev.c index 45bbeaef0ceb..8de57bbfe661 100644 --- a/drivers/net/cxgbe/cxgbe_ethdev.c +++ b/drivers/net/cxgbe/cxgbe_ethdev.c @@ -440,9 +440,13 @@ int cxgbe_dev_configure(struct rte_eth_dev *eth_dev) CXGBE_FUNC_TRACE(); - if (eth_dev->data->dev_conf.rxmode.mq_mode & RTE_ETH_MQ_RX_RSS_FLAG) + if (eth_dev->data->dev_conf.rxmode.mq_mode & RTE_ETH_MQ_RX_RSS_FLAG) { eth_dev->data->dev_conf.rxmode.offloads |= RTE_ETH_RX_OFFLOAD_RSS_HASH; + if (eth_dev->data->dev_conf.rx_adv_conf.rss_conf.algorithm != + RTE_ETH_HASH_FUNCTION_DEFAULT) + return -EINVAL; + } if (!(adapter->flags & FW_QUEUE_BOUND)) { err = cxgbe_setup_sge_fwevtq(adapter); @@ -1165,6 +1169,9 @@ static int cxgbe_dev_rss_hash_update(struct rte_eth_dev *dev, struct adapter *adapter = pi->adapter; int err; + if (rss_conf->algorithm != RTE_ETH_HASH_FUNCTION_DEFAULT) + return -EINVAL; + err = cxgbe_write_rss_conf(pi, rss_conf->rss_hf); if (err) return err; From patchwork Wed Oct 11 09:27:36 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jie Hai X-Patchwork-Id: 132517 X-Patchwork-Delegate: ferruh.yigit@amd.com Return-Path: X-Original-To: patchwork@inbox.dpdk.org Delivered-To: patchwork@inbox.dpdk.org Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id DCB4A42350; Wed, 11 Oct 2023 11:32:37 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 3AC2B40EDB; Wed, 11 Oct 2023 11:31:44 +0200 (CEST) Received: from szxga03-in.huawei.com (szxga03-in.huawei.com [45.249.212.189]) by mails.dpdk.org (Postfix) with ESMTP id 671C840A87 for ; Wed, 11 Oct 2023 11:31:34 +0200 (CEST) Received: from kwepemi500020.china.huawei.com (unknown [172.30.72.57]) by szxga03-in.huawei.com (SkyGuard) with ESMTP id 4S56qq0P3xzkY3y; Wed, 11 Oct 2023 17:27:35 +0800 (CST) Received: from localhost.localdomain (10.67.165.2) by kwepemi500020.china.huawei.com (7.221.188.8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.31; Wed, 11 Oct 2023 17:31:32 +0800 From: Jie Hai To: , Hemant Agrawal , Sachin Saxena CC: , , Subject: [PATCH v5 11/40] net/dpaa: check RSS hash algorithms Date: Wed, 11 Oct 2023 17:27:36 +0800 Message-ID: <20231011092805.693171-12-haijie1@huawei.com> X-Mailer: git-send-email 2.30.0 In-Reply-To: <20231011092805.693171-1-haijie1@huawei.com> References: <20230908080030.3837515-1-haijie1@huawei.com> <20231011092805.693171-1-haijie1@huawei.com> MIME-Version: 1.0 X-Originating-IP: [10.67.165.2] X-ClientProxiedBy: dggems704-chm.china.huawei.com (10.3.19.181) To kwepemi500020.china.huawei.com (7.221.188.8) X-CFilter-Loop: Reflected X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org A new field 'algorithm' has been added to rss_conf, check it in case of ignoring unsupported values. Signed-off-by: Jie Hai --- drivers/net/dpaa/dpaa_ethdev.c | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/drivers/net/dpaa/dpaa_ethdev.c b/drivers/net/dpaa/dpaa_ethdev.c index a6c86113d125..c4d5de9ba21d 100644 --- a/drivers/net/dpaa/dpaa_ethdev.c +++ b/drivers/net/dpaa/dpaa_ethdev.c @@ -258,6 +258,10 @@ dpaa_eth_dev_configure(struct rte_eth_dev *dev) } if (!(default_q || fmc_q)) { + if (eth_conf->rx_adv_conf.rss_conf.algorithm != + RTE_ETH_HASH_FUNCTION_DEFAULT) + return -EINVAL; + if (dpaa_fm_config(dev, eth_conf->rx_adv_conf.rss_conf.rss_hf)) { dpaa_write_fm_config_to_file(); @@ -1446,6 +1450,9 @@ dpaa_dev_rss_hash_update(struct rte_eth_dev *dev, PMD_INIT_FUNC_TRACE(); if (!(default_q || fmc_q)) { + if (rss_conf->algorithm != RTE_ETH_HASH_FUNCTION_DEFAULT) + return -EINVAL; + if (dpaa_fm_config(dev, rss_conf->rss_hf)) { DPAA_PMD_ERR("FM port configuration: Failed\n"); return -1; From patchwork Wed Oct 11 09:27:37 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jie Hai X-Patchwork-Id: 132518 X-Patchwork-Delegate: ferruh.yigit@amd.com Return-Path: X-Original-To: patchwork@inbox.dpdk.org Delivered-To: patchwork@inbox.dpdk.org Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id B06154235E; Wed, 11 Oct 2023 11:32:43 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 8093A40E54; Wed, 11 Oct 2023 11:31:45 +0200 (CEST) Received: from szxga01-in.huawei.com (szxga01-in.huawei.com [45.249.212.187]) by mails.dpdk.org (Postfix) with ESMTP id C4F0540DCA for ; Wed, 11 Oct 2023 11:31:34 +0200 (CEST) Received: from kwepemi500020.china.huawei.com (unknown [172.30.72.54]) by szxga01-in.huawei.com (SkyGuard) with ESMTP id 4S56sR11WnzrTZt; Wed, 11 Oct 2023 17:28:59 +0800 (CST) Received: from localhost.localdomain (10.67.165.2) by kwepemi500020.china.huawei.com (7.221.188.8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.31; Wed, 11 Oct 2023 17:31:33 +0800 From: Jie Hai To: , Hemant Agrawal , Sachin Saxena CC: , , Subject: [PATCH v5 12/40] net/dpaa2: check RSS hash algorithms Date: Wed, 11 Oct 2023 17:27:37 +0800 Message-ID: <20231011092805.693171-13-haijie1@huawei.com> X-Mailer: git-send-email 2.30.0 In-Reply-To: <20231011092805.693171-1-haijie1@huawei.com> References: <20230908080030.3837515-1-haijie1@huawei.com> <20231011092805.693171-1-haijie1@huawei.com> MIME-Version: 1.0 X-Originating-IP: [10.67.165.2] X-ClientProxiedBy: dggems704-chm.china.huawei.com (10.3.19.181) To kwepemi500020.china.huawei.com (7.221.188.8) X-CFilter-Loop: Reflected X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org A new field 'algorithm' has been added to rss_conf, check it in case of ignoring unsupported values. Signed-off-by: Jie Hai --- drivers/net/dpaa2/dpaa2_ethdev.c | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/drivers/net/dpaa2/dpaa2_ethdev.c b/drivers/net/dpaa2/dpaa2_ethdev.c index 679f33ae1a08..355c94b6112f 100644 --- a/drivers/net/dpaa2/dpaa2_ethdev.c +++ b/drivers/net/dpaa2/dpaa2_ethdev.c @@ -583,6 +583,10 @@ dpaa2_eth_dev_configure(struct rte_eth_dev *dev) } if (eth_conf->rxmode.mq_mode == RTE_ETH_MQ_RX_RSS) { + if (eth_conf->rx_adv_conf.rss_conf.algorithm != + RTE_ETH_HASH_FUNCTION_DEFAULT) + return -EINVAL; + for (tc_index = 0; tc_index < priv->num_rx_tc; tc_index++) { ret = dpaa2_setup_flow_dist(dev, eth_conf->rx_adv_conf.rss_conf.rss_hf, @@ -2194,6 +2198,9 @@ dpaa2_dev_rss_hash_update(struct rte_eth_dev *dev, PMD_INIT_FUNC_TRACE(); + if (rss_conf->algorithm != RTE_ETH_HASH_FUNCTION_DEFAULT) + return -EINVAL; + if (rss_conf->rss_hf) { for (tc_index = 0; tc_index < priv->num_rx_tc; tc_index++) { ret = dpaa2_setup_flow_dist(dev, rss_conf->rss_hf, From patchwork Wed Oct 11 09:27:38 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jie Hai X-Patchwork-Id: 132519 X-Patchwork-Delegate: ferruh.yigit@amd.com Return-Path: X-Original-To: patchwork@inbox.dpdk.org Delivered-To: patchwork@inbox.dpdk.org Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 121614235E; Wed, 11 Oct 2023 11:32:51 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 2150C410D3; Wed, 11 Oct 2023 11:31:47 +0200 (CEST) Received: from szxga02-in.huawei.com (szxga02-in.huawei.com [45.249.212.188]) by mails.dpdk.org (Postfix) with ESMTP id 3DBE840DCB for ; Wed, 11 Oct 2023 11:31:35 +0200 (CEST) Received: from kwepemi500020.china.huawei.com (unknown [172.30.72.54]) by szxga02-in.huawei.com (SkyGuard) with ESMTP id 4S56rN1fSpzVlZ1; Wed, 11 Oct 2023 17:28:04 +0800 (CST) Received: from localhost.localdomain (10.67.165.2) by kwepemi500020.china.huawei.com (7.221.188.8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.31; Wed, 11 Oct 2023 17:31:33 +0800 From: Jie Hai To: , Michal Krawczyk , Shai Brandes , Evgeny Schemeilin , Igor Chauskin , Ron Beider CC: , , Subject: [PATCH v5 13/40] net/ena: check RSS hash algorithms Date: Wed, 11 Oct 2023 17:27:38 +0800 Message-ID: <20231011092805.693171-14-haijie1@huawei.com> X-Mailer: git-send-email 2.30.0 In-Reply-To: <20231011092805.693171-1-haijie1@huawei.com> References: <20230908080030.3837515-1-haijie1@huawei.com> <20231011092805.693171-1-haijie1@huawei.com> MIME-Version: 1.0 X-Originating-IP: [10.67.165.2] X-ClientProxiedBy: dggems704-chm.china.huawei.com (10.3.19.181) To kwepemi500020.china.huawei.com (7.221.188.8) X-CFilter-Loop: Reflected X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org A new field 'algorithm' has been added to rss_conf, check it in case of ignoring unsupported values. Signed-off-by: Jie Hai --- drivers/net/ena/ena_rss.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/drivers/net/ena/ena_rss.c b/drivers/net/ena/ena_rss.c index d0ba9d5c0a14..06aff9f3bd49 100644 --- a/drivers/net/ena/ena_rss.c +++ b/drivers/net/ena/ena_rss.c @@ -398,6 +398,9 @@ static int ena_rss_hash_set(struct ena_com_dev *ena_dev, uint8_t *rss_key; int rc; + if (rss_conf->algorithm != RTE_ETH_HASH_FUNCTION_DEFAULT) + return -EINVAL; + if (rss_conf->rss_key != NULL) { /* Reorder the RSS key bytes for the hardware requirements. */ ena_reorder_rss_hash_key(hw_rss_key, rss_conf->rss_key, From patchwork Wed Oct 11 09:27:39 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jie Hai X-Patchwork-Id: 132520 X-Patchwork-Delegate: ferruh.yigit@amd.com Return-Path: X-Original-To: patchwork@inbox.dpdk.org Delivered-To: patchwork@inbox.dpdk.org Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 396134235E; Wed, 11 Oct 2023 11:32:56 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 3BC55410E4; Wed, 11 Oct 2023 11:31:48 +0200 (CEST) Received: from szxga03-in.huawei.com (szxga03-in.huawei.com [45.249.212.189]) by mails.dpdk.org (Postfix) with ESMTP id B833040DDA for ; Wed, 11 Oct 2023 11:31:35 +0200 (CEST) Received: from kwepemi500020.china.huawei.com (unknown [172.30.72.53]) by szxga03-in.huawei.com (SkyGuard) with ESMTP id 4S56qr3bn9zkY4M; Wed, 11 Oct 2023 17:27:36 +0800 (CST) Received: from localhost.localdomain (10.67.165.2) by kwepemi500020.china.huawei.com (7.221.188.8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.31; Wed, 11 Oct 2023 17:31:34 +0800 From: Jie Hai To: , John Daley , Hyong Youb Kim CC: , , Subject: [PATCH v5 14/40] net/enic: check RSS hash algorithms Date: Wed, 11 Oct 2023 17:27:39 +0800 Message-ID: <20231011092805.693171-15-haijie1@huawei.com> X-Mailer: git-send-email 2.30.0 In-Reply-To: <20231011092805.693171-1-haijie1@huawei.com> References: <20230908080030.3837515-1-haijie1@huawei.com> <20231011092805.693171-1-haijie1@huawei.com> MIME-Version: 1.0 X-Originating-IP: [10.67.165.2] X-ClientProxiedBy: dggems704-chm.china.huawei.com (10.3.19.181) To kwepemi500020.china.huawei.com (7.221.188.8) X-CFilter-Loop: Reflected X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org A new field 'algorithm' has been added to rss_conf, check it in case of ignoring unsupported values. Signed-off-by: Jie Hai --- drivers/net/enic/enic_ethdev.c | 1 + drivers/net/enic/enic_main.c | 3 +++ 2 files changed, 4 insertions(+) diff --git a/drivers/net/enic/enic_ethdev.c b/drivers/net/enic/enic_ethdev.c index cdf091559196..164f423a85c8 100644 --- a/drivers/net/enic/enic_ethdev.c +++ b/drivers/net/enic/enic_ethdev.c @@ -834,6 +834,7 @@ static int enicpmd_dev_rss_hash_conf_get(struct rte_eth_dev *dev, ENICPMD_FUNC_TRACE(); if (rss_conf == NULL) return -EINVAL; + if (rss_conf->rss_key != NULL && rss_conf->rss_key_len < ENIC_RSS_HASH_KEY_SIZE) { dev_err(enic, "rss_hash_conf_get: wrong rss_key_len. given=%u" diff --git a/drivers/net/enic/enic_main.c b/drivers/net/enic/enic_main.c index 19a99a82c501..2eafe7637b3a 100644 --- a/drivers/net/enic/enic_main.c +++ b/drivers/net/enic/enic_main.c @@ -1428,6 +1428,9 @@ int enic_set_rss_conf(struct enic *enic, struct rte_eth_rss_conf *rss_conf) } } + if (rss_enable && rss_conf->algorithm != RTE_ETH_HASH_FUNCTION_DEFAULT) + return -EINVAL; + ret = enic_set_niccfg(enic, ENIC_RSS_DEFAULT_CPU, rss_hash_type, ENIC_RSS_HASH_BITS, ENIC_RSS_BASE_CPU, rss_enable); From patchwork Wed Oct 11 09:27:40 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jie Hai X-Patchwork-Id: 132521 X-Patchwork-Delegate: ferruh.yigit@amd.com Return-Path: X-Original-To: patchwork@inbox.dpdk.org Delivered-To: patchwork@inbox.dpdk.org Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id A02CF4235E; Wed, 11 Oct 2023 11:33:00 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 4BCC0410EE; Wed, 11 Oct 2023 11:31:49 +0200 (CEST) Received: from szxga02-in.huawei.com (szxga02-in.huawei.com [45.249.212.188]) by mails.dpdk.org (Postfix) with ESMTP id 0B6A040DCB for ; Wed, 11 Oct 2023 11:31:36 +0200 (CEST) Received: from kwepemi500020.china.huawei.com (unknown [172.30.72.56]) by szxga02-in.huawei.com (SkyGuard) with ESMTP id 4S56rP1H20zVlYp for ; Wed, 11 Oct 2023 17:28:05 +0800 (CST) Received: from localhost.localdomain (10.67.165.2) by kwepemi500020.china.huawei.com (7.221.188.8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.31; Wed, 11 Oct 2023 17:31:34 +0800 From: Jie Hai To: , Qi Zhang , Xiao Wang CC: , , Subject: [PATCH v5 15/40] net/fm10k: check RSS hash algorithms Date: Wed, 11 Oct 2023 17:27:40 +0800 Message-ID: <20231011092805.693171-16-haijie1@huawei.com> X-Mailer: git-send-email 2.30.0 In-Reply-To: <20231011092805.693171-1-haijie1@huawei.com> References: <20230908080030.3837515-1-haijie1@huawei.com> <20231011092805.693171-1-haijie1@huawei.com> MIME-Version: 1.0 X-Originating-IP: [10.67.165.2] X-ClientProxiedBy: dggems704-chm.china.huawei.com (10.3.19.181) To kwepemi500020.china.huawei.com (7.221.188.8) X-CFilter-Loop: Reflected X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org A new field 'algorithm' has been added to rss_conf, check it in case of ignoring unsupported values. Signed-off-by: Jie Hai --- drivers/net/fm10k/fm10k_ethdev.c | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/drivers/net/fm10k/fm10k_ethdev.c b/drivers/net/fm10k/fm10k_ethdev.c index 4d3c4c10cfa4..d8b27e84d836 100644 --- a/drivers/net/fm10k/fm10k_ethdev.c +++ b/drivers/net/fm10k/fm10k_ethdev.c @@ -452,8 +452,12 @@ fm10k_dev_configure(struct rte_eth_dev *dev) PMD_INIT_FUNC_TRACE(); - if (dev->data->dev_conf.rxmode.mq_mode & RTE_ETH_MQ_RX_RSS_FLAG) + if (dev->data->dev_conf.rxmode.mq_mode & RTE_ETH_MQ_RX_RSS_FLAG) { dev->data->dev_conf.rxmode.offloads |= RTE_ETH_RX_OFFLOAD_RSS_HASH; + if (dev->data->dev_conf.rx_adv_conf.rss_conf.algorithm != + RTE_ETH_HASH_FUNCTION_DEFAULT) + return -EINVAL; + } /* multiple queue mode checking */ ret = fm10k_check_mq_mode(dev); @@ -2195,6 +2199,9 @@ fm10k_rss_hash_update(struct rte_eth_dev *dev, FM10K_RSSRK_ENTRIES_PER_REG)) return -EINVAL; + if (rss_conf->algorithm != RTE_ETH_HASH_FUNCTION_DEFAULT) + return -EINVAL; + if (hf == 0) return -EINVAL; From patchwork Wed Oct 11 09:27:41 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jie Hai X-Patchwork-Id: 132522 X-Patchwork-Delegate: ferruh.yigit@amd.com Return-Path: X-Original-To: patchwork@inbox.dpdk.org Delivered-To: patchwork@inbox.dpdk.org Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 0FF774235E; Wed, 11 Oct 2023 11:33:07 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 71F6440EE5; Wed, 11 Oct 2023 11:31:50 +0200 (CEST) Received: from szxga02-in.huawei.com (szxga02-in.huawei.com [45.249.212.188]) by mails.dpdk.org (Postfix) with ESMTP id B3F9B40DCB for ; Wed, 11 Oct 2023 11:31:36 +0200 (CEST) Received: from kwepemi500020.china.huawei.com (unknown [172.30.72.56]) by szxga02-in.huawei.com (SkyGuard) with ESMTP id 4S56qv31kqzLqKc for ; Wed, 11 Oct 2023 17:27:39 +0800 (CST) Received: from localhost.localdomain (10.67.165.2) by kwepemi500020.china.huawei.com (7.221.188.8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.31; Wed, 11 Oct 2023 17:31:35 +0800 From: Jie Hai To: , Ziyang Xuan , Xiaoyun Wang , Guoyang Zhou CC: , , Subject: [PATCH v5 16/40] net/hinic: check RSS hash algorithms Date: Wed, 11 Oct 2023 17:27:41 +0800 Message-ID: <20231011092805.693171-17-haijie1@huawei.com> X-Mailer: git-send-email 2.30.0 In-Reply-To: <20231011092805.693171-1-haijie1@huawei.com> References: <20230908080030.3837515-1-haijie1@huawei.com> <20231011092805.693171-1-haijie1@huawei.com> MIME-Version: 1.0 X-Originating-IP: [10.67.165.2] X-ClientProxiedBy: dggems704-chm.china.huawei.com (10.3.19.181) To kwepemi500020.china.huawei.com (7.221.188.8) X-CFilter-Loop: Reflected X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org A new field 'algorithm' has been added to rss_conf, check it in case of ignoring unsupported values. Signed-off-by: Jie Hai --- 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"); From patchwork Wed Oct 11 09:27:42 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jie Hai X-Patchwork-Id: 132523 X-Patchwork-Delegate: ferruh.yigit@amd.com Return-Path: X-Original-To: patchwork@inbox.dpdk.org Delivered-To: patchwork@inbox.dpdk.org Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id AABC94235E; Wed, 11 Oct 2023 11:33:11 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id C1ED3410F9; Wed, 11 Oct 2023 11:31:51 +0200 (CEST) Received: from szxga08-in.huawei.com (szxga08-in.huawei.com [45.249.212.255]) by mails.dpdk.org (Postfix) with ESMTP id 0967740DFD for ; Wed, 11 Oct 2023 11:31:37 +0200 (CEST) Received: from kwepemi500020.china.huawei.com (unknown [172.30.72.57]) by szxga08-in.huawei.com (SkyGuard) with ESMTP id 4S56sV34YNz1M96X for ; Wed, 11 Oct 2023 17:29:02 +0800 (CST) Received: from localhost.localdomain (10.67.165.2) by kwepemi500020.china.huawei.com (7.221.188.8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.31; Wed, 11 Oct 2023 17:31:35 +0800 From: Jie Hai To: , Yuying Zhang , Beilei Xing CC: , , Subject: [PATCH v5 17/40] net/i40e: check RSS hash algorithms Date: Wed, 11 Oct 2023 17:27:42 +0800 Message-ID: <20231011092805.693171-18-haijie1@huawei.com> X-Mailer: git-send-email 2.30.0 In-Reply-To: <20231011092805.693171-1-haijie1@huawei.com> References: <20230908080030.3837515-1-haijie1@huawei.com> <20231011092805.693171-1-haijie1@huawei.com> MIME-Version: 1.0 X-Originating-IP: [10.67.165.2] X-ClientProxiedBy: dggems704-chm.china.huawei.com (10.3.19.181) To kwepemi500020.china.huawei.com (7.221.188.8) X-CFilter-Loop: Reflected X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org A new field 'algorithm' has been added to rss_conf, check it in case of ignoring unsupported values. Signed-off-by: Jie Hai --- drivers/net/i40e/i40e_ethdev.c | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/drivers/net/i40e/i40e_ethdev.c b/drivers/net/i40e/i40e_ethdev.c index 50ba9aac9498..fcd6d4eb0495 100644 --- a/drivers/net/i40e/i40e_ethdev.c +++ b/drivers/net/i40e/i40e_ethdev.c @@ -7749,6 +7749,9 @@ i40e_dev_rss_hash_update(struct rte_eth_dev *dev, if (rss_hf == 0) /* Disable RSS */ return -EINVAL; + if (rss_conf->algorithm != RTE_ETH_HASH_FUNCTION_DEFAULT) + return -EINVAL; + return i40e_hw_rss_hash_set(pf, rss_conf); } @@ -8986,6 +8989,10 @@ i40e_pf_config_rss(struct i40e_pf *pf) !(mq_mode & RTE_ETH_MQ_RX_RSS_FLAG)) return 0; + if (pf->dev_data->dev_conf.rx_adv_conf.rss_conf.algorithm != + RTE_ETH_HASH_FUNCTION_DEFAULT) + return -EINVAL; + hw = I40E_PF_TO_HW(pf); hena = i40e_config_hena(pf->adapter, rss_hf); i40e_write_rx_ctl(hw, I40E_PFQF_HENA(0), (uint32_t)hena); From patchwork Wed Oct 11 09:27:43 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jie Hai X-Patchwork-Id: 132524 X-Patchwork-Delegate: ferruh.yigit@amd.com Return-Path: X-Original-To: patchwork@inbox.dpdk.org Delivered-To: patchwork@inbox.dpdk.org Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 752074235E; Wed, 11 Oct 2023 11:33:18 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 0E55C41101; Wed, 11 Oct 2023 11:31:53 +0200 (CEST) Received: from szxga08-in.huawei.com (szxga08-in.huawei.com [45.249.212.255]) by mails.dpdk.org (Postfix) with ESMTP id B5EF440E0F for ; Wed, 11 Oct 2023 11:31:37 +0200 (CEST) Received: from kwepemi500020.china.huawei.com (unknown [172.30.72.57]) by szxga08-in.huawei.com (SkyGuard) with ESMTP id 4S56sV6p0xz1M98r for ; Wed, 11 Oct 2023 17:29:02 +0800 (CST) Received: from localhost.localdomain (10.67.165.2) by kwepemi500020.china.huawei.com (7.221.188.8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.31; Wed, 11 Oct 2023 17:31:36 +0800 From: Jie Hai To: , Jingjing Wu , Beilei Xing CC: , , Subject: [PATCH v5 18/40] net/iavf: check RSS hash algorithms Date: Wed, 11 Oct 2023 17:27:43 +0800 Message-ID: <20231011092805.693171-19-haijie1@huawei.com> X-Mailer: git-send-email 2.30.0 In-Reply-To: <20231011092805.693171-1-haijie1@huawei.com> References: <20230908080030.3837515-1-haijie1@huawei.com> <20231011092805.693171-1-haijie1@huawei.com> MIME-Version: 1.0 X-Originating-IP: [10.67.165.2] X-ClientProxiedBy: dggems704-chm.china.huawei.com (10.3.19.181) To kwepemi500020.china.huawei.com (7.221.188.8) X-CFilter-Loop: Reflected X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org A new field 'algorithm' has been added to rss_conf, check it in case of ignoring unsupported values. Signed-off-by: Jie Hai --- drivers/net/iavf/iavf_ethdev.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/drivers/net/iavf/iavf_ethdev.c b/drivers/net/iavf/iavf_ethdev.c index f2fc5a56216d..9d6950d462a6 100644 --- a/drivers/net/iavf/iavf_ethdev.c +++ b/drivers/net/iavf/iavf_ethdev.c @@ -523,6 +523,9 @@ iavf_init_rss(struct iavf_adapter *adapter) return -ENOTSUP; } + if (rss_conf->algorithm != RTE_ETH_HASH_FUNCTION_DEFAULT) + return -EINVAL; + /* configure RSS key */ if (!rss_conf->rss_key) { /* Calculate the default hash key */ @@ -1588,6 +1591,9 @@ iavf_dev_rss_hash_update(struct rte_eth_dev *dev, if (!(vf->vf_res->vf_cap_flags & VIRTCHNL_VF_OFFLOAD_RSS_PF)) return -ENOTSUP; + if (rss_conf->algorithm != RTE_ETH_HASH_FUNCTION_DEFAULT) + return -EINVAL; + /* Set hash key. */ ret = iavf_set_rss_key(adapter, rss_conf->rss_key, rss_conf->rss_key_len); From patchwork Wed Oct 11 09:27:44 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jie Hai X-Patchwork-Id: 132525 X-Patchwork-Delegate: ferruh.yigit@amd.com Return-Path: X-Original-To: patchwork@inbox.dpdk.org Delivered-To: patchwork@inbox.dpdk.org Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 595994235E; Wed, 11 Oct 2023 11:33:25 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 35CA141133; Wed, 11 Oct 2023 11:31:54 +0200 (CEST) Received: from szxga01-in.huawei.com (szxga01-in.huawei.com [45.249.212.187]) by mails.dpdk.org (Postfix) with ESMTP id 0553040E25 for ; Wed, 11 Oct 2023 11:31:38 +0200 (CEST) Received: from kwepemi500020.china.huawei.com (unknown [172.30.72.54]) by szxga01-in.huawei.com (SkyGuard) with ESMTP id 4S56sV5Bd7zrTZ2 for ; Wed, 11 Oct 2023 17:29:02 +0800 (CST) Received: from localhost.localdomain (10.67.165.2) by kwepemi500020.china.huawei.com (7.221.188.8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.31; Wed, 11 Oct 2023 17:31:36 +0800 From: Jie Hai To: , Qiming Yang , Qi Zhang CC: , , Subject: [PATCH v5 19/40] net/ice: check RSS hash algorithms Date: Wed, 11 Oct 2023 17:27:44 +0800 Message-ID: <20231011092805.693171-20-haijie1@huawei.com> X-Mailer: git-send-email 2.30.0 In-Reply-To: <20231011092805.693171-1-haijie1@huawei.com> References: <20230908080030.3837515-1-haijie1@huawei.com> <20231011092805.693171-1-haijie1@huawei.com> MIME-Version: 1.0 X-Originating-IP: [10.67.165.2] X-ClientProxiedBy: dggems704-chm.china.huawei.com (10.3.19.181) To kwepemi500020.china.huawei.com (7.221.188.8) X-CFilter-Loop: Reflected X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org A new field 'algorithm' has been added to rss_conf, check it in case of ignoring unsupported values. Signed-off-by: Jie Hai --- drivers/net/ice/ice_dcf.c | 3 +++ drivers/net/ice/ice_dcf_ethdev.c | 3 +++ drivers/net/ice/ice_ethdev.c | 7 +++++++ 3 files changed, 13 insertions(+) diff --git a/drivers/net/ice/ice_dcf.c b/drivers/net/ice/ice_dcf.c index 7f8f5163acef..bff39cf9d145 100644 --- a/drivers/net/ice/ice_dcf.c +++ b/drivers/net/ice/ice_dcf.c @@ -1120,6 +1120,9 @@ ice_dcf_init_rss(struct ice_dcf_hw *hw) return ice_dcf_configure_rss_lut(hw); } + if (rss_conf->algorithm != RTE_ETH_HASH_FUNCTION_DEFAULT) + return -EINVAL; + /* In IAVF, RSS enablement is set by PF driver. It is not supported * to set based on rss_conf->rss_hf. */ diff --git a/drivers/net/ice/ice_dcf_ethdev.c b/drivers/net/ice/ice_dcf_ethdev.c index 30ad18d8fc20..f0db68c5dee5 100644 --- a/drivers/net/ice/ice_dcf_ethdev.c +++ b/drivers/net/ice/ice_dcf_ethdev.c @@ -1405,6 +1405,9 @@ ice_dcf_dev_rss_hash_update(struct rte_eth_dev *dev, if (!(hw->vf_res->vf_cap_flags & VIRTCHNL_VF_OFFLOAD_RSS_PF)) return -ENOTSUP; + if (rss_conf->algorithm != RTE_ETH_HASH_FUNCTION_DEFAULT) + return -EINVAL; + /* HENA setting, it is enabled by default, no change */ if (!rss_conf->rss_key || rss_conf->rss_key_len == 0) { PMD_DRV_LOG(DEBUG, "No key to be configured"); diff --git a/drivers/net/ice/ice_ethdev.c b/drivers/net/ice/ice_ethdev.c index 4bad39c2c1c9..0cba6f7d7b6a 100644 --- a/drivers/net/ice/ice_ethdev.c +++ b/drivers/net/ice/ice_ethdev.c @@ -3383,6 +3383,10 @@ static int ice_init_rss(struct ice_pf *pf) return -ENOMEM; } } + + if (rss_conf->algorithm != RTE_ETH_HASH_FUNCTION_DEFAULT) + return -EINVAL; + /* configure RSS key */ if (!rss_conf->rss_key) ice_get_default_rss_key(vsi->rss_key, vsi->rss_key_size); @@ -5046,6 +5050,9 @@ ice_rss_hash_update(struct rte_eth_dev *dev, struct ice_pf *pf = ICE_DEV_PRIVATE_TO_PF(dev->data->dev_private); struct ice_vsi *vsi = pf->main_vsi; + if (rss_conf->algorithm != RTE_ETH_HASH_FUNCTION_DEFAULT) + return -EINVAL; + /* set hash key */ status = ice_set_rss_key(vsi, rss_conf->rss_key, rss_conf->rss_key_len); if (status) From patchwork Wed Oct 11 09:27:45 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jie Hai X-Patchwork-Id: 132526 X-Patchwork-Delegate: ferruh.yigit@amd.com Return-Path: X-Original-To: patchwork@inbox.dpdk.org Delivered-To: patchwork@inbox.dpdk.org Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 872194235E; Wed, 11 Oct 2023 11:33:28 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 42FA94114B; Wed, 11 Oct 2023 11:31:55 +0200 (CEST) Received: from szxga03-in.huawei.com (szxga03-in.huawei.com [45.249.212.189]) by mails.dpdk.org (Postfix) with ESMTP id B118A40E25 for ; Wed, 11 Oct 2023 11:31:38 +0200 (CEST) Received: from kwepemi500020.china.huawei.com (unknown [172.30.72.57]) by szxga03-in.huawei.com (SkyGuard) with ESMTP id 4S56qv49cpzkY4k for ; Wed, 11 Oct 2023 17:27:39 +0800 (CST) Received: from localhost.localdomain (10.67.165.2) by kwepemi500020.china.huawei.com (7.221.188.8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.31; Wed, 11 Oct 2023 17:31:37 +0800 From: Jie Hai To: , Jingjing Wu , Beilei Xing CC: , , Subject: [PATCH v5 20/40] net/idpf: check RSS hash algorithms Date: Wed, 11 Oct 2023 17:27:45 +0800 Message-ID: <20231011092805.693171-21-haijie1@huawei.com> X-Mailer: git-send-email 2.30.0 In-Reply-To: <20231011092805.693171-1-haijie1@huawei.com> References: <20230908080030.3837515-1-haijie1@huawei.com> <20231011092805.693171-1-haijie1@huawei.com> MIME-Version: 1.0 X-Originating-IP: [10.67.165.2] X-ClientProxiedBy: dggems704-chm.china.huawei.com (10.3.19.181) To kwepemi500020.china.huawei.com (7.221.188.8) X-CFilter-Loop: Reflected X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org A new field 'algorithm' has been added to rss_conf, check it in case of ignoring unsupported values. Signed-off-by: Jie Hai --- drivers/net/idpf/idpf_ethdev.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/drivers/net/idpf/idpf_ethdev.c b/drivers/net/idpf/idpf_ethdev.c index 3af7cf0bb7e0..013db04ac8fc 100644 --- a/drivers/net/idpf/idpf_ethdev.c +++ b/drivers/net/idpf/idpf_ethdev.c @@ -426,6 +426,9 @@ idpf_init_rss(struct idpf_vport *vport) rss_conf = &dev_data->dev_conf.rx_adv_conf.rss_conf; nb_q = dev_data->nb_rx_queues; + if (rss_conf->algorithm != RTE_ETH_HASH_FUNCTION_DEFAULT) + return -EINVAL; + if (rss_conf->rss_key == NULL) { for (i = 0; i < vport->rss_key_size; i++) vport->rss_key[i] = (uint8_t)rte_rand(); @@ -541,6 +544,9 @@ idpf_rss_hash_update(struct rte_eth_dev *dev, return -ENOTSUP; } + if (rss_conf->algorithm != RTE_ETH_HASH_FUNCTION_DEFAULT) + return -EINVAL; + if (!rss_conf->rss_key || rss_conf->rss_key_len == 0) { PMD_DRV_LOG(DEBUG, "No key to be configured"); goto skip_rss_key; From patchwork Wed Oct 11 09:27:46 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jie Hai X-Patchwork-Id: 132527 X-Patchwork-Delegate: ferruh.yigit@amd.com Return-Path: X-Original-To: patchwork@inbox.dpdk.org Delivered-To: patchwork@inbox.dpdk.org Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id A4DB54235E; Wed, 11 Oct 2023 11:33:33 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 5CE70411F3; Wed, 11 Oct 2023 11:31:56 +0200 (CEST) Received: from szxga02-in.huawei.com (szxga02-in.huawei.com [45.249.212.188]) by mails.dpdk.org (Postfix) with ESMTP id 136B840E4A for ; Wed, 11 Oct 2023 11:31:39 +0200 (CEST) Received: from kwepemi500020.china.huawei.com (unknown [172.30.72.56]) by szxga02-in.huawei.com (SkyGuard) with ESMTP id 4S56rS1rMbzVlZ2 for ; Wed, 11 Oct 2023 17:28:08 +0800 (CST) Received: from localhost.localdomain (10.67.165.2) by kwepemi500020.china.huawei.com (7.221.188.8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.31; Wed, 11 Oct 2023 17:31:37 +0800 From: Jie Hai To: , Junfeng Guo , Simei Su CC: , , Subject: [PATCH v5 21/40] net/igc: check RSS hash algorithms Date: Wed, 11 Oct 2023 17:27:46 +0800 Message-ID: <20231011092805.693171-22-haijie1@huawei.com> X-Mailer: git-send-email 2.30.0 In-Reply-To: <20231011092805.693171-1-haijie1@huawei.com> References: <20230908080030.3837515-1-haijie1@huawei.com> <20231011092805.693171-1-haijie1@huawei.com> MIME-Version: 1.0 X-Originating-IP: [10.67.165.2] X-ClientProxiedBy: dggems704-chm.china.huawei.com (10.3.19.181) To kwepemi500020.china.huawei.com (7.221.188.8) X-CFilter-Loop: Reflected X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org A new field 'algorithm' has been added to rss_conf, check it in case of ignoring unsupported values. Signed-off-by: Jie Hai --- drivers/net/igc/igc_ethdev.c | 4 ++++ drivers/net/igc/igc_txrx.c | 5 +++++ 2 files changed, 9 insertions(+) diff --git a/drivers/net/igc/igc_ethdev.c b/drivers/net/igc/igc_ethdev.c index 58c4f8092772..11c0f5ff231b 100644 --- a/drivers/net/igc/igc_ethdev.c +++ b/drivers/net/igc/igc_ethdev.c @@ -2442,6 +2442,10 @@ eth_igc_rss_hash_update(struct rte_eth_dev *dev, struct rte_eth_rss_conf *rss_conf) { struct igc_hw *hw = IGC_DEV_PRIVATE_HW(dev); + + if (rss_conf->algorithm != RTE_ETH_HASH_FUNCTION_DEFAULT) + return -EINVAL; + igc_hw_rss_hash_set(hw, rss_conf); return 0; } diff --git a/drivers/net/igc/igc_txrx.c b/drivers/net/igc/igc_txrx.c index 5c60e3e99709..5e62e00d2ad9 100644 --- a/drivers/net/igc/igc_txrx.c +++ b/drivers/net/igc/igc_txrx.c @@ -818,6 +818,7 @@ igc_rss_configure(struct rte_eth_dev *dev) rss_conf = dev->data->dev_conf.rx_adv_conf.rss_conf; if (rss_conf.rss_key == NULL) rss_conf.rss_key = default_rss_key; + igc_hw_rss_hash_set(hw, &rss_conf); } @@ -958,6 +959,10 @@ igc_dev_mq_rx_configure(struct rte_eth_dev *dev) return -EINVAL; } + if (dev->data->dev_conf.rx_adv_conf.rss_conf.algorithm != + RTE_ETH_HASH_FUNCTION_DEFAULT) + return -EINVAL; + switch (dev->data->dev_conf.rxmode.mq_mode) { case RTE_ETH_MQ_RX_RSS: igc_rss_configure(dev); From patchwork Wed Oct 11 09:27:47 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jie Hai X-Patchwork-Id: 132528 X-Patchwork-Delegate: ferruh.yigit@amd.com Return-Path: X-Original-To: patchwork@inbox.dpdk.org Delivered-To: patchwork@inbox.dpdk.org Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 62CF04235E; Wed, 11 Oct 2023 11:33:39 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 90E8441143; Wed, 11 Oct 2023 11:31:57 +0200 (CEST) Received: from szxga08-in.huawei.com (szxga08-in.huawei.com [45.249.212.255]) by mails.dpdk.org (Postfix) with ESMTP id B5E2A40A7F for ; Wed, 11 Oct 2023 11:31:39 +0200 (CEST) Received: from kwepemi500020.china.huawei.com (unknown [172.30.72.57]) by szxga08-in.huawei.com (SkyGuard) with ESMTP id 4S56sX6k50z1M967; Wed, 11 Oct 2023 17:29:04 +0800 (CST) Received: from localhost.localdomain (10.67.165.2) by kwepemi500020.china.huawei.com (7.221.188.8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.31; Wed, 11 Oct 2023 17:31:38 +0800 From: Jie Hai To: , Andrew Boyer CC: , , Subject: [PATCH v5 22/40] net/ionic: check RSS hash algorithms Date: Wed, 11 Oct 2023 17:27:47 +0800 Message-ID: <20231011092805.693171-23-haijie1@huawei.com> X-Mailer: git-send-email 2.30.0 In-Reply-To: <20231011092805.693171-1-haijie1@huawei.com> References: <20230908080030.3837515-1-haijie1@huawei.com> <20231011092805.693171-1-haijie1@huawei.com> MIME-Version: 1.0 X-Originating-IP: [10.67.165.2] X-ClientProxiedBy: dggems704-chm.china.huawei.com (10.3.19.181) To kwepemi500020.china.huawei.com (7.221.188.8) X-CFilter-Loop: Reflected X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org A new field 'algorithm' has been added to rss_conf, check it in case of ignoring unsupported values. Signed-off-by: Jie Hai --- drivers/net/ionic/ionic_ethdev.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/drivers/net/ionic/ionic_ethdev.c b/drivers/net/ionic/ionic_ethdev.c index 340fd0cd5923..e2e4d23c069b 100644 --- a/drivers/net/ionic/ionic_ethdev.c +++ b/drivers/net/ionic/ionic_ethdev.c @@ -642,6 +642,9 @@ ionic_dev_rss_hash_update(struct rte_eth_dev *eth_dev, if (rss_conf->rss_key) key = rss_conf->rss_key; + if (rss_conf->algorithm != RTE_ETH_HASH_FUNCTION_DEFAULT) + return -EINVAL; + if ((rss_conf->rss_hf & IONIC_ETH_RSS_OFFLOAD_ALL) == 0) { /* * Can't disable rss through hash flags, @@ -826,6 +829,9 @@ ionic_dev_configure(struct rte_eth_dev *eth_dev) IONIC_PRINT_CALL(); + if (eth_dev->data->dev_conf.rx_adv_conf.rss_conf.algorithm != + RTE_ETH_HASH_FUNCTION_DEFAULT) + return -EINVAL; ionic_lif_configure(lif); return 0; From patchwork Wed Oct 11 09:27:48 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jie Hai X-Patchwork-Id: 132529 X-Patchwork-Delegate: ferruh.yigit@amd.com Return-Path: X-Original-To: patchwork@inbox.dpdk.org Delivered-To: patchwork@inbox.dpdk.org Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id D23114235E; Wed, 11 Oct 2023 11:33:44 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id B26B14161A; Wed, 11 Oct 2023 11:31:58 +0200 (CEST) Received: from szxga02-in.huawei.com (szxga02-in.huawei.com [45.249.212.188]) by mails.dpdk.org (Postfix) with ESMTP id 0A1B840DDE for ; Wed, 11 Oct 2023 11:31:40 +0200 (CEST) Received: from kwepemi500020.china.huawei.com (unknown [172.30.72.56]) by szxga02-in.huawei.com (SkyGuard) with ESMTP id 4S56qy5K3bzLq9k for ; Wed, 11 Oct 2023 17:27:42 +0800 (CST) Received: from localhost.localdomain (10.67.165.2) by kwepemi500020.china.huawei.com (7.221.188.8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.31; Wed, 11 Oct 2023 17:31:38 +0800 From: Jie Hai To: , Qiming Yang , Wenjun Wu CC: , , Subject: [PATCH v5 23/40] net/ixgbe: check RSS hash algorithms Date: Wed, 11 Oct 2023 17:27:48 +0800 Message-ID: <20231011092805.693171-24-haijie1@huawei.com> X-Mailer: git-send-email 2.30.0 In-Reply-To: <20231011092805.693171-1-haijie1@huawei.com> References: <20230908080030.3837515-1-haijie1@huawei.com> <20231011092805.693171-1-haijie1@huawei.com> MIME-Version: 1.0 X-Originating-IP: [10.67.165.2] X-ClientProxiedBy: dggems704-chm.china.huawei.com (10.3.19.181) To kwepemi500020.china.huawei.com (7.221.188.8) X-CFilter-Loop: Reflected X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org A new field 'algorithm' has been added to rss_conf, check it in case of ignoring unsupported values. Signed-off-by: Jie Hai --- drivers/net/ixgbe/ixgbe_ethdev.c | 12 ++++++++++-- drivers/net/ixgbe/ixgbe_rxtx.c | 4 ++++ 2 files changed, 14 insertions(+), 2 deletions(-) diff --git a/drivers/net/ixgbe/ixgbe_ethdev.c b/drivers/net/ixgbe/ixgbe_ethdev.c index d6cf00317e77..b92cd746a061 100644 --- a/drivers/net/ixgbe/ixgbe_ethdev.c +++ b/drivers/net/ixgbe/ixgbe_ethdev.c @@ -2434,8 +2434,12 @@ ixgbe_dev_configure(struct rte_eth_dev *dev) PMD_INIT_FUNC_TRACE(); - if (dev->data->dev_conf.rxmode.mq_mode & RTE_ETH_MQ_RX_RSS_FLAG) + if (dev->data->dev_conf.rxmode.mq_mode & RTE_ETH_MQ_RX_RSS_FLAG) { dev->data->dev_conf.rxmode.offloads |= RTE_ETH_RX_OFFLOAD_RSS_HASH; + if (dev->data->dev_conf.rx_adv_conf.rss_conf.algorithm != + RTE_ETH_HASH_FUNCTION_DEFAULT) + return -EINVAL; + } /* multiple queue mode checking */ ret = ixgbe_check_mq_mode(dev); @@ -5326,8 +5330,12 @@ ixgbevf_dev_configure(struct rte_eth_dev *dev) PMD_INIT_LOG(DEBUG, "Configured Virtual Function port id: %d", dev->data->port_id); - if (dev->data->dev_conf.rxmode.mq_mode & RTE_ETH_MQ_RX_RSS_FLAG) + if (dev->data->dev_conf.rxmode.mq_mode & RTE_ETH_MQ_RX_RSS_FLAG) { dev->data->dev_conf.rxmode.offloads |= RTE_ETH_RX_OFFLOAD_RSS_HASH; + if (dev->data->dev_conf.rx_adv_conf.rss_conf.algorithm != + RTE_ETH_HASH_FUNCTION_DEFAULT) + return -EINVAL; + } /* * VF has no ability to enable/disable HW CRC diff --git a/drivers/net/ixgbe/ixgbe_rxtx.c b/drivers/net/ixgbe/ixgbe_rxtx.c index 90b0a7004f50..150f8065ab60 100644 --- a/drivers/net/ixgbe/ixgbe_rxtx.c +++ b/drivers/net/ixgbe/ixgbe_rxtx.c @@ -3631,6 +3631,10 @@ ixgbe_dev_rss_hash_update(struct rte_eth_dev *dev, /* RSS enabled */ if (rss_hf == 0) /* Disable RSS */ return -(EINVAL); + + if (rss_conf->algorithm != RTE_ETH_HASH_FUNCTION_DEFAULT) + return -EINVAL; + ixgbe_hw_rss_hash_set(hw, rss_conf); return 0; } From patchwork Wed Oct 11 09:27:49 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jie Hai X-Patchwork-Id: 132530 X-Patchwork-Delegate: ferruh.yigit@amd.com Return-Path: X-Original-To: patchwork@inbox.dpdk.org Delivered-To: patchwork@inbox.dpdk.org Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 0FE684235E; Wed, 11 Oct 2023 11:33:50 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 033C6427D8; Wed, 11 Oct 2023 11:32:00 +0200 (CEST) Received: from szxga08-in.huawei.com (szxga08-in.huawei.com [45.249.212.255]) by mails.dpdk.org (Postfix) with ESMTP id 8A32340E78 for ; Wed, 11 Oct 2023 11:31:40 +0200 (CEST) Received: from kwepemi500020.china.huawei.com (unknown [172.30.72.53]) by szxga08-in.huawei.com (SkyGuard) with ESMTP id 4S56sY6Wzjz1M9PC; Wed, 11 Oct 2023 17:29:05 +0800 (CST) Received: from localhost.localdomain (10.67.165.2) by kwepemi500020.china.huawei.com (7.221.188.8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.31; Wed, 11 Oct 2023 17:31:39 +0800 From: Jie Hai To: , Long Li CC: , , Subject: [PATCH v5 24/40] net/mana: check RSS hash algorithms Date: Wed, 11 Oct 2023 17:27:49 +0800 Message-ID: <20231011092805.693171-25-haijie1@huawei.com> X-Mailer: git-send-email 2.30.0 In-Reply-To: <20231011092805.693171-1-haijie1@huawei.com> References: <20230908080030.3837515-1-haijie1@huawei.com> <20231011092805.693171-1-haijie1@huawei.com> MIME-Version: 1.0 X-Originating-IP: [10.67.165.2] X-ClientProxiedBy: dggems704-chm.china.huawei.com (10.3.19.181) To kwepemi500020.china.huawei.com (7.221.188.8) X-CFilter-Loop: Reflected X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org A new field 'algorithm' has been added to rss_conf, check it in case of ignoring unsupported values. Signed-off-by: Jie Hai --- drivers/net/mana/mana.c | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/drivers/net/mana/mana.c b/drivers/net/mana/mana.c index 41c3cf259584..e3055bb545d9 100644 --- a/drivers/net/mana/mana.c +++ b/drivers/net/mana/mana.c @@ -80,8 +80,12 @@ mana_dev_configure(struct rte_eth_dev *dev) struct mana_priv *priv = dev->data->dev_private; struct rte_eth_conf *dev_conf = &dev->data->dev_conf; - if (dev_conf->rxmode.mq_mode & RTE_ETH_MQ_RX_RSS_FLAG) - dev_conf->rxmode.offloads |= RTE_ETH_RX_OFFLOAD_RSS_HASH; + if (dev_conf->rxmode.mq_mode & RTE_ETH_MQ_RX_RSS_FLAG) { + dev->data->dev_conf.rxmode.offloads |= RTE_ETH_RX_OFFLOAD_RSS_HASH; + if (dev->data->dev_conf.rx_adv_conf.rss_conf.algorithm != + RTE_ETH_HASH_FUNCTION_DEFAULT) + return -EINVAL; + } if (dev->data->nb_rx_queues != dev->data->nb_tx_queues) { DRV_LOG(ERR, "Only support equal number of rx/tx queues"); @@ -413,6 +417,9 @@ mana_rss_hash_update(struct rte_eth_dev *dev, return -ENODEV; } + if (rss_conf->algorithm != RTE_ETH_HASH_FUNCTION_DEFAULT) + return -EINVAL; + if (rss_conf->rss_hf & ~MANA_ETH_RSS_SUPPORT) { DRV_LOG(ERR, "Port %u invalid RSS HF 0x%" PRIx64, dev->data->port_id, rss_conf->rss_hf); From patchwork Wed Oct 11 09:27:50 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jie Hai X-Patchwork-Id: 132531 X-Patchwork-Delegate: ferruh.yigit@amd.com Return-Path: X-Original-To: patchwork@inbox.dpdk.org Delivered-To: patchwork@inbox.dpdk.org Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id CEAD44235E; Wed, 11 Oct 2023 11:33:55 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 2B706427DB; Wed, 11 Oct 2023 11:32:01 +0200 (CEST) Received: from szxga08-in.huawei.com (szxga08-in.huawei.com [45.249.212.255]) by mails.dpdk.org (Postfix) with ESMTP id 3455740E78 for ; Wed, 11 Oct 2023 11:31:41 +0200 (CEST) Received: from kwepemi500020.china.huawei.com (unknown [172.30.72.55]) by szxga08-in.huawei.com (SkyGuard) with ESMTP id 4S56sZ3W1Sz1M9PZ; Wed, 11 Oct 2023 17:29:06 +0800 (CST) Received: from localhost.localdomain (10.67.165.2) by kwepemi500020.china.huawei.com (7.221.188.8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.31; Wed, 11 Oct 2023 17:31:39 +0800 From: Jie Hai To: , Matan Azrad , Viacheslav Ovsiienko , Ori Kam , Suanming Mou CC: , , Subject: [PATCH v5 25/40] net/mlx5: check RSS hash algorithms Date: Wed, 11 Oct 2023 17:27:50 +0800 Message-ID: <20231011092805.693171-26-haijie1@huawei.com> X-Mailer: git-send-email 2.30.0 In-Reply-To: <20231011092805.693171-1-haijie1@huawei.com> References: <20230908080030.3837515-1-haijie1@huawei.com> <20231011092805.693171-1-haijie1@huawei.com> MIME-Version: 1.0 X-Originating-IP: [10.67.165.2] X-ClientProxiedBy: dggems704-chm.china.huawei.com (10.3.19.181) To kwepemi500020.china.huawei.com (7.221.188.8) X-CFilter-Loop: Reflected X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org A new field 'algorithm' has been added to rss_conf, check it in case of ignoring unsupported values. Signed-off-by: Jie Hai --- drivers/net/mlx5/mlx5_ethdev.c | 4 ++++ drivers/net/mlx5/mlx5_rss.c | 3 ++- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/drivers/net/mlx5/mlx5_ethdev.c b/drivers/net/mlx5/mlx5_ethdev.c index 4a85415ff38d..5437fa531738 100644 --- a/drivers/net/mlx5/mlx5_ethdev.c +++ b/drivers/net/mlx5/mlx5_ethdev.c @@ -74,6 +74,10 @@ mlx5_dev_configure(struct rte_eth_dev *dev) !!dev->data->dev_conf.rx_adv_conf.rss_conf.rss_key; int ret = 0; + if (dev->data->dev_conf.rx_adv_conf.rss_conf.algorithm != + RTE_ETH_HASH_FUNCTION_DEFAULT) + return -EINVAL; + if (use_app_rss_key && (dev->data->dev_conf.rx_adv_conf.rss_conf.rss_key_len != MLX5_RSS_HASH_KEY_LEN)) { diff --git a/drivers/net/mlx5/mlx5_rss.c b/drivers/net/mlx5/mlx5_rss.c index e2b478b75ce7..25c410e6010a 100644 --- a/drivers/net/mlx5/mlx5_rss.c +++ b/drivers/net/mlx5/mlx5_rss.c @@ -37,7 +37,8 @@ mlx5_rss_hash_update(struct rte_eth_dev *dev, unsigned int i; unsigned int idx; - if (rss_conf->rss_hf & MLX5_RSS_HF_MASK) { + if (rss_conf->rss_hf & MLX5_RSS_HF_MASK || + rss_conf->algorithm != RTE_ETH_HASH_FUNCTION_DEFAULT) { rte_errno = EINVAL; return -rte_errno; } From patchwork Wed Oct 11 09:27:51 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jie Hai X-Patchwork-Id: 132532 X-Patchwork-Delegate: ferruh.yigit@amd.com Return-Path: X-Original-To: patchwork@inbox.dpdk.org Delivered-To: patchwork@inbox.dpdk.org Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 2DC4F4235E; Wed, 11 Oct 2023 11:34:01 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 4EAED427DF; Wed, 11 Oct 2023 11:32:02 +0200 (CEST) Received: from szxga01-in.huawei.com (szxga01-in.huawei.com [45.249.212.187]) by mails.dpdk.org (Postfix) with ESMTP id B7A2240E78 for ; Wed, 11 Oct 2023 11:31:41 +0200 (CEST) Received: from kwepemi500020.china.huawei.com (unknown [172.30.72.55]) by szxga01-in.huawei.com (SkyGuard) with ESMTP id 4S56sZ1Y1gzrTZy; Wed, 11 Oct 2023 17:29:06 +0800 (CST) Received: from localhost.localdomain (10.67.165.2) by kwepemi500020.china.huawei.com (7.221.188.8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.31; Wed, 11 Oct 2023 17:31:40 +0800 From: Jie Hai To: , Liron Himi CC: , , Subject: [PATCH v5 26/40] net/mvpp2: check RSS hash algorithms Date: Wed, 11 Oct 2023 17:27:51 +0800 Message-ID: <20231011092805.693171-27-haijie1@huawei.com> X-Mailer: git-send-email 2.30.0 In-Reply-To: <20231011092805.693171-1-haijie1@huawei.com> References: <20230908080030.3837515-1-haijie1@huawei.com> <20231011092805.693171-1-haijie1@huawei.com> MIME-Version: 1.0 X-Originating-IP: [10.67.165.2] X-ClientProxiedBy: dggems704-chm.china.huawei.com (10.3.19.181) To kwepemi500020.china.huawei.com (7.221.188.8) X-CFilter-Loop: Reflected X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org A new field 'algorithm' has been added to rss_conf, check it in case of ignoring unsupported values. Signed-off-by: Jie Hai --- drivers/net/mvpp2/mrvl_ethdev.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/drivers/net/mvpp2/mrvl_ethdev.c b/drivers/net/mvpp2/mrvl_ethdev.c index 359a5d1df7ab..817153af2ef1 100644 --- a/drivers/net/mvpp2/mrvl_ethdev.c +++ b/drivers/net/mvpp2/mrvl_ethdev.c @@ -440,6 +440,9 @@ mrvl_configure_rss(struct mrvl_priv *priv, struct rte_eth_rss_conf *rss_conf) if (rss_conf->rss_key) MRVL_LOG(WARNING, "Changing hash key is not supported"); + if (rss_conf->algorithm != RTE_ETH_HASH_FUNCTION_DEFAULT) + return -EINVAL; + if (rss_conf->rss_hf == 0) { priv->ppio_params.inqs_params.hash_type = PP2_PPIO_HASH_T_NONE; } else if (rss_conf->rss_hf & RTE_ETH_RSS_IPV4) { From patchwork Wed Oct 11 09:27:52 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jie Hai X-Patchwork-Id: 132533 X-Patchwork-Delegate: ferruh.yigit@amd.com Return-Path: X-Original-To: patchwork@inbox.dpdk.org Delivered-To: patchwork@inbox.dpdk.org Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 18C804235E; Wed, 11 Oct 2023 11:34:06 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 5EE1F40A80; Wed, 11 Oct 2023 11:32:03 +0200 (CEST) Received: from szxga02-in.huawei.com (szxga02-in.huawei.com [45.249.212.188]) by mails.dpdk.org (Postfix) with ESMTP id 2CEC740EA5 for ; Wed, 11 Oct 2023 11:31:42 +0200 (CEST) Received: from kwepemi500020.china.huawei.com (unknown [172.30.72.57]) by szxga02-in.huawei.com (SkyGuard) with ESMTP id 4S56rW1RFDzVl0G; Wed, 11 Oct 2023 17:28:11 +0800 (CST) Received: from localhost.localdomain (10.67.165.2) by kwepemi500020.china.huawei.com (7.221.188.8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.31; Wed, 11 Oct 2023 17:31:40 +0800 From: Jie Hai To: , Long Li CC: , , Subject: [PATCH v5 27/40] net/netvsc: check RSS hash algorithms Date: Wed, 11 Oct 2023 17:27:52 +0800 Message-ID: <20231011092805.693171-28-haijie1@huawei.com> X-Mailer: git-send-email 2.30.0 In-Reply-To: <20231011092805.693171-1-haijie1@huawei.com> References: <20230908080030.3837515-1-haijie1@huawei.com> <20231011092805.693171-1-haijie1@huawei.com> MIME-Version: 1.0 X-Originating-IP: [10.67.165.2] X-ClientProxiedBy: dggems704-chm.china.huawei.com (10.3.19.181) To kwepemi500020.china.huawei.com (7.221.188.8) X-CFilter-Loop: Reflected X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org A new field 'algorithm' has been added to rss_conf, check it in case of ignoring unsupported values. Signed-off-by: Jie Hai --- drivers/net/netvsc/hn_ethdev.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/drivers/net/netvsc/hn_ethdev.c b/drivers/net/netvsc/hn_ethdev.c index d0bbc0a4c0c0..9e4205816a6f 100644 --- a/drivers/net/netvsc/hn_ethdev.c +++ b/drivers/net/netvsc/hn_ethdev.c @@ -395,6 +395,9 @@ static int hn_rss_hash_update(struct rte_eth_dev *dev, return err; } + if (rss_conf->algorithm != RTE_ETH_HASH_FUNCTION_DEFAULT) + return -EINVAL; + hn_rss_hash_init(hv, rss_conf); if (rss_conf->rss_hf != 0) { @@ -756,6 +759,9 @@ static int hn_dev_configure(struct rte_eth_dev *dev) for (i = 0; i < NDIS_HASH_INDCNT; i++) hv->rss_ind[i] = i % dev->data->nb_rx_queues; + if (rss_conf->algorithm != RTE_ETH_HASH_FUNCTION_DEFAULT) + return -EINVAL; + hn_rss_hash_init(hv, rss_conf); subchan = hv->num_queues - 1; From patchwork Wed Oct 11 09:27:53 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jie Hai X-Patchwork-Id: 132534 X-Patchwork-Delegate: ferruh.yigit@amd.com Return-Path: X-Original-To: patchwork@inbox.dpdk.org Delivered-To: patchwork@inbox.dpdk.org Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id C9A364235E; Wed, 11 Oct 2023 11:34:12 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id DEEBF427E4; Wed, 11 Oct 2023 11:32:04 +0200 (CEST) Received: from szxga02-in.huawei.com (szxga02-in.huawei.com [45.249.212.188]) by mails.dpdk.org (Postfix) with ESMTP id 87E3940E78 for ; Wed, 11 Oct 2023 11:31:42 +0200 (CEST) Received: from kwepemi500020.china.huawei.com (unknown [172.30.72.53]) by szxga02-in.huawei.com (SkyGuard) with ESMTP id 4S56r11QwgzLq9k; Wed, 11 Oct 2023 17:27:45 +0800 (CST) Received: from localhost.localdomain (10.67.165.2) by kwepemi500020.china.huawei.com (7.221.188.8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.31; Wed, 11 Oct 2023 17:31:41 +0800 From: Jie Hai To: , Jiawen Wu CC: , , Subject: [PATCH v5 28/40] net/ngbe: : check RSS hash algorithms Date: Wed, 11 Oct 2023 17:27:53 +0800 Message-ID: <20231011092805.693171-29-haijie1@huawei.com> X-Mailer: git-send-email 2.30.0 In-Reply-To: <20231011092805.693171-1-haijie1@huawei.com> References: <20230908080030.3837515-1-haijie1@huawei.com> <20231011092805.693171-1-haijie1@huawei.com> MIME-Version: 1.0 X-Originating-IP: [10.67.165.2] X-ClientProxiedBy: dggems704-chm.china.huawei.com (10.3.19.181) To kwepemi500020.china.huawei.com (7.221.188.8) X-CFilter-Loop: Reflected X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org A new field 'algorithm' has been added to rss_conf, check it in case of ignoring unsupported values. Signed-off-by: Jie Hai --- drivers/net/ngbe/ngbe_ethdev.c | 6 +++++- drivers/net/ngbe/ngbe_rxtx.c | 3 +++ 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/drivers/net/ngbe/ngbe_ethdev.c b/drivers/net/ngbe/ngbe_ethdev.c index 478da014b2f8..bb4b8afb0a80 100644 --- a/drivers/net/ngbe/ngbe_ethdev.c +++ b/drivers/net/ngbe/ngbe_ethdev.c @@ -921,8 +921,12 @@ ngbe_dev_configure(struct rte_eth_dev *dev) PMD_INIT_FUNC_TRACE(); - if (dev->data->dev_conf.rxmode.mq_mode & RTE_ETH_MQ_RX_RSS_FLAG) + if (dev->data->dev_conf.rxmode.mq_mode & RTE_ETH_MQ_RX_RSS_FLAG) { + if (dev->data->dev_conf.rx_adv_conf.rss_conf.algorithm != + RTE_ETH_HASH_FUNCTION_DEFAULT) + return -EINVAL; dev->data->dev_conf.rxmode.offloads |= RTE_ETH_RX_OFFLOAD_RSS_HASH; + } /* set flag to update link status after init */ intr->flags |= NGBE_FLAG_NEED_LINK_UPDATE; diff --git a/drivers/net/ngbe/ngbe_rxtx.c b/drivers/net/ngbe/ngbe_rxtx.c index f31906cc2fe3..0b22d567fcb6 100644 --- a/drivers/net/ngbe/ngbe_rxtx.c +++ b/drivers/net/ngbe/ngbe_rxtx.c @@ -2500,6 +2500,9 @@ ngbe_dev_rss_hash_update(struct rte_eth_dev *dev, return -ENOTSUP; } + if (rss_conf->algorithm != RTE_ETH_HASH_FUNCTION_DEFAULT) + return -EINVAL; + hash_key = rss_conf->rss_key; if (hash_key) { /* Fill in RSS hash key */ From patchwork Wed Oct 11 09:27:54 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jie Hai X-Patchwork-Id: 132535 X-Patchwork-Delegate: ferruh.yigit@amd.com Return-Path: X-Original-To: patchwork@inbox.dpdk.org Delivered-To: patchwork@inbox.dpdk.org Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id AF42A4235E; Wed, 11 Oct 2023 11:34:17 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 4101B42D0C; Wed, 11 Oct 2023 11:32:06 +0200 (CEST) Received: from szxga01-in.huawei.com (szxga01-in.huawei.com [45.249.212.187]) by mails.dpdk.org (Postfix) with ESMTP id 04BC540ED0 for ; Wed, 11 Oct 2023 11:31:43 +0200 (CEST) Received: from kwepemi500020.china.huawei.com (unknown [172.30.72.55]) by szxga01-in.huawei.com (SkyGuard) with ESMTP id 4S56qD5vnSzvPrV; Wed, 11 Oct 2023 17:27:04 +0800 (CST) Received: from localhost.localdomain (10.67.165.2) by kwepemi500020.china.huawei.com (7.221.188.8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.31; Wed, 11 Oct 2023 17:31:41 +0800 From: Jie Hai To: , Chaoyong He , =?utf-8?q?Niklas?= =?utf-8?q?_S=C3=B6derlund?= CC: , , Subject: [PATCH v5 29/40] net/nfp: check RSS hash algorithms Date: Wed, 11 Oct 2023 17:27:54 +0800 Message-ID: <20231011092805.693171-30-haijie1@huawei.com> X-Mailer: git-send-email 2.30.0 In-Reply-To: <20231011092805.693171-1-haijie1@huawei.com> References: <20230908080030.3837515-1-haijie1@huawei.com> <20231011092805.693171-1-haijie1@huawei.com> MIME-Version: 1.0 X-Originating-IP: [10.67.165.2] X-ClientProxiedBy: dggems704-chm.china.huawei.com (10.3.19.181) To kwepemi500020.china.huawei.com (7.221.188.8) X-CFilter-Loop: Reflected X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org A new field 'algorithm' has been added to rss_conf, check it in case of ignoring unsupported values. Signed-off-by: Jie Hai --- drivers/net/nfp/nfp_common.c | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/drivers/net/nfp/nfp_common.c b/drivers/net/nfp/nfp_common.c index 5683afc40a31..780316c764df 100644 --- a/drivers/net/nfp/nfp_common.c +++ b/drivers/net/nfp/nfp_common.c @@ -390,8 +390,12 @@ nfp_net_configure(struct rte_eth_dev *dev) rxmode = &dev_conf->rxmode; txmode = &dev_conf->txmode; - if (rxmode->mq_mode & RTE_ETH_MQ_RX_RSS_FLAG) + if (rxmode->mq_mode & RTE_ETH_MQ_RX_RSS_FLAG) { rxmode->offloads |= RTE_ETH_RX_OFFLOAD_RSS_HASH; + if (dev_conf->rx_adv_conf.rss_conf.algorithm != + RTE_ETH_HASH_FUNCTION_DEFAULT) + return -EINVAL; + } /* Checking TX mode */ if (txmode->mq_mode) { @@ -1805,6 +1809,9 @@ nfp_net_rss_hash_update(struct rte_eth_dev *dev, return 0; /* Nothing to do */ } + if (rss_conf->algorithm != RTE_ETH_HASH_FUNCTION_DEFAULT) + return -EINVAL; + if (rss_conf->rss_key_len > NFP_NET_CFG_RSS_KEY_SZ) { PMD_DRV_LOG(ERR, "hash key too long"); return -EINVAL; From patchwork Wed Oct 11 09:27:55 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jie Hai X-Patchwork-Id: 132536 X-Patchwork-Delegate: ferruh.yigit@amd.com Return-Path: X-Original-To: patchwork@inbox.dpdk.org Delivered-To: patchwork@inbox.dpdk.org Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 066F14235E; Wed, 11 Oct 2023 11:34:23 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 58AB042D2A; Wed, 11 Oct 2023 11:32:07 +0200 (CEST) Received: from szxga08-in.huawei.com (szxga08-in.huawei.com [45.249.212.255]) by mails.dpdk.org (Postfix) with ESMTP id 71C3F40ED0 for ; Wed, 11 Oct 2023 11:31:43 +0200 (CEST) Received: from kwepemi500020.china.huawei.com (unknown [172.30.72.57]) by szxga08-in.huawei.com (SkyGuard) with ESMTP id 4S56sc6JH6z1M98r for ; Wed, 11 Oct 2023 17:29:08 +0800 (CST) Received: from localhost.localdomain (10.67.165.2) by kwepemi500020.china.huawei.com (7.221.188.8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.31; Wed, 11 Oct 2023 17:31:42 +0800 From: Jie Hai To: , Tetsuya Mukawa CC: , , Subject: [PATCH v5 30/40] net/null: check RSS hash algorithms Date: Wed, 11 Oct 2023 17:27:55 +0800 Message-ID: <20231011092805.693171-31-haijie1@huawei.com> X-Mailer: git-send-email 2.30.0 In-Reply-To: <20231011092805.693171-1-haijie1@huawei.com> References: <20230908080030.3837515-1-haijie1@huawei.com> <20231011092805.693171-1-haijie1@huawei.com> MIME-Version: 1.0 X-Originating-IP: [10.67.165.2] X-ClientProxiedBy: dggems704-chm.china.huawei.com (10.3.19.181) To kwepemi500020.china.huawei.com (7.221.188.8) X-CFilter-Loop: Reflected X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org A new field 'algorithm' has been added to rss_conf, check it in case of ignoring unsupported values. Signed-off-by: Jie Hai --- drivers/net/null/rte_eth_null.c | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/drivers/net/null/rte_eth_null.c b/drivers/net/null/rte_eth_null.c index 31081af79752..8427d7484178 100644 --- a/drivers/net/null/rte_eth_null.c +++ b/drivers/net/null/rte_eth_null.c @@ -186,6 +186,11 @@ eth_null_copy_tx(void *q, struct rte_mbuf **bufs, uint16_t nb_bufs) static int eth_dev_configure(struct rte_eth_dev *dev __rte_unused) { + if ((dev->data->dev_conf.rxmode.mq_mode & RTE_ETH_MQ_RX_RSS_FLAG) && + dev->data->dev_conf.rx_adv_conf.rss_conf.algorithm != + RTE_ETH_HASH_FUNCTION_DEFAULT) + return -EINVAL; + return 0; } @@ -444,6 +449,9 @@ eth_rss_hash_update(struct rte_eth_dev *dev, struct rte_eth_rss_conf *rss_conf) rte_spinlock_lock(&internal->rss_lock); + if (rss_conf->algorithm != RTE_ETH_HASH_FUNCTION_DEFAULT) + return -EINVAL; + if ((rss_conf->rss_hf & internal->flow_type_rss_offloads) != 0) dev->data->dev_conf.rx_adv_conf.rss_conf.rss_hf = rss_conf->rss_hf & internal->flow_type_rss_offloads; From patchwork Wed Oct 11 09:27:56 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jie Hai X-Patchwork-Id: 132537 X-Patchwork-Delegate: ferruh.yigit@amd.com Return-Path: X-Original-To: patchwork@inbox.dpdk.org Delivered-To: patchwork@inbox.dpdk.org Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 7BB2F4235E; Wed, 11 Oct 2023 11:34:28 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 91DF842D3F; Wed, 11 Oct 2023 11:32:08 +0200 (CEST) Received: from szxga03-in.huawei.com (szxga03-in.huawei.com [45.249.212.189]) by mails.dpdk.org (Postfix) with ESMTP id 35E8040ED9 for ; Wed, 11 Oct 2023 11:31:44 +0200 (CEST) Received: from kwepemi500020.china.huawei.com (unknown [172.30.72.55]) by szxga03-in.huawei.com (SkyGuard) with ESMTP id 4S56r10DnqzkY4M; Wed, 11 Oct 2023 17:27:45 +0800 (CST) Received: from localhost.localdomain (10.67.165.2) by kwepemi500020.china.huawei.com (7.221.188.8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.31; Wed, 11 Oct 2023 17:31:42 +0800 From: Jie Hai To: , Devendra Singh Rawat , Alok Prasad CC: , , Subject: [PATCH v5 31/40] net/qede: check RSS hash algorithms Date: Wed, 11 Oct 2023 17:27:56 +0800 Message-ID: <20231011092805.693171-32-haijie1@huawei.com> X-Mailer: git-send-email 2.30.0 In-Reply-To: <20231011092805.693171-1-haijie1@huawei.com> References: <20230908080030.3837515-1-haijie1@huawei.com> <20231011092805.693171-1-haijie1@huawei.com> MIME-Version: 1.0 X-Originating-IP: [10.67.165.2] X-ClientProxiedBy: dggems704-chm.china.huawei.com (10.3.19.181) To kwepemi500020.china.huawei.com (7.221.188.8) X-CFilter-Loop: Reflected X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org A new field 'algorithm' has been added to rss_conf, check it in case of ignoring unsupported values. Signed-off-by: Jie Hai --- drivers/net/qede/qede_ethdev.c | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/drivers/net/qede/qede_ethdev.c b/drivers/net/qede/qede_ethdev.c index 22cd4706467a..7db69e8f35e0 100644 --- a/drivers/net/qede/qede_ethdev.c +++ b/drivers/net/qede/qede_ethdev.c @@ -1272,8 +1272,12 @@ static int qede_dev_configure(struct rte_eth_dev *eth_dev) PMD_INIT_FUNC_TRACE(edev); - if (rxmode->mq_mode & RTE_ETH_MQ_RX_RSS_FLAG) + if (rxmode->mq_mode & RTE_ETH_MQ_RX_RSS_FLAG) { + if (eth_dev->data->dev_conf.rx_adv_conf.rss_conf.algorithm != + RTE_ETH_HASH_FUNCTION_DEFAULT) + return -EINVAL; rxmode->offloads |= RTE_ETH_RX_OFFLOAD_RSS_HASH; + } /* We need to have min 1 RX queue.There is no min check in * rte_eth_dev_configure(), so we are checking it here. @@ -2119,6 +2123,9 @@ int qede_rss_hash_update(struct rte_eth_dev *eth_dev, DP_INFO(edev, "RSS hf = 0x%lx len = %u key = %p\n", (unsigned long)hf, len, key); + if (rss_conf->algorithm != RTE_ETH_HASH_FUNCTION_DEFAULT) + return -EINVAL; + if (hf != 0) { /* Enabling RSS */ DP_INFO(edev, "Enabling rss\n"); From patchwork Wed Oct 11 09:27:57 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jie Hai X-Patchwork-Id: 132538 X-Patchwork-Delegate: ferruh.yigit@amd.com Return-Path: X-Original-To: patchwork@inbox.dpdk.org Delivered-To: patchwork@inbox.dpdk.org Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id BA03B4235E; Wed, 11 Oct 2023 11:34:34 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id B4C7D42D66; Wed, 11 Oct 2023 11:32:09 +0200 (CEST) Received: from szxga02-in.huawei.com (szxga02-in.huawei.com [45.249.212.188]) by mails.dpdk.org (Postfix) with ESMTP id AFCC740DCD for ; Wed, 11 Oct 2023 11:31:44 +0200 (CEST) Received: from kwepemi500020.china.huawei.com (unknown [172.30.72.53]) by szxga02-in.huawei.com (SkyGuard) with ESMTP id 4S56rY4kXZzVlZ1 for ; Wed, 11 Oct 2023 17:28:13 +0800 (CST) Received: from localhost.localdomain (10.67.165.2) by kwepemi500020.china.huawei.com (7.221.188.8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.31; Wed, 11 Oct 2023 17:31:43 +0800 From: Jie Hai To: , Andrew Rybchenko CC: , , Subject: [PATCH v5 32/40] net/sfc: check RSS hash algorithms Date: Wed, 11 Oct 2023 17:27:57 +0800 Message-ID: <20231011092805.693171-33-haijie1@huawei.com> X-Mailer: git-send-email 2.30.0 In-Reply-To: <20231011092805.693171-1-haijie1@huawei.com> References: <20230908080030.3837515-1-haijie1@huawei.com> <20231011092805.693171-1-haijie1@huawei.com> MIME-Version: 1.0 X-Originating-IP: [10.67.165.2] X-ClientProxiedBy: dggems704-chm.china.huawei.com (10.3.19.181) To kwepemi500020.china.huawei.com (7.221.188.8) X-CFilter-Loop: Reflected X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org A new field 'algorithm' has been added to rss_conf, check it in case of ignoring unsupported values. Signed-off-by: Jie Hai --- drivers/net/sfc/sfc_ethdev.c | 3 +++ drivers/net/sfc/sfc_rx.c | 3 +++ 2 files changed, 6 insertions(+) diff --git a/drivers/net/sfc/sfc_ethdev.c b/drivers/net/sfc/sfc_ethdev.c index 1efe64a36a7f..19d7761e2664 100644 --- a/drivers/net/sfc/sfc_ethdev.c +++ b/drivers/net/sfc/sfc_ethdev.c @@ -1728,6 +1728,9 @@ sfc_dev_rss_hash_update(struct rte_eth_dev *dev, goto fail_scale_mode_set; } + if (rss_conf->algorithm != RTE_ETH_HASH_FUNCTION_DEFAULT) + return -EINVAL; + if (rss_conf->rss_key != NULL) { if (sa->state == SFC_ETHDEV_STARTED) { for (key_i = 0; key_i < n_contexts; key_i++) { diff --git a/drivers/net/sfc/sfc_rx.c b/drivers/net/sfc/sfc_rx.c index 1dde2c111001..71c151a07162 100644 --- a/drivers/net/sfc/sfc_rx.c +++ b/drivers/net/sfc/sfc_rx.c @@ -1519,6 +1519,9 @@ sfc_rx_process_adv_conf_rss(struct sfc_adapter *sa, return rc; } + if (conf->algorithm != RTE_ETH_HASH_FUNCTION_DEFAULT) + return -EINVAL; + if (conf->rss_key != NULL) { if (conf->rss_key_len != sizeof(rss->key)) { sfc_err(sa, "RSS key size is wrong (should be %zu)", From patchwork Wed Oct 11 09:27:58 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jie Hai X-Patchwork-Id: 132539 X-Patchwork-Delegate: ferruh.yigit@amd.com Return-Path: X-Original-To: patchwork@inbox.dpdk.org Delivered-To: patchwork@inbox.dpdk.org Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id C4AC44235E; Wed, 11 Oct 2023 11:34:41 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id E71EB42D6B; Wed, 11 Oct 2023 11:32:10 +0200 (CEST) Received: from szxga01-in.huawei.com (szxga01-in.huawei.com [45.249.212.187]) by mails.dpdk.org (Postfix) with ESMTP id EA2CF40ED6 for ; Wed, 11 Oct 2023 11:31:44 +0200 (CEST) Received: from kwepemi500020.china.huawei.com (unknown [172.30.72.56]) by szxga01-in.huawei.com (SkyGuard) with ESMTP id 4S56sd4KgTzrTb6 for ; Wed, 11 Oct 2023 17:29:09 +0800 (CST) Received: from localhost.localdomain (10.67.165.2) by kwepemi500020.china.huawei.com (7.221.188.8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.31; Wed, 11 Oct 2023 17:31:43 +0800 From: Jie Hai To: CC: , , Subject: [PATCH v5 33/40] net/tap: check RSS hash algorithms Date: Wed, 11 Oct 2023 17:27:58 +0800 Message-ID: <20231011092805.693171-34-haijie1@huawei.com> X-Mailer: git-send-email 2.30.0 In-Reply-To: <20231011092805.693171-1-haijie1@huawei.com> References: <20230908080030.3837515-1-haijie1@huawei.com> <20231011092805.693171-1-haijie1@huawei.com> MIME-Version: 1.0 X-Originating-IP: [10.67.165.2] X-ClientProxiedBy: dggems704-chm.china.huawei.com (10.3.19.181) To kwepemi500020.china.huawei.com (7.221.188.8) X-CFilter-Loop: Reflected X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org A new field 'algorithm' has been added to rss_conf, check it in case of ignoring unsupported values. Signed-off-by: Jie Hai --- drivers/net/tap/rte_eth_tap.c | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/drivers/net/tap/rte_eth_tap.c b/drivers/net/tap/rte_eth_tap.c index b25a52655fa2..5e4813637f0b 100644 --- a/drivers/net/tap/rte_eth_tap.c +++ b/drivers/net/tap/rte_eth_tap.c @@ -1038,6 +1038,10 @@ tap_dev_configure(struct rte_eth_dev *dev) TAP_LOG(INFO, "%s: %s: RX configured queues number: %u", dev->device->name, pmd->name, dev->data->nb_rx_queues); + if (dev->data->dev_conf.rx_adv_conf.rss_conf.algorithm != + RTE_ETH_HASH_FUNCTION_DEFAULT) + return -EINVAL; + return 0; } @@ -1894,6 +1898,10 @@ tap_rss_hash_update(struct rte_eth_dev *dev, rte_errno = EINVAL; return -rte_errno; } + if (rss_conf->algorithm != RTE_ETH_HASH_FUNCTION_DEFAULT) { + rte_errno = EINVAL; + return -rte_errno; + } if (rss_conf->rss_key && rss_conf->rss_key_len) { /* * Currently TAP RSS key is hard coded From patchwork Wed Oct 11 09:27:59 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jie Hai X-Patchwork-Id: 132540 X-Patchwork-Delegate: ferruh.yigit@amd.com Return-Path: X-Original-To: patchwork@inbox.dpdk.org Delivered-To: patchwork@inbox.dpdk.org Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id B76664235E; Wed, 11 Oct 2023 11:34:47 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 2CDD940DD8; Wed, 11 Oct 2023 11:32:12 +0200 (CEST) Received: from szxga01-in.huawei.com (szxga01-in.huawei.com [45.249.212.187]) by mails.dpdk.org (Postfix) with ESMTP id 72A9040EE1 for ; Wed, 11 Oct 2023 11:31:45 +0200 (CEST) Received: from kwepemi500020.china.huawei.com (unknown [172.30.72.55]) by szxga01-in.huawei.com (SkyGuard) with ESMTP id 4S56sf0r9BzrTb2; Wed, 11 Oct 2023 17:29:10 +0800 (CST) Received: from localhost.localdomain (10.67.165.2) by kwepemi500020.china.huawei.com (7.221.188.8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.31; Wed, 11 Oct 2023 17:31:43 +0800 From: Jie Hai To: , Jerin Jacob , Maciej Czekaj CC: , , Subject: [PATCH v5 34/40] net/thunderx: check RSS hash algorithms Date: Wed, 11 Oct 2023 17:27:59 +0800 Message-ID: <20231011092805.693171-35-haijie1@huawei.com> X-Mailer: git-send-email 2.30.0 In-Reply-To: <20231011092805.693171-1-haijie1@huawei.com> References: <20230908080030.3837515-1-haijie1@huawei.com> <20231011092805.693171-1-haijie1@huawei.com> MIME-Version: 1.0 X-Originating-IP: [10.67.165.2] X-ClientProxiedBy: dggems704-chm.china.huawei.com (10.3.19.181) To kwepemi500020.china.huawei.com (7.221.188.8) X-CFilter-Loop: Reflected X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org A new field 'algorithm' has been added to rss_conf, check it in case of ignoring unsupported values. Signed-off-by: Jie Hai --- drivers/net/thunderx/nicvf_ethdev.c | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/drivers/net/thunderx/nicvf_ethdev.c b/drivers/net/thunderx/nicvf_ethdev.c index ab1e714d9767..2fc54c521c88 100644 --- a/drivers/net/thunderx/nicvf_ethdev.c +++ b/drivers/net/thunderx/nicvf_ethdev.c @@ -621,6 +621,9 @@ nicvf_dev_rss_hash_update(struct rte_eth_dev *dev, struct nicvf *nic = nicvf_pmd_priv(dev); uint64_t nic_rss; + if (rss_conf->algorithm != RTE_ETH_HASH_FUNCTION_DEFAULT) + return -EINVAL; + if (rss_conf->rss_key && rss_conf->rss_key_len != RSS_HASH_KEY_BYTE_SIZE) { PMD_DRV_LOG(ERR, "Hash key size mismatch %u", @@ -1984,8 +1987,13 @@ nicvf_dev_configure(struct rte_eth_dev *dev) PMD_INIT_FUNC_TRACE(); - if (rxmode->mq_mode & RTE_ETH_MQ_RX_RSS_FLAG) + if (rxmode->mq_mode & RTE_ETH_MQ_RX_RSS_FLAG) { + if (conf->rx_adv_conf.rss_conf.algorithm != + RTE_ETH_HASH_FUNCTION_DEFAULT) + return -EINVAL; + rxmode->offloads |= RTE_ETH_RX_OFFLOAD_RSS_HASH; + } if (!rte_eal_has_hugepages()) { PMD_INIT_LOG(INFO, "Huge page is not configured"); From patchwork Wed Oct 11 09:28:00 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jie Hai X-Patchwork-Id: 132541 X-Patchwork-Delegate: ferruh.yigit@amd.com Return-Path: X-Original-To: patchwork@inbox.dpdk.org Delivered-To: patchwork@inbox.dpdk.org Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id DBAF84235E; Wed, 11 Oct 2023 11:34:53 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 6AD7642D78; Wed, 11 Oct 2023 11:32:13 +0200 (CEST) Received: from szxga01-in.huawei.com (szxga01-in.huawei.com [45.249.212.187]) by mails.dpdk.org (Postfix) with ESMTP id F09A140EE1 for ; Wed, 11 Oct 2023 11:31:45 +0200 (CEST) Received: from kwepemi500020.china.huawei.com (unknown [172.30.72.56]) by szxga01-in.huawei.com (SkyGuard) with ESMTP id 4S56sf4S6VzrTZy; Wed, 11 Oct 2023 17:29:10 +0800 (CST) Received: from localhost.localdomain (10.67.165.2) by kwepemi500020.china.huawei.com (7.221.188.8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.31; Wed, 11 Oct 2023 17:31:44 +0800 From: Jie Hai To: , Jiawen Wu , Jian Wang CC: , , Subject: [PATCH v5 35/40] net/txgbe: check RSS hash algorithms Date: Wed, 11 Oct 2023 17:28:00 +0800 Message-ID: <20231011092805.693171-36-haijie1@huawei.com> X-Mailer: git-send-email 2.30.0 In-Reply-To: <20231011092805.693171-1-haijie1@huawei.com> References: <20230908080030.3837515-1-haijie1@huawei.com> <20231011092805.693171-1-haijie1@huawei.com> MIME-Version: 1.0 X-Originating-IP: [10.67.165.2] X-ClientProxiedBy: dggems704-chm.china.huawei.com (10.3.19.181) To kwepemi500020.china.huawei.com (7.221.188.8) X-CFilter-Loop: Reflected X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org A new field 'algorithm' has been added to rss_conf, check it in case of ignoring unsupported values. Signed-off-by: Jie Hai --- drivers/net/txgbe/txgbe_ethdev.c | 7 ++++++- drivers/net/txgbe/txgbe_ethdev_vf.c | 7 ++++++- drivers/net/txgbe/txgbe_rxtx.c | 3 +++ 3 files changed, 15 insertions(+), 2 deletions(-) diff --git a/drivers/net/txgbe/txgbe_ethdev.c b/drivers/net/txgbe/txgbe_ethdev.c index 6bc231a13063..b0e6ea6d171b 100644 --- a/drivers/net/txgbe/txgbe_ethdev.c +++ b/drivers/net/txgbe/txgbe_ethdev.c @@ -1525,8 +1525,13 @@ txgbe_dev_configure(struct rte_eth_dev *dev) PMD_INIT_FUNC_TRACE(); - if (dev->data->dev_conf.rxmode.mq_mode & RTE_ETH_MQ_RX_RSS_FLAG) + if (dev->data->dev_conf.rxmode.mq_mode & RTE_ETH_MQ_RX_RSS_FLAG) { + if (dev->data->dev_conf.rx_adv_conf.rss_conf.algorithm != + RTE_ETH_HASH_FUNCTION_DEFAULT) + return -EINVAL; + dev->data->dev_conf.rxmode.offloads |= RTE_ETH_RX_OFFLOAD_RSS_HASH; + } /* multiple queue mode checking */ ret = txgbe_check_mq_mode(dev); diff --git a/drivers/net/txgbe/txgbe_ethdev_vf.c b/drivers/net/txgbe/txgbe_ethdev_vf.c index f1341fbf7e22..b0bc8441ac12 100644 --- a/drivers/net/txgbe/txgbe_ethdev_vf.c +++ b/drivers/net/txgbe/txgbe_ethdev_vf.c @@ -579,8 +579,13 @@ txgbevf_dev_configure(struct rte_eth_dev *dev) PMD_INIT_LOG(DEBUG, "Configured Virtual Function port id: %d", dev->data->port_id); - if (dev->data->dev_conf.rxmode.mq_mode & RTE_ETH_MQ_RX_RSS_FLAG) + if (dev->data->dev_conf.rxmode.mq_mode & RTE_ETH_MQ_RX_RSS_FLAG) { + if (dev->data->dev_conf.rx_adv_conf.rss_conf.algorithm != + RTE_ETH_HASH_FUNCTION_DEFAULT) + return -EINVAL; + dev->data->dev_conf.rxmode.offloads |= RTE_ETH_RX_OFFLOAD_RSS_HASH; + } /* * VF has no ability to enable/disable HW CRC diff --git a/drivers/net/txgbe/txgbe_rxtx.c b/drivers/net/txgbe/txgbe_rxtx.c index f7cd2333abee..3ffc2f4a57a3 100644 --- a/drivers/net/txgbe/txgbe_rxtx.c +++ b/drivers/net/txgbe/txgbe_rxtx.c @@ -2894,6 +2894,9 @@ txgbe_dev_rss_hash_update(struct rte_eth_dev *dev, return -ENOTSUP; } + if (rss_conf->algorithm != RTE_ETH_HASH_FUNCTION_DEFAULT) + return -EINVAL; + hash_key = rss_conf->rss_key; if (hash_key) { /* Fill in RSS hash key */ From patchwork Wed Oct 11 09:28:01 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jie Hai X-Patchwork-Id: 132542 X-Patchwork-Delegate: ferruh.yigit@amd.com Return-Path: X-Original-To: patchwork@inbox.dpdk.org Delivered-To: patchwork@inbox.dpdk.org Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 3E2A14235E; Wed, 11 Oct 2023 11:35:01 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 08B4F42D92; Wed, 11 Oct 2023 11:32:15 +0200 (CEST) Received: from szxga03-in.huawei.com (szxga03-in.huawei.com [45.249.212.189]) by mails.dpdk.org (Postfix) with ESMTP id 6BBA340E01 for ; Wed, 11 Oct 2023 11:31:46 +0200 (CEST) Received: from kwepemi500020.china.huawei.com (unknown [172.30.72.57]) by szxga03-in.huawei.com (SkyGuard) with ESMTP id 4S56r33PHKzkY3y for ; Wed, 11 Oct 2023 17:27:47 +0800 (CST) Received: from localhost.localdomain (10.67.165.2) by kwepemi500020.china.huawei.com (7.221.188.8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.31; Wed, 11 Oct 2023 17:31:44 +0800 From: Jie Hai To: , Dongdong Liu , Yisen Zhuang CC: , Subject: [PATCH v5 36/40] net/hns3: support setting and querying RSS hash function Date: Wed, 11 Oct 2023 17:28:01 +0800 Message-ID: <20231011092805.693171-37-haijie1@huawei.com> X-Mailer: git-send-email 2.30.0 In-Reply-To: <20231011092805.693171-1-haijie1@huawei.com> References: <20230908080030.3837515-1-haijie1@huawei.com> <20231011092805.693171-1-haijie1@huawei.com> MIME-Version: 1.0 X-Originating-IP: [10.67.165.2] X-ClientProxiedBy: dggems704-chm.china.huawei.com (10.3.19.181) To kwepemi500020.china.huawei.com (7.221.188.8) X-CFilter-Loop: Reflected X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org From: Huisong Li Support setting and querying RSS hash function by ethdev ops. Signed-off-by: Huisong Li Signed-off-by: Dongdong Liu Acked-by: Chengwen Feng --- drivers/net/hns3/hns3_rss.c | 47 +++++++++++++++++++++---------------- 1 file changed, 27 insertions(+), 20 deletions(-) diff --git a/drivers/net/hns3/hns3_rss.c b/drivers/net/hns3/hns3_rss.c index 6126512bd780..010a759f23d9 100644 --- a/drivers/net/hns3/hns3_rss.c +++ b/drivers/net/hns3/hns3_rss.c @@ -646,14 +646,14 @@ hns3_dev_rss_hash_update(struct rte_eth_dev *dev, if (ret) goto set_tuple_fail; - if (key) { - ret = hns3_rss_set_algo_key(hw, hw->rss_info.hash_algo, - key, hw->rss_key_size); - if (ret) - goto set_algo_key_fail; - /* Update the shadow RSS key with user specified */ + ret = hns3_update_rss_algo_key(hw, rss_conf->algorithm, key, key_len); + if (ret != 0) + goto set_algo_key_fail; + + if (rss_conf->algorithm != RTE_ETH_HASH_FUNCTION_DEFAULT) + hw->rss_info.hash_algo = hns3_hash_func_map[rss_conf->algorithm]; + if (key != NULL) memcpy(hw->rss_info.key, key, hw->rss_key_size); - } hw->rss_info.rss_hf = rss_hf; rte_spinlock_unlock(&hw->lock); @@ -769,7 +769,13 @@ int hns3_dev_rss_hash_conf_get(struct rte_eth_dev *dev, struct rte_eth_rss_conf *rss_conf) { + const uint8_t hash_func_map[] = { + [HNS3_RSS_HASH_ALGO_TOEPLITZ] = RTE_ETH_HASH_FUNCTION_TOEPLITZ, + [HNS3_RSS_HASH_ALGO_SIMPLE] = RTE_ETH_HASH_FUNCTION_SIMPLE_XOR, + [HNS3_RSS_HASH_ALGO_SYMMETRIC_TOEP] = RTE_ETH_HASH_FUNCTION_SYMMETRIC_TOEPLITZ, + }; struct hns3_adapter *hns = dev->data->dev_private; + uint8_t rss_key[HNS3_RSS_KEY_SIZE_MAX] = {0}; struct hns3_hw *hw = &hns->hw; uint8_t hash_algo; int ret; @@ -777,26 +783,27 @@ hns3_dev_rss_hash_conf_get(struct rte_eth_dev *dev, rte_spinlock_lock(&hw->lock); ret = hns3_rss_hash_get_rss_hf(hw, &rss_conf->rss_hf); if (ret != 0) { + rte_spinlock_unlock(&hw->lock); hns3_err(hw, "obtain hash tuples failed, ret = %d", ret); - goto out; + return ret; + } + + ret = hns3_rss_get_algo_key(hw, &hash_algo, rss_key, hw->rss_key_size); + if (ret != 0) { + rte_spinlock_unlock(&hw->lock); + hns3_err(hw, "obtain hash algo and key failed, ret = %d", ret); + return ret; } + rte_spinlock_unlock(&hw->lock); - /* Get the RSS Key required by the user */ + /* Get the RSS Key if user required. */ if (rss_conf->rss_key && rss_conf->rss_key_len >= hw->rss_key_size) { - ret = hns3_rss_get_algo_key(hw, &hash_algo, rss_conf->rss_key, - hw->rss_key_size); - if (ret != 0) { - hns3_err(hw, "obtain hash algo and key failed, ret = %d", - ret); - goto out; - } + memcpy(rss_conf->rss_key, rss_key, hw->rss_key_size); rss_conf->rss_key_len = hw->rss_key_size; } + rss_conf->algorithm = hash_func_map[hash_algo]; -out: - rte_spinlock_unlock(&hw->lock); - - return ret; + return 0; } /* From patchwork Wed Oct 11 09:28:02 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jie Hai X-Patchwork-Id: 132543 X-Patchwork-Delegate: ferruh.yigit@amd.com Return-Path: X-Original-To: patchwork@inbox.dpdk.org Delivered-To: patchwork@inbox.dpdk.org Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 48A584235E; Wed, 11 Oct 2023 11:35:07 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 2392540DFB; Wed, 11 Oct 2023 11:32:16 +0200 (CEST) Received: from szxga01-in.huawei.com (szxga01-in.huawei.com [45.249.212.187]) by mails.dpdk.org (Postfix) with ESMTP id E762041060 for ; Wed, 11 Oct 2023 11:31:46 +0200 (CEST) Received: from kwepemi500020.china.huawei.com (unknown [172.30.72.54]) by szxga01-in.huawei.com (SkyGuard) with ESMTP id 4S56sg48jWzrTb1; Wed, 11 Oct 2023 17:29:11 +0800 (CST) Received: from localhost.localdomain (10.67.165.2) by kwepemi500020.china.huawei.com (7.221.188.8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.31; Wed, 11 Oct 2023 17:31:45 +0800 From: Jie Hai To: , Reshma Pattan , Vipin Varghese , John McNamara CC: , , Subject: [PATCH v5 37/40] app/proc-info: fix never show RSS info Date: Wed, 11 Oct 2023 17:28:02 +0800 Message-ID: <20231011092805.693171-38-haijie1@huawei.com> X-Mailer: git-send-email 2.30.0 In-Reply-To: <20231011092805.693171-1-haijie1@huawei.com> References: <20230908080030.3837515-1-haijie1@huawei.com> <20231011092805.693171-1-haijie1@huawei.com> MIME-Version: 1.0 X-Originating-IP: [10.67.165.2] X-ClientProxiedBy: dggems704-chm.china.huawei.com (10.3.19.181) To kwepemi500020.china.huawei.com (7.221.188.8) X-CFilter-Loop: Reflected X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Command show-port should show RSS info (rss_key, len and rss_hf), However, the information is shown only when rss_conf.rss_key is not NULL. Since no memory is allocated for rss_conf.rss_key, rss_key will always be NULL and the rss_info will never show. This patch fixes it. Fixes: 8a37f37fc243 ("app/procinfo: add --show-port") Cc: stable@dpdk.org Signed-off-by: Jie Hai Signed-off-by: Dongdong Liu Acked-by: Reshma Pattan Acked-by: Chengwen Feng --- app/proc-info/main.c | 21 ++++++++++++--------- 1 file changed, 12 insertions(+), 9 deletions(-) diff --git a/app/proc-info/main.c b/app/proc-info/main.c index af4c1d8bcbd4..4509b3c16e36 100644 --- a/app/proc-info/main.c +++ b/app/proc-info/main.c @@ -152,6 +152,8 @@ struct desc_param { static struct desc_param rx_desc_param; static struct desc_param tx_desc_param; +#define RSS_HASH_KEY_SIZE 64 + /* display usage */ static void proc_info_usage(const char *prgname) @@ -1013,6 +1015,7 @@ show_port(void) struct rte_eth_fc_conf fc_conf; struct rte_ether_addr mac; struct rte_eth_dev_owner owner; + uint8_t rss_key[RSS_HASH_KEY_SIZE]; /* Skip if port is not in mask */ if ((enabled_port_mask & (1ul << i)) == 0) @@ -1171,17 +1174,17 @@ show_port(void) printf("\n"); } + rss_conf.rss_key = rss_key; + rss_conf.rss_key_len = dev_info.hash_key_size; ret = rte_eth_dev_rss_hash_conf_get(i, &rss_conf); if (ret == 0) { - if (rss_conf.rss_key) { - printf(" - RSS\n"); - printf("\t -- RSS len %u key (hex):", - rss_conf.rss_key_len); - for (k = 0; k < rss_conf.rss_key_len; k++) - printf(" %x", rss_conf.rss_key[k]); - printf("\t -- hf 0x%"PRIx64"\n", - rss_conf.rss_hf); - } + printf(" - RSS\n"); + printf("\t -- RSS len %u key (hex):", + rss_conf.rss_key_len); + for (k = 0; k < rss_conf.rss_key_len; k++) + printf(" %x", rss_conf.rss_key[k]); + printf("\t -- hf 0x%"PRIx64"\n", + rss_conf.rss_hf); } #ifdef RTE_LIB_SECURITY From patchwork Wed Oct 11 09:28:03 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jie Hai X-Patchwork-Id: 132544 X-Patchwork-Delegate: ferruh.yigit@amd.com Return-Path: X-Original-To: patchwork@inbox.dpdk.org Delivered-To: patchwork@inbox.dpdk.org Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 38FD64235E; Wed, 11 Oct 2023 11:35:13 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 53B4242D97; Wed, 11 Oct 2023 11:32:17 +0200 (CEST) Received: from szxga02-in.huawei.com (szxga02-in.huawei.com [45.249.212.188]) by mails.dpdk.org (Postfix) with ESMTP id 6BFF940E01 for ; Wed, 11 Oct 2023 11:31:47 +0200 (CEST) Received: from kwepemi500020.china.huawei.com (unknown [172.30.72.53]) by szxga02-in.huawei.com (SkyGuard) with ESMTP id 4S56rc49lyzVl0G; Wed, 11 Oct 2023 17:28:16 +0800 (CST) Received: from localhost.localdomain (10.67.165.2) by kwepemi500020.china.huawei.com (7.221.188.8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.31; Wed, 11 Oct 2023 17:31:45 +0800 From: Jie Hai To: , Reshma Pattan , Vipin Varghese , John McNamara CC: , , Subject: [PATCH v5 38/40] app/proc-info: adjust the display format of RSS info Date: Wed, 11 Oct 2023 17:28:03 +0800 Message-ID: <20231011092805.693171-39-haijie1@huawei.com> X-Mailer: git-send-email 2.30.0 In-Reply-To: <20231011092805.693171-1-haijie1@huawei.com> References: <20230908080030.3837515-1-haijie1@huawei.com> <20231011092805.693171-1-haijie1@huawei.com> MIME-Version: 1.0 X-Originating-IP: [10.67.165.2] X-ClientProxiedBy: dggems704-chm.china.huawei.com (10.3.19.181) To kwepemi500020.china.huawei.com (7.221.188.8) X-CFilter-Loop: Reflected X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org This patch splits the length and value of RSS key into two parts, removes spaces between RSS keys, and adds line breaks between RSS key and RSS hf. Before the adjustment, RSS info is shown as: - RSS -- RSS len 40 key (hex): 6d 5a 56 da 25 5b e c2 41 67 \ 25 3d 43 a3 8f b0 d0 ca 2b cb ae 7b 30 b4 77 cb 2d \ a3 80 30 f2 c 6a 42 b7 3b be ac 1 fa -- hf 0x0 and after: - RSS info -- key len : 40 -- key (hex) : 6d5a56da255b0ec24167253d43a38fb0d0c \ a2bcbae7b30b477cb2da38030f20c6a42b73bbeac01fa -- hash function : 0x0 Fixes: 8a37f37fc243 ("app/procinfo: add --show-port") Cc: stable@dpdk.org Signed-off-by: Jie Hai Signed-off-by: Dongdong Liu Acked-by: Reshma Pattan --- app/proc-info/main.c | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/app/proc-info/main.c b/app/proc-info/main.c index 4509b3c16e36..e98352118db1 100644 --- a/app/proc-info/main.c +++ b/app/proc-info/main.c @@ -1178,12 +1178,13 @@ show_port(void) rss_conf.rss_key_len = dev_info.hash_key_size; ret = rte_eth_dev_rss_hash_conf_get(i, &rss_conf); if (ret == 0) { - printf(" - RSS\n"); - printf("\t -- RSS len %u key (hex):", + printf(" - RSS info\n"); + printf("\t -- key len : %u\n", rss_conf.rss_key_len); + printf("\t -- key (hex) : "); for (k = 0; k < rss_conf.rss_key_len; k++) - printf(" %x", rss_conf.rss_key[k]); - printf("\t -- hf 0x%"PRIx64"\n", + printf("%02x", rss_conf.rss_key[k]); + printf("\n\t -- hash function : 0x%"PRIx64"\n", rss_conf.rss_hf); } From patchwork Wed Oct 11 09:28:04 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jie Hai X-Patchwork-Id: 132545 X-Patchwork-Delegate: ferruh.yigit@amd.com Return-Path: X-Original-To: patchwork@inbox.dpdk.org Delivered-To: patchwork@inbox.dpdk.org Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id A160E4235E; Wed, 11 Oct 2023 11:35:18 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 84CAF42D83; Wed, 11 Oct 2023 11:32:18 +0200 (CEST) Received: from szxga03-in.huawei.com (szxga03-in.huawei.com [45.249.212.189]) by mails.dpdk.org (Postfix) with ESMTP id D2608410DD for ; Wed, 11 Oct 2023 11:31:47 +0200 (CEST) Received: from kwepemi500020.china.huawei.com (unknown [172.30.72.55]) by szxga03-in.huawei.com (SkyGuard) with ESMTP id 4S56r46W56zkY4r for ; Wed, 11 Oct 2023 17:27:48 +0800 (CST) Received: from localhost.localdomain (10.67.165.2) by kwepemi500020.china.huawei.com (7.221.188.8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.31; Wed, 11 Oct 2023 17:31:46 +0800 From: Jie Hai To: , Reshma Pattan CC: , , Subject: [PATCH v5 39/40] app/proc-info: support querying RSS hash algorithm Date: Wed, 11 Oct 2023 17:28:04 +0800 Message-ID: <20231011092805.693171-40-haijie1@huawei.com> X-Mailer: git-send-email 2.30.0 In-Reply-To: <20231011092805.693171-1-haijie1@huawei.com> References: <20230908080030.3837515-1-haijie1@huawei.com> <20231011092805.693171-1-haijie1@huawei.com> MIME-Version: 1.0 X-Originating-IP: [10.67.165.2] X-ClientProxiedBy: dggems704-chm.china.huawei.com (10.3.19.181) To kwepemi500020.china.huawei.com (7.221.188.8) X-CFilter-Loop: Reflected X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Display RSS hash algorithm with command show-port as below. - RSS info -- hash algorithm : toeplitz Signed-off-by: Jie Hai Signed-off-by: Dongdong Liu Acked-by: Reshma Pattan --- app/proc-info/main.c | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/app/proc-info/main.c b/app/proc-info/main.c index e98352118db1..43f264848a6f 100644 --- a/app/proc-info/main.c +++ b/app/proc-info/main.c @@ -153,6 +153,14 @@ static struct desc_param rx_desc_param; static struct desc_param tx_desc_param; #define RSS_HASH_KEY_SIZE 64 +static const char * const rss_hash_algos[] = { + [RTE_ETH_HASH_FUNCTION_SIMPLE_XOR] = "simple_xor", + [RTE_ETH_HASH_FUNCTION_TOEPLITZ] = "toeplitz", + [RTE_ETH_HASH_FUNCTION_SYMMETRIC_TOEPLITZ] = "symmetric_toeplitz", + [RTE_ETH_HASH_FUNCTION_SYMMETRIC_TOEPLITZ_SORT] = "symmetric_toeplitz_sort", + [RTE_ETH_HASH_FUNCTION_DEFAULT] = "default", + [RTE_ETH_HASH_FUNCTION_MAX] = "unknown" +}; /* display usage */ static void @@ -1186,6 +1194,8 @@ show_port(void) printf("%02x", rss_conf.rss_key[k]); printf("\n\t -- hash function : 0x%"PRIx64"\n", rss_conf.rss_hf); + printf("\t -- hash algorithm : %s\n", + rss_hash_algos[rss_conf.algorithm]); } #ifdef RTE_LIB_SECURITY From patchwork Wed Oct 11 09:28:05 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jie Hai X-Patchwork-Id: 132546 X-Patchwork-Delegate: ferruh.yigit@amd.com Return-Path: X-Original-To: patchwork@inbox.dpdk.org Delivered-To: patchwork@inbox.dpdk.org Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id E59A84235E; Wed, 11 Oct 2023 11:35:23 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id B4C6342DB1; Wed, 11 Oct 2023 11:32:19 +0200 (CEST) Received: from szxga02-in.huawei.com (szxga02-in.huawei.com [45.249.212.188]) by mails.dpdk.org (Postfix) with ESMTP id 8C09340EE5 for ; Wed, 11 Oct 2023 11:31:48 +0200 (CEST) Received: from kwepemi500020.china.huawei.com (unknown [172.30.72.57]) by szxga02-in.huawei.com (SkyGuard) with ESMTP id 4S56r70cXFzLqLh for ; Wed, 11 Oct 2023 17:27:51 +0800 (CST) Received: from localhost.localdomain (10.67.165.2) by kwepemi500020.china.huawei.com (7.221.188.8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.31; Wed, 11 Oct 2023 17:31:46 +0800 From: Jie Hai To: , Aman Singh , Yuying Zhang CC: , , Subject: [PATCH v5 40/40] app/testpmd: add RSS hash algorithms display Date: Wed, 11 Oct 2023 17:28:05 +0800 Message-ID: <20231011092805.693171-41-haijie1@huawei.com> X-Mailer: git-send-email 2.30.0 In-Reply-To: <20231011092805.693171-1-haijie1@huawei.com> References: <20230908080030.3837515-1-haijie1@huawei.com> <20231011092805.693171-1-haijie1@huawei.com> MIME-Version: 1.0 X-Originating-IP: [10.67.165.2] X-ClientProxiedBy: dggems704-chm.china.huawei.com (10.3.19.181) To kwepemi500020.china.huawei.com (7.221.188.8) X-CFilter-Loop: Reflected X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Add the command "show port X rss-hash algorithm" to display the RSS hash algorithms of port X. An example is shown: testpmd> show port 0 rss-hash algorithm RSS algorithms: toeplitz Signed-off-by: Jie Hai --- app/test-pmd/cmdline.c | 29 ++++++++++++++++++++++++----- app/test-pmd/config.c | 38 +++++++++++++++++++------------------- app/test-pmd/testpmd.h | 2 +- 3 files changed, 44 insertions(+), 25 deletions(-) diff --git a/app/test-pmd/cmdline.c b/app/test-pmd/cmdline.c index 679ca47b9401..d0eafd7f1254 100644 --- a/app/test-pmd/cmdline.c +++ b/app/test-pmd/cmdline.c @@ -174,8 +174,8 @@ static void cmd_help_long_parsed(void *parsed_result, " by masks on port X. size is used to indicate the" " hardware supported reta size\n\n" - "show port (port_id) rss-hash [key]\n" - " Display the RSS hash functions and RSS hash key of port\n\n" + "show port (port_id) rss-hash [key | algorithm]\n" + " Display the RSS hash functions, RSS hash key and RSS hash algorithms of port\n\n" "clear port (info|stats|xstats|fdir) (port_id|all)\n" " Clear information for port_id, or all.\n\n" @@ -3026,15 +3026,17 @@ struct cmd_showport_rss_hash { cmdline_fixed_string_t rss_hash; cmdline_fixed_string_t rss_type; cmdline_fixed_string_t key; /* optional argument */ + cmdline_fixed_string_t algorithm; /* optional argument */ }; static void cmd_showport_rss_hash_parsed(void *parsed_result, __rte_unused struct cmdline *cl, - void *show_rss_key) + __rte_unused void *data) { struct cmd_showport_rss_hash *res = parsed_result; - port_rss_hash_conf_show(res->port_id, show_rss_key != NULL); + port_rss_hash_conf_show(res->port_id, + !strcmp(res->key, "key"), !strcmp(res->algorithm, "algorithm")); } static cmdline_parse_token_string_t cmd_showport_rss_hash_show = @@ -3049,6 +3051,8 @@ static cmdline_parse_token_string_t cmd_showport_rss_hash_rss_hash = "rss-hash"); static cmdline_parse_token_string_t cmd_showport_rss_hash_rss_key = TOKEN_STRING_INITIALIZER(struct cmd_showport_rss_hash, key, "key"); +static cmdline_parse_token_string_t cmd_showport_rss_hash_rss_algo = + TOKEN_STRING_INITIALIZER(struct cmd_showport_rss_hash, algorithm, "algorithm"); static cmdline_parse_inst_t cmd_showport_rss_hash = { .f = cmd_showport_rss_hash_parsed, @@ -3065,7 +3069,7 @@ static cmdline_parse_inst_t cmd_showport_rss_hash = { static cmdline_parse_inst_t cmd_showport_rss_hash_key = { .f = cmd_showport_rss_hash_parsed, - .data = (void *)1, + .data = NULL, .help_str = "show port rss-hash key", .tokens = { (void *)&cmd_showport_rss_hash_show, @@ -3077,6 +3081,20 @@ static cmdline_parse_inst_t cmd_showport_rss_hash_key = { }, }; +static cmdline_parse_inst_t cmd_showport_rss_hash_algo = { + .f = cmd_showport_rss_hash_parsed, + .data = NULL, + .help_str = "show port rss-hash algorithm", + .tokens = { + (void *)&cmd_showport_rss_hash_show, + (void *)&cmd_showport_rss_hash_port, + (void *)&cmd_showport_rss_hash_port_id, + (void *)&cmd_showport_rss_hash_rss_hash, + (void *)&cmd_showport_rss_hash_rss_algo, + NULL, + }, +}; + /* *** Configure DCB *** */ struct cmd_config_dcb { cmdline_fixed_string_t port; @@ -12953,6 +12971,7 @@ static cmdline_parse_ctx_t builtin_ctx[] = { (cmdline_parse_inst_t *)&cmd_tunnel_udp_config, (cmdline_parse_inst_t *)&cmd_showport_rss_hash, (cmdline_parse_inst_t *)&cmd_showport_rss_hash_key, + (cmdline_parse_inst_t *)&cmd_showport_rss_hash_algo, (cmdline_parse_inst_t *)&cmd_config_rss_hash_key, (cmdline_parse_inst_t *)&cmd_cleanup_txq_mbufs, (cmdline_parse_inst_t *)&cmd_dump, diff --git a/app/test-pmd/config.c b/app/test-pmd/config.c index 7034fa125bc0..deb9414191b7 100644 --- a/app/test-pmd/config.c +++ b/app/test-pmd/config.c @@ -1485,6 +1485,15 @@ rss_types_display(uint64_t rss_types, uint16_t char_num_per_line) printf("\n"); } +static const char * const rss_hash_algos[] = { + [RTE_ETH_HASH_FUNCTION_SIMPLE_XOR] = "simple_xor", + [RTE_ETH_HASH_FUNCTION_TOEPLITZ] = "toeplitz", + [RTE_ETH_HASH_FUNCTION_SYMMETRIC_TOEPLITZ] = "symmetric_toeplitz", + [RTE_ETH_HASH_FUNCTION_SYMMETRIC_TOEPLITZ_SORT] = "symmetric_toeplitz_sort", + [RTE_ETH_HASH_FUNCTION_DEFAULT] = "default", + [RTE_ETH_HASH_FUNCTION_MAX] = "Unknown function" +}; + static void rss_config_display(struct rte_flow_action_rss *rss_conf) { @@ -1503,24 +1512,7 @@ rss_config_display(struct rte_flow_action_rss *rss_conf) printf(" %d", rss_conf->queue[i]); printf("\n"); - printf(" function: "); - switch (rss_conf->func) { - case RTE_ETH_HASH_FUNCTION_DEFAULT: - printf("default\n"); - break; - case RTE_ETH_HASH_FUNCTION_TOEPLITZ: - printf("toeplitz\n"); - break; - case RTE_ETH_HASH_FUNCTION_SIMPLE_XOR: - printf("simple_xor\n"); - break; - case RTE_ETH_HASH_FUNCTION_SYMMETRIC_TOEPLITZ: - printf("symmetric_toeplitz\n"); - break; - default: - printf("Unknown function\n"); - return; - } + printf(" function: %s\n", rss_hash_algos[rss_conf->func]); printf(" RSS key:\n"); if (rss_conf->key_len == 0) { @@ -4433,7 +4425,7 @@ port_rss_reta_info(portid_t port_id, * key of the port. */ void -port_rss_hash_conf_show(portid_t port_id, int show_rss_key) +port_rss_hash_conf_show(portid_t port_id, int show_rss_key, int show_rss_algo) { struct rte_eth_rss_conf rss_conf = {0}; uint8_t rss_key[RSS_HASH_KEY_LENGTH]; @@ -4483,8 +4475,16 @@ port_rss_hash_conf_show(portid_t port_id, int show_rss_key) printf("RSS disabled\n"); return; } + + if (show_rss_algo) { + printf("RSS algorithms:\n %s\n", + rss_hash_algos[rss_conf.algorithm]); + return; + } + printf("RSS functions:\n"); rss_types_display(rss_hf, TESTPMD_RSS_TYPES_CHAR_NUM_PER_LINE); + if (!show_rss_key) return; printf("RSS key:\n"); diff --git a/app/test-pmd/testpmd.h b/app/test-pmd/testpmd.h index 6457ac4c0a49..19e1c1984399 100644 --- a/app/test-pmd/testpmd.h +++ b/app/test-pmd/testpmd.h @@ -1151,7 +1151,7 @@ int set_vf_rate_limit(portid_t port_id, uint16_t vf, uint32_t rate, int set_rxq_avail_thresh(portid_t port_id, uint16_t queue_id, uint8_t avail_thresh); -void port_rss_hash_conf_show(portid_t port_id, int show_rss_key); +void port_rss_hash_conf_show(portid_t port_id, int show_rss_key, int show_rss_algo); void port_rss_hash_key_update(portid_t port_id, char rss_type[], uint8_t *hash_key, uint8_t hash_key_len); int rx_queue_id_is_invalid(queueid_t rxq_id);