From mboxrd@z Thu Jan 1 00:00:00 1970 From: Stephen Hemminger Subject: [RFC 0/3] Hyper-V bus and network device Date: Thu, 4 Jan 2018 15:16:33 -0800 Message-ID: <20180104231636.30573-1-stephen@networkplumber.org> Cc: Stephen Hemminger To: dev@dpdk.org Return-path: Received: from mail-pl0-f65.google.com (mail-pl0-f65.google.com [209.85.160.65]) by dpdk.org (Postfix) with ESMTP id 3A6E97D19 for ; Fri, 5 Jan 2018 00:16:42 +0100 (CET) Received: by mail-pl0-f65.google.com with SMTP id i6so1937479plt.13 for ; Thu, 04 Jan 2018 15:16:42 -0800 (PST) List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" 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