[dpdk-dev] [PATCH 05/11] ethdev: add probing finish function

Stephen Hemminger stephen at networkplumber.org
Thu May 10 22:18:03 CEST 2018


On Wed,  9 May 2018 11:43:31 +0200
Thomas Monjalon <thomas at monjalon.net> wrote:

> A new hook function is added and called inside the PMDs at the end
> of the device probing:
> 	- in primary process, after allocating, init and config
> 	- in secondary process, after attaching and local init
> 
> This new function is almost empty for now.
> It will be used later to add some post-initialization processing.
> 
> For the PMDs calling the helpers rte_eth_dev_create() or
> rte_eth_dev_pci_generic_probe(), the hook rte_eth_dev_probing_finish()
> is called from here, and not in the PMD itself.
> 
> Note that the helper rte_eth_dev_create() could be used more,
> especially for vdevs, avoiding some code duplication in PMDs.
> 
> Cc: stable at dpdk.org
> 
> Signed-off-by: Thomas Monjalon <thomas at monjalon.net>
> ---
>  drivers/net/af_packet/rte_eth_af_packet.c |  2 ++
>  drivers/net/ark/ark_ethdev.c              |  2 ++
>  drivers/net/bonding/rte_eth_bond_pmd.c    |  2 ++
>  drivers/net/cxgbe/cxgbe_ethdev.c          |  1 +
>  drivers/net/cxgbe/cxgbe_main.c            |  5 +++++
>  drivers/net/cxgbe/cxgbevf_ethdev.c        |  1 +
>  drivers/net/cxgbe/cxgbevf_main.c          |  5 +++++
>  drivers/net/dpaa/dpaa_ethdev.c            |  5 ++++-
>  drivers/net/dpaa2/dpaa2_ethdev.c          |  4 +++-
>  drivers/net/failsafe/failsafe.c           |  2 ++
>  drivers/net/kni/rte_eth_kni.c             |  2 ++
>  drivers/net/mlx4/mlx4.c                   |  1 +
>  drivers/net/mlx5/mlx5.c                   |  2 ++
>  drivers/net/mvpp2/mrvl_ethdev.c           |  1 +
>  drivers/net/nfp/nfp_net.c                 |  2 ++
>  drivers/net/null/rte_eth_null.c           |  2 ++
>  drivers/net/octeontx/octeontx_ethdev.c    |  3 +++
>  drivers/net/pcap/rte_eth_pcap.c           |  2 ++
>  drivers/net/ring/rte_eth_ring.c           |  1 +
>  drivers/net/softnic/rte_eth_softnic.c     |  3 +++
>  drivers/net/szedata2/rte_eth_szedata2.c   |  2 ++
>  drivers/net/tap/rte_eth_tap.c             |  2 ++
>  drivers/net/vhost/rte_eth_vhost.c         |  2 ++
>  drivers/net/virtio/virtio_user_ethdev.c   |  3 +++
>  lib/librte_ethdev/rte_ethdev.c            |  9 +++++++++
>  lib/librte_ethdev/rte_ethdev_driver.h     | 10 ++++++++++
>  lib/librte_ethdev/rte_ethdev_pci.h        |  2 ++
>  lib/librte_ethdev/rte_ethdev_version.map  |  1 +
>  test/test/virtual_pmd.c                   |  2 ++
>  29 files changed, 79 insertions(+), 2 deletions(-)

Rather than changing so many drivers would it be possible to put the finish in bus layer?
For virtual devices could be handle by vdev_probe_all_drivers.



More information about the dev mailing list