patch 'net/netvsc: retry on SIOCGIFHWADDR failure during VF hotplug' has been queued to stable release 24.11.7
luca.boccassi at gmail.com
luca.boccassi at gmail.com
Thu Jun 11 15:19:38 CEST 2026
Hi,
FYI, your patch has been queued to stable release 24.11.7
Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 06/13/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/3187f80ec0380b3d8c60017e4234ab363d609fb6
Thanks.
Luca Boccassi
---
>From 3187f80ec0380b3d8c60017e4234ab363d609fb6 Mon Sep 17 00:00:00 2001
From: Long Li <longli at microsoft.com>
Date: Fri, 15 May 2026 12:28:36 -0700
Subject: [PATCH] net/netvsc: retry on SIOCGIFHWADDR failure during VF hotplug
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
[ upstream commit fdd4238fd0ddcac29e7aa973197e9e9f6add5c09 ]
When the MANA VF net directory appears after PCI rescan, udev may rename
the interface (e.g. eth1 → ens1) before DPDK can query its MAC address
via SIOCGIFHWADDR. The ioctl fails because the interface name is stale
during the rename window.
Instead of giving up when SIOCGIFHWADDR fails, close the directory and
schedule another retry. The next attempt will re-read the directory with
the updated interface name (e.g. ens1 instead of eth1) and succeed.
This was observed on Azure VMs where the MANA kernel driver takes >30
seconds to probe after PCI rescan, and udev renames the interface
immediately after registration.
Fixes: a2a23a794b3a ("net/netvsc: support VF device hot add/remove")
Signed-off-by: Long Li <longli at microsoft.com>
---
drivers/net/netvsc/hn_ethdev.c | 14 +++++++++++---
1 file changed, 11 insertions(+), 3 deletions(-)
diff --git a/drivers/net/netvsc/hn_ethdev.c b/drivers/net/netvsc/hn_ethdev.c
index d967e1444a..223ad92ad8 100644
--- a/drivers/net/netvsc/hn_ethdev.c
+++ b/drivers/net/netvsc/hn_ethdev.c
@@ -656,10 +656,18 @@ static void netvsc_hotplug_retry(void *args)
ret = ioctl(s, SIOCGIFHWADDR, &req);
close(s);
if (ret == -1) {
- PMD_DRV_LOG(ERR,
- "Failed to send SIOCGIFHWADDR for device %s",
+ /* Interface may be renamed by udev (e.g. eth1 → ens1).
+ * Retry from the top — the PCI device check above
+ * ensures we stop if the device disappears.
+ */
+ PMD_DRV_LOG(DEBUG,
+ "Failed to send SIOCGIFHWADDR for device %s, "
+ "interface may be renaming, retrying",
dir->d_name);
- break;
+ closedir(di);
+ rte_eal_alarm_set(NETVSC_HOTADD_RETRY_INTERVAL,
+ netvsc_hotplug_retry, hot_ctx);
+ return;
}
if (req.ifr_hwaddr.sa_family != ARPHRD_ETHER)
continue;
--
2.47.3
---
Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- - 2026-06-11 14:20:02.504151394 +0100
+++ 0029-net-netvsc-retry-on-SIOCGIFHWADDR-failure-during-VF-.patch 2026-06-11 14:20:01.198745593 +0100
@@ -1 +1 @@
-From fdd4238fd0ddcac29e7aa973197e9e9f6add5c09 Mon Sep 17 00:00:00 2001
+From 3187f80ec0380b3d8c60017e4234ab363d609fb6 Mon Sep 17 00:00:00 2001
@@ -8,0 +9,2 @@
+[ upstream commit fdd4238fd0ddcac29e7aa973197e9e9f6add5c09 ]
+
@@ -23 +24,0 @@
-Cc: stable at dpdk.org
@@ -31 +32 @@
-index 85e500c178..096489d66d 100644
+index d967e1444a..223ad92ad8 100644
@@ -34 +35 @@
-@@ -674,10 +674,18 @@ static void netvsc_hotplug_retry(void *args)
+@@ -656,10 +656,18 @@ static void netvsc_hotplug_retry(void *args)
More information about the stable
mailing list