On Thu, Aug 31, 2017 at 03:54:43PM +0100, Bernard Iremonger wrote: Hi Bernard,
Few suggestions inline. > The rte_table_acl_entry_add() function was returning data from > acl_memory instead of acl_rule_memory. It was also returning data > from entry instead of entry_ptr. > > The rte_table_acl_entry_delete() function was returning data from > acl_memory instead of acl_rule_memory. > > Fixes: 166923eb2f78 ("table: ACL") > Cc: sta...@dpdk.org > Signed-off-by: Bernard Iremonger <bernard.iremon...@intel.com> > --- > lib/librte_table/rte_table_acl.c | 9 ++++----- > 1 file changed, 4 insertions(+), 5 deletions(-) > > diff --git a/lib/librte_table/rte_table_acl.c > b/lib/librte_table/rte_table_acl.c > index 3c05e4a..e84b437 100644 > --- a/lib/librte_table/rte_table_acl.c > +++ b/lib/librte_table/rte_table_acl.c > @@ -316,8 +316,7 @@ struct rte_table_acl { > if (status == 0) { > *key_found = 1; > *entry_ptr = &acl->memory[i * acl->entry_size]; > - memcpy(*entry_ptr, entry, acl->entry_size); > - > + memcpy(entry, *entry_ptr, acl->entry_size); > return 0; > } > } > @@ -353,8 +352,8 @@ struct rte_table_acl { > rte_acl_free(acl->ctx); > acl->ctx = ctx; > *key_found = 0; > - *entry_ptr = &acl->memory[free_pos * acl->entry_size]; > - memcpy(*entry_ptr, entry, acl->entry_size); > + *entry_ptr = &acl->acl_rule_memory[free_pos * acl->entry_size]; > + memcpy(entry, *entry_ptr, acl->entry_size); > Why not use rte_memcpy instead?. > return 0; > } > @@ -435,7 +434,7 @@ struct rte_table_acl { > acl->ctx = ctx; > *key_found = 1; > if (entry != NULL) > - memcpy(entry, &acl->memory[pos * acl->entry_size], > + memcpy(entry, &acl->acl_rule_memory[pos * acl->entry_size], > acl->entry_size); > > return 0; > -- > 1.9.1 > -Pavan