The patch introduces a new PMD. This PMD is implemented as thin wrapper of librte_vhost.
I've submitted below patches in former patch sets. But it seems some issues were fixed already. - [PATCH 1/3] vhost: Fix return value of GET_VRING_BASE message - [PATCH 2/3] vhost: Fix RESET_OWNER handling not to close callfd - [PATCH 3/3] vhost: Fix RESET_OWNER handling not to free virtqueue I've still seen some reasource leaks of vhost library, but in this RFC, I focused on vhost PMD. After I get agreement, I will submit a patch for the leak issue as separated patch. So please check directionality of vhost PMD. PATCH v3 changes: - Optimize performance. In RX/TX functions, change code to access only per core data. - Add below API to allow user to use vhost library APIs for a port managed by vhost PMD. There are a bit of limitations. See "rte_eth_vhost.h". - rte_eth_vhost_portid2vdev() To support this functionality, vhost library is also changed. Anyway, if users doesn't use vhost PMD, can fully use vhost library APIs. - Add code to support vhost multiple queues. Actually, multiple queues functionality is not enabled so far. Tetsuya Mukawa (2): vhost: Add callback and private data for vhost PMD vhost: Add VHOST PMD config/common_linuxapp | 6 + drivers/net/Makefile | 4 + drivers/net/vhost/Makefile | 62 +++ drivers/net/vhost/rte_eth_vhost.c | 735 ++++++++++++++++++++++++++ drivers/net/vhost/rte_eth_vhost.h | 65 +++ drivers/net/vhost/rte_pmd_vhost_version.map | 8 + lib/librte_vhost/rte_virtio_net.h | 3 + lib/librte_vhost/vhost_user/virtio-net-user.c | 8 +- lib/librte_vhost/virtio-net.c | 40 +- lib/librte_vhost/virtio-net.h | 3 +- mk/rte.app.mk | 8 +- 11 files changed, 934 insertions(+), 8 deletions(-) create mode 100644 drivers/net/vhost/Makefile create mode 100644 drivers/net/vhost/rte_eth_vhost.c create mode 100644 drivers/net/vhost/rte_eth_vhost.h create mode 100644 drivers/net/vhost/rte_pmd_vhost_version.map -- 2.1.4