These are the patches to allow building drivers on VMBUS with DPDK. The Hyper-V PMD (later patch set) builds on this.
Most of the infrastructure for the bus and device model is already done, the one missing piece was that the eth_driver structure still assumed all devices were PCI. Stephen Hemminger (6): ethdev: increase length ethernet device internal name i40e: don't refer to eth_dev->pci_dev vmxnet3: don't refer to eth_dev->pci_dev cxgbe: don't refer to eth_dev->pci_dev ethdev: break ethernet driver and pci_driver connection eal: VMBUS infrastructure app/test/virtual_pmd.c | 22 +- doc/guides/rel_notes/deprecation.rst | 3 + drivers/net/bnx2x/bnx2x_ethdev.c | 16 +- drivers/net/bnxt/bnxt_ethdev.c | 22 +- drivers/net/cxgbe/cxgbe_ethdev.c | 8 +- drivers/net/cxgbe/sge.c | 9 +- drivers/net/e1000/em_ethdev.c | 10 +- drivers/net/e1000/igb_ethdev.c | 20 +- drivers/net/ena/ena_ethdev.c | 8 +- drivers/net/enic/enic_ethdev.c | 8 +- drivers/net/fm10k/fm10k_ethdev.c | 10 +- drivers/net/i40e/i40e_ethdev.c | 10 +- drivers/net/i40e/i40e_ethdev_vf.c | 10 +- drivers/net/i40e/i40e_fdir.c | 3 +- drivers/net/ixgbe/ixgbe_ethdev.c | 20 +- drivers/net/mlx4/mlx4.c | 8 +- drivers/net/mlx5/mlx5.c | 8 +- drivers/net/nfp/nfp_net.c | 8 +- drivers/net/qede/qede_ethdev.c | 42 +- drivers/net/szedata2/rte_eth_szedata2.c | 10 +- drivers/net/thunderx/nicvf_ethdev.c | 8 +- drivers/net/virtio/virtio_ethdev.c | 10 +- drivers/net/vmxnet3/vmxnet3_ethdev.c | 10 +- drivers/net/vmxnet3/vmxnet3_rxtx.c | 5 +- lib/librte_eal/common/Makefile | 2 +- lib/librte_eal/common/eal_common_devargs.c | 7 + lib/librte_eal/common/eal_common_options.c | 38 ++ lib/librte_eal/common/eal_internal_cfg.h | 3 +- lib/librte_eal/common/eal_options.h | 6 + lib/librte_eal/common/eal_private.h | 5 + lib/librte_eal/common/include/rte_devargs.h | 8 + lib/librte_eal/common/include/rte_vmbus.h | 249 ++++++++ lib/librte_eal/linuxapp/eal/Makefile | 6 + lib/librte_eal/linuxapp/eal/eal.c | 11 + lib/librte_eal/linuxapp/eal/eal_vmbus.c | 907 ++++++++++++++++++++++++++++ lib/librte_ether/rte_ethdev.c | 99 ++- lib/librte_ether/rte_ethdev.h | 49 +- mk/rte.app.mk | 1 + 38 files changed, 1542 insertions(+), 137 deletions(-) create mode 100644 lib/librte_eal/common/include/rte_vmbus.h create mode 100644 lib/librte_eal/linuxapp/eal/eal_vmbus.c -- 2.11.0