net/vdev_netvsc: implement core functionality
authorMatan Azrad <matan@mellanox.com>
Thu, 18 Jan 2018 13:51:43 +0000 (13:51 +0000)
committerFerruh Yigit <ferruh.yigit@intel.com>
Sun, 21 Jan 2018 14:51:52 +0000 (15:51 +0100)
commite7dc5d7becc558ca2410529045cc95977376f3de
treefd3c83473c7f450d74fed0a67f74bbf60e572314
parent6086ab3bb3d2947ab3f27f7263873df9ed770c24
net/vdev_netvsc: implement core functionality

As described in more details in the attached documentation (see patch
contents), this virtual device driver manages NetVSC interfaces in virtual
machines hosted by Hyper-V/Azure platforms.

This driver does not manage traffic nor Ethernet devices directly; it acts
as a thin configuration layer that automatically instantiates and controls
fail-safe PMD instances combining tap and PCI sub-devices, so that each
NetVSC interface is exposed as a single consolidated port to DPDK
applications.

PCI sub-devices being hot-pluggable (e.g. during VM migration),
applications automatically benefit from increased throughput when present
and automatic fallback on NetVSC otherwise without interruption thanks to
fail-safe's hot-plug handling.

Once initialized, the sole job of the vdev_netvsc driver is to regularly
scan for PCI devices to associate with NetVSC interfaces and feed their
addresses to corresponding fail-safe instances.

Signed-off-by: Adrien Mazarguil <adrien.mazarguil@6wind.com>
Signed-off-by: Matan Azrad <matan@mellanox.com>
doc/guides/nics/vdev_netvsc.rst
drivers/net/vdev_netvsc/Makefile
drivers/net/vdev_netvsc/vdev_netvsc.c