From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga04.intel.com (mga04.intel.com [192.55.52.120]) by dpdk.org (Postfix) with ESMTP id CC0705585 for ; Thu, 22 Sep 2016 04:36:14 +0200 (CEST) Received: from fmsmga005.fm.intel.com ([10.253.24.32]) by fmsmga104.fm.intel.com with ESMTP; 21 Sep 2016 19:36:14 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.30,376,1470726000"; d="scan'208";a="11945704" Received: from yliu-dev.sh.intel.com (HELO yliu-dev) ([10.239.67.162]) by fmsmga005.fm.intel.com with ESMTP; 21 Sep 2016 19:36:13 -0700 Date: Thu, 22 Sep 2016 10:36:50 +0800 From: Yuanhan Liu To: Thomas Monjalon Cc: Ciara Loftus , dev@dpdk.org Message-ID: <20160922023650.GK23158@yliu-dev.sh.intel.com> References: <1473774463-26966-1-git-send-email-ciara.loftus@intel.com> <2149205.E6pxXR7o4C@xps13> <20160918082718.GF23158@yliu-dev.sh.intel.com> <1673736.mOMazzh4h1@xps13> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <1673736.mOMazzh4h1@xps13> User-Agent: Mutt/1.5.23 (2014-03-12) Subject: Re: [dpdk-dev] [PATCH] net/vhost: Add function to retreive the 'vid' for a given port id 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: Thu, 22 Sep 2016 02:36:15 -0000 On Wed, Sep 21, 2016 at 03:07:51PM +0200, Thomas Monjalon wrote: > 2016-09-18 16:27, Yuanhan Liu: > > On Wed, Sep 14, 2016 at 10:35:53AM +0200, Thomas Monjalon wrote: > > > 2016-09-14 15:21, Yuanhan Liu: > > > > On Wed, Sep 14, 2016 at 09:10:48AM +0200, Thomas Monjalon wrote: > > > > > 2016-09-14 12:43, Yuanhan Liu: > > > > > > On Tue, Sep 13, 2016 at 05:10:09PM +0200, Thomas Monjalon wrote: > > > > > > > 2016-09-13 14:47, Ciara Loftus: > > > > > > > > In some cases when using the vHost PMD, certain vHost library functions > > > > > > > > may still need to be accessed. One such example is the > > > > > > > > rte_vhost_get_queue_num function which returns the number of virtqueues > > > > > > > > reported by the guest - information which is not exposed by the PMD. > > > > > > > > > > > > > > > > This commit introduces a new rte_eth_vhost function that returns the > > > > > > > > 'vid' associated with a given port id. This allows the PMD user to call > > > > > > > > vHost library functions which require the 'vid' value. > > > > > > > > > > > > > > I think we should not add any API to the PMDs. > > > > > > > > > > > > In general, I agree with you. > > > > > > > > > > > > > Maybe you are looking for a generic API in ethdev. > > > > > > > > > > > > But maybe it's a bit hard to define a "right" generic API here. For this > > > > > > case, the generic API I can think of could be: > > > > > > > > > > > > - an API to get queue num, like rte_eth_get_queue_enabled_num > > > > > > I barely know NIC pmd drivers, but I doubt it's useful/meaningful for them. > > > > > > > > > > > > - an API to get a PMD driver private (or specific) data. > > > > > > For vhost-pmd, it's vid. Again, I don't know what it could be for other nic > > > > > > drivers. > > > > > > > > > > > > This one may be a better option here, because it expose a key field to > > > > > > the application, vid, with which the application can invoke more vhost > > > > > > APIs. And apparently, it's not feasible to try to define a generic API > > > > > > for some (if not each) vhost APIs. > > > > > > > > > > There could be a similar need in other PMD. > > > > > If we can get an opaque identifier of the device which is not the port id, > > > > > we could call some specific functions of the driver not implemented in > > > > > the generic ethdev API. > > > > > > > > That means you have to add/export the PMD API first. Isn't it against what > > > > you are proposing -- "I think we should not add any API to the PMDs" ;) > > > > > > Yes you are totally right :) > > > Except that in vhost case, we would not have any API in the PMD. > > > But it would allow to have some specific API in other PMDs for the features > > > which do not fit in a generic API. > > > > So, does that mean you are okay with this patch now? I mean, okay to introduce > > a vhost PMD API? > > It means I would be in favor of introducing API in drivers for very specific > features. > In this case, I am not sure that retrieving an internal id is very specific. It's not, instead, it's very generic. The "internal id" is actually the public interface to vhost-user application, like "fd" to file APIs. Instead of introducing a few specific wrappers/APIs, I'd prefer to introduce a generic one to get the handle, and let the application to call other vhost APIs. --yliu