[dpdk-dev] [PATCH 00/38] Remove struct eth_driver

Stephen Hemminger stephen at networkplumber.org
Thu Mar 23 16:34:21 CET 2017


On Mon,  6 Mar 2017 10:59:52 +0100
Jan Blunck <jblunck at infradead.org> wrote:

> 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
> 

Could you put a tree with the patches up on github?


More information about the dev mailing list