From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id D12294605F; Fri, 10 Jan 2025 21:24:35 +0100 (CET) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 018F9427DB; Fri, 10 Jan 2025 21:24:10 +0100 (CET) Received: from linux.microsoft.com (linux.microsoft.com [13.77.154.182]) by mails.dpdk.org (Postfix) with ESMTP id 8704E402EF for ; Fri, 10 Jan 2025 21:24:00 +0100 (CET) Received: by linux.microsoft.com (Postfix, from userid 1213) id 24496203D5F7; Fri, 10 Jan 2025 12:23:58 -0800 (PST) DKIM-Filter: OpenDKIM Filter v2.11.0 linux.microsoft.com 24496203D5F7 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linux.microsoft.com; s=default; t=1736540639; bh=YrQHoadfF2iKdAPUDKUpHY/rMkyrmyGEX++NZ5rbYIE=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=l1SRcLzp7DwrB6dpyJqTCtW0vASM/jgAz8g7Wz4Mi9Pr28qEVAwWt4QMsm5qCrs0I FQEZ6fGK99BsYxgHTZUo1JqDsyM+VgB2uSGHbW3OcwUPwPwYSg+rtAe6WMaBjTMzHT mpdyy9YAzl4LKrbcCxXt83Ie+q5gzMkzzpNp61mU= From: Andre Muezerie To: dev@dpdk.org Cc: konstantin.ananyev@huawei.com, homas@monjalon.net, david.marchand@redhat.com Subject: [PATCH v14 06/81] hash/thash: remove use of VLAs for Windows built Date: Fri, 10 Jan 2025 12:22:25 -0800 Message-Id: <1736540620-21764-7-git-send-email-andremue@linux.microsoft.com> X-Mailer: git-send-email 1.8.3.1 In-Reply-To: <1736540620-21764-1-git-send-email-andremue@linux.microsoft.com> References: <1713397319-26135-1-git-send-email-roretzla@linux.microsoft.com> <1736540620-21764-1-git-send-email-andremue@linux.microsoft.com> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org From: Konstantin Ananyev 1) ./lib/hash/rte_thash.c:774:9 : warning: ISO C90 forbids variable length array ‘tmp_tuple’ The tuple can exceed sizeof(union rte_thash_tuple), for example if any tunneling header is used in the RSS hash calculation. The longest RSS hash key currently supported is 52 bytes. Technically, the longest tuple with such a key should be (52 - sizeof(uint32_t)), so this can be used as a size of the tmp_tuple array. Signed-off-by: Konstantin Ananyev --- lib/hash/rte_thash.c | 2 +- lib/hash/rte_thash.h | 7 +++++++ 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/lib/hash/rte_thash.c b/lib/hash/rte_thash.c index 336c228e64..fa78787143 100644 --- a/lib/hash/rte_thash.c +++ b/lib/hash/rte_thash.c @@ -761,7 +761,7 @@ rte_thash_adjust_tuple(struct rte_thash_ctx *ctx, uint32_t desired_value, unsigned int attempts, rte_thash_check_tuple_t fn, void *userdata) { - uint32_t tmp_tuple[tuple_len / sizeof(uint32_t)]; + uint32_t tmp_tuple[RTE_THASH_TUPLE_LEN_MAX]; unsigned int i, j, ret = 0; uint32_t hash, adj_bits; const uint8_t *hash_key; diff --git a/lib/hash/rte_thash.h b/lib/hash/rte_thash.h index c0af5968df..04f9f1875c 100644 --- a/lib/hash/rte_thash.h +++ b/lib/hash/rte_thash.h @@ -121,6 +121,13 @@ __rte_internal uint32_t thash_get_rand_poly(uint32_t poly_degree); +/** + * Longest RSS hash key currently supported + */ +#define RTE_THASH_KEY_LEN_MAX 52 + +#define RTE_THASH_TUPLE_LEN_MAX (RTE_THASH_KEY_LEN_MAX - sizeof(uint32_t)) + /** * Prepare special converted key to use with rte_softrss_be() * @param orig -- 2.47.0.vfs.0.3