Hi Stephan, I've just tried to apply your patches on top of current master branch and I have the following two issues: 1- compilation is failing with the following error when compiling with RTE_TARGET=x86_64-native-linuxapp-gcc: /root/dpdk/x86_64-native-linuxapp-gcc/include/rte_common.h:122:30: error: cast to pointer from integer of different size [-Werror=int-to-pointer-cast] #define RTE_PTR_ADD(ptr, x) ((void*)((uintptr_t)(ptr) + (x))) ^ /root/dpdk/buildtools/pmdinfogen/pmdinfogen.c:99:9: note: in expansion of macro 'RTE_PTR_ADD' return RTE_PTR_ADD(info->hdr, ^ 2- compilation is also failing with the following errors when compiling with RTE_TARGET=i686-native-linuxapp-gcc CC linux/vmbus_uio.o /root/dpdk/drivers/bus/vmbus/linux/vmbus_bus.c: In function 'rte_vmbus_map_device': /root/dpdk/drivers/bus/vmbus/linux/vmbus_bus.c:194:39: error: passing argument 2 of 'eal_parse_sysfs_value' from incompatible pointer type [-Werror=incompatible-pointer-types] if (eal_parse_sysfs_value(filename, &res->len) < 0) { ^ In file included from /root/dpdk/drivers/bus/vmbus/linux/vmbus_bus.c:22:0: /root/dpdk/lib/librte_eal/common/eal_filesystem.h:123:5: note: expected 'long unsigned int *' but argument is of type 'uint64_t * {aka long long unsigned int *}' int eal_parse_sysfs_value(const char *filename, unsigned long *val);
I noticed one additional new dependency which is uuid-dev and I think you might be missing the documentation of that. Kindest regards, Raslan Darawsheh > -----Original Message----- > From: dev <dev-boun...@dpdk.org> On Behalf Of Stephen Hemminger > Sent: Tuesday, April 17, 2018 2:25 AM > To: dev@dpdk.org > Cc: Stephen Hemminger <sthem...@microsoft.com> > Subject: [dpdk-dev] [PATCH v2 0/4] Hyper-V Netvsc PMD > > This is a revised version of the Hyper-V native bus (VMbus) and > network device (netvsc) drivers. This virtual device is used in > Microsoft Hyper-V in Windows 10, Windows Server 2016 and Azure. Most > of this code was extracted from FreeBSD and some of this is from > earlier code donated by Brocade. > > Only Linux is supported at present, but the code is split to allow > future FreeBSD and Windows support. > > This version works with upstream kernel (4.16) but in that mode only a > single queue is supported. With additional patches that are pending > for 5.0 kernel, multi-queue support works as well. > > Device binding is best done via driverctl; this required some > additional fixes to kernel and driverctl to work correctly. > Linux kernel vmbus support needed to support sysfs driver_override and > driverctl needed to handle non-PCI bus from udev. > > https://emea01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgit > l ab.com%2Fdriverctl%2Fdriverctl%2Fmerge_requests%2F3&data=02%7C01% > 7Cshahafs%40mellanox.com%7Cb3ebf03807674980977208d5a3f13f51%7Ca65 > 2971c7d2e4d9ba6a4d149256f461b%7C0%7C0%7C636595178928020801&sdata > =KIfDnH5vAzVmm71xlb%2F%2BtniP95NLGuqMWImDQVkBfLU%3D&reserve > d=0 > > https://emea01.safelinks.protection.outlook.com/?url=http%3A%2F%2Fdriv > erdev.linuxdriverproject.org%2Fpipermail%2Fdriverdev-devel%2F2018- > April%2F118889.html&data=02%7C01%7Cshahafs%40mellanox.com%7Cb3eb > f03807674980977208d5a3f13f51%7Ca652971c7d2e4d9ba6a4d149256f461b%7C > 0%7C0%7C636595178928020801&sdata=5A%2FxWKy90T5H%2F9cixFZRMl78U > WNgIyYAt%2BiOKXnHX4U%3D&reserved=0 > > > Stephen Hemminger (4): > bus/vmbus: add hyper-v virtual bus support > net/netvsc: add hyper-v netvsc network device > net/netvsc: add documentation > bus/vmbus and net/netvsc: add meson build support > > MAINTAINERS | 10 + > config/common_base | 13 + > config/common_linuxapp | 4 + > config/meson.build | 7 + > doc/guides/nics/index.rst | 1 + > doc/guides/nics/netvsc.rst | 73 + > doc/guides/rel_notes/release_18_05.rst | 6 + > drivers/bus/Makefile | 1 + > drivers/bus/meson.build | 2 +- > 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 | 379 +++++ > drivers/bus/vmbus/meson.build | 17 + > drivers/bus/vmbus/private.h | 132 ++ > drivers/bus/vmbus/rte_bus_vmbus.h | 400 ++++++ > drivers/bus/vmbus/rte_bus_vmbus_version.map | 28 + > drivers/bus/vmbus/rte_vmbus_reg.h | 344 +++++ > drivers/bus/vmbus/vmbus_bufring.c | 241 ++++ > drivers/bus/vmbus/vmbus_channel.c | 405 ++++++ > drivers/bus/vmbus/vmbus_common.c | 286 ++++ > drivers/bus/vmbus/vmbus_common_uio.c | 232 ++++ > drivers/net/Makefile | 1 + > drivers/net/meson.build | 2 +- > drivers/net/netvsc/Makefile | 23 + > drivers/net/netvsc/hn_ethdev.c | 760 ++++++++++ > 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 | 1221 +++++++++++++++++ > drivers/net/netvsc/hn_var.h | 140 ++ > drivers/net/netvsc/meson.build | 13 + > 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 + > 38 files changed, 7869 insertions(+), 2 deletions(-) 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/meson.build 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/meson.build 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 > > -- > 2.17.0