From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga11.intel.com (mga11.intel.com [192.55.52.93]) by dpdk.org (Postfix) with ESMTP id 26C7C7E80 for ; Wed, 8 Oct 2014 20:47:47 +0200 (CEST) Received: from fmsmga003.fm.intel.com ([10.253.24.29]) by fmsmga102.fm.intel.com with ESMTP; 08 Oct 2014 11:55:04 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="4.97,862,1389772800"; d="scan'208";a="397238760" Received: from shvmail01.sh.intel.com ([10.239.29.42]) by FMSMGA003.fm.intel.com with ESMTP; 08 Oct 2014 11:48:14 -0700 Received: from shecgisg003.sh.intel.com (shecgisg003.sh.intel.com [10.239.29.90]) by shvmail01.sh.intel.com with ESMTP id s98It2tK019281 for ; Thu, 9 Oct 2014 02:55:02 +0800 Received: from shecgisg003.sh.intel.com (localhost [127.0.0.1]) by shecgisg003.sh.intel.com (8.13.6/8.13.6/SuSE Linux 0.8) with ESMTP id s98Isxbg004369 for ; Thu, 9 Oct 2014 02:55:02 +0800 Received: (from hxie5@localhost) by shecgisg003.sh.intel.com (8.13.6/8.13.6/Submit) id s98Isxtj004365 for dev@dpdk.org; Thu, 9 Oct 2014 02:54:59 +0800 From: Huawei Xie To: dev@dpdk.org Date: Thu, 9 Oct 2014 02:54:34 +0800 Message-Id: <1412794499-4332-1-git-send-email-huawei.xie@intel.com> X-Mailer: git-send-email 1.7.4.1 Subject: [dpdk-dev] [PATCH v6 00/25] user space vhost library X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: patches and discussions about DPDK List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 08 Oct 2014 18:47:48 -0000 This set of patches transforms and refactors vhost example to a user space vhost library. This library implements a user space vhost cuse driver, and provides generic APIs for user space ethernet vSwitch to integrate us-vhost for fast packet switching with guest virtio. vhost lib consists of five APIs plus several helper routines for feature disable/enable. 1) rte_vhost_driver_register initializes vhost driver. 2) rte_vhost_driver_callback_register registers the callbacks. Callbacks are called from vhost driver when a virtio device is ready to be added to the data processing core or is de-activated by guest. 3) rte_vhost_driver_session_start, a blocking API to start vhost message handler session loop. 4) rte_vhost_enqueue_burst and rte_vhost_dequeue_burst for enqueue/dequeue packets to/from virtio ring respectively. v2) turn off vhost lib by default v3) fixed checkpatch issues v4) split the patch per thomas' requirement v5) fine granularity split of the patch regenerate patches based on latest commit this patchset removes vhost example patches, which will be submitted later. Huawei Xie (25): move src files from examples/vhost to lib/librte_vhost rename main.c to vhost_rxtx.c and virtio-net.h to rte_vhost_net.h keep virtio_dev_(merge_)rx, copy_from_mbuf_to_vring and virtio_dev_merge_tx; remove anything else in vhost_rxtx.c remove mac learning, mac/vlan, VMDQ and other switching related logic remove host memory region region related logic remove retry patch virtio_dev_merge_tx to make it return packets to app patch vhost_dev_merge_tx about buf_size add queue_id parameter to vhost rx/tx functions define PACKET_BURST rte_vhost_en/dequeue_burst API move virtio_net_config_ll strcture to virtio_net.c remove index call get_virtio_net_callbacks to get the ops in register_cuse_device rte_vhost_driver_register and rte_vhost_session_start API rte_vhost_callback_register API add debug print define VHOST_SUPPORTED_FEATURES header file cleanup static fix add priv field in virtio_net to store application specific context coding style fixes add TODO/FIXME add vhost support in Makefile config/common_linuxapp | 8 + examples/vhost/Makefile | 60 - examples/vhost/eventfd_link/Makefile | 39 - examples/vhost/eventfd_link/eventfd_link.c | 205 -- examples/vhost/eventfd_link/eventfd_link.h | 79 - examples/vhost/libvirt/qemu-wrap.py | 367 --- examples/vhost/main.c | 3727 -------------------------- examples/vhost/main.h | 86 - examples/vhost/vhost-net-cdev.c | 367 --- examples/vhost/vhost-net-cdev.h | 83 - examples/vhost/virtio-net.c | 1165 -------- examples/vhost/virtio-net.h | 161 -- lib/Makefile | 1 + lib/librte_vhost/eventfd_link/Makefile | 39 + lib/librte_vhost/eventfd_link/eventfd_link.c | 205 ++ lib/librte_vhost/eventfd_link/eventfd_link.h | 79 + lib/librte_vhost/libvirt/qemu-wrap.py | 367 +++ lib/librte_vhost/rte_virtio_net.h | 208 ++ lib/librte_vhost/vhost-net-cdev.c | 360 +++ lib/librte_vhost/vhost-net-cdev.h | 113 + lib/librte_vhost/vhost_rxtx.c | 733 +++++ lib/librte_vhost/virtio-net.c | 1028 +++++++ mk/rte.app.mk | 5 + 23 files changed, 3146 insertions(+), 6339 deletions(-) delete mode 100644 examples/vhost/Makefile delete mode 100644 examples/vhost/eventfd_link/Makefile delete mode 100644 examples/vhost/eventfd_link/eventfd_link.c delete mode 100644 examples/vhost/eventfd_link/eventfd_link.h delete mode 100755 examples/vhost/libvirt/qemu-wrap.py delete mode 100644 examples/vhost/main.c delete mode 100644 examples/vhost/main.h delete mode 100644 examples/vhost/vhost-net-cdev.c delete mode 100644 examples/vhost/vhost-net-cdev.h delete mode 100644 examples/vhost/virtio-net.c delete mode 100644 examples/vhost/virtio-net.h create mode 100644 lib/librte_vhost/eventfd_link/Makefile create mode 100644 lib/librte_vhost/eventfd_link/eventfd_link.c create mode 100644 lib/librte_vhost/eventfd_link/eventfd_link.h create mode 100755 lib/librte_vhost/libvirt/qemu-wrap.py create mode 100644 lib/librte_vhost/rte_virtio_net.h create mode 100644 lib/librte_vhost/vhost-net-cdev.c create mode 100644 lib/librte_vhost/vhost-net-cdev.h create mode 100644 lib/librte_vhost/vhost_rxtx.c create mode 100644 lib/librte_vhost/virtio-net.c -- 1.8.1.4