From mboxrd@z Thu Jan 1 00:00:00 1970 From: Thomas Monjalon Subject: Re: [RFC PATCH v2 3/5] librte_ether: add API's for VF management Date: Wed, 28 Sep 2016 16:24:06 +0200 Message-ID: <20512183.qqjUaSiKnu@xps13> References: <1471528125-26357-1-git-send-email-bernard.iremonger@intel.com> <1918603.2PG7Ygo6cR@xps13> <2601191342CEEE43887BDE71AB9772583F0BC11F@irsmsx105.ger.corp.intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7Bit Cc: "Iremonger, Bernard" , "Richardson, Bruce" , dev@dpdk.org, Jerin Jacob , "Shah, Rahul R" , "Lu, Wenzhuo" , azelezniak To: "Ananyev, Konstantin" Return-path: Received: from mail-wm0-f45.google.com (mail-wm0-f45.google.com [74.125.82.45]) by dpdk.org (Postfix) with ESMTP id 2A2E35598 for ; Wed, 28 Sep 2016 16:24:08 +0200 (CEST) Received: by mail-wm0-f45.google.com with SMTP id l132so74141591wmf.1 for ; Wed, 28 Sep 2016 07:24:08 -0700 (PDT) In-Reply-To: <2601191342CEEE43887BDE71AB9772583F0BC11F@irsmsx105.ger.corp.intel.com> List-Id: patches and discussions about DPDK List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" 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 functionality 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 code again? > > > Or would have to create (and maintain) their own shim layer that would 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 > > it, we can imagine that a specific range of hardware is expected. > > Yes, as I understand, it is a specific subset of supported HW (just Inel NICs for now, but different models/drivers). > Obviously users would like to have an ability to run their app on all HW 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 approach? > It is not my favorite thing either, but it seems pretty generic way to handle such situations. We prefer having well-defined functions instead of opaque ioctl-style encoding. 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 for features available on 2 drivers. Right? Example (trying to read your mind): rte_ethdev_ioctl(port_id, ); instead 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.