@@ -45,6 +45,13 @@ if host_machine.system() == 'linux' and cc.find_library('bsd', required: false).
dpdk_extra_ldflags += '-lbsd'
endif
+# vmbus depends on lib uuid
+uuid_dep = cc.find_library('uuid', required: false)
+if uuid_dep.found() and cc.has_header('uuid/uuid.h')
+ add_project_link_arguments('-luuid', language: 'c')
+ dpdk_extra_ldflags += '-luuid'
+endif
+
# add -include rte_config to cflags
add_project_arguments('-include', 'rte_config.h', language: 'c')
@@ -1,7 +1,7 @@
# SPDX-License-Identifier: BSD-3-Clause
# Copyright(c) 2017 Intel Corporation
-drivers = ['dpaa', 'fslmc', 'pci', 'vdev']
+drivers = ['dpaa', 'fslmc', 'pci', 'vdev', 'vmbus']
std_deps = ['eal']
config_flag_fmt = 'RTE_LIBRTE_@0@_BUS'
driver_name_fmt = 'rte_bus_@0@'
new file mode 100644
@@ -0,0 +1,17 @@
+# SPDX-License-Identifier: BSD-3-Clause
+
+install_headers('rte_bus_vmbus.h','rte_vmbus_reg.h')
+
+allow_experimental_apis = true
+sources = files('vmbus_common.c',
+ 'vmbus_channel.c',
+ 'vmbus_bufring.c',
+ 'vmbus_common_uio.c')
+
+if host_machine.system() == 'linux'
+ sources += files('linux/vmbus_bus.c',
+ 'linux/vmbus_uio.c')
+ includes += include_directories('linux')
+else
+ build = false
+endif
@@ -3,7 +3,7 @@
drivers = ['af_packet', 'axgbe', 'bonding', 'dpaa', 'dpaa2',
'e1000', 'enic', 'fm10k', 'i40e', 'ixgbe',
- 'null', 'octeontx', 'pcap', 'ring',
+ 'netvsc', 'null', 'octeontx', 'pcap', 'ring',
'sfc', 'thunderx', 'virtio']
std_deps = ['ethdev', 'kvargs'] # 'ethdev' also pulls in mbuf, net, eal etc
std_deps += ['bus_pci'] # very many PMDs depend on PCI, so make std
new file mode 100644
@@ -0,0 +1,13 @@
+# SPDX-License-Identifier: BSD-3-Clause
+# Copyright(c) 2018 Microsoft Corporation
+
+version = 2
+
+allow_experimental_apis = true
+
+sources = files('hn_ethdev.c',
+ 'hn_rxtx.c',
+ 'hn_rndis.c',
+ 'hn_nvs.c')
+
+deps += ['bus_vmbus' ]