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 D20FD1B1CC for ; Wed, 10 Jan 2018 14:47:01 +0100 (CET) X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from fmsmga005.fm.intel.com ([10.253.24.32]) by fmsmga104.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 10 Jan 2018 05:47:00 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.46,340,1511856000"; d="scan'208";a="193732915" Received: from dwdohert-mobl.ger.corp.intel.com (HELO [163.33.228.176]) ([163.33.228.176]) by fmsmga005.fm.intel.com with ESMTP; 10 Jan 2018 05:46:59 -0800 To: Thomas Monjalon , Remy Horton , Mohammad Abdul Awal Cc: dev@dpdk.org, John McNamara , Wenzhuo Lu , Jingjing Wu , Alejandro Lucero , vincent.jardin@6wind.com References: <20180108143720.7994-1-remy.horton@intel.com> <2463277.U5nOFtZCo4@xps> From: "Doherty, Declan" Message-ID: Date: Wed, 10 Jan 2018 13:46:58 +0000 User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:52.0) Gecko/20100101 Thunderbird/52.5.2 MIME-Version: 1.0 In-Reply-To: <2463277.U5nOFtZCo4@xps> Content-Type: text/plain; charset=utf-8; format=flowed Content-Language: en-US Content-Transfer-Encoding: 7bit Subject: Re: [dpdk-dev] [PATCH v4 0/5] lib: add Port Representors 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: Wed, 10 Jan 2018 13:47:02 -0000 On 09/01/2018 11:22 PM, Thomas Monjalon wrote: > Hi, > > 08/01/2018 15:37, Remy Horton: >> Port Representors provide a logical presentation in DPDK of VF (virtual >> function) ports for the purposes of control and monitoring. Each port >> representor device represents a single VF and is associated with it's >> parent physical function (PF) PMD which provides the back-end hooks for >> the representor device ops and defines the control domain to which that >> port belongs. This allows to use existing DPDK APIs to monitor and control >> the port without the need to create and maintain VF specific APIs. > > Extending control plane ability of DPDK has been discussed > multiple times. It has, and I have yet to see a really strong reason as to why we would not support control plane functions within DPDK, many of which are already support today implicitly anyway through our ethdev APIs. > The current agreed policy is: > " > The primary goal of DPDK is to provide a userspace dataplane. > Managing VFs from a PF driver is a control plane feature and developers > should generally rely on the Linux Kernel for that. > " > http://dpdk.org/doc/guides/contributing/design.html#pf-and-vf-considerations > My understanding is that this particular entry was based around the discussion on the divergence of functionality between the Linux kernel PF driver and the DPDK PF driver. I also don't really think the above statement is valid as a blanket statement for the project as it makes the assumption that DPDK is only deployed on Linux hosts, what about FreeBSD? or in the future Windows? A number of presentations at both Userspace in Dublin and the Summit in San Jose discussed the support of control plane functionality by DPDK and there wasn't any strong arguments or opposition against using DPDK for control plane functions that I saw. In any case this patchset is not introducing any new control plane APIs that don't already exist within DPDK today, it only enables the creation of a new type of virtual PMDs which are linked to the same base infrastructure and which can be used to represent VFs in a control plane application as we have implemented in this patch set. > If we relax this policy, I think the representor solution should be > a real port, not only "for the purposes of control and monitoring". > It has been asked several times as replies to this series, > but it is kindly ignored, saying it will be thought later. > I think we have stated in multiple discussions, especially during the userspace presentation back in September that this solution supports data path on the representors PMDs, and we have used the infrastructure proposed here to do exactly what you are asking. As the representor infrastructure doesn't preclude the support of a data path, we have used it as it is presented here to implement a data path for exception path packets for a prototype vswitch offload implementation. > I don't see a general agreement on this series so far. > I think the main issue of contention is that there is a misunderstanding that this implementation only supports control plane management and monitoring, but that is not the case and it can be used for full data path representors, with limited or no control plane functionality if required, at the end of the day the only limitations are based on what is implemented by the backend base driver were the broker is running for the representor ports.