patch 'net/ice: fix handling empty DCF RSS hash' has been queued to stable release 24.11.3
Kevin Traynor
ktraynor at redhat.com
Fri Jul 18 21:30:45 CEST 2025
Hi,
FYI, your patch has been queued to stable release 24.11.3
Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 07/23/25. So please
shout if anyone has objections.
Also note that after the patch there's a diff of the upstream commit vs the
patch applied to the branch. This will indicate if there was any rebasing
needed to apply to the stable branch. If there were code changes for rebasing
(ie: not only metadata diffs), please double check that the rebase was
correctly done.
Queued patches are on a temporary branch at:
https://github.com/kevintraynor/dpdk-stable
This queued commit can be viewed at:
https://github.com/kevintraynor/dpdk-stable/commit/07aa27430330d72e1427c3781b8dfe731ac028c1
Thanks.
Kevin
---
>From 07aa27430330d72e1427c3781b8dfe731ac028c1 Mon Sep 17 00:00:00 2001
From: Mingjin Ye <mingjinx.ye at intel.com>
Date: Wed, 18 Jun 2025 07:08:44 +0000
Subject: [PATCH] net/ice: fix handling empty DCF RSS hash
[ upstream commit a84f23cfb52c0505f87b07e919e1c01ff3e38eb2 ]
The driver does nothing if the rss key is NULL or zero-length during the
rss hash update. Extract the update rss key code from
ice_dcf_dev_rss_hash_update to ice_dcf_set_rss_key and make it
consistent with the pf behaviour, and with other drivers, e.g. i40e.
Fixes: c223cadc9e5f ("net/ice: support RSS hash configuration in DCF mode")
Signed-off-by: Mingjin Ye <mingjinx.ye at intel.com>
Acked-by: Bruce Richardson <bruce.richardson at intel.com>
---
drivers/net/ice/ice_dcf_ethdev.c | 35 +++++++++++++++++++-------------
1 file changed, 21 insertions(+), 14 deletions(-)
diff --git a/drivers/net/ice/ice_dcf_ethdev.c b/drivers/net/ice/ice_dcf_ethdev.c
index 930cf147f6..ef0c607dd1 100644
--- a/drivers/net/ice/ice_dcf_ethdev.c
+++ b/drivers/net/ice/ice_dcf_ethdev.c
@@ -1394,29 +1394,36 @@ ice_dcf_dev_rss_reta_query(struct rte_eth_dev *dev,
static int
-ice_dcf_dev_rss_hash_update(struct rte_eth_dev *dev,
- struct rte_eth_rss_conf *rss_conf)
+ice_dcf_set_rss_key(struct ice_dcf_hw *hw, uint8_t *key, uint8_t key_len)
{
- struct ice_dcf_adapter *adapter = dev->data->dev_private;
- struct ice_dcf_hw *hw = &adapter->real_hw;
- int ret;
-
- if (!(hw->vf_res->vf_cap_flags & VIRTCHNL_VF_OFFLOAD_RSS_PF))
- return -ENOTSUP;
-
/* HENA setting, it is enabled by default, no change */
- if (!rss_conf->rss_key || rss_conf->rss_key_len == 0) {
+ if (!key || key_len == 0) {
PMD_DRV_LOG(DEBUG, "No key to be configured");
return 0;
- } else if (rss_conf->rss_key_len != hw->vf_res->rss_key_size) {
+ } else if (key_len != hw->vf_res->rss_key_size) {
PMD_DRV_LOG(ERR, "The size of hash key configured "
"(%d) doesn't match the size of hardware can "
- "support (%d)", rss_conf->rss_key_len,
+ "support (%d)", key_len,
hw->vf_res->rss_key_size);
return -EINVAL;
}
- rte_memcpy(hw->rss_key, rss_conf->rss_key, rss_conf->rss_key_len);
+ rte_memcpy(hw->rss_key, key, key_len);
- ret = ice_dcf_configure_rss_key(hw);
+ return ice_dcf_configure_rss_key(hw);
+}
+
+static int
+ice_dcf_dev_rss_hash_update(struct rte_eth_dev *dev,
+ struct rte_eth_rss_conf *rss_conf)
+{
+ struct ice_dcf_adapter *adapter = dev->data->dev_private;
+ struct ice_dcf_hw *hw = &adapter->real_hw;
+ int ret;
+
+ if (!(hw->vf_res->vf_cap_flags & VIRTCHNL_VF_OFFLOAD_RSS_PF))
+ return -ENOTSUP;
+
+ /* set hash key */
+ ret = ice_dcf_set_rss_key(hw, rss_conf->rss_key, rss_conf->rss_key_len);
if (ret)
return ret;
--
2.50.0
---
Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- - 2025-07-18 20:29:14.871081540 +0100
+++ 0111-net-ice-fix-handling-empty-DCF-RSS-hash.patch 2025-07-18 20:29:11.048907693 +0100
@@ -1 +1 @@
-From a84f23cfb52c0505f87b07e919e1c01ff3e38eb2 Mon Sep 17 00:00:00 2001
+From 07aa27430330d72e1427c3781b8dfe731ac028c1 Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit a84f23cfb52c0505f87b07e919e1c01ff3e38eb2 ]
+
@@ -12 +13,0 @@
-Cc: stable at dpdk.org
@@ -17 +18 @@
- drivers/net/intel/ice/ice_dcf_ethdev.c | 35 +++++++++++++++-----------
+ drivers/net/ice/ice_dcf_ethdev.c | 35 +++++++++++++++++++-------------
@@ -20,4 +21,4 @@
-diff --git a/drivers/net/intel/ice/ice_dcf_ethdev.c b/drivers/net/intel/ice/ice_dcf_ethdev.c
-index 778722a869..499062be40 100644
---- a/drivers/net/intel/ice/ice_dcf_ethdev.c
-+++ b/drivers/net/intel/ice/ice_dcf_ethdev.c
+diff --git a/drivers/net/ice/ice_dcf_ethdev.c b/drivers/net/ice/ice_dcf_ethdev.c
+index 930cf147f6..ef0c607dd1 100644
+--- a/drivers/net/ice/ice_dcf_ethdev.c
++++ b/drivers/net/ice/ice_dcf_ethdev.c
More information about the stable
mailing list