DPDK patches and discussions
 help / color / mirror / Atom feed
* [dpdk-dev] [PATCH 00/38] Remove struct eth_driver
@ 2017-03-06  9:59 Jan Blunck
  2017-03-06  9:59 ` [dpdk-dev] [PATCH 01/38] eal: add name field to generic device Jan Blunck
                   ` (39 more replies)
  0 siblings, 40 replies; 104+ messages in thread
From: Jan Blunck @ 2017-03-06  9:59 UTC (permalink / raw)
  To: dev

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

^ permalink raw reply	[flat|nested] 104+ messages in thread

end of thread, other threads:[~2017-05-10 11:01 UTC | newest]

Thread overview: 104+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-03-06  9:59 [dpdk-dev] [PATCH 00/38] Remove struct eth_driver Jan Blunck
2017-03-06  9:59 ` [dpdk-dev] [PATCH 01/38] eal: add name field to generic device Jan Blunck
2017-03-06  9:59 ` [dpdk-dev] [PATCH 02/38] eal: parse "driver" device argument before probing drivers Jan Blunck
2017-03-06  9:59 ` [dpdk-dev] [PATCH 03/38] net/nfp: use library function for DMA zone reserve Jan Blunck
2017-03-10  7:03   ` Shreyansh Jain
2017-03-10  7:20     ` Jan Blunck
2017-03-06  9:59 ` [dpdk-dev] [PATCH 04/38] net/vmxnet3: " Jan Blunck
2017-03-06  9:59 ` [dpdk-dev] [PATCH 05/38] ether: add allocation helper for virtual drivers Jan Blunck
2017-03-06  9:59 ` [dpdk-dev] [PATCH 06/38] net/tap: use ethdev allocation helper for virtual devices Jan Blunck
2017-03-06  9:59 ` [dpdk-dev] [PATCH 07/38] net/vhost: " Jan Blunck
2017-03-06 10:00 ` [dpdk-dev] [PATCH 08/38] net/virtio: " Jan Blunck
2017-03-06 10:00 ` [dpdk-dev] [PATCH 09/38] net/af_packet: " Jan Blunck
2017-03-06 10:00 ` [dpdk-dev] [PATCH 10/38] app/test: don't short-circuit null device creation Jan Blunck
2017-03-06 10:00 ` [dpdk-dev] [PATCH 11/38] net/null: internalize eth_dev_null_create() Jan Blunck
2017-03-06 10:00 ` [dpdk-dev] [PATCH 12/38] net/null: use ethdev allocation helper for virtual devices Jan Blunck
2017-03-06 10:00 ` [dpdk-dev] [PATCH 13/38] net/bonding: make bonding API call through EAL on create/free Jan Blunck
2017-03-06 10:00 ` [dpdk-dev] [PATCH 14/38] net/bonding: use ethdev allocation helper for virtual devices Jan Blunck
2017-03-06 10:00 ` [dpdk-dev] [PATCH 15/38] ethdev: add PCI driver helpers Jan Blunck
2017-03-06 10:00 ` [dpdk-dev] [PATCH 16/38] net/virtio: Don't use eth_driver Jan Blunck
2017-03-06 10:00 ` [dpdk-dev] [PATCH 17/38] net/bnx2x: " Jan Blunck
2017-03-06 19:32   ` Harish Patil
2017-03-06 10:00 ` [dpdk-dev] [PATCH 18/38] net/bnxt: " Jan Blunck
2017-03-06 10:00 ` [dpdk-dev] [PATCH 19/38] net/cxgbe: " Jan Blunck
2017-03-06 10:00 ` [dpdk-dev] [PATCH 20/38] net/em: " Jan Blunck
2017-03-06 10:00 ` [dpdk-dev] [PATCH 21/38] net/igb: " Jan Blunck
2017-03-06 10:00 ` [dpdk-dev] [PATCH 22/38] net/ena: " Jan Blunck
2017-03-06 10:00 ` [dpdk-dev] [PATCH 23/38] net/enic: " Jan Blunck
2017-03-06 10:00 ` [dpdk-dev] [PATCH 24/38] net/fm10k: " Jan Blunck
2017-03-06 10:00 ` [dpdk-dev] [PATCH 25/38] net/i40e: " Jan Blunck
2017-03-06 10:00 ` [dpdk-dev] [PATCH 26/38] net/i40evf: " Jan Blunck
2017-03-06 10:00 ` [dpdk-dev] [PATCH 27/38] net/ixgbe: " Jan Blunck
2017-03-06 10:00 ` [dpdk-dev] [PATCH 28/38] net/mlx: Don't reference eth_driver Jan Blunck
2017-03-06 10:00 ` [dpdk-dev] [PATCH 29/38] net/nfp: Don't use eth_driver Jan Blunck
2017-03-06 10:00 ` [dpdk-dev] [PATCH 30/38] net/qede: " Jan Blunck
2017-03-06 19:33   ` Harish Patil
2017-03-06 10:00 ` [dpdk-dev] [PATCH 31/38] net/sfc: " Jan Blunck
2017-03-06 10:00 ` [dpdk-dev] [PATCH 32/38] net/szedata2: " Jan Blunck
2017-03-06 10:00 ` [dpdk-dev] [PATCH 33/38] net/thunderx: " Jan Blunck
2017-03-06 10:00 ` [dpdk-dev] [PATCH 34/38] net/vmxnet3: " Jan Blunck
2017-03-06 10:00 ` [dpdk-dev] [PATCH 35/38] ethdev: remove unused ethdev PCI probe/remove Jan Blunck
2017-03-06 10:00 ` [dpdk-dev] [PATCH 36/38] ethdev: remove unused ethdev driver Jan Blunck
2017-03-06 10:00 ` [dpdk-dev] [PATCH 37/38] ethdev: remove PCI specific helper from generic ethdev header Jan Blunck
2017-03-06 10:00 ` [dpdk-dev] [PATCH 38/38] ethdev: don't include PCI header Jan Blunck
2017-03-23 15:34 ` [dpdk-dev] [PATCH 00/38] Remove struct eth_driver Stephen Hemminger
2017-03-25 10:50   ` Jan Blunck
2017-04-11 15:44 ` [dpdk-dev] [PATCH v2 00/42] " Gaetan Rivet
2017-04-11 15:44   ` [dpdk-dev] [PATCH v2 01/42] eal: add name field to generic device Gaetan Rivet
2017-04-11 15:44   ` [dpdk-dev] [PATCH v2 02/42] eal: parse "driver" device argument before probing drivers Gaetan Rivet
2017-05-10  2:34     ` Ferruh Yigit
2017-05-10 11:01       ` Ferruh Yigit
2017-04-11 15:44   ` [dpdk-dev] [PATCH v2 03/42] net/nfp: use library function for DMA zone reserve Gaetan Rivet
2017-04-11 15:44   ` [dpdk-dev] [PATCH v2 04/42] ether: add allocation helper for virtual drivers Gaetan Rivet
2017-04-11 15:44   ` [dpdk-dev] [PATCH v2 05/42] net/tap: use ethdev allocation helper for virtual devices Gaetan Rivet
2017-04-11 15:44   ` [dpdk-dev] [PATCH v2 06/42] net/vhost: " Gaetan Rivet
2017-04-11 15:44   ` [dpdk-dev] [PATCH v2 07/42] net/virtio: " Gaetan Rivet
2017-04-11 15:44   ` [dpdk-dev] [PATCH v2 08/42] net/af_packet: " Gaetan Rivet
2017-04-11 15:44   ` [dpdk-dev] [PATCH v2 09/42] app/test: don't short-circuit null device creation Gaetan Rivet
2017-04-11 15:44   ` [dpdk-dev] [PATCH v2 10/42] net/null: internalize eth_dev_null_create() Gaetan Rivet
2017-04-11 15:44   ` [dpdk-dev] [PATCH v2 11/42] net/null: use ethdev allocation helper for virtual devices Gaetan Rivet
2017-04-11 15:44   ` [dpdk-dev] [PATCH v2 12/42] net/bonding: make bonding API call through EAL on create/free Gaetan Rivet
2017-04-11 15:44   ` [dpdk-dev] [PATCH v2 13/42] net/bonding: use ethdev allocation helper for virtual devices Gaetan Rivet
2017-04-11 15:44   ` [dpdk-dev] [PATCH v2 14/42] net/kni: " Gaetan Rivet
2017-04-11 15:44   ` [dpdk-dev] [PATCH v2 15/42] net/pcap: " Gaetan Rivet
2017-04-11 15:44   ` [dpdk-dev] [PATCH v2 16/42] ethdev: add PCI driver helpers Gaetan Rivet
2017-04-11 15:44   ` [dpdk-dev] [PATCH v2 17/42] net/virtio: Don't use eth_driver Gaetan Rivet
2017-04-11 15:44   ` [dpdk-dev] [PATCH v2 18/42] net/bnx2x: " Gaetan Rivet
2017-04-11 15:44   ` [dpdk-dev] [PATCH v2 19/42] net/bnxt: " Gaetan Rivet
2017-04-11 15:44   ` [dpdk-dev] [PATCH v2 20/42] net/cxgbe: " Gaetan Rivet
2017-04-11 15:44   ` [dpdk-dev] [PATCH v2 21/42] net/em: " Gaetan Rivet
2017-04-11 15:44   ` [dpdk-dev] [PATCH v2 22/42] net/igb: " Gaetan Rivet
2017-04-11 15:44   ` [dpdk-dev] [PATCH v2 23/42] net/ena: " Gaetan Rivet
2017-04-11 15:44   ` [dpdk-dev] [PATCH v2 24/42] net/enic: " Gaetan Rivet
2017-04-11 15:44   ` [dpdk-dev] [PATCH v2 25/42] net/fm10k: " Gaetan Rivet
2017-04-11 15:44   ` [dpdk-dev] [PATCH v2 26/42] net/i40e: " Gaetan Rivet
2017-04-11 15:44   ` [dpdk-dev] [PATCH v2 27/42] net/i40evf: " Gaetan Rivet
2017-04-11 15:44   ` [dpdk-dev] [PATCH v2 28/42] net/ixgbe: " Gaetan Rivet
2017-04-11 15:44   ` [dpdk-dev] [PATCH v2 29/42] net/mlx: Don't reference eth_driver Gaetan Rivet
2017-04-11 15:44   ` [dpdk-dev] [PATCH v2 30/42] net/nfp: Don't use eth_driver Gaetan Rivet
2017-04-11 15:44   ` [dpdk-dev] [PATCH v2 31/42] net/qede: " Gaetan Rivet
2017-04-11 15:44   ` [dpdk-dev] [PATCH v2 32/42] net/sfc: " Gaetan Rivet
2017-04-11 15:44   ` [dpdk-dev] [PATCH v2 33/42] net/szedata2: " Gaetan Rivet
2017-04-11 15:44   ` [dpdk-dev] [PATCH v2 34/42] net/thunderx: " Gaetan Rivet
2017-04-11 15:44   ` [dpdk-dev] [PATCH v2 35/42] net/vmxnet3: " Gaetan Rivet
2017-04-11 15:44   ` [dpdk-dev] [PATCH v2 36/42] net/avp: " Gaetan Rivet
2017-04-11 18:48     ` Legacy, Allain
2017-04-11 15:44   ` [dpdk-dev] [PATCH v2 37/42] net/liquidio: " Gaetan Rivet
2017-04-11 15:44   ` [dpdk-dev] [PATCH v2 38/42] ethdev: remove unused ethdev PCI probe/remove Gaetan Rivet
2017-04-12 11:24     ` Neil Horman
2017-04-12 11:28       ` Neil Horman
2017-04-11 15:44   ` [dpdk-dev] [PATCH v2 39/42] ethdev: remove unused ethdev driver Gaetan Rivet
2017-04-11 15:44   ` [dpdk-dev] [PATCH v2 40/42] test: " Gaetan Rivet
2017-04-11 15:44   ` [dpdk-dev] [PATCH v2 41/42] ethdev: remove PCI specific helper from generic ethdev header Gaetan Rivet
2017-04-11 15:44   ` [dpdk-dev] [PATCH v2 42/42] ethdev: don't include PCI header Gaetan Rivet
2017-04-12 16:25   ` [dpdk-dev] [PATCH v2 00/42] Remove struct eth_driver Stephen Hemminger
2017-04-14 13:09     ` Thomas Monjalon
2017-04-18 18:27       ` [dpdk-dev] [PATCH 0/2] next-net: remove ethdev driver Ferruh Yigit
2017-04-18 18:27         ` [dpdk-dev] [PATCH 1/2] net/ark: remove eth_dev Ferruh Yigit
2017-04-18 19:24           ` Ed Czeck
2017-04-19 10:03             ` Ferruh Yigit
2017-04-18 18:27         ` [dpdk-dev] [PATCH 2/2] net/xenvirt: remove ethdev driver Ferruh Yigit
2017-04-19  9:52           ` [dpdk-dev] [PATCH v2] net/xenvirt: fix build error Ferruh Yigit
2017-04-19 12:12             ` Thomas Monjalon
2017-04-18 18:38         ` [dpdk-dev] [PATCH 0/2] next-net: remove ethdev driver Ferruh Yigit
2017-04-19 11:37         ` Shreyansh Jain

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).