From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id EF4D946BAE for ; Fri, 18 Jul 2025 21:36:52 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id EA25C40611; Fri, 18 Jul 2025 21:36:52 +0200 (CEST) Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.129.124]) by mails.dpdk.org (Postfix) with ESMTP id 77FF340611 for ; Fri, 18 Jul 2025 21:36:51 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1752867411; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=W8vkvduQi3qC6nrx5/sTFF+BCnN32ahrdLqysep105E=; b=ixZdiXvqHk9wjEgQgzqRk4esfw0sf+yu1ce0g+pgUVed2uSY0MI1xOVsKPC5DO6py1qRyA 1SsuYPsY5bonfyimJFQd1xDlXFh1h14vO3YNX0JLo8eStLX7wUy1FTD8MwLrQqF1PnxoiM faU9Ac9MRA4ejTRWwHTcBQ/RALMfHDg= Received: from mx-prod-mc-04.mail-002.prod.us-west-2.aws.redhat.com (ec2-54-186-198-63.us-west-2.compute.amazonaws.com [54.186.198.63]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-517-iXLnX0rXPy6ZsqLqymntgA-1; Fri, 18 Jul 2025 15:36:47 -0400 X-MC-Unique: iXLnX0rXPy6ZsqLqymntgA-1 X-Mimecast-MFC-AGG-ID: iXLnX0rXPy6ZsqLqymntgA_1752867407 Received: from mx-prod-int-06.mail-002.prod.us-west-2.aws.redhat.com (mx-prod-int-06.mail-002.prod.us-west-2.aws.redhat.com [10.30.177.93]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by mx-prod-mc-04.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTPS id 0287119560AE; Fri, 18 Jul 2025 19:36:47 +0000 (UTC) Received: from rh.redhat.com (unknown [10.44.32.40]) by mx-prod-int-06.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTP id 8147618003FC; Fri, 18 Jul 2025 19:36:45 +0000 (UTC) From: Kevin Traynor To: Mingjin Ye Cc: Bruce Richardson , dpdk stable Subject: patch 'net/ice: fix handling empty DCF RSS hash' has been queued to stable release 24.11.3 Date: Fri, 18 Jul 2025 20:30:45 +0100 Message-ID: <20250718193247.1008129-111-ktraynor@redhat.com> In-Reply-To: <20250718193247.1008129-1-ktraynor@redhat.com> References: <20250718193247.1008129-1-ktraynor@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 3.4.1 on 10.30.177.93 X-Mimecast-Spam-Score: 0 X-Mimecast-MFC-PROC-ID: r2vl2gDbMEdi_OqVWZ6WJEZ-0nxEoJu-AQyQzHeDICQ_1752867407 X-Mimecast-Originator: redhat.com Content-Transfer-Encoding: 8bit content-type: text/plain; charset="US-ASCII"; x-default=true X-BeenThere: stable@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: patches for DPDK stable branches List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: stable-bounces@dpdk.org 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 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 Acked-by: Bruce Richardson --- 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@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