patch 'net/iavf: fix VF reset when using DCF' has been queued to stable release 23.11.2

Xueming Li xuemingl at nvidia.com
Fri Jul 12 12:44:46 CEST 2024


Hi,

FYI, your patch has been queued to stable release 23.11.2

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/14/24. 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://git.dpdk.org/dpdk-stable/log/?h=23.11-staging

This queued commit can be viewed at:
https://git.dpdk.org/dpdk-stable/commit/?h=23.11-staging&id=fc1912baa712b96bfb0d8cffb722b2d405852632

Thanks.

Xueming Li <xuemingl at nvidia.com>

---
>From fc1912baa712b96bfb0d8cffb722b2d405852632 Mon Sep 17 00:00:00 2001
From: Kaiwen Deng <kaiwenx.deng at intel.com>
Date: Thu, 14 Mar 2024 09:00:49 +0800
Subject: [PATCH] net/iavf: fix VF reset when using DCF
Cc: Xueming Li <xuemingl at nvidia.com>

[ upstream commit 0f9ec0cbd2a96c2bde3489fbc8f4e254f639905c ]

On the latest ice kernel driver, renegotiating
VIRTCHNL_OP_GET_VF_RESOURCES will fail when using DCF
(Device Config Function) if a hardware reset is not done.

Fix this by sending VIRTCHNL_OP_RESET_VF to PF before DPDK resets VF.

Fixes: e74e1bb6280d ("net/iavf: enable port reset")
Fixes: 7a93cd3575eb ("net/iavf: add VF reset check")

Signed-off-by: Kaiwen Deng <kaiwenx.deng at intel.com>
Tested-by: Hongbo Li <hongbox.li at intel.com>
---
 .mailmap                       |  1 +
 drivers/net/iavf/iavf_ethdev.c | 10 ++++++++++
 2 files changed, 11 insertions(+)

diff --git a/.mailmap b/.mailmap
index b0eda8e8af..6ac0fa9103 100644
--- a/.mailmap
+++ b/.mailmap
@@ -526,6 +526,7 @@ Hiroki Shirokura <slank.dev at gmail.com>
 Hiroshi Shimamoto <h-shimamoto at ct.jp.nec.com>
 Hiroyuki Mikita <h.mikita89 at gmail.com>
 Holly Nichols <hollynichols04 at gmail.com>
+Hongbo Li <hongbox.li at intel.com>
 Hongbo Zheng <zhenghongbo3 at huawei.com>
 Hongjun Ni <hongjun.ni at intel.com>
 Hongzhi Guo <guohongzhi1 at huawei.com>
diff --git a/drivers/net/iavf/iavf_ethdev.c b/drivers/net/iavf/iavf_ethdev.c
index 2d85b947f6..54bff05675 100644
--- a/drivers/net/iavf/iavf_ethdev.c
+++ b/drivers/net/iavf/iavf_ethdev.c
@@ -2954,6 +2954,16 @@ iavf_dev_reset(struct rte_eth_dev *dev)
 	struct iavf_adapter *adapter =
 		IAVF_DEV_PRIVATE_TO_ADAPTER(dev->data->dev_private);
 	struct iavf_hw *hw = IAVF_DEV_PRIVATE_TO_HW(dev->data->dev_private);
+	struct iavf_info *vf = IAVF_DEV_PRIVATE_TO_VF(dev->data->dev_private);
+
+	if (!vf->in_reset_recovery) {
+		ret = iavf_aq_send_msg_to_pf(hw, VIRTCHNL_OP_RESET_VF,
+						IAVF_SUCCESS, NULL, 0, NULL);
+		if (ret) {
+			PMD_DRV_LOG(ERR, "fail to send cmd VIRTCHNL_OP_RESET_VF");
+			return ret;
+		}
+	}
 
 	/*
 	 * Check whether the VF reset has been done and inform application,
-- 
2.34.1

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2024-07-12 18:40:16.904413691 +0800
+++ 0060-net-iavf-fix-VF-reset-when-using-DCF.patch	2024-07-12 18:40:14.136594223 +0800
@@ -1 +1 @@
-From 0f9ec0cbd2a96c2bde3489fbc8f4e254f639905c Mon Sep 17 00:00:00 2001
+From fc1912baa712b96bfb0d8cffb722b2d405852632 Mon Sep 17 00:00:00 2001
@@ -4,0 +5,3 @@
+Cc: Xueming Li <xuemingl at nvidia.com>
+
+[ upstream commit 0f9ec0cbd2a96c2bde3489fbc8f4e254f639905c ]
@@ -14 +16,0 @@
-Cc: stable at dpdk.org
@@ -24 +26 @@
-index ccd50c7729..075ea40f17 100644
+index b0eda8e8af..6ac0fa9103 100644
@@ -27 +29 @@
-@@ -533,6 +533,7 @@ Hiroki Shirokura <slank.dev at gmail.com>
+@@ -526,6 +526,7 @@ Hiroki Shirokura <slank.dev at gmail.com>
@@ -36 +38 @@
-index bbf915097e..44276dcf38 100644
+index 2d85b947f6..54bff05675 100644
@@ -39 +41 @@
-@@ -3041,6 +3041,16 @@ iavf_dev_reset(struct rte_eth_dev *dev)
+@@ -2954,6 +2954,16 @@ iavf_dev_reset(struct rte_eth_dev *dev)


More information about the stable mailing list