[dpdk-dev] [PATCH v2 00/42] Remove struct eth_driver
Gaetan Rivet
gaetan.rivet at 6wind.com
Tue Apr 11 17:44:07 CEST 2017
I rebased the following work of Jan:
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/
* The "Rework vdev probing to use rte_bus infrastructure" series
* http://dpdk.org/dev/patchwork/patch/21058/
Changes in v2:
* Removed the patch "net/vmxnet3: use library function for DMA zone reserve"
It is essentially duplicating the following commit:
04df93d1edac ("net/vmxnet3: fix queue size changes")
* Fixed header includes for mlx4 and mlx5 PMD
* Followed the changes of the series for new PMDs (AVP, liquidio)
* Made KNI use the new API
* Made PCAP use the new API
* Fixed undefined behavior on vdev driver arg parsing
* Fixed virtual_pmd for unit test
Gaetan Rivet (5):
net/kni: use ethdev allocation helper for virtual devices
net/pcap: use ethdev allocation helper for virtual devices
net/avp: Don't use eth_driver
net/liquidio: Don't use eth_driver
test: remove unused ethdev driver
Jan Blunck (37):
eal: add name field to generic device
eal: parse "driver" device argument before probing drivers
net/nfp: 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/avp/avp_ethdev.c | 43 +++++--
drivers/net/bnx2x/bnx2x_ethdev.c | 64 ++++++----
drivers/net/bnx2x/bnx2x_rxtx.c | 2 +-
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/kni/rte_eth_kni.c | 39 +++---
drivers/net/liquidio/lio_ethdev.c | 44 +++++--
drivers/net/mlx4/mlx4.c | 24 ++--
drivers/net/mlx5/mlx5.c | 24 ++--
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/pcap/rte_eth_pcap.c | 62 +++++-----
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 | 38 ++----
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 +++--
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 | 53 ++++++++-
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 | 11 +-
test/test/test_link_bonding_rssconf.c | 4 +-
test/test/virtual_pmd.c | 12 +-
55 files changed, 1185 insertions(+), 966 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.1.4
More information about the dev
mailing list