From c5bc416be34bce7d06086fbae4fa53f5c7795a1a Mon Sep 17 00:00:00 2001 From: Jianbo Liu Date: Fri, 27 Oct 2017 10:55:19 +0800 Subject: [PATCH] examples/ip_pipeline: avoid hash table create failure Hash table function will check if the input bucket size is power of 2, so the parameter should be rounded up before sending to the creating function. Signed-off-by: Jianbo Liu Acked-by: Cristian Dumitrescu --- .../ip_pipeline/pipeline/pipeline_flow_classification_be.c | 2 +- examples/ip_pipeline/pipeline/pipeline_routing_be.c | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/examples/ip_pipeline/pipeline/pipeline_flow_classification_be.c b/examples/ip_pipeline/pipeline/pipeline_flow_classification_be.c index 98467774c8..929d81cb24 100644 --- a/examples/ip_pipeline/pipeline/pipeline_flow_classification_be.c +++ b/examples/ip_pipeline/pipeline/pipeline_flow_classification_be.c @@ -499,7 +499,7 @@ static void *pipeline_fc_init(struct pipeline_params *params, .key_mask = (p_fc->key_mask_present) ? p_fc->key_mask : NULL, .n_keys = p_fc->n_flows, - .n_buckets = p_fc->n_flows / 4, + .n_buckets = rte_align32pow2(p_fc->n_flows / 4), .f_hash = hash_func[(p_fc->key_size / 8) - 1], .seed = 0, }; diff --git a/examples/ip_pipeline/pipeline/pipeline_routing_be.c b/examples/ip_pipeline/pipeline/pipeline_routing_be.c index 7aaf467632..0414f2483c 100644 --- a/examples/ip_pipeline/pipeline/pipeline_routing_be.c +++ b/examples/ip_pipeline/pipeline/pipeline_routing_be.c @@ -1355,7 +1355,8 @@ pipeline_routing_init(struct pipeline_params *params, .key_offset = p_rt->params.arp_key_offset, .key_mask = NULL, .n_keys = p_rt->params.n_arp_entries, - .n_buckets = p_rt->params.n_arp_entries / 4, + .n_buckets = + rte_align32pow2(p_rt->params.n_arp_entries / 4), .f_hash = hash_default_key8, .seed = 0, }; -- 2.20.1