patch 'net/ngbe: fix VF promiscuous and allmulticast' has been queued to stable release 25.11.3

Kevin Traynor ktraynor at redhat.com
Thu Jul 30 11:15:43 CEST 2026


Hi,

FYI, your patch has been queued to stable release 25.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 08/04/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/kevintraynor/dpdk-stable

This queued commit can be viewed at:
https://github.com/kevintraynor/dpdk-stable/commit/7324887444dc1a94095a9fa03620ba36b6e2253b

Thanks.

Kevin

---
>From 7324887444dc1a94095a9fa03620ba36b6e2253b Mon Sep 17 00:00:00 2001
From: Zaiyu Wang <zaiyuwang at trustnetic.com>
Date: Wed, 24 Jun 2026 19:52:36 +0800
Subject: [PATCH] net/ngbe: fix VF promiscuous and allmulticast

[ upstream commit 6df5e719db14a95b1417dbb37dc1b178d72f86e5 ]

The configuration of allmulti and promiscuous modes conflicts
together. For instance, if we enable promiscuous mode, then enable and
disable allmulti, then the promiscuous mode is wrongly disabled.

To resolve this, the following changes are made:
- do nothing when we set/unset allmulti if promiscuous mode is on
- restore the proper mode (none or allmulti) when we disable
  promiscuous mode

Fixes: 7744e90805b5 ("net/ngbe: add promiscuous and allmulticast ops for VF device")

Signed-off-by: Zaiyu Wang <zaiyuwang at trustnetic.com>
---
 drivers/net/ngbe/ngbe_ethdev_vf.c | 11 +++++++++--
 1 file changed, 9 insertions(+), 2 deletions(-)

diff --git a/drivers/net/ngbe/ngbe_ethdev_vf.c b/drivers/net/ngbe/ngbe_ethdev_vf.c
index e575c47049..21b9f4b2f4 100644
--- a/drivers/net/ngbe/ngbe_ethdev_vf.c
+++ b/drivers/net/ngbe/ngbe_ethdev_vf.c
@@ -1200,7 +1200,11 @@ ngbevf_dev_promiscuous_disable(struct rte_eth_dev *dev)
 {
 	struct ngbe_hw *hw = ngbe_dev_hw(dev);
+	int mode = NGBEVF_XCAST_MODE_NONE;
 	int ret;
 
-	switch (hw->mac.update_xcast_mode(hw, NGBEVF_XCAST_MODE_NONE)) {
+	if (dev->data->all_multicast)
+		mode = NGBEVF_XCAST_MODE_ALLMULTI;
+
+	switch (hw->mac.update_xcast_mode(hw, mode)) {
 	case 0:
 		ret = 0;
@@ -1223,5 +1227,5 @@ ngbevf_dev_allmulticast_enable(struct rte_eth_dev *dev)
 	int ret;
 
-	if (dev->data->promiscuous == 1)
+	if (dev->data->promiscuous)
 		return 0;
 
@@ -1247,4 +1251,7 @@ ngbevf_dev_allmulticast_disable(struct rte_eth_dev *dev)
 	int ret;
 
+	if (dev->data->promiscuous)
+		return 0;
+
 	switch (hw->mac.update_xcast_mode(hw, NGBEVF_XCAST_MODE_MULTI)) {
 	case 0:
-- 
2.55.0

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2026-07-30 10:16:01.629148414 +0100
+++ 0004-net-ngbe-fix-VF-promiscuous-and-allmulticast.patch	2026-07-30 10:16:01.424603284 +0100
@@ -1 +1 @@
-From 6df5e719db14a95b1417dbb37dc1b178d72f86e5 Mon Sep 17 00:00:00 2001
+From 7324887444dc1a94095a9fa03620ba36b6e2253b Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit 6df5e719db14a95b1417dbb37dc1b178d72f86e5 ]
+
@@ -16 +17,0 @@
-Cc: stable at dpdk.org
@@ -24 +25 @@
-index ea3a988df6..c440e02369 100644
+index e575c47049..21b9f4b2f4 100644
@@ -27 +28 @@
-@@ -1197,7 +1197,11 @@ ngbevf_dev_promiscuous_disable(struct rte_eth_dev *dev)
+@@ -1200,7 +1200,11 @@ ngbevf_dev_promiscuous_disable(struct rte_eth_dev *dev)
@@ -40 +41 @@
-@@ -1220,5 +1224,5 @@ ngbevf_dev_allmulticast_enable(struct rte_eth_dev *dev)
+@@ -1223,5 +1227,5 @@ ngbevf_dev_allmulticast_enable(struct rte_eth_dev *dev)
@@ -47 +48 @@
-@@ -1244,4 +1248,7 @@ ngbevf_dev_allmulticast_disable(struct rte_eth_dev *dev)
+@@ -1247,4 +1251,7 @@ ngbevf_dev_allmulticast_disable(struct rte_eth_dev *dev)



More information about the stable mailing list