From: Konstantin Ananyev <konstantin.anan...@huawei.com> 1) ./lib/hash/rte_thash.c:774:9 : warning: ISO C90 forbids variable length array ‘tmp_tuple’
>From my understanding, tuple size here should never exceed sizeof(union rte_thash_tuple), so it should be safe to replace VLA with fixed size array. Signed-off-by: Konstantin Ananyev <konstantin.anan...@huawei.com> --- lib/hash/rte_thash.c | 2 +- lib/hash/rte_thash.h | 8 ++++++++ 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/lib/hash/rte_thash.c b/lib/hash/rte_thash.c index 336c228e64..842e3ad85d 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_MAX_L4_LEN]; 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..427246ad2e 100644 --- a/lib/hash/rte_thash.h +++ b/lib/hash/rte_thash.h @@ -121,6 +121,14 @@ __rte_internal uint32_t thash_get_rand_poly(uint32_t poly_degree); +/** + * maximum length in dwords of input tuple to + * calculate hash of ipv(4|6) header + + * transport header + */ +#define RTE_THASH_MAX_L4_LEN \ + ((sizeof(union rte_thash_tuple)) / sizeof(uint32_t)) + /** * Prepare special converted key to use with rte_softrss_be() * @param orig -- 2.47.0.vfs.0.3