[dpdk-dev] [RFC 0/3] Hyper-V bus and network device

Stephen Hemminger stephen at networkplumber.org
Fri Jan 5 00:16:33 CET 2018


This is preliminary support for native Hyper-V bus and
network device. The code is a rewrite of earlier code done
by Brocade/Vyatta with much of it coming from FreeBSD.

Only Linux is supported.

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

 MAINTAINERS                                        |   10 +
 config/common_base                                 |   15 +
 config/common_linuxapp                             |    3 +
 doc/guides/nics/hyperv.rst                         |   71 ++
 drivers/bus/Makefile                               |    3 +
 drivers/bus/vmbus/Makefile                         |   10 +
 drivers/bus/vmbus/common/Makefile                  |    9 +
 drivers/bus/vmbus/common/common_bufring.c          |  234 +++++
 drivers/bus/vmbus/common/common_chan.c             |  307 ++++++
 drivers/bus/vmbus/common/common_uio.c              |  232 +++++
 drivers/bus/vmbus/common/common_vmbus.c            |  288 +++++
 drivers/bus/vmbus/common/include/rte_vmbus.h       |  391 +++++++
 drivers/bus/vmbus/common/include/vmbus_logs.h      |   14 +
 drivers/bus/vmbus/common/include/vmbus_reg.h       |  360 +++++++
 drivers/bus/vmbus/common/vmbus_private.h           |  123 +++
 drivers/bus/vmbus/linuxapp/Makefile                |   22 +
 .../bus/vmbus/linuxapp/rte_bus_vmbus_version.map   |   22 +
 drivers/bus/vmbus/linuxapp/vmbus_bus.c             |  356 +++++++
 drivers/bus/vmbus/linuxapp/vmbus_uio.c             |  340 ++++++
 drivers/net/Makefile                               |    1 +
 drivers/net/hyperv/Makefile                        |   18 +
 drivers/net/hyperv/hn_ethdev.c                     |  626 +++++++++++
 drivers/net/hyperv/hn_logs.h                       |   35 +
 drivers/net/hyperv/hn_nvs.c                        |  530 ++++++++++
 drivers/net/hyperv/hn_nvs.h                        |  259 +++++
 drivers/net/hyperv/hn_rndis.c                      | 1018 ++++++++++++++++++
 drivers/net/hyperv/hn_rndis.h                      |   32 +
 drivers/net/hyperv/hn_rxtx.c                       | 1095 ++++++++++++++++++++
 drivers/net/hyperv/hn_var.h                        |  135 +++
 drivers/net/hyperv/ndis.h                          |  379 +++++++
 drivers/net/hyperv/rndis.h                         |  419 ++++++++
 drivers/net/hyperv/rte_pmd_hyperv_version.map      |    5 +
 mk/rte.app.mk                                      |    3 +
 usertools/hv_uio_setup.sh                          |   39 +
 34 files changed, 7404 insertions(+)
 create mode 100644 doc/guides/nics/hyperv.rst
 create mode 100644 drivers/bus/vmbus/Makefile
 create mode 100644 drivers/bus/vmbus/common/Makefile
 create mode 100644 drivers/bus/vmbus/common/common_bufring.c
 create mode 100644 drivers/bus/vmbus/common/common_chan.c
 create mode 100644 drivers/bus/vmbus/common/common_uio.c
 create mode 100644 drivers/bus/vmbus/common/common_vmbus.c
 create mode 100644 drivers/bus/vmbus/common/include/rte_vmbus.h
 create mode 100644 drivers/bus/vmbus/common/include/vmbus_logs.h
 create mode 100644 drivers/bus/vmbus/common/include/vmbus_reg.h
 create mode 100644 drivers/bus/vmbus/common/vmbus_private.h
 create mode 100644 drivers/bus/vmbus/linuxapp/Makefile
 create mode 100644 drivers/bus/vmbus/linuxapp/rte_bus_vmbus_version.map
 create mode 100644 drivers/bus/vmbus/linuxapp/vmbus_bus.c
 create mode 100644 drivers/bus/vmbus/linuxapp/vmbus_uio.c
 create mode 100644 drivers/net/hyperv/Makefile
 create mode 100644 drivers/net/hyperv/hn_ethdev.c
 create mode 100644 drivers/net/hyperv/hn_logs.h
 create mode 100644 drivers/net/hyperv/hn_nvs.c
 create mode 100644 drivers/net/hyperv/hn_nvs.h
 create mode 100644 drivers/net/hyperv/hn_rndis.c
 create mode 100644 drivers/net/hyperv/hn_rndis.h
 create mode 100644 drivers/net/hyperv/hn_rxtx.c
 create mode 100644 drivers/net/hyperv/hn_var.h
 create mode 100644 drivers/net/hyperv/ndis.h
 create mode 100644 drivers/net/hyperv/rndis.h
 create mode 100644 drivers/net/hyperv/rte_pmd_hyperv_version.map
 create mode 100755 usertools/hv_uio_setup.sh

-- 
2.15.1



More information about the dev mailing list