From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga17.intel.com (mga17.intel.com [192.55.52.151]) by dpdk.org (Postfix) with ESMTP id EAA835F72 for ; Wed, 21 Mar 2018 05:47:22 +0100 (CET) X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from fmsmga002.fm.intel.com ([10.253.24.26]) by fmsmga107.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 20 Mar 2018 21:47:22 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.48,338,1517904000"; d="scan'208";a="29854659" Received: from dpdk-xiao-1.sh.intel.com ([10.67.110.153]) by fmsmga002.fm.intel.com with ESMTP; 20 Mar 2018 21:47:20 -0700 From: Xiao Wang To: maxime.coquelin@redhat.com, yliu@fridaylinux.org Cc: dev@dpdk.org, zhihong.wang@intel.com, tiwei.bie@intel.com, junjie.j.chen@intel.com, rosen.xu@intel.com, dan.daly@intel.com, cunming.liang@intel.com, anatoly.burakov@intel.com, gaetan.rivet@6wind.com, Xiao Wang Date: Wed, 21 Mar 2018 21:21:05 +0800 Message-Id: <20180321132108.52464-1-xiao.w.wang@intel.com> X-Mailer: git-send-email 2.15.1 In-Reply-To: <20180309230809.63361-3-xiao.w.wang@intel.com> References: <20180309230809.63361-3-xiao.w.wang@intel.com> Subject: [dpdk-dev] [PATCH v2 0/3] add ifcvf driver 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, 21 Mar 2018 04:47:23 -0000 This patch set has dependency on http://dpdk.org/dev/patchwork/patch/36241/ (vhost: support selective datapath); ifc VF is virtio vring compatible device, it can be used to accelerate vhost data path. This patch implements vDPA driver ops which configures ifc VF to be a vhost data path accelerator. ifcvf driver uses vdev as a control domain to manage ifc VFs that belong to it. It registers vDPA device ops to vhost lib to enable these VFs to be used as vhost data path accelerator. Live migration feature is supported by ifc VF and this driver enables it based on vhost lib. vDPA needs to create different containers for different devices, thus this patch set adds some APIs in eal/vfio to support multiple container, e.g. - rte_vfio_create_container - rte_vfio_destroy_container - rte_vfio_bind_group_no - rte_vfio_unbind_group_no By this extension, a device can be put into a new specific container, rather than the previous default container. v2: - Rename function pci_get_kernel_driver_by_path to rte_pci_device_kdriver_name to make the API generic cross Linux and BSD, make it as EXPERIMENTAL. - Rebase on Zhihong's vDPA v3 patch set. - Minor code cleanup on vfio extension. Junjie Chen (1): eal/vfio: add support for multiple container Xiao Wang (2): bus/pci: expose sysfs parsing API net/ifcvf: add ifcvf driver config/common_base | 6 + config/common_linuxapp | 1 + drivers/bus/pci/Makefile | 2 + drivers/bus/pci/bsd/pci.c | 14 + drivers/bus/pci/linux/pci.c | 22 +- drivers/bus/pci/rte_bus_pci.h | 32 + drivers/bus/pci/rte_bus_pci_version.map | 8 + drivers/net/Makefile | 1 + drivers/net/ifcvf/Makefile | 40 + drivers/net/ifcvf/base/ifcvf.c | 329 ++++++++ drivers/net/ifcvf/base/ifcvf.h | 156 ++++ drivers/net/ifcvf/base/ifcvf_osdep.h | 52 ++ drivers/net/ifcvf/ifcvf_ethdev.c | 1240 ++++++++++++++++++++++++++++++ drivers/net/ifcvf/rte_ifcvf_version.map | 4 + lib/librte_eal/bsdapp/eal/eal.c | 51 +- lib/librte_eal/common/include/rte_vfio.h | 117 ++- lib/librte_eal/linuxapp/eal/eal_vfio.c | 553 ++++++++++--- lib/librte_eal/linuxapp/eal/eal_vfio.h | 2 + lib/librte_eal/rte_eal_version.map | 7 + mk/rte.app.mk | 1 + 20 files changed, 2527 insertions(+), 111 deletions(-) create mode 100644 drivers/net/ifcvf/Makefile create mode 100644 drivers/net/ifcvf/base/ifcvf.c create mode 100644 drivers/net/ifcvf/base/ifcvf.h create mode 100644 drivers/net/ifcvf/base/ifcvf_osdep.h create mode 100644 drivers/net/ifcvf/ifcvf_ethdev.c create mode 100644 drivers/net/ifcvf/rte_ifcvf_version.map -- 2.15.1