vhost: add driver on top of the library
authorTetsuya Mukawa <mukawa@igel.co.jp>
Mon, 21 Mar 2016 05:45:08 +0000 (14:45 +0900)
committerThomas Monjalon <thomas.monjalon@6wind.com>
Fri, 25 Mar 2016 17:56:44 +0000 (18:56 +0100)
commitee584e9710b9abd60ee9faef664e106dcea10085
tree96b711c195cac39d99dc7d7df3d54d483b0a74ab
parent89a28c2880a6c94d02bb3f299eeedae596607c54
vhost: add driver on top of the library

The patch introduces a new PMD. This PMD is implemented as thin wrapper
of librte_vhost. It means librte_vhost is also needed to compile the PMD.
The vhost messages will be handled only when a port is started. So start
a port first, then invoke QEMU.

The PMD has 2 parameters.
 - iface:  The parameter is used to specify a path to connect to a
           virtio-net device.
 - queues: The parameter is used to specify the number of the queues
           virtio-net device has.
           (Default: 1)

Here is an example.
$ ./testpmd -c f -n 4 --vdev 'eth_vhost0,iface=/tmp/sock0,queues=1' -- -i

To connect above testpmd, here is qemu command example.

$ qemu-system-x86_64 \
        <snip>
        -chardev socket,id=chr0,path=/tmp/sock0 \
        -netdev vhost-user,id=net0,chardev=chr0,vhostforce,queues=1 \
        -device virtio-net-pci,netdev=net0,mq=on

Signed-off-by: Tetsuya Mukawa <mukawa@igel.co.jp>
Acked-by: Ferruh Yigit <ferruh.yigit@intel.com>
Acked-by: Yuanhan Liu <yuanhan.liu@linux.intel.com>
Acked-by: Rich Lane <rich.lane@bigswitch.com>
Tested-by: Rich Lane <rich.lane@bigswitch.com>
Update for queue state event name:
Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
13 files changed:
MAINTAINERS
config/common_base
config/common_linuxapp
doc/guides/nics/index.rst
doc/guides/nics/overview.rst
doc/guides/nics/vhost.rst [new file with mode: 0644]
doc/guides/rel_notes/release_16_04.rst
drivers/net/Makefile
drivers/net/vhost/Makefile [new file with mode: 0644]
drivers/net/vhost/rte_eth_vhost.c [new file with mode: 0644]
drivers/net/vhost/rte_eth_vhost.h [new file with mode: 0644]
drivers/net/vhost/rte_pmd_vhost_version.map [new file with mode: 0644]
mk/rte.app.mk