xen: import xenvirt pmd and vhost_xen
authorBruce Richardson <bruce.richardson@intel.com>
Wed, 12 Feb 2014 15:50:11 +0000 (15:50 +0000)
committerDavid Marchand <david.marchand@6wind.com>
Tue, 25 Feb 2014 20:29:19 +0000 (21:29 +0100)
commit47bd46112b710dc59b1becfb67e18da319c5debe
tree921b9698d980746c25b8b40a78343bafea6f489a
parent148f963fb5323c1c6b6d5cea95084deb25cc73f8
xen: import xenvirt pmd and vhost_xen

This provides a para-virtualization packet switching solution, based on the
Xen hypervisor’s Grant Table, which provides simple and fast packet
switching capability between guest domains and host domain based on
MAC address or VLAN tag.

This solution is comprised of two components; a Poll Mode Driver (PMD)
as the front end in the guest domain and a switching back end in the
host domain.  XenStore is used to exchange configure information
between the PMD front end and switching back end,
including grant reference IDs for shared Virtio RX/TX rings, MAC
address, device state, and so on.

The front end PMD can be found in the Intel DPDK directory lib/
librte_pmd_xenvirt and back end example in examples/vhost_xen.

Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
20 files changed:
examples/vhost_xen/Makefile [new file with mode: 0644]
examples/vhost_xen/main.c [new file with mode: 0644]
examples/vhost_xen/main.h [new file with mode: 0644]
examples/vhost_xen/vhost_monitor.c [new file with mode: 0644]
examples/vhost_xen/virtio-net.h [new file with mode: 0644]
examples/vhost_xen/xen_vhost.h [new file with mode: 0644]
examples/vhost_xen/xenstore_parse.c [new file with mode: 0644]
lib/Makefile
lib/librte_eal/common/eal_common_nonpci_devs.c
lib/librte_eal/common/eal_common_whitelist.c
lib/librte_eal/linuxapp/eal/Makefile
lib/librte_pmd_xenvirt/Makefile [new file with mode: 0644]
lib/librte_pmd_xenvirt/rte_eth_xenvirt.c [new file with mode: 0644]
lib/librte_pmd_xenvirt/rte_eth_xenvirt.h [new file with mode: 0644]
lib/librte_pmd_xenvirt/rte_mempool_gntalloc.c [new file with mode: 0644]
lib/librte_pmd_xenvirt/rte_xen_lib.c [new file with mode: 0644]
lib/librte_pmd_xenvirt/rte_xen_lib.h [new file with mode: 0644]
lib/librte_pmd_xenvirt/virtio_logs.h [new file with mode: 0644]
lib/librte_pmd_xenvirt/virtqueue.h [new file with mode: 0644]
mk/rte.app.mk