[dpdk-dev] [PATCH v6 00/25] user space vhost library
Xie, Huawei
huawei.xie at intel.com
Thu Oct 9 20:36:24 CEST 2014
Hi Thomas:
Comments to this way of split?
> -----Original Message-----
> From: dev [mailto:dev-bounces at dpdk.org] On Behalf Of Huawei Xie
> Sent: Wednesday, October 08, 2014 11: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
More information about the dev
mailing list