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 A384E374E for ; Mon, 20 Feb 2017 09:37:03 +0100 (CET) Received: from orsmga005.jf.intel.com ([10.7.209.41]) by orsmga104.jf.intel.com with ESMTP; 20 Feb 2017 00:37:02 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.35,185,1484035200"; d="scan'208";a="66784907" Received: from kmsmsx152.gar.corp.intel.com ([172.21.73.87]) by orsmga005.jf.intel.com with ESMTP; 20 Feb 2017 00:37:01 -0800 Received: from pgsmsx108.gar.corp.intel.com ([169.254.8.60]) by KMSMSX152.gar.corp.intel.com ([169.254.11.37]) with mapi id 14.03.0248.002; Mon, 20 Feb 2017 16:37:00 +0800 From: "Choi, Sy Jong" To: "spp@dpdk.org" Thread-Topic: SPP PCIe hotplug changes for SPP Thread-Index: AdKLVBzvN+mkyAnqRFmtH61ikylTFA== Date: Mon, 20 Feb 2017 08:37:00 +0000 Message-ID: <697F8B1B48670548A5BAB03E8283550F36A210E7@PGSMSX108.gar.corp.intel.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: dlp-product: dlpe-windows dlp-version: 10.0.102.7 dlp-reaction: no-action x-originating-ip: [172.30.20.206] Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 Subject: [spp] SPP PCIe hotplug changes for SPP X-BeenThere: spp@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: Soft Patch Panel List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 20 Feb 2017 08:37:04 -0000 Hi Everyone, New Architecture for SPP to support PCIe hotplug. Based on DPDK testpmd here are the steps you need to perform PCIe hotplug 1) Detaching : port stop, port close and then port detach 2) Attaching : port attach and then port start In order to support PCI hotplug, we need to follow DPDK. And here are a few= limitation with SPP primary secondary configuration:- Limitation 1:- Port information created by primary, hotplug changes port information. So a= ttach and detaching at primary, will not update port information on seconda= ry process. - Now primary will attaching and detaching the port, because primary owns t= he port=20 - We need to put in place some rediscovery in secondary processes. Limitation 2: To update the port information on the secondary process, it require to us t= o reinit dpdk eal, which dpdk eal init can only be executed once. - Multi thread will not solve the problem. - We will use fork, so we separated the communication part and the datapath= part. The new spp primary will attach/detach port, secondary will reinit to redis= cover port changes. +----+----------+-------------------------------------------------+ =20 | | SPP NFV | | =20 | +----------+ +--------------+ fork +--------------+ | =20 | | Parent | | Child | | =20 | | Comm - spp.py| | dpdk | |=20 | | Commands | | init | | =20 | | share mem to | | fwd | | | | control child| | | | +-------------------+--------------+-----------+--------------+---+ Code changes will be posted in the following emails. Regards, Choi, Sy Jong Platform Application Engineer