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 A2B6A2901 for ; Fri, 19 May 2017 18:30:52 +0200 (CEST) Received: from orsmga004.jf.intel.com ([10.7.209.38]) by orsmga102.jf.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 19 May 2017 09:30:51 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.38,364,1491289200"; d="scan'208";a="89543886" Received: from irsmsx104.ger.corp.intel.com ([163.33.3.159]) by orsmga004.jf.intel.com with ESMTP; 19 May 2017 09:30:50 -0700 Received: from irsmsx108.ger.corp.intel.com ([169.254.11.239]) by IRSMSX104.ger.corp.intel.com ([163.33.3.159]) with mapi id 14.03.0319.002; Fri, 19 May 2017 17:30:49 +0100 From: "Iremonger, Bernard" To: "Yigit, Ferruh" , "dev@dpdk.org" CC: "Yigit, Ferruh" , "Mcnamara, John" , "Tahhan, Maryam" Thread-Topic: [dpdk-dev] [RFC v2] Flow classification library Thread-Index: AQHS0AJeZoCqI0mR7U6n1w5ZQ/dq4KH72VWw Date: Fri, 19 May 2017 16:30:49 +0000 Message-ID: <8CEF83825BEC744B83065625E567D7C224D5F20E@IRSMSX108.ger.corp.intel.com> References: <20170420185448.19162-1-ferruh.yigit@intel.com> <20170518181203.15244-1-ferruh.yigit@intel.com> In-Reply-To: <20170518181203.15244-1-ferruh.yigit@intel.com> Accept-Language: en-GB, en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-titus-metadata-40: eyJDYXRlZ29yeUxhYmVscyI6IiIsIk1ldGFkYXRhIjp7Im5zIjoiaHR0cDpcL1wvd3d3LnRpdHVzLmNvbVwvbnNcL0ludGVsMyIsImlkIjoiYzMxMDgzZGQtNGNkMi00OGZjLTgxOWUtMjI5NDI2MjdlOGJkIiwicHJvcHMiOlt7Im4iOiJDVFBDbGFzc2lmaWNhdGlvbiIsInZhbHMiOlt7InZhbHVlIjoiQ1RQX0lDIn1dfV19LCJTdWJqZWN0TGFiZWxzIjpbXSwiVE1DVmVyc2lvbiI6IjE2LjUuOS4zIiwiVHJ1c3RlZExhYmVsSGFzaCI6ImgyTUtFck9xUHRDKzA3QkV2aWtrWjYybTJwQlpFaGR6VHpzTGk5U2JacUk9In0= x-ctpclassification: CTP_IC dlp-product: dlpe-windows dlp-version: 10.0.102.7 dlp-reaction: no-action x-originating-ip: [163.33.239.182] Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 Subject: Re: [dpdk-dev] [RFC v2] Flow classification library X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 19 May 2017 16:30:53 -0000 Hi Ferruh, > -----Original Message----- > From: dev [mailto:dev-bounces@dpdk.org] On Behalf Of Ferruh Yigit > Sent: Thursday, May 18, 2017 7:12 PM > To: dev@dpdk.org > Cc: Yigit, Ferruh ; Mcnamara, John > ; Tahhan, Maryam > > Subject: [dpdk-dev] [RFC v2] Flow classification library >=20 > DPDK works with packets, but some network administration tools works > based on flow information. >=20 > This library is suggested to provide helper API to convert packet based > information to the flow records. >=20 > Basically the library consist of a single API that gets packets, flow def= inition > and action as parameter and provides flow stats based on action. Applicat= ion > should call the API for all received packets. >=20 > Library header file has more comments on how library works and provided > APIs. >=20 > Packets to flow conversion will cause performance drop, that is why > conversion done on demand by an API call provided by this library. >=20 > Initial implementation in mind is to provide support for IPFIX metering > process but library planned to be as generic as possible. And flow inform= ation > provided by this library is missing to implement full IPFIX features, but= this is > planned to be initial step. >=20 > Flows are defined using rte_flow, also measurements (actions) are provide= d > by rte_flow. To support more IPFIX measurements, the implementation may > require extending rte_flow addition to implementing this library. Do you know what extensions are needed to the rte_flow code? >=20 > Since both flows and action defined by rte_flow, it is possible to consid= er this > library as rte_flow software fallback. >=20 > And in case the underlying hardware supports the provided flow and action= , > in implementation details this library may prefer to use hardware support= to > get the requested stats, for the actions that are not supported by hardwa= re > this library will implement the ways to get the stats. >=20 > It will be more beneficial to shape this library to cover more use cases,= please > feel free to comment on possible other use case and desired functionaliti= es. >=20 >=20 > Changes to previous version of the RFC: > v2: > * library uses rte_flow to define flows and action. > * no more callbacks used, user should call API in poll mode for flow stat= s. > * library no more maintain any flow data, all flow related stats returned > by API call and forgotten. >=20 > Thanks, > ferruh >=20 > cc: John McNamara > cc: Maryam Tahhan >=20 > Ferruh Yigit (1): > flow_classify: add librte_flow_classify library >=20 > config/common_base | 5 + > doc/api/doxy-api-index.md | 1 + > doc/api/doxy-api.conf | 1 + > doc/guides/rel_notes/release_17_08.rst | 1 + > lib/Makefile | 2 + > lib/librte_flow_classify/Makefile | 50 ++++++++ > lib/librte_flow_classify/rte_flow_classify.c | 72 ++++++++++++ > lib/librte_flow_classify/rte_flow_classify.h | 129 > +++++++++++++++++++++ > .../rte_flow_classify_version.map | 7 ++ > mk/rte.app.mk | 1 + > 10 files changed, 269 insertions(+) > create mode 100644 lib/librte_flow_classify/Makefile create mode 100644 > lib/librte_flow_classify/rte_flow_classify.c > create mode 100644 lib/librte_flow_classify/rte_flow_classify.h > create mode 100644 lib/librte_flow_classify/rte_flow_classify_version.ma= p >=20 > -- > 2.9.3