[dpdk-dev] [PATCH v6 00/25] user space vhost library
Ouyang, Changchun
changchun.ouyang at intel.com
Sat Oct 11 10:31:00 CEST 2014
> -----Original Message-----
> From: dev [mailto:dev-bounces at dpdk.org] On Behalf Of Huawei Xie
> Sent: Thursday, October 9, 2014 2:55 AM
> To: dev at dpdk.org
> Subject: [dpdk-dev] [PATCH v6 00/25] user space vhost library
>
> 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
Acked-by: Changchun Ouyang <Changchun.ouyang at intel.com>
More information about the dev
mailing list