Skip to content

Remove struct eth_driver

Gaetan Rivet dpdk-dev 1 version Applied

Status from this message: Applied, thanks

Get series with b4
b4 am [email protected]

Versions newest first

  1. v2 Latest42 patches 7 repliesApplied

Changes in v2 from the cover letter

* 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

Patches in v2 Applied

#Subject and filesSizeRepliesApplied
1/42eal: add name field to generic devicelib/librte_eal/bsdapp/eal/eal_pci.c lib/librte_eal/common/eal_common_dev.c lib/librte_eal/common/eal_common_vdev.c +3 more+13 -00 replies
2/42eal: parse "driver" device argument before probing driverslib/librte_eal/common/eal_common_vdev.c+46 -52 replies
3/42net/nfp: use library function for DMA zone reservedrivers/net/nfp/nfp_net.c+6 -240 replies
4/42ether: add allocation helper for virtual driverslib/librte_ether/Makefile lib/librte_ether/rte_ethdev_vdev.h+86 -00 replies
5/42net/tap: use ethdev allocation helper for virtual devicesdrivers/net/tap/rte_eth_tap.c+13 -250 replies
6/42net/vhost: use ethdev allocation helper for virtual devicesdrivers/net/vhost/rte_eth_vhost.c+26 -280 replies
7/42net/virtio: use ethdev allocation helper for virtual devicesdrivers/net/virtio/virtio_user_ethdev.c+5 -150 replies
8/42net/af_packet: use ethdev allocation helper for virtual devicesdrivers/net/af_packet/rte_eth_af_packet.c+19 -230 replies
9/42app/test: don't short-circuit null device creationdrivers/net/null/rte_eth_null.c test/test/test_link_bonding_rssconf.c+3 -10 replies
10/42net/null: internalize eth_dev_null_create()drivers/net/null/Makefile drivers/net/null/rte_eth_null.c drivers/net/null/rte_eth_null.h +2 more+2 -570 replies
11/42net/null: use ethdev allocation helper for virtual devicesdrivers/net/null/rte_eth_null.c+17 -330 replies
12/42net/bonding: make bonding API call through EAL on create/freedrivers/net/bonding/rte_eth_bond_api.c drivers/net/bonding/rte_eth_bond_args.c drivers/net/bonding/rte_eth_bond_pmd.c+194 -1530 replies
13/42net/bonding: use ethdev allocation helper for virtual devicesdrivers/net/bonding/rte_eth_bond_pmd.c+3 -170 replies
14/42net/kni: use ethdev allocation helper for virtual devicesdrivers/net/kni/rte_eth_kni.c+15 -240 replies
15/42net/pcap: use ethdev allocation helper for virtual devicesdrivers/net/pcap/rte_eth_pcap.c+27 -350 replies
16/42ethdev: add PCI driver helperslib/librte_ether/Makefile lib/librte_ether/rte_ethdev_pci.h+152 -00 replies
17/42net/virtio: Don't use eth_driverdrivers/net/virtio/virtio_ethdev.c+21 -130 replies
18/42net/bnx2x: Don't use eth_driverdrivers/net/bnx2x/bnx2x_ethdev.c drivers/net/bnx2x/bnx2x_rxtx.c+45 -210 replies
19/42net/bnxt: Don't use eth_driverdrivers/net/bnxt/bnxt_ethdev.c+23 -130 replies
20/42net/cxgbe: Don't use eth_driverdrivers/net/cxgbe/cxgbe_ethdev.c drivers/net/cxgbe/sge.c+22 -130 replies
21/42net/em: Don't use eth_driverdrivers/net/e1000/em_ethdev.c+19 -110 replies
22/42net/igb: Don't use eth_driverdrivers/net/e1000/igb_ethdev.c+38 -220 replies
23/42net/ena: Don't use eth_driverdrivers/net/ena/ena_ethdev.c+19 -100 replies
24/42net/enic: Don't use eth_driverdrivers/net/enic/enic_ethdev.c+19 -100 replies
25/42net/fm10k: Don't use eth_driverdrivers/net/fm10k/fm10k_ethdev.c+19 -110 replies
26/42net/i40e: Don't use eth_driverdrivers/net/i40e/i40e_ethdev.c drivers/net/i40e/i40e_fdir.c+23 -150 replies
27/42net/i40evf: Don't use eth_driverdrivers/net/i40e/i40e_ethdev_vf.c+20 -110 replies
28/42net/ixgbe: Don't use eth_driverdrivers/net/ixgbe/ixgbe_ethdev.c+40 -260 replies
29/42net/mlx: Don't reference eth_driverdrivers/net/mlx4/mlx4.c drivers/net/mlx5/mlx5.c+22 -260 replies
30/42net/nfp: Don't use eth_driverdrivers/net/nfp/nfp_net.c+19 -100 replies
31/42net/qede: Don't use eth_driverdrivers/net/qede/qede_ethdev.c drivers/net/qede/qede_ethdev.h+37 -240 replies
32/42net/sfc: Don't use eth_driverdrivers/net/sfc/sfc_ethdev.c+21 -130 replies
33/42net/szedata2: Don't use eth_driverdrivers/net/szedata2/rte_eth_szedata2.c+19 -100 replies
34/42net/thunderx: Don't use eth_driverdrivers/net/thunderx/nicvf_ethdev.c+19 -100 replies
35/42net/vmxnet3: Don't use eth_driverdrivers/net/vmxnet3/vmxnet3_ethdev.c+19 -110 replies
36/42net/avp: Don't use eth_driverdrivers/net/avp/avp_ethdev.c+32 -111 reply
37/42net/liquidio: Don't use eth_driverdrivers/net/liquidio/lio_ethdev.c+33 -110 replies
38/42ethdev: remove unused ethdev PCI probe/removelib/librte_ether/rte_ethdev.c lib/librte_ether/rte_ethdev.h lib/librte_ether/rte_ethdev_pci.h +1 more+11 -1212 replies
39/42ethdev: remove unused ethdev driverdrivers/net/cxgbe/cxgbe_main.c drivers/net/ring/rte_eth_ring.c lib/librte_ether/rte_ethdev.h +2 more+0 -780 replies
40/42test: remove unused ethdev drivertest/test/virtual_pmd.c+3 -90 replies
41/42ethdev: remove PCI specific helper from generic ethdev headerdrivers/net/cxgbe/cxgbe_main.c lib/librte_ether/rte_ethdev.c lib/librte_ether/rte_ethdev.h +2 more+33 -350 replies
42/42ethdev: don't include PCI headerlib/librte_ether/rte_ethdev.h+2 -10 replies

Reviews trailers per patch

1 of 42 patches has a Reviewed-by or Acked-by of their own; the series has one for all of them.

PatchAllain LegacyStephen HemmingerEd Czeck
SeriesA-b A-b
1/42
2/42
3/42
4/42
5/42
6/42
7/42
8/42
9/42
10/42
11/42
12/42
13/42
14/42
15/42
16/42
17/42
18/42
19/42
20/42
21/42
22/42
23/42
24/42
25/42
26/42
27/42
28/42
29/42
30/42
31/42
32/42
33/42
34/42
35/42
36/42A-b
37/42
38/42
39/42
40/42
41/42
42/42

Trailers given in replies are filled; those carried in the patches from earlier versions are outlined with dashes. Scroll the table sideways for all 3 reviewers.

Read the v2 thread

Cover letter [PATCH v2 00/42] Remove struct eth_driver

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
Signature · 1 line
2.1.4