[dpdk-dev] [PATCH 00/38] Remove struct eth_driver
Jan Blunck
jblunck at infradead.org
Mon Mar 6 10:59:52 CET 2017
This series is removing the PCI specific struct eth_driver from rte_ether. The
PCI drivers are changed to use the newly introduced header-only helpers
instead. Although the virtual drivers did not make use of the ethdev's driver
field they are converted to use the VDEV specific allocation helpers. The
motivation for this change is to properly embed a reference to the generic
rte_device in the ethdev.
The series is based on:
* http://dpdk.org/dev/patchwork/patch/20416/
* http://dpdk.org/dev/patchwork/patch/20417/
* my "Rework vdev probing to use rte_bus infrastructure" series
* http://dpdk.org/dev/patchwork/patch/21058/
If requested I can push a tree with all dependent patches.
Jan Blunck (38):
eal: add name field to generic device
eal: parse "driver" device argument before probing drivers
net/nfp: use library function for DMA zone reserve
net/vmxnet3: use library function for DMA zone reserve
ether: add allocation helper for virtual drivers
net/tap: use ethdev allocation helper for virtual devices
net/vhost: use ethdev allocation helper for virtual devices
net/virtio: use ethdev allocation helper for virtual devices
net/af_packet: use ethdev allocation helper for virtual devices
app/test: don't short-circuit null device creation
net/null: internalize eth_dev_null_create()
net/null: use ethdev allocation helper for virtual devices
net/bonding: make bonding API call through EAL on create/free
net/bonding: use ethdev allocation helper for virtual devices
ethdev: add PCI driver helpers
net/virtio: Don't use eth_driver
net/bnx2x: Don't use eth_driver
net/bnxt: Don't use eth_driver
net/cxgbe: Don't use eth_driver
net/em: Don't use eth_driver
net/igb: Don't use eth_driver
net/ena: Don't use eth_driver
net/enic: Don't use eth_driver
net/fm10k: Don't use eth_driver
net/i40e: Don't use eth_driver
net/i40evf: Don't use eth_driver
net/ixgbe: Don't use eth_driver
net/mlx: Don't reference eth_driver
net/nfp: Don't use eth_driver
net/qede: Don't use eth_driver
net/sfc: Don't use eth_driver
net/szedata2: Don't use eth_driver
net/thunderx: Don't use eth_driver
net/vmxnet3: Don't use eth_driver
ethdev: remove unused ethdev PCI probe/remove
ethdev: remove unused ethdev driver
ethdev: remove PCI specific helper from generic ethdev header
ethdev: don't include PCI header
drivers/net/af_packet/rte_eth_af_packet.c | 42 +++----
drivers/net/bnx2x/bnx2x_ethdev.c | 64 ++++++----
drivers/net/bnxt/bnxt_ethdev.c | 36 ++++--
drivers/net/bonding/rte_eth_bond_api.c | 171 ++++----------------------
drivers/net/bonding/rte_eth_bond_args.c | 2 +-
drivers/net/bonding/rte_eth_bond_pmd.c | 160 +++++++++++++++++++++++--
drivers/net/cxgbe/cxgbe_ethdev.c | 29 +++--
drivers/net/cxgbe/cxgbe_main.c | 2 +-
drivers/net/cxgbe/sge.c | 6 +-
drivers/net/e1000/em_ethdev.c | 30 +++--
drivers/net/e1000/igb_ethdev.c | 60 ++++++----
drivers/net/ena/ena_ethdev.c | 29 +++--
drivers/net/enic/enic_ethdev.c | 29 +++--
drivers/net/fm10k/fm10k_ethdev.c | 30 +++--
drivers/net/i40e/i40e_ethdev.c | 36 +++---
drivers/net/i40e/i40e_ethdev_vf.c | 31 +++--
drivers/net/i40e/i40e_fdir.c | 2 +-
drivers/net/ixgbe/ixgbe_ethdev.c | 66 +++++++----
drivers/net/mlx4/mlx4.c | 17 ++-
drivers/net/mlx5/mlx5.c | 19 ++-
drivers/net/nfp/nfp_net.c | 59 ++++-----
drivers/net/null/Makefile | 7 +-
drivers/net/null/rte_eth_null.c | 55 +++------
drivers/net/null/rte_eth_null.h | 40 -------
drivers/net/null/rte_pmd_null_version.map | 7 --
drivers/net/qede/qede_ethdev.c | 60 ++++++----
drivers/net/qede/qede_ethdev.h | 1 +
drivers/net/ring/rte_eth_ring.c | 1 -
drivers/net/sfc/sfc_ethdev.c | 34 ++++--
drivers/net/szedata2/rte_eth_szedata2.c | 29 +++--
drivers/net/tap/rte_eth_tap.c | 37 ++----
drivers/net/thunderx/nicvf_ethdev.c | 29 +++--
drivers/net/vhost/rte_eth_vhost.c | 54 ++++-----
drivers/net/virtio/virtio_ethdev.c | 34 ++++--
drivers/net/virtio/virtio_user_ethdev.c | 20 +---
drivers/net/vmxnet3/vmxnet3_ethdev.c | 30 +++--
drivers/net/vmxnet3/vmxnet3_rxtx.c | 30 +----
lib/librte_eal/bsdapp/eal/eal_pci.c | 3 +
lib/librte_eal/common/eal_common_dev.c | 3 +
lib/librte_eal/common/eal_common_vdev.c | 50 +++++++-
lib/librte_eal/common/include/rte_dev.h | 1 +
lib/librte_eal/common/include/rte_pci.h | 1 +
lib/librte_eal/linuxapp/eal/eal_pci.c | 3 +
lib/librte_ether/Makefile | 2 +
lib/librte_ether/rte_ethdev.c | 117 ------------------
lib/librte_ether/rte_ethdev.h | 105 +---------------
lib/librte_ether/rte_ethdev_pci.h | 191 ++++++++++++++++++++++++++++++
lib/librte_ether/rte_ethdev_vdev.h | 84 +++++++++++++
lib/librte_ether/rte_ether_version.map | 4 -
test/test/test_link_bonding_rssconf.c | 4 +-
50 files changed, 1065 insertions(+), 891 deletions(-)
delete mode 100644 drivers/net/null/rte_eth_null.h
create mode 100644 lib/librte_ether/rte_ethdev_pci.h
create mode 100644 lib/librte_ether/rte_ethdev_vdev.h
--
2.7.4
More information about the dev
mailing list