From: Huawei Xie <huawei.xie@intel.com>
To: dev@dpdk.org
Subject: [dpdk-dev] [PATCH v6 00/25] user space vhost library
Date: Thu, 9 Oct 2014 02:54:34 +0800 [thread overview]
Message-ID: <1412794499-4332-1-git-send-email-huawei.xie@intel.com> (raw)
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
next reply other threads:[~2014-10-08 18:47 UTC|newest]
Thread overview: 30+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-10-08 18:54 Huawei Xie [this message]
2014-10-08 18:54 ` [dpdk-dev] [PATCH v6 01/25] lib/librte_vhost: move src files from examples/vhost to lib/librte_vhost Huawei Xie
2014-10-08 18:54 ` [dpdk-dev] [PATCH v6 02/25] lib/librte_vhost: rename main.c to vhost_rxtx.c and virtio-net.h to rte_virtio_net.h Huawei Xie
2014-10-08 18:54 ` [dpdk-dev] [PATCH v6 03/25] lib/librte_vhost: clean unused codes in vhost_rxtx.c Huawei Xie
2014-10-08 18:54 ` [dpdk-dev] [PATCH v6 04/25] lib/librte_vhost: remove mac learning, VMDQ, mac/vlan and other switching related logic Huawei Xie
2014-10-08 18:54 ` [dpdk-dev] [PATCH v6 05/25] lib/librte_vhost: remove zero copy memory region generation logic Huawei Xie
2014-10-08 18:54 ` [dpdk-dev] [PATCH v6 06/25] lib/librte_vhost: remove retry logic Huawei Xie
2014-10-08 18:54 ` [dpdk-dev] [PATCH v6 07/25] lib/librte_vhost: patch virtio_dev_merge_tx to return packets to upper layer Huawei Xie
2014-10-08 18:54 ` [dpdk-dev] [PATCH v6 08/25] lib/librte_vhost: calculate mbuf size Huawei Xie
2014-10-08 18:54 ` [dpdk-dev] [PATCH v6 09/25] lib/librte_vhost: add queue_id parameter to vhost rx/tx functions Huawei Xie
2014-10-08 18:54 ` [dpdk-dev] [PATCH v6 10/25] lib/librte_vhost: define PACKET_BURST Huawei Xie
2014-10-08 18:54 ` [dpdk-dev] [PATCH v6 11/25] lib/librte_vhost: rte_vhost_en/dequeue_burst API Huawei Xie
2014-10-08 18:54 ` [dpdk-dev] [PATCH v6 12/25] lib/librte_vhost: move virtio_net_config_ll structure to virtio_net.c Huawei Xie
2014-10-08 18:54 ` [dpdk-dev] [PATCH v6 13/25] lib/librte_vhost: remove index parameter Huawei Xie
2014-10-08 18:54 ` [dpdk-dev] [PATCH v6 14/25] lib/librte_vhost: call get_virtio_net_callbacks to get internal ops in register_cuse_device Huawei Xie
2014-10-08 18:54 ` [dpdk-dev] [PATCH v6 15/25] lib/librte_vhost: rte_vhost_driver_register and rte_vhost_session_start API Huawei Xie
2014-10-08 18:54 ` [dpdk-dev] [PATCH v6 16/25] lib/librte_vhost: rename init_virtio_net to rte_vhost_callback_register Huawei Xie
2014-10-08 18:54 ` [dpdk-dev] [PATCH v6 17/25] lib/librte_vhost: vhost APIs Huawei Xie
2014-10-08 18:54 ` [dpdk-dev] [PATCH v6 18/25] lib/librte_vhost: add debug print Huawei Xie
2014-10-08 18:54 ` [dpdk-dev] [PATCH v6 19/25] lib/librte_vhost: VHOST SUPPORTED FEATURES Huawei Xie
2014-10-08 18:54 ` [dpdk-dev] [PATCH v6 20/25] lib/librte_vhost: header file cleanups Huawei Xie
2014-10-08 18:54 ` [dpdk-dev] [PATCH v6 21/25] lib/librte_vhost: static variable fixes Huawei Xie
2014-10-08 18:54 ` [dpdk-dev] [PATCH v6 22/25] lib/librte_vhost: add priv context field to virtio_net structure Huawei Xie
2014-10-08 18:54 ` [dpdk-dev] [PATCH v6 23/25] lib/librte_vhost: coding style fixes Huawei Xie
2014-10-08 18:54 ` [dpdk-dev] [PATCH v6 24/25] lib/librte_vhost: add TODO/FIXME for identified issues Huawei Xie
2014-10-08 18:54 ` [dpdk-dev] [PATCH v6 25/25] lib/librte_vhost: add vhost support in Makefile Huawei Xie
2014-10-09 18:36 ` [dpdk-dev] [PATCH v6 00/25] user space vhost library Xie, Huawei
2014-10-11 8:31 ` Ouyang, Changchun
2014-10-13 19:51 ` Thomas Monjalon
2014-10-13 20:53 ` Xie, Huawei
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1412794499-4332-1-git-send-email-huawei.xie@intel.com \
--to=huawei.xie@intel.com \
--cc=dev@dpdk.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).