This set of patches transforms and refactors vhost example to a user space vhost cuse 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.
Change notes: v2) Turn off vhost lib by default v3) Fixed checkpatch issues v4) Split the patch per Thomas's requirement Huawei Xie (5): mv vhost example to vhost lib directory copy the vhost rx/tx functions from main.c to new file vhost_rxtx.c remove main.c main.h remove Makefile rename virtio-net.h to rte_virtio_net.h as API header file vmdq, mac learning and other switch related logics are removed zero copy feature isn't generic,and is removed. add vhost lib Makefile. Add TODOs for found new issues. Fix coding style issue which are treated as errors by checkpatch.pl add vhost lib support in makefile turn off vhost lib by default as it requires fuse development package. config/common_linuxapp | 7 + 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 | 3722 -------------------------- 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/Makefile | 48 + 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 | 192 ++ lib/librte_vhost/vhost-net-cdev.c | 362 +++ lib/librte_vhost/vhost-net-cdev.h | 112 + lib/librte_vhost/vhost_rxtx.c | 301 +++ lib/librte_vhost/virtio-net.c | 1000 +++++++ mk/rte.app.mk | 5 + 24 files changed, 2718 insertions(+), 6334 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/Makefile 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