[dpdk-dev] [PATCH v2 1/3] enic: use appropriate key length in hash table

Thomas Monjalon thomas.monjalon at 6wind.com
Fri Sep 4 15:56:38 CEST 2015


From: Pablo de Lara <pablo.de.lara.guarch at intel.com>

RTE_HASH_KEY_LENGTH_MAX was deprecated, and the hash table
actually is hosting bigger keys than that size, so key length
has been increased to properly allocate all keys.

Signed-off-by: Pablo de Lara <pablo.de.lara.guarch at intel.com>
Acked-by: Sujith Sankar <ssujith at cisco.com>
---
 drivers/net/enic/enic_clsf.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/net/enic/enic_clsf.c b/drivers/net/enic/enic_clsf.c
index 9c2abfb..656b25b 100644
--- a/drivers/net/enic/enic_clsf.c
+++ b/drivers/net/enic/enic_clsf.c
@@ -214,7 +214,7 @@ int enic_fdir_add_fltr(struct enic *enic, struct rte_eth_fdir_filter *params)
 		enic->fdir.stats.add++;
 	}
 
-	pos = rte_hash_add_key(enic->fdir.hash, (void *)key);
+	pos = rte_hash_add_key(enic->fdir.hash, params);
 	enic->fdir.nodes[pos] = key;
 	return 0;
 }
@@ -244,7 +244,7 @@ int enic_clsf_init(struct enic *enic)
 	struct rte_hash_parameters hash_params = {
 		.name = "enicpmd_clsf_hash",
 		.entries = ENICPMD_CLSF_HASH_ENTRIES,
-		.key_len = RTE_HASH_KEY_LENGTH_MAX,
+		.key_len = sizeof(struct rte_eth_fdir_filter),
 		.hash_func = DEFAULT_HASH_FUNC,
 		.hash_func_init_val = 0,
 		.socket_id = SOCKET_0,
-- 
2.5.1



More information about the dev mailing list