From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga01.intel.com (mga01.intel.com [192.55.52.88]) by dpdk.org (Postfix) with ESMTP id 644812C8 for ; Mon, 12 Dec 2016 11:20:43 +0100 (CET) Received: from fmsmga002.fm.intel.com ([10.253.24.26]) by fmsmga101.fm.intel.com with ESMTP; 12 Dec 2016 02:20:42 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.33,335,1477983600"; d="scan'208";a="1097958103" Received: from irsmsx101.ger.corp.intel.com ([163.33.3.153]) by fmsmga002.fm.intel.com with ESMTP; 12 Dec 2016 02:20:41 -0800 Received: from irsmsx111.ger.corp.intel.com (10.108.20.4) by IRSMSX101.ger.corp.intel.com (163.33.3.153) with Microsoft SMTP Server (TLS) id 14.3.248.2; Mon, 12 Dec 2016 10:20:19 +0000 Received: from irsmsx102.ger.corp.intel.com ([169.254.2.79]) by irsmsx111.ger.corp.intel.com ([169.254.2.55]) with mapi id 14.03.0248.002; Mon, 12 Dec 2016 10:20:19 +0000 From: "Chandran, Sugesh" To: Adrien Mazarguil CC: Kevin Traynor , "dev@dpdk.org" , "Thomas Monjalon" , "De Lara Guarch, Pablo" , Olivier Matz Thread-Topic: [dpdk-dev] [PATCH 01/22] ethdev: introduce generic flow API Thread-Index: AQHSQCYBGHBxiz6sm06ZxWXdKPvFC6Dx40iAgAD4jACAAmPWAIAGCHSggAMBoQCAAVlR8IAAUg8AgAQ9XrA= Date: Mon, 12 Dec 2016 10:20:18 +0000 Message-ID: <2EF2F5C0CC56984AA024D0B180335FCB13EC4F76@IRSMSX102.ger.corp.intel.com> References: <1c8a8e4fec73ed33836f1da9525b1b8b53048518.1479309720.git.adrien.mazarguil@6wind.com> <59393e58-6c85-d2e5-1aab-a721fe9c933e@redhat.com> <20161201083652.GI10340@6wind.com> <7f65ba09-e6fe-d97a-6ab5-97e84a828a81@redhat.com> <2EF2F5C0CC56984AA024D0B180335FCB13EC330D@IRSMSX102.ger.corp.intel.com> <20161208150908.GJ10340@6wind.com> <2EF2F5C0CC56984AA024D0B180335FCB13EC4696@IRSMSX102.ger.corp.intel.com> <20161209163846.GN10340@6wind.com> In-Reply-To: <20161209163846.GN10340@6wind.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-titus-metadata-40: eyJDYXRlZ29yeUxhYmVscyI6IiIsIk1ldGFkYXRhIjp7Im5zIjoiaHR0cDpcL1wvd3d3LnRpdHVzLmNvbVwvbnNcL0ludGVsMyIsImlkIjoiZmQ0OTkyNzQtMTE0My00MTI1LWEyN2QtNjc5YWUyYjYyZDhkIiwicHJvcHMiOlt7Im4iOiJDVFBDbGFzc2lmaWNhdGlvbiIsInZhbHMiOlt7InZhbHVlIjoiQ1RQX0lDIn1dfV19LCJTdWJqZWN0TGFiZWxzIjpbXSwiVE1DVmVyc2lvbiI6IjE1LjkuNi42IiwiVHJ1c3RlZExhYmVsSGFzaCI6IlwvZXFTT1wvd3FZc3ZDZzJ6b0JSeVRzMVwvNUViYTJ6VTNvbHMxMFhJTmRvdnM9In0= x-ctpclassification: CTP_IC x-originating-ip: [163.33.239.180] Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 Subject: Re: [dpdk-dev] [PATCH 01/22] ethdev: introduce generic flow API 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: Mon, 12 Dec 2016 10:20:44 -0000 Hi Adrien, Regards _Sugesh > -----Original Message----- > From: Adrien Mazarguil [mailto:adrien.mazarguil@6wind.com] > Sent: Friday, December 9, 2016 4:39 PM > To: Chandran, Sugesh > Cc: Kevin Traynor ; dev@dpdk.org; Thomas > Monjalon ; De Lara Guarch, Pablo > ; Olivier Matz ; > sugesh.chandran@intel.comn > Subject: Re: [dpdk-dev] [PATCH 01/22] ethdev: introduce generic flow API >=20 > Hi Sugesh, >=20 > On Fri, Dec 09, 2016 at 12:18:03PM +0000, Chandran, Sugesh wrote: > [...] > > > > Are you going to provide any control over the initialization of > > > > NIC to define the capability matrices For eg; To operate in a L3 > > > > router mode, > > > software wanted to initialize the NIC port only to consider the L2 > > > and L3 fields. > > > > I assume the initialization is done based on the first rules that > > > > are > > > programmed into the NIC.? > > > > > > Precisely, PMDs are supposed to determine the most appropriate > > > device mode to use in order to handle the requested rules. They may > > > even switch to another mode if necessary assuming this does not > > > break existing constraints. > > > > > > I think we've discussed an atomic (commit-based) mode of operation > > > through separate functions as well, where the application would > > > attempt to create a bunch of rules at once, possibly making it > > > easier for PMDs to determine the most appropriate mode of operation > for the device. > > > > > > All of these may be added later according to users feedback once the > > > basic API has settled. > > [Sugesh] Yes , we discussed about this before. However I feel that, it > > make sense to provide some flexibility to the user/application to defin= e a > profile/mode of the device. > > This way the complexity of determining the mode by itself will be taken > away from PMD. > > Looking at the P4 enablement patches in OVS, the mode definition APIs > > can be used in conjunction > > P4 behavioral model. > > For eg: A P4 model for a L2 switch operate OVS as a L2 switch. Using > > the mode definition APIs Its possible to impose the same behavioral mod= el > in the hardware too. > > This way its simple, clean and very predictive though it needs to defin= e an > additional profile_define APIs. > > I am sorry to provide the comment at this stage, However looking at > > the adoption of ebpf, P4 make me to think this way. > > What do you think? >=20 > What you suggest (device profile configuration) would be done by a separa= te > function in any case, so as long as everyone agrees on a generic method t= o > do so, no problem with extending rte_flow. By default in the meantime we'= ll > have to rely on PMDs to make the right decision. [Sugesh] I am fine with PMD is making the decision on profile/mode selectio= n in Default case. However we must provide an option for the application to defi= ne a mode and PMD must honor with it to avoid making an invalid mode change. >=20 > Do you think it has to be defined from the beginning? [Sugesh] I feel it's going to be another big topic to decide how proposed m= ode implementation will be looks like, What should be available modes and etc. So I am OK to consider as its not = part of this flow API definition for now. However its good to mention that in the API comments section to be aware. D= o you agree that? >=20 > -- > Adrien Mazarguil > 6WIND