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 41BC6968 for ; Mon, 26 Jun 2017 13:39:14 +0200 (CEST) Received: from orsmga001.jf.intel.com ([10.7.209.18]) by fmsmga104.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 26 Jun 2017 04:39:13 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.39,395,1493708400"; d="scan'208";a="1144901797" Received: from bricha3-mobl3.ger.corp.intel.com ([10.237.221.28]) by orsmga001.jf.intel.com with SMTP; 26 Jun 2017 04:39:10 -0700 Received: by (sSMTP sendmail emulation); Mon, 26 Jun 2017 12:39:09 +0100 Date: Mon, 26 Jun 2017 12:39:09 +0100 From: Bruce Richardson To: Ferruh Yigit Cc: dev@dpdk.org, anatoly.burakov@intel.com Message-ID: <20170626113909.GD102672@bricha3-MOBL3.ger.corp.intel.com> References: <20170526165228.96919-1-ferruh.yigit@intel.com> <20170621110651.75299-1-ferruh.yigit@intel.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20170621110651.75299-1-ferruh.yigit@intel.com> Organization: Intel Research and =?iso-8859-1?Q?De=ACvel?= =?iso-8859-1?Q?opment?= Ireland Ltd. User-Agent: Mutt/1.8.1 (2017-04-11) Subject: Re: [dpdk-dev] [PATCH v8 0/4] Userspace Network Control Interface (UNCI) X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 26 Jun 2017 11:39:14 -0000 On Wed, Jun 21, 2017 at 12:06:47PM +0100, Ferruh Yigit wrote: > Userspace Network Control Interface (UNCI), (formerly KCP). > > When a NIC bound to the DPDK, it can't be controlled by Linux tools. > > This patch creates a virtual network interface for each DPDK port, > initial target is to get some data from those interfaces, in next > step target is to control DPDK ports using virtual interfaces. > I've tried out this set to see how it goes, and apart from a few compile/link errors with individual patches which I've flagged, I think the result is great. Running testpmd and seeing the dpdk interfaces listed in "ifconfig" for example, is a great improvement for usability. Let's hope we can get this into DPDK as soon as possible. Some thoughts about the patchset: 1. Do we really need to use a whole new library for the ethtool functions? Can the UNCI userspace code not just call into ethdev directly without going through another library? 2. Right now the interfaces are only created on application start, but are not removed on app close. My first thought is that we should correct his imbalance, but perhaps it might be better to always have the interfaces displayed even before/after an app has run. We obviously need some way of detecting if a process is controlling the ports or not, but I'm hopeful that should be doable without too much work. 3. From a patchset split point of view, could this set be split up to be a bit more granular. There are a lot of functions to be performed on NICs called out in the code, e.g. start/stop, get stats, etc. etc. To make review easier, should we initially add the kernel module and userspace parts with just one function supported, and then add in each additional function in a new patchset, so that we can clearly see the code for each function isolated from the rest. This is the approach - adding feature by feature - that is recommended for NIC drivers, and it might make sense here too. Otherwise, great work. I think this is a huge improvement in usability for DPDK, especially if we add in future support for controlling DPDK interfaces in a (not interfering with the app) safe manner too. /Bruce