From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga05.intel.com (mga05.intel.com [192.55.52.43]) by dpdk.org (Postfix) with ESMTP id 63F65558B for ; Wed, 28 Sep 2016 16:31:09 +0200 (CEST) Received: from orsmga005.jf.intel.com ([10.7.209.41]) by fmsmga105.fm.intel.com with ESMTP; 28 Sep 2016 07:31:08 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.30,410,1470726000"; d="scan'208";a="14229615" Received: from irsmsx153.ger.corp.intel.com ([163.33.192.75]) by orsmga005.jf.intel.com with ESMTP; 28 Sep 2016 07:31:07 -0700 Received: from irsmsx105.ger.corp.intel.com ([169.254.7.196]) by IRSMSX153.ger.corp.intel.com ([169.254.9.140]) with mapi id 14.03.0248.002; Wed, 28 Sep 2016 15:30:26 +0100 From: "Ananyev, Konstantin" To: Thomas Monjalon CC: "Iremonger, Bernard" , "Richardson, Bruce" , "dev@dpdk.org" , Jerin Jacob , "Shah, Rahul R" , "Lu, Wenzhuo" , azelezniak Thread-Topic: [dpdk-dev] [RFC PATCH v2 3/5] librte_ether: add API's for VF management Thread-Index: AQHSGKpVm9tR77DkuUamK1Ib3c8+FKCNPGSAgAAUHoCAAXG38IAADQsAgAASjNCAAAQHAIAAEVCA Date: Wed, 28 Sep 2016 14:30:26 +0000 Message-ID: <2601191342CEEE43887BDE71AB9772583F0BC180@irsmsx105.ger.corp.intel.com> References: <1471528125-26357-1-git-send-email-bernard.iremonger@intel.com> <1918603.2PG7Ygo6cR@xps13> <2601191342CEEE43887BDE71AB9772583F0BC11F@irsmsx105.ger.corp.intel.com> <20512183.qqjUaSiKnu@xps13> In-Reply-To: <20512183.qqjUaSiKnu@xps13> Accept-Language: en-IE, en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: 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] [RFC PATCH v2 3/5] librte_ether: add API's for VF management 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: Wed, 28 Sep 2016 14:31:10 -0000 > -----Original Message----- > From: Thomas Monjalon [mailto:thomas.monjalon@6wind.com] > Sent: Wednesday, September 28, 2016 3:24 PM > To: Ananyev, Konstantin > Cc: Iremonger, Bernard ; Richardson, Bruce <= bruce.richardson@intel.com>; dev@dpdk.org; Jerin > Jacob ; Shah, Rahul R ; Lu, Wenzhuo ; > azelezniak > Subject: Re: [dpdk-dev] [RFC PATCH v2 3/5] librte_ether: add API's for VF= management >=20 > 2016-09-28 13:26, Ananyev, Konstantin: > > From: Thomas Monjalon [mailto:thomas.monjalon@6wind.com] > > > 2016-09-28 11:23, Ananyev, Konstantin: > > > > If we this way (force user to include driver specific headers and > > > > call driver specific functions), how you guys plan to make this fun= ctionality available for multiple driver types. > > > > > > Multiple drivers won't have exactly the same specific features. > > > But yes, there are some things common to several Intel NICs. > > > > > > > From discussion with Bernard understand that customers would need = similar functionality for i40e. > > > > Does it mean that they'll have to re-implement this part of their c= ode again? > > > > Or would have to create (and maintain) their own shim layer that wo= uld provide some s of abstraction? > > > > Basically their own version of rte_ethdev? > > > > > > No definitive answer. > > > But we can argue the contrary: how to handle a generic API which is > > > implemented only in 1 or 2 drivers? If the application tries to use i= t, we can imagine that a specific range of hardware is expected. > > > > Yes, as I understand, it is a specific subset of supported HW (just Ine= l NICs for now, but different models/drivers). > > Obviously users would like to have an ability to run their app on all H= W from this subset without rebuilding/implementing the app. > > > > > > > > I think it is an important question. > > > Previously we had the issue of having some API which are too > > > specific and need a rework to be used with other NICs. In order to > > > avoid such rework and API break, we can try to make them available in= a driver-specific or vendor-specific staging area, waiting for > a later generalization. > > > > Could you remind me why you guys were that opposed to ioctl style appro= ach? > > It is not my favorite thing either, but it seems pretty generic way to = handle such situations. >=20 > We prefer having well-defined functions instead of opaque ioctl-style enc= oding. > And it was not clear what is the benefit of ioctl. > Now I think I understand you would like to have a common ioctl service fo= r features available on 2 drivers. Right? Yes. > Example (trying to read your mind): > rte_ethdev_ioctl(port_id, ); ins= tead of > rte_pmd_ixgbe_vf_ping(port_id, vf_id); > rte_pmd_i40e_vf_ping(port_id, vf_id); > Please confirm I understand what you are thinking about. Yep, you read my mind correctly :) Konstantin