netdev-dpdk: Add vhost-user multiqueue support
authorFlavio Leitner <fbl@sysclose.org>
Tue, 26 Jan 2016 18:58:14 +0000 (16:58 -0200)
committerDaniele Di Proietto <diproiettod@vmware.com>
Fri, 29 Jan 2016 00:20:48 +0000 (16:20 -0800)
commit940e6b7de8b24dfdc70f7945b2a2d8eb415d2027
treea29fb736c8e749f7e5956a6e759fe4b083693036
parent024c40c35a700a75fb56442dfbd8f7623f9fc8c1
netdev-dpdk: Add vhost-user multiqueue support

Most of the network cards today supports multiple receive
and transmit queues (MQ).  The core idea is that on packet
reception, a NIC can send different packets to different
queues to distribute processing among CPUs running in parallel.
The packet distribution is based on a result of a filter applied
on each packet headers. The filter should keep all packets from
the same flow on the same queue to avoid re-ordering while
distributing different flows among all available queues.

This is how the packet moves in a typical vhost-user use-case:

NIC             OVS
DPDK port ==== bridge --- vhost-user ==== qemu ==== virtio eth0

The DPDK ports, OVS bridges, virtio network driver and
recently QEMU (vhost-user) supports MQ.  This patch adds MQ
support to OVS that leverages DPDK vhost library to implement
vhost-user interfaces.

Signed-off-by: Flavio Leitner <fbl@sysclose.org>
Acked-by: Kevin Traynor <kevin.traynor@intel.com>
Signed-off-by: Daniele Di Proietto <diproiettod@vmware.com>
INSTALL.DPDK.md
NEWS
lib/netdev-dpdk.c