net/netvsc: support integrated VF
authorStephen Hemminger <sthemmin@microsoft.com>
Thu, 30 Aug 2018 22:35:12 +0000 (15:35 -0700)
committerFerruh Yigit <ferruh.yigit@intel.com>
Fri, 14 Sep 2018 18:08:41 +0000 (20:08 +0200)
commitdc7680e8597c227b3ba9becbf21cefd51b2b8577
treeedee0d852d1cee15af838471f171e4c16385d185
parentf6ddcf80ad47436e691b6844089d6e992992a156
net/netvsc: support integrated VF

Integrate accelerated networking support into netvsc PMD.
This allows netvsc to manage VF without using failsafe or vdev_netvsc.
For the exception vswitch path some tests like transmit
get a 22% increase in packets/sec.
For the VF path, the code is slightly shorter but has no
real change in performance.

Pro:
   * using netvsc is more like other DPDK NIC's
   * the exception packet uses less CPU
   * much smaller code size
   * no locking required on VF transmit/receive path
   * no legacy Linux network device to get mangled by userspace
   * much simpler (1K vs 9K) LOC
   * unified extended statistics

Con:
   * using netvsc has more complex startup model
   * no bifurcated driver support
   * no flow support (since host does not have flow API).
   * no tunnel offload support
   * no receive interrupt support

Signed-off-by: Stephen Hemminger <sthemmin@microsoft.com>
12 files changed:
doc/guides/nics/netvsc.rst
doc/guides/rel_notes/release_18_11.rst
drivers/net/netvsc/Makefile
drivers/net/netvsc/hn_ethdev.c
drivers/net/netvsc/hn_nvs.c
drivers/net/netvsc/hn_nvs.h
drivers/net/netvsc/hn_rndis.c
drivers/net/netvsc/hn_rndis.h
drivers/net/netvsc/hn_rxtx.c
drivers/net/netvsc/hn_var.h
drivers/net/netvsc/hn_vf.c [new file with mode: 0644]
drivers/net/netvsc/meson.build