patch 'net/ixgbe: remove VLAs' has been queued to stable release 24.11.3

Kevin Traynor ktraynor at redhat.com
Fri Jul 18 21:31:44 CEST 2025


Hi,

FYI, your patch has been queued to stable release 24.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 07/23/25. 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/a69a881978973983718b2aecc9acfd651d6a08ad

Thanks.

Kevin

---
>From a69a881978973983718b2aecc9acfd651d6a08ad Mon Sep 17 00:00:00 2001
From: Konstantin Ananyev <konstantin.ananyev at huawei.com>
Date: Wed, 5 Feb 2025 17:33:13 -0800
Subject: [PATCH] net/ixgbe: remove VLAs

[ upstream commit 948a4bbdeac9f1eef0c62b96bd1b59b1f9a021cc ]

1) ../drivers/net/ixgbe/ixgbe_ethdev.c:3556:46: warning:
    variable length array used [-Wvla]
2) ../drivers/net/ixgbe/ixgbe_ethdev.c:3739:23: warning:
    variable length array used [-Wvla]
3) ../drivers/net/ixgbe/ixgbe_rxtx_vec_common.h:17:24: warning:
    variable length array used [-Wvla]

For first two cases: in fact ixgbe_xstats_calc_num() always returns
constant value, so it should be safe to replace that function invocation
just with a macro that performs same calculations.

For case #3: reassemble_packets() is invoked only by
ixgbe_recv_scattered_burst_vec().
And in turn, ixgbe_recv_scattered_burst_vec() operates only on fixed
max amount of packets per call: RTE_IXGBE_MAX_RX_BURST.
So, it should be safe to replace VLA with fixed size array.

Signed-off-by: Konstantin Ananyev <konstantin.ananyev at huawei.com>
Acked-by: Anatoly Burakov <anatoly.burakov at intel.com>
---
 drivers/net/ixgbe/ixgbe_ethdev.c | 21 +++++++++++++--------
 1 file changed, 13 insertions(+), 8 deletions(-)

diff --git a/drivers/net/ixgbe/ixgbe_ethdev.c b/drivers/net/ixgbe/ixgbe_ethdev.c
index 20b625c824..e0e4802e34 100644
--- a/drivers/net/ixgbe/ixgbe_ethdev.c
+++ b/drivers/net/ixgbe/ixgbe_ethdev.c
@@ -3472,9 +3472,14 @@ ixgbe_dev_stats_reset(struct rte_eth_dev *dev)
 
 /* This function calculates the number of xstats based on the current config */
+
+#define IXGBE_XSTATS_CALC_NUM	\
+	(IXGBE_NB_HW_STATS + IXGBE_NB_MACSEC_STATS + \
+	(IXGBE_NB_RXQ_PRIO_STATS * IXGBE_NB_RXQ_PRIO_VALUES) + \
+	(IXGBE_NB_TXQ_PRIO_STATS * IXGBE_NB_TXQ_PRIO_VALUES))
+
 static unsigned
-ixgbe_xstats_calc_num(void) {
-	return IXGBE_NB_HW_STATS + IXGBE_NB_MACSEC_STATS +
-		(IXGBE_NB_RXQ_PRIO_STATS * IXGBE_NB_RXQ_PRIO_VALUES) +
-		(IXGBE_NB_TXQ_PRIO_STATS * IXGBE_NB_TXQ_PRIO_VALUES);
+ixgbe_xstats_calc_num(void)
+{
+	return IXGBE_XSTATS_CALC_NUM;
 }
 
@@ -3592,6 +3597,6 @@ static int ixgbe_dev_xstats_get_names_by_id(
 
 	uint16_t i;
-	uint16_t size = ixgbe_xstats_calc_num();
-	struct rte_eth_xstat_name xstats_names_copy[size];
+	struct rte_eth_xstat_name xstats_names_copy[IXGBE_XSTATS_CALC_NUM];
+	const uint16_t size = RTE_DIM(xstats_names_copy);
 
 	ixgbe_dev_xstats_get_names_by_id(dev, NULL, xstats_names_copy,
@@ -3775,6 +3780,6 @@ ixgbe_dev_xstats_get_by_id(struct rte_eth_dev *dev, const uint64_t *ids,
 
 	uint16_t i;
-	uint16_t size = ixgbe_xstats_calc_num();
-	uint64_t values_copy[size];
+	uint64_t values_copy[IXGBE_XSTATS_CALC_NUM];
+	const uint16_t size = RTE_DIM(values_copy);
 
 	ixgbe_dev_xstats_get_by_id(dev, NULL, values_copy, size);
-- 
2.50.0

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2025-07-18 20:29:16.931631060 +0100
+++ 0170-net-ixgbe-remove-VLAs.patch	2025-07-18 20:29:11.185908112 +0100
@@ -1 +1 @@
-From 948a4bbdeac9f1eef0c62b96bd1b59b1f9a021cc Mon Sep 17 00:00:00 2001
+From a69a881978973983718b2aecc9acfd651d6a08ad Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit 948a4bbdeac9f1eef0c62b96bd1b59b1f9a021cc ]
+
@@ -26 +28 @@
- drivers/net/intel/ixgbe/ixgbe_ethdev.c | 21 +++++++++++++--------
+ drivers/net/ixgbe/ixgbe_ethdev.c | 21 +++++++++++++--------
@@ -29,5 +31,5 @@
-diff --git a/drivers/net/intel/ixgbe/ixgbe_ethdev.c b/drivers/net/intel/ixgbe/ixgbe_ethdev.c
-index 5f18fbaad5..c79ecd6eec 100644
---- a/drivers/net/intel/ixgbe/ixgbe_ethdev.c
-+++ b/drivers/net/intel/ixgbe/ixgbe_ethdev.c
-@@ -3438,9 +3438,14 @@ ixgbe_dev_stats_reset(struct rte_eth_dev *dev)
+diff --git a/drivers/net/ixgbe/ixgbe_ethdev.c b/drivers/net/ixgbe/ixgbe_ethdev.c
+index 20b625c824..e0e4802e34 100644
+--- a/drivers/net/ixgbe/ixgbe_ethdev.c
++++ b/drivers/net/ixgbe/ixgbe_ethdev.c
+@@ -3472,9 +3472,14 @@ ixgbe_dev_stats_reset(struct rte_eth_dev *dev)
@@ -52 +54 @@
-@@ -3558,6 +3563,6 @@ static int ixgbe_dev_xstats_get_names_by_id(
+@@ -3592,6 +3597,6 @@ static int ixgbe_dev_xstats_get_names_by_id(
@@ -61 +63 @@
-@@ -3741,6 +3746,6 @@ ixgbe_dev_xstats_get_by_id(struct rte_eth_dev *dev, const uint64_t *ids,
+@@ -3775,6 +3780,6 @@ ixgbe_dev_xstats_get_by_id(struct rte_eth_dev *dev, const uint64_t *ids,



More information about the stable mailing list