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:06 +0000 (16:20 -0800)
commit4573fbd38fa1ba29e0faec34d3ee0c2732498262
tree31aed9da9f31443ad529729b6543fc225b91873b
parent28632a8a11429640d745f77ed157e012777e4995
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