From mboxrd@z Thu Jan  1 00:00:00 1970
Return-Path: <dev-bounces@dpdk.org>
Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124])
	by inbox.dpdk.org (Postfix) with ESMTP id 03D7945C82;
	Tue,  5 Nov 2024 04:18:19 +0100 (CET)
Received: from mails.dpdk.org (localhost [127.0.0.1])
	by mails.dpdk.org (Postfix) with ESMTP id 5AEDE427C4;
	Tue,  5 Nov 2024 04:17:47 +0100 (CET)
Received: from linux.microsoft.com (linux.microsoft.com [13.77.154.182])
 by mails.dpdk.org (Postfix) with ESMTP id 0549B427A7
 for <dev@dpdk.org>; Tue,  5 Nov 2024 04:17:37 +0100 (CET)
Received: by linux.microsoft.com (Postfix, from userid 1213)
 id 7D9D22126CAB; Mon,  4 Nov 2024 19:17:36 -0800 (PST)
DKIM-Filter: OpenDKIM Filter v2.11.0 linux.microsoft.com 7D9D22126CAB
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linux.microsoft.com;
 s=default; t=1730776656;
 bh=00dYg4vZbrCAZfLm0l2JWamXN1KxHOWMRmYU8s7eRCY=;
 h=From:To:Cc:Subject:Date:In-Reply-To:References:From;
 b=AUJLiGnqgqGp5HixbJB87S9b4u7/ujhRqJ+2cyqUFhw4V/UO36HGCHsmQ3L//avgm
 3XsqfN4pO9CMmsGu6GQ0ops8tGNzdHmEPpblBb++OI7pI+pi0OvYzmlzs6HziJksFY
 LfDSS6nqJh7Dp6oQl8Do/NKSuFyHx64bmcueB+4c=
From: Andre Muezerie <andremue@linux.microsoft.com>
To: stephen@networkplumber.org
Cc: aman.deep.singh@intel.com, anatoly.burakov@intel.com,
 andrew.rybchenko@oktetlabs.ru, bruce.richardson@intel.com, dev@dpdk.org,
 dmitry.kozliuk@gmail.com, dsosnowski@nvidia.com, fanzhang.oss@gmail.com,
 fengchengwen@huawei.com, ferruh.yigit@amd.com, gakhil@marvell.com,
 harry.van.haaren@intel.com, hkalra@marvell.com,
 honnappa.nagarahalli@arm.com, hujiayu.hu@foxmail.com,
 jingjing.wu@intel.com, kevin.laatz@intel.com,
 konstantin.v.ananyev@yandex.ru, matan@nvidia.com, mb@smartsharesystems.com,
 orika@nvidia.com, pallavi.kadam@intel.com, reshma.pattan@intel.com,
 roretzla@linux.microsoft.com, sameh.gobriel@intel.com,
 suanmingm@nvidia.com, thomas@monjalon.net, vfialko@marvell.com,
 viacheslavo@nvidia.com, vladimir.medvedkin@intel.com,
 yipeng1.wang@intel.com
Subject: [PATCH v4 08/19] gro: remove use of VLAs for Windows built code
Date: Mon,  4 Nov 2024 19:15:42 -0800
Message-Id: <1730776553-31277-9-git-send-email-andremue@linux.microsoft.com>
X-Mailer: git-send-email 1.8.3.1
In-Reply-To: <1730776553-31277-1-git-send-email-andremue@linux.microsoft.com>
References: <1713397319-26135-1-git-send-email-roretzla@linux.microsoft.com>
 <1730776553-31277-1-git-send-email-andremue@linux.microsoft.com>
X-BeenThere: dev@dpdk.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: DPDK patches and discussions <dev.dpdk.org>
List-Unsubscribe: <https://mails.dpdk.org/options/dev>,
 <mailto:dev-request@dpdk.org?subject=unsubscribe>
List-Archive: <http://mails.dpdk.org/archives/dev/>
List-Post: <mailto:dev@dpdk.org>
List-Help: <mailto:dev-request@dpdk.org?subject=help>
List-Subscribe: <https://mails.dpdk.org/listinfo/dev>,
 <mailto:dev-request@dpdk.org?subject=subscribe>
Errors-To: dev-bounces@dpdk.org

From: Tyler Retzlaff <roretzla@linux.microsoft.com>

MSVC does not support VLAs, replace VLAs with standard C arrays
or alloca(). alloca() is available for all toolchain/platform
combinations officially supported by DPDK.

Signed-off-by: Tyler Retzlaff <roretzla@linux.microsoft.com>
---
 lib/gro/rte_gro.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/lib/gro/rte_gro.c b/lib/gro/rte_gro.c
index d824eebd93..0f9e85c387 100644
--- a/lib/gro/rte_gro.c
+++ b/lib/gro/rte_gro.c
@@ -179,7 +179,7 @@ rte_gro_reassemble_burst(struct rte_mbuf **pkts,
 	struct gro_vxlan_udp4_item vxlan_udp_items[RTE_GRO_MAX_BURST_ITEM_NUM]
 			= {{{0}} };
 
-	struct rte_mbuf *unprocess_pkts[nb_pkts];
+	struct rte_mbuf **unprocess_pkts = alloca(sizeof(struct rte_mbuf *) * nb_pkts);
 	uint32_t item_num;
 	int32_t ret;
 	uint16_t i, unprocess_num = 0, nb_after_gro = nb_pkts;
@@ -360,7 +360,7 @@ rte_gro_reassemble(struct rte_mbuf **pkts,
 		uint16_t nb_pkts,
 		void *ctx)
 {
-	struct rte_mbuf *unprocess_pkts[nb_pkts];
+	struct rte_mbuf **unprocess_pkts = alloca(sizeof(struct rte_mbuf *) * nb_pkts);
 	struct gro_ctx *gro_ctx = ctx;
 	void *tcp_tbl, *udp_tbl, *vxlan_tcp_tbl, *vxlan_udp_tbl, *tcp6_tbl;
 	uint64_t current_time;
-- 
2.34.1