From mboxrd@z Thu Jan  1 00:00:00 1970
Return-Path: <thomas.monjalon@6wind.com>
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 <dev@dpdk.org>; Wed, 28 Sep 2016 16:24:08 +0200 (CEST)
Received: by mail-wm0-f45.google.com with SMTP id l132so74141591wmf.1
 for <dev@dpdk.org>; Wed, 28 Sep 2016 07:24:08 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=6wind-com.20150623.gappssmtp.com; s=20150623;
 h=from:to:cc:subject:date:message-id:user-agent:in-reply-to
 :references:mime-version:content-transfer-encoding;
 bh=VUn6pNcwOC0hX7wbOjs6bD+/MTRYAL3aXbEXQCMTzP8=;
 b=WRUQI/8T/LKKBcFUDv27vFAlirH+oaRaw7BfTUEqLIcjtsQlx9NVG7RIux+FSFqw60
 fbtAfU1kBW+39foeuG0zG4cgWS/DI+fblyL0q1VRbOTDr7gvGwHu0my+d+2RmS8mBK55
 Bhyhs34F4RsS1vUHe1FrN4m6mfpg6HvOo6oG/YH15fvax7tR3TwRY1yVPB+/55ShOQDF
 5NwchiYcE2uYcXNhGsB2irJJaOoGcIJXyqyVYq2NB1DwOhxBa87wkkZ1fgN+NQsHR+4q
 PpTnVjxRUbsUo5wky4cKdBUabPtP1HbWeVhAY6pELXuH4UwGL0fZ5QZxETmIcxIJ+9uB
 g/8A==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20130820;
 h=x-gm-message-state:from:to:cc:subject:date:message-id:user-agent
 :in-reply-to:references:mime-version:content-transfer-encoding;
 bh=VUn6pNcwOC0hX7wbOjs6bD+/MTRYAL3aXbEXQCMTzP8=;
 b=Kw+yAv79QSngc4WqoSbIpdmc+SF/yogAJ2x2g7IozE8xJ/XvTpGhQ3USIYLtUxJuSP
 tLTQYQNDY5mYnFctuB3bAxfzgcjT7cAVbuk95SUzqBAjwyEXOmLOPr4JXtWB7SQhxx4u
 /TT80t3qRkJi73hZSko3T2+psTWoguTfdKU618sJyH3BjpkAZaro5Ry+bnBxxj1icfBE
 JKSTjtfl4jCyN1Pmux2we7tPT/TUKXGs+jmlqTbxE7ML8zBY3ZhGHCT/8EH8vEMVSEG0
 +c2MbxCKpGeTjHMTuFninF9rBSz+6iBjGw9tGg0hwC4rEsCQEP4T+3wfZ5HtjNmapUlu
 HrEg==
X-Gm-Message-State: AA6/9Rmb426nmvAgXDEfD+y2oT6Ra1FQumIeC5EKmU1ERIuGMMr8ht7jwGPh3kFkGwex1OPQ
X-Received: by 10.194.124.168 with SMTP id mj8mr8235748wjb.50.1475072647856;
 Wed, 28 Sep 2016 07:24:07 -0700 (PDT)
Received: from xps13.localnet (184.203.134.77.rev.sfr.net. [77.134.203.184])
 by smtp.gmail.com with ESMTPSA id w9sm8597091wjf.47.2016.09.28.07.24.06
 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128);
 Wed, 28 Sep 2016 07:24:07 -0700 (PDT)
From: Thomas Monjalon <thomas.monjalon@6wind.com>
To: "Ananyev, Konstantin" <konstantin.ananyev@intel.com>
Cc: "Iremonger, Bernard" <bernard.iremonger@intel.com>, "Richardson,
 Bruce" <bruce.richardson@intel.com>, dev@dpdk.org,
 Jerin Jacob <jerin.jacob@caviumnetworks.com>, "Shah,
 Rahul R" <rahul.r.shah@intel.com>, "Lu, Wenzhuo" <wenzhuo.lu@intel.com>,
 azelezniak <alexz@att.com>
Date: Wed, 28 Sep 2016 16:24:06 +0200
Message-ID: <20512183.qqjUaSiKnu@xps13>
User-Agent: KMail/4.14.10 (Linux/4.5.4-1-ARCH; KDE/4.14.11; x86_64; ; )
In-Reply-To: <2601191342CEEE43887BDE71AB9772583F0BC11F@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>
MIME-Version: 1.0
Content-Transfer-Encoding: 7Bit
Content-Type: text/plain; charset="us-ascii"
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 <dev.dpdk.org>
List-Unsubscribe: <http://dpdk.org/ml/options/dev>,
 <mailto:dev-request@dpdk.org?subject=unsubscribe>
List-Archive: <http://dpdk.org/ml/archives/dev/>
List-Post: <mailto:dev@dpdk.org>
List-Help: <mailto:dev-request@dpdk.org?subject=help>
List-Subscribe: <http://dpdk.org/ml/listinfo/dev>,
 <mailto:dev-request@dpdk.org?subject=subscribe>
X-List-Received-Date: Wed, 28 Sep 2016 14:24:08 -0000

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, <TLV encoding VF_PING service and VF 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.