From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga09.intel.com (mga09.intel.com [134.134.136.24]) by dpdk.org (Postfix) with ESMTP id 76D6458F3 for ; Sun, 25 Jan 2015 23:40:30 +0100 (CET) Received: from orsmga002.jf.intel.com ([10.7.209.21]) by orsmga102.jf.intel.com with ESMTP; 25 Jan 2015 14:37:20 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.09,465,1418112000"; d="scan'208";a="675744219" Received: from irsmsx108.ger.corp.intel.com ([163.33.3.3]) by orsmga002.jf.intel.com with ESMTP; 25 Jan 2015 14:40:25 -0800 Received: from irsmsx105.ger.corp.intel.com ([169.254.7.81]) by IRSMSX108.ger.corp.intel.com ([169.254.11.64]) with mapi id 14.03.0195.001; Sun, 25 Jan 2015 22:40:23 +0000 From: "Ananyev, Konstantin" To: Neil Horman Thread-Topic: [dpdk-dev] [PATCH v3 05/18] librte_acl: fix a bug at build phase that can cause matches beeing overwirtten. Thread-Index: AQHQOMU5qhaRHtKq8UOv8Y3dT67D1ZzRbK1A Date: Sun, 25 Jan 2015 22:40:23 +0000 Message-ID: <2601191342CEEE43887BDE71AB977258213DF62F@irsmsx105.ger.corp.intel.com> References: <1421779267-18492-1-git-send-email-konstantin.ananyev@intel.com> <1421779267-18492-6-git-send-email-konstantin.ananyev@intel.com> <20150125173441.GA19101@localhost.localdomain> In-Reply-To: <20150125173441.GA19101@localhost.localdomain> Accept-Language: en-IE, en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-originating-ip: [163.33.239.182] Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 Cc: "dev@dpdk.org" Subject: Re: [dpdk-dev] [PATCH v3 05/18] librte_acl: fix a bug at build phase that can cause matches beeing overwirtten. X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: patches and discussions about DPDK List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 25 Jan 2015 22:40:30 -0000 Hi Neil, > -----Original Message----- > From: Neil Horman [mailto:nhorman@tuxdriver.com] > Sent: Sunday, January 25, 2015 5:35 PM > To: Ananyev, Konstantin > Cc: dev@dpdk.org > Subject: Re: [dpdk-dev] [PATCH v3 05/18] librte_acl: fix a bug at build p= hase that can cause matches beeing overwirtten. >=20 > On Tue, Jan 20, 2015 at 06:40:54PM +0000, Konstantin Ananyev wrote: > > Signed-off-by: Konstantin Ananyev > > --- > > 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 stru= ct 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 =3D=3D 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 c= orener cases. In the later patch in that set, I did something similar to what you are sug= gesting here - make rte_acl_gen() to allocate indexes for all match nodes too (as it alrea= dy doing for all other nodes). See [PATCH v3 07/18] librte_acl: build/gen phase - simplify the way match = nodes are allocated. Konstantin > Neil