From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from dpdk.org (dpdk.org [92.243.14.124]) by inbox.dpdk.org (Postfix) with ESMTP id 471CBA0576; Sun, 15 Mar 2020 02:50:07 +0100 (CET) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 63E461BF97; Sun, 15 Mar 2020 02:50:06 +0100 (CET) Received: from mga03.intel.com (mga03.intel.com [134.134.136.65]) by dpdk.org (Postfix) with ESMTP id 4B2972BE3 for ; Sun, 15 Mar 2020 02:50:04 +0100 (CET) IronPort-SDR: o+ynLKi6/66PtJCjMaLpQeYIR9r0f1ytTQ/dkn+TgkM+m7xAjQc4AOYy2Y4zmy9Sc2xwTa0xqk xieMCaCQV89Q== X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from fmsmga005.fm.intel.com ([10.253.24.32]) by orsmga103.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 14 Mar 2020 18:50:03 -0700 IronPort-SDR: ydhkw+lHu5NGf644bPm5KZ5VJIanUR7JB1CCBhSPPtoaLRtV/kWUBRgHxktkJkqBAPB75v+fcs fTZk74BhS5gw== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.70,554,1574150400"; d="scan'208";a="442865946" Received: from fmsmsx106.amr.corp.intel.com ([10.18.124.204]) by fmsmga005.fm.intel.com with ESMTP; 14 Mar 2020 18:50:02 -0700 Received: from fmsmsx608.amr.corp.intel.com (10.18.126.88) by FMSMSX106.amr.corp.intel.com (10.18.124.204) with Microsoft SMTP Server (TLS) id 14.3.439.0; Sat, 14 Mar 2020 18:50:02 -0700 Received: from fmsmsx608.amr.corp.intel.com (10.18.126.88) by fmsmsx608.amr.corp.intel.com (10.18.126.88) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.1713.5; Sat, 14 Mar 2020 18:50:02 -0700 Received: from shsmsx101.ccr.corp.intel.com (10.239.4.153) by fmsmsx608.amr.corp.intel.com (10.18.126.88) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256) id 15.1.1713.5 via Frontend Transport; Sat, 14 Mar 2020 18:50:01 -0700 Received: from shsmsx103.ccr.corp.intel.com ([169.254.4.137]) by SHSMSX101.ccr.corp.intel.com ([169.254.1.43]) with mapi id 14.03.0439.000; Sun, 15 Mar 2020 09:49:58 +0800 From: "Zhang, Qi Z" To: "Stillwell Jr, Paul M" , "Wang, Haiyue" , "dev@dpdk.org" , "Ye, Xiaolong" , "Yang, Qiming" , "Xing, Beilei" CC: "Zhao1, Wei" , "Wang, Haiyue" , "Liang, Cunming" , "Wu, Jingjing" Thread-Topic: [dpdk-dev] [PATCH v2 0/7] add Intel DCF PMD support Thread-Index: AQHV9qlI9S2vx+vS2Ua+WjhQ5S05AqhGMsmAgAKr2TA= Date: Sun, 15 Mar 2020 01:49:58 +0000 Message-ID: <039ED4275CED7440929022BC67E70611547E0B06@SHSMSX103.ccr.corp.intel.com> References: <20200309141437.11800-1-haiyue.wang@intel.com> <20200310065029.40966-1-haiyue.wang@intel.com> In-Reply-To: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: dlp-product: dlpe-windows dlp-version: 11.2.0.6 dlp-reaction: no-action x-originating-ip: [10.239.127.40] Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 Subject: Re: [dpdk-dev] [PATCH v2 0/7] add Intel DCF PMD support 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: , Errors-To: dev-bounces@dpdk.org Sender: "dev" Hi Paul: > -----Original Message----- > From: Stillwell Jr, Paul M > Sent: Saturday, March 14, 2020 12:19 AM > To: Wang, Haiyue ; dev@dpdk.org; Ye, Xiaolong > ; Zhang, Qi Z ; Yang, Qiming > ; Xing, Beilei > Cc: Zhao1, Wei ; Wang, Haiyue > > Subject: RE: [dpdk-dev] [PATCH v2 0/7] add Intel DCF PMD support >=20 > I'm confused. Shouldn't the DCF be a separate driver since it is a VF, no= t part > of a PF? You are starting to combine PF/VF code and I'm not sure if that = is > the correct way to go. >From DPDK's view, DCF is NOT a VF driver, actually it behaves like a PF dri= ver with control path only and it share most exist PF driver's API implemen= tation ,=20 That's why we combined it with exist PF driver, so when the module driver/n= et/ice is compiled into a library, it can be probed as a PF driver or DCF b= ase on device ID at runtime.=20 And the is not special in DPDK, for example, the module in driver/net/i40e = can be probed as i40e pf driver or i40e vf driver. DCF take SR-IOV's mailbox as a message channel to communicate with the back= end kernel driver, so iavf virtual channel is reused here, so we also need = to link iavf share code. And I agree, its always better if we can separate 2 different things while = decouple all the common code into a share library to avoid duplicate code c= opy (just like we did on iavf share code) But in this case, a lot of code refectory is required , so far we just take= the simple way, we may improve this in future.=20 =20 Thanks Qi >=20 > Paul >=20 > > -----Original Message----- > > From: dev On Behalf Of Haiyue Wang > > Sent: Monday, March 9, 2020 11:50 PM > > To: dev@dpdk.org; Ye, Xiaolong ; Zhang, Qi Z > > ; Yang, Qiming ; Xing, > > Beilei > > Cc: Zhao1, Wei ; Wang, Haiyue > > > > Subject: [dpdk-dev] [PATCH v2 0/7] add Intel DCF PMD support > > > > A DCF (Device Config Function) based approach is proposed where a > > device bound to the device's VF0 can act as a sole controlling entity > > to exercise advance functionality (such as switch, ACL) for rest of the= VFs. > > > > The DCF works as a standalone PMD to support this function, which > > shares the ice PMD flow control core function and the iavf virtchnl > > mailbox core module. > > > > This patchset is based on: > > [1] https://patchwork.dpdk.org/cover/66417/ : update ice base code [2] > > https://patchwork.dpdk.org/cover/66472/ : iavf share code update > > > > Depends-on: series-8843 > > Depends-on: series-8855 > > > > v2: > > 1. update the iavf patchset link. > > 2. split more patches for making this work be more understandable > > 3. fix the log function usage, devargs checking from v1. > > > > Haiyue Wang (7): > > net/iavf: stop the PCI probe in DCF mode > > net/ice: add the DCF hardware initialization > > net/ice: initiate to acquire the DCF capability > > net/ice: handle the AdminQ command by DCF > > net/ice: export the DDP definition symbols > > net/ice: handle the PF initialization by DCF > > net/ice: get the VF hardware index in DCF > > > > doc/guides/nics/ice.rst | 47 ++ > > doc/guides/nics/img/ice_dcf.png | Bin 0 -> 39168 bytes > > doc/guides/rel_notes/release_20_05.rst | 5 + > > drivers/common/Makefile | 1 + > > drivers/net/iavf/iavf_ethdev.c | 43 ++ > > drivers/net/ice/Makefile | 6 + > > drivers/net/ice/ice_dcf.c | 651 > +++++++++++++++++++++++++ > > drivers/net/ice/ice_dcf.h | 61 +++ > > drivers/net/ice/ice_dcf_ethdev.c | 321 ++++++++++++ > > drivers/net/ice/ice_dcf_ethdev.h | 33 ++ > > drivers/net/ice/ice_dcf_parent.c | 344 +++++++++++++ > > drivers/net/ice/ice_ethdev.c | 9 +- > > drivers/net/ice/ice_ethdev.h | 8 + > > drivers/net/ice/meson.build | 8 +- > > mk/rte.app.mk | 1 + > > 15 files changed, 1528 insertions(+), 10 deletions(-) create mode > > 100644 doc/guides/nics/img/ice_dcf.png create mode 100644 > > drivers/net/ice/ice_dcf.c create mode 100644 > > drivers/net/ice/ice_dcf.h create mode 100644 > > drivers/net/ice/ice_dcf_ethdev.c create mode 100644 > > drivers/net/ice/ice_dcf_ethdev.h create mode 100644 > > drivers/net/ice/ice_dcf_parent.c > > > > -- > > 2.25.1 >=20