From: Sandeep Penigalapati <sandeep.penigalapati@intel.com>
To: dev@dpdk.org
Cc: Anatoly Burakov <anatoly.burakov@intel.com>,
Vladimir Medvedkin <vladimir.medvedkin@intel.com>,
Jedrzej Jagielski <jedrzej.jagielski@intel.com>,
Andrzej Wilczynski <andrzejx.wilczynski@intel.com>,
Bruce Richardson <bruce.richardson@intel.com>,
stable@dpdk.org,
Sandeep Penigalapati <sandeep.penigalapati@intel.com>
Subject: [PATCH] net/ixgbe: fix VF link status for E610
Date: Sun, 27 Sep 2026 13:52:40 -0400 [thread overview]
Message-ID: <20260927175240.160260-1-sandeep.penigalapati@intel.com> (raw)
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")
Cc: stable@dpdk.org
Signed-off-by: Sandeep Penigalapati <sandeep.penigalapati@intel.com>
---
drivers/net/intel/ixgbe/ixgbe_ethdev.c | 15 +++++++++++++++
1 file changed, 15 insertions(+)
diff --git a/drivers/net/intel/ixgbe/ixgbe_ethdev.c b/drivers/net/intel/ixgbe/ixgbe_ethdev.c
index 284df77023..78e19f94c0 100644
--- a/drivers/net/intel/ixgbe/ixgbe_ethdev.c
+++ b/drivers/net/intel/ixgbe/ixgbe_ethdev.c
@@ -1470,6 +1470,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,
@@ -4133,6 +4136,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.27.0
next reply other threads:[~2026-09-27 10:50 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-09-27 17:52 Sandeep Penigalapati [this message]
2026-10-06 10:38 ` [PATCH] net/ixgbe: fix VF link status for E610 Burakov, Anatoly
2026-10-06 11:00 ` Bruce Richardson
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20260927175240.160260-1-sandeep.penigalapati@intel.com \
--to=sandeep.penigalapati@intel.com \
--cc=anatoly.burakov@intel.com \
--cc=andrzejx.wilczynski@intel.com \
--cc=bruce.richardson@intel.com \
--cc=dev@dpdk.org \
--cc=jedrzej.jagielski@intel.com \
--cc=stable@dpdk.org \
--cc=vladimir.medvedkin@intel.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox