Thread (1 message) 1 message, 1 author, 2015-01-25

Re: [PATCH v3 05/18] librte_acl: fix a bug at build phase that can cause matches beeing overwirtten.

From: Ananyev, Konstantin <hidden>
Date: 2015-01-25 22:40:23

Hi Neil,
-----Original Message-----
From: Neil Horman [mailto:nhorman-2XuSBdqkA4R54TAoqtyWWQ@public.gmane.org]
Sent: Sunday, January 25, 2015 5:35 PM
To: Ananyev, Konstantin
Cc: dev-VfR2kkLFssw@public.gmane.org
Subject: Re: [dpdk-dev] [PATCH v3 05/18] librte_acl: fix a bug at build phase that can cause matches beeing overwirtten.

On Tue, Jan 20, 2015 at 06:40:54PM +0000, Konstantin Ananyev wrote:
quoted
Signed-off-by: Konstantin Ananyev <redacted>
---
 lib/librte_acl/acl_bld.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/lib/librte_acl/acl_bld.c b/lib/librte_acl/acl_bld.c
index 8bf4a54..22f7934 100644
--- a/lib/librte_acl/acl_bld.c
+++ b/lib/librte_acl/acl_bld.c
@@ -1907,7 +1907,7 @@ rte_acl_build(struct rte_acl_ctx *ctx, const struct rte_acl_config *cfg)
 				bcx.num_tries, bcx.cfg.num_categories,
 				RTE_ACL_MAX_FIELDS * RTE_DIM(bcx.tries) *
 				sizeof(ctx->data_indexes[0]),
-				bcx.num_build_rules);
+				bcx.num_build_rules + 1);
 		if (rc == 0) {

 			/* set data indexes. */
--
1.8.5.3
Shouldn't you add to num_build_rules inside rte_acl_gen?  That way other future
users of the function don't have to remember to do so.
In that patch, I just fix the bug to stop generate invalid tries for some corener cases.
In the later patch in that set, I did something similar to what you are suggesting here -
make rte_acl_gen() to allocate indexes for all match nodes too (as it already doing for all other nodes).
See  [PATCH v3 07/18] librte_acl: build/gen phase - simplify the way match nodes are allocated.

Konstantin
Neil
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help