[dpdk-dev] [PATCH 0/3] add Hyper-V bus and network driver

Stephen Hemminger stephen at networkplumber.org
Thu Apr 5 21:13:02 CEST 2018


This is an experimental driver originally developed by Vyatta/Brocade/ATT
to support DPDK on Hyper-V.  It is a native DPDK driver (unlike the TAP
solution) for VMBus. The driver relies on the version UIO for Hyper-V
(uio_hv_generic) which is in upstream kernel next tree (char-misc-next).

It is not yet a full replacement for the failsafe/tap/vdev_netvsc solution
since it does not support SR-IOV. The driver and bus interface are marked
experimental until it is ready to replace them.

Stephen Hemminger (3):
  bus/vmbus: add hyper-v virtual bus support
  usertools: add hv_uio_setup script
  net/netvsc: add hyper-v netvsc network device

 MAINTAINERS                                   |   10 +
 config/common_base                            |   13 +
 config/common_linuxapp                        |    4 +
 doc/guides/nics/index.rst                     |    1 +
 doc/guides/nics/netvsc.rst                    |   53 ++
 drivers/bus/Makefile                          |    1 +
 drivers/bus/vmbus/Makefile                    |   36 +
 drivers/bus/vmbus/linux/Makefile              |    3 +
 drivers/bus/vmbus/linux/vmbus_bus.c           |  354 +++++++
 drivers/bus/vmbus/linux/vmbus_uio.c           |  340 +++++++
 drivers/bus/vmbus/private.h                   |  125 +++
 drivers/bus/vmbus/rte_bus_vmbus.h             |  381 ++++++++
 drivers/bus/vmbus/rte_bus_vmbus_version.map   |   23 +
 drivers/bus/vmbus/rte_vmbus_reg.h             |  344 +++++++
 drivers/bus/vmbus/vmbus_bufring.c             |  242 +++++
 drivers/bus/vmbus/vmbus_channel.c             |  351 +++++++
 drivers/bus/vmbus/vmbus_common.c              |  287 ++++++
 drivers/bus/vmbus/vmbus_common_uio.c          |  232 +++++
 drivers/net/Makefile                          |    1 +
 drivers/net/netvsc/Makefile                   |   23 +
 drivers/net/netvsc/hn_ethdev.c                |  751 +++++++++++++++
 drivers/net/netvsc/hn_logs.h                  |   35 +
 drivers/net/netvsc/hn_nvs.c                   |  533 +++++++++++
 drivers/net/netvsc/hn_nvs.h                   |  243 +++++
 drivers/net/netvsc/hn_rndis.c                 | 1101 ++++++++++++++++++++++
 drivers/net/netvsc/hn_rndis.h                 |   26 +
 drivers/net/netvsc/hn_rxtx.c                  | 1224 +++++++++++++++++++++++++
 drivers/net/netvsc/hn_var.h                   |  140 +++
 drivers/net/netvsc/ndis.h                     |  378 ++++++++
 drivers/net/netvsc/rndis.h                    |  414 +++++++++
 drivers/net/netvsc/rte_pmd_netvsc_version.map |    5 +
 mk/rte.app.mk                                 |    2 +
 usertools/hv_uio_setup.sh                     |   40 +
 33 files changed, 7716 insertions(+)
 create mode 100644 doc/guides/nics/netvsc.rst
 create mode 100644 drivers/bus/vmbus/Makefile
 create mode 100644 drivers/bus/vmbus/linux/Makefile
 create mode 100644 drivers/bus/vmbus/linux/vmbus_bus.c
 create mode 100644 drivers/bus/vmbus/linux/vmbus_uio.c
 create mode 100644 drivers/bus/vmbus/private.h
 create mode 100644 drivers/bus/vmbus/rte_bus_vmbus.h
 create mode 100644 drivers/bus/vmbus/rte_bus_vmbus_version.map
 create mode 100644 drivers/bus/vmbus/rte_vmbus_reg.h
 create mode 100644 drivers/bus/vmbus/vmbus_bufring.c
 create mode 100644 drivers/bus/vmbus/vmbus_channel.c
 create mode 100644 drivers/bus/vmbus/vmbus_common.c
 create mode 100644 drivers/bus/vmbus/vmbus_common_uio.c
 create mode 100644 drivers/net/netvsc/Makefile
 create mode 100644 drivers/net/netvsc/hn_ethdev.c
 create mode 100644 drivers/net/netvsc/hn_logs.h
 create mode 100644 drivers/net/netvsc/hn_nvs.c
 create mode 100644 drivers/net/netvsc/hn_nvs.h
 create mode 100644 drivers/net/netvsc/hn_rndis.c
 create mode 100644 drivers/net/netvsc/hn_rndis.h
 create mode 100644 drivers/net/netvsc/hn_rxtx.c
 create mode 100644 drivers/net/netvsc/hn_var.h
 create mode 100644 drivers/net/netvsc/ndis.h
 create mode 100644 drivers/net/netvsc/rndis.h
 create mode 100644 drivers/net/netvsc/rte_pmd_netvsc_version.map
 create mode 100755 usertools/hv_uio_setup.sh

-- 
2.16.3



More information about the dev mailing list