From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga06.intel.com (mga06.intel.com [134.134.136.31]) by dpdk.org (Postfix) with ESMTP id 632E758C5 for ; Fri, 23 Sep 2016 06:26:16 +0200 (CEST) Received: from fmsmga003.fm.intel.com ([10.253.24.29]) by orsmga104.jf.intel.com with ESMTP; 22 Sep 2016 21:26:15 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.30,380,1470726000"; d="scan'208";a="764699291" Received: from yliu-dev.sh.intel.com (HELO yliu-dev) ([10.239.67.162]) by FMSMGA003.fm.intel.com with ESMTP; 22 Sep 2016 21:26:14 -0700 Date: Fri, 23 Sep 2016 12:26:41 +0800 From: Yuanhan Liu To: Thomas Monjalon Cc: Ciara Loftus , dev@dpdk.org, "Wiles, Keith" Message-ID: <20160923042641.GP23158@yliu-dev.sh.intel.com> References: <1473774463-26966-1-git-send-email-ciara.loftus@intel.com> <1673736.mOMazzh4h1@xps13> <20160922023650.GK23158@yliu-dev.sh.intel.com> <3895093.sl81aq1Okb@xps13> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <3895093.sl81aq1Okb@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: Fri, 23 Sep 2016 04:26:16 -0000 On Thu, Sep 22, 2016 at 06:43:55PM +0200, Thomas Monjalon wrote: > > > > > > > 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. > > Yes it makes sense. > I was thinking of introducing a function to get an internal id from ethdev, > in order to use it with any driver or underlying library. > But it would be an opaque pointer and you need an int. > Note that we can cast an int into a pointer, so I am not sure what is best. Yes, that should work. But I just doubt what the "opaque pointer" could be for other PMD drivers, and what the application could do with it. For a typical nic PMD driver, I can think of nothing is valuable to export to user applications. But maybe it's valuable to other virtual PMD drives as well, like the TAP pmd from Keith? If so, we may go that way. Another thought is that, it may be a bit weird to me to introduce an API to get an opaque pointer. I mean, it's a bit hard to document it, because it has different meaning for different drivers. Should we list all of them then? --yliu