[dpdk-dev] [PATCH v6 00/25] user space vhost library
Huawei Xie
huawei.xie at intel.com
Wed Oct 8 20:54:34 CEST 2014
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
More information about the dev
mailing list