[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