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 C8F68255 for ; Fri, 6 Feb 2015 12:45:27 +0100 (CET) Received: from orsmga003.jf.intel.com ([10.7.209.27]) by orsmga102.jf.intel.com with ESMTP; 06 Feb 2015 03:41:27 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.09,529,1418112000"; d="scan'208";a="523609251" Received: from irsmsx152.ger.corp.intel.com ([163.33.192.66]) by orsmga003.jf.intel.com with ESMTP; 06 Feb 2015 03:37:14 -0800 Received: from irsmsx105.ger.corp.intel.com ([169.254.7.81]) by IRSMSX152.ger.corp.intel.com ([169.254.6.35]) with mapi id 14.03.0195.001; Fri, 6 Feb 2015 11:45:00 +0000 From: "Ananyev, Konstantin" To: "Rapelly, Varun" , "dev@dpdk.org" Thread-Topic: [dpdk-dev] ACL Issue with single field rule and rest with wild card entry Thread-Index: AdBB2ilgEOVy0gd2QUSH2CQSr8o33gAJydCw Date: Fri, 6 Feb 2015 11:44:59 +0000 Message-ID: <2601191342CEEE43887BDE71AB977258213E389A@irsmsx105.ger.corp.intel.com> References: In-Reply-To: Accept-Language: en-IE, en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-originating-ip: [163.33.239.181] Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 Subject: Re: [dpdk-dev] ACL Issue with single field rule and rest with wild card entry 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: Fri, 06 Feb 2015 11:45:28 -0000 Hi Varun, > -----Original Message----- > From: dev [mailto:dev-bounces@dpdk.org] On Behalf Of Rapelly, Varun > Sent: Friday, February 06, 2015 7:25 AM > To: dev@dpdk.org > Subject: [dpdk-dev] ACL Issue with single field rule and rest with wild c= ard entry >=20 > Hi, >=20 > struct ipv6_5tuple { > uint8_t proto; /* Protocol, next header. */ > uint32_t src_addr0; /* IP address of source host. */ > uint32_t src_addr1; /* IP address of source host. */ > uint32_t src_addr2; /* IP address of source host. */ > uint32_t src_addr3; /* IP address of source host. */ > }; >=20 > enum { > PROTO_FIELD_IPV6, > SRC_FIELD0_IPV6, > SRC_FIELD1_IPV6, > SRC_FIELD2_IPV6, > SRC_FIELD3_IPV6, > NUM_FIELDS_IPV6 > }; >=20 >=20 > I'm using the above data to insert in to ACL trie. >=20 > If I'm inserting rules with only different proto fields, [I'm expecting o= thers fields as wild card entries] then the rules are not matching. >=20 > But if I insert one rule with dummy entries [in the attached file line nu= m 118-125], then the above issue is resolved. Hmm, it is strange... I took your source code compiled it, then commented out lines 118-125 and r= ecompiled it. Both binaries produce valid result for me: 1. original code: ACL: Gen phase for ACL "ACL_example": runtime memory footprint on socket -1: single nodes/bytes used: 0/0 quad nodes/vectors/bytes used: 0/0/0 DFA nodes/group64/bytes used: 1/4/4104 match nodes/bytes used: 4/512 total: 6816 bytes max limit: 18446744073709551615 bytes ACL: Build phase for ACL "ACL_example": node limit for tree split: 2048 nodes created: 5 memory consumed: 8388615 ACL: trie 0: number of rules: 4, indexes: 1 rte_acl_classify() returns 0 , res[0]=3D11 2. code with lines 118-125 commented out: ACL: Gen phase for ACL "ACL_example": runtime memory footprint on socket -1: single nodes/bytes used: 0/0 quad nodes/vectors/bytes used: 0/0/0 DFA nodes/group64/bytes used: 1/4/4104 match nodes/bytes used: 3/384 total: 6688 bytes max limit: 18446744073709551615 bytes ACL: Build phase for ACL "ACL_example": node limit for tree split: 2048 nodes created: 4 memory consumed: 8388615 ACL: trie 0: number of rules: 3, indexes: 1 rte_acl_classify() returns 0 , res[0]=3D11 Wonder what results are you getting for both cases? Konstantin >=20 > Please let me know: >=20 >=20 > 1. Can we have rules with only one entry and others as wild card en= tries? >=20 > 2. Is there any other way to match wild card entries in a rule? >=20 > Regards, > Varun