patch 'net/ixgbe: fix VF link status for E610' has been queued to stable release 24.11.9
luca.boccassi at gmail.com
luca.boccassi at gmail.com
Tue Oct 27 12:50:47 CET 2026
Hi,
FYI, your patch has been queued to stable release 24.11.9
Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 10/29/26. 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/bluca/dpdk-stable
This queued commit can be viewed at:
https://github.com/bluca/dpdk-stable/commit/3128d373238f0b6d54a2957f5e31ca2c99f97fe1
Thanks.
Luca Boccassi
---
>From 3128d373238f0b6d54a2957f5e31ca2c99f97fe1 Mon Sep 17 00:00:00 2001
From: Sandeep Penigalapati <sandeep.penigalapati at intel.com>
Date: Sun, 27 Sep 2026 13:52:40 -0400
Subject: [PATCH] net/ixgbe: fix VF link status for E610
[ upstream commit 787f6692bf7925bfe43c38f3fad81f34d469cbc2 ]
E610 VFs report a wrong link speed (e.g. 10G while the PF is at 1G)
because the speed is decoded from the VFLINKS register, which E610 does
not use for VF link state.
Commit adbd71030575 ("net/ixgbe/base: fix link status for E610") added a
mailbox operation to fetch the link state from the PF and bumped the VF
mailbox API to 1.6, but the PMD never used it: ixgbevf_negotiate_api()
caps the API at 1.3 and ixgbevf_check_link() reads VFLINKS instead of
the base helper.
Negotiate the mailbox API up to 1.6 and query the PF for the link state
on E610 VFs. Other MAC types are unchanged.
Fixes: adbd71030575 ("net/ixgbe/base: fix link status for E610")
Signed-off-by: Sandeep Penigalapati <sandeep.penigalapati at intel.com>
Acked-by: Anatoly Burakov <anatoly.burakov at intel.com>
---
drivers/net/ixgbe/ixgbe_ethdev.c | 15 +++++++++++++++
1 file changed, 15 insertions(+)
diff --git a/drivers/net/ixgbe/ixgbe_ethdev.c b/drivers/net/ixgbe/ixgbe_ethdev.c
index 8c4fb265962..a6df85260d3 100644
--- a/drivers/net/ixgbe/ixgbe_ethdev.c
+++ b/drivers/net/ixgbe/ixgbe_ethdev.c
@@ -1524,6 +1524,9 @@ ixgbevf_negotiate_api(struct ixgbe_hw *hw)
/* start with highest supported, proceed down */
static const enum ixgbe_pfvf_api_rev sup_ver[] = {
+ ixgbe_mbox_api_16,
+ ixgbe_mbox_api_15,
+ ixgbe_mbox_api_14,
ixgbe_mbox_api_13,
ixgbe_mbox_api_12,
ixgbe_mbox_api_11,
@@ -4180,6 +4183,18 @@ ixgbevf_check_link(struct ixgbe_hw *hw, ixgbe_link_speed *speed,
if (!mac->get_link_status)
goto out;
+ /* E610 VF reads link state from the PF over the mailbox */
+ if (hw->mac.type == ixgbe_mac_E610_vf) {
+ ret_val = ixgbevf_get_pf_link_state(hw, speed, link_up);
+ if (ret_val) {
+ *speed = IXGBE_LINK_SPEED_UNKNOWN;
+ mac->get_link_status = true;
+ } else {
+ mac->get_link_status = !(*link_up);
+ }
+ goto out;
+ }
+
/* if link status is down no point in checking to see if pf is up */
links_reg = IXGBE_READ_REG(hw, IXGBE_VFLINKS);
if (!(links_reg & IXGBE_LINKS_UP))
--
2.47.3
---
Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- - 2026-10-27 11:43:59.595317569 +0000
+++ 0153-net-ixgbe-fix-VF-link-status-for-E610.patch 2026-10-27 11:43:53.702065268 +0000
@@ -1 +1 @@
-From 787f6692bf7925bfe43c38f3fad81f34d469cbc2 Mon Sep 17 00:00:00 2001
+From 3128d373238f0b6d54a2957f5e31ca2c99f97fe1 Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit 787f6692bf7925bfe43c38f3fad81f34d469cbc2 ]
+
@@ -20 +21,0 @@
-Cc: stable at dpdk.org
@@ -25 +26 @@
- drivers/net/intel/ixgbe/ixgbe_ethdev.c | 15 +++++++++++++++
+ drivers/net/ixgbe/ixgbe_ethdev.c | 15 +++++++++++++++
@@ -28,5 +29,5 @@
-diff --git a/drivers/net/intel/ixgbe/ixgbe_ethdev.c b/drivers/net/intel/ixgbe/ixgbe_ethdev.c
-index 1745070e59..44eb932058 100644
---- a/drivers/net/intel/ixgbe/ixgbe_ethdev.c
-+++ b/drivers/net/intel/ixgbe/ixgbe_ethdev.c
-@@ -1471,6 +1471,9 @@ ixgbevf_negotiate_api(struct ixgbe_hw *hw)
+diff --git a/drivers/net/ixgbe/ixgbe_ethdev.c b/drivers/net/ixgbe/ixgbe_ethdev.c
+index 8c4fb265962..a6df85260d3 100644
+--- a/drivers/net/ixgbe/ixgbe_ethdev.c
++++ b/drivers/net/ixgbe/ixgbe_ethdev.c
+@@ -1524,6 +1524,9 @@ ixgbevf_negotiate_api(struct ixgbe_hw *hw)
@@ -42 +43 @@
-@@ -4134,6 +4137,18 @@ ixgbevf_check_link(struct ixgbe_hw *hw, ixgbe_link_speed *speed,
+@@ -4180,6 +4183,18 @@ ixgbevf_check_link(struct ixgbe_hw *hw, ixgbe_link_speed *speed,
More information about the stable
mailing list