[v4,0/6] replace attach/detach functions

Message ID 20181009223338.18307-1-thomas@monjalon.net
Headers show
Series
  • replace attach/detach functions
Related show

Message

Thomas Monjalon Oct. 9, 2018, 10:33 p.m.
The functions for EAL attach/detach had already some replacements,
so they are removed.
The functions for ethdev attach/detach are removed and replaced
thanks to a new ethdev iterator working with devargs.

    rte_eth_dev_attach(devargs, &port_id)
is replaced by:
    rte_dev_probe(devargs);
    RTE_ETH_FOREACH_MATCHING_DEV(port_id, devargs, &iterator) {
        do what you want with the new port_id
    }

The biggest benefit is to be able to manage devargs string
matching several ports to probe.


Depends on: https://patches.dpdk.org/project/dpdk/list/?series=1676
Depends on: https://patches.dpdk.org/project/dpdk/list/?series=1734
Depends on: https://patches.dpdk.org/patch/46443/


Changes in v4:
  - fix compilation (due to stricter checks in v3)

Changes in v3 - after Andrew's review:
  - coding rules compliance
  - stricter checks for snprintf
  - rte_eth_iterator_free() becomes rte_eth_iterator_cleanup()
  - add rte_eth_iterator_cleanup in .map

Changes in v2 - after Andrew's review:
  - return only 0 or -1 in vdev_dev_match()
  - fix freeing of strings in the iterator
  - add rte_eth_iterator_free()
  - tolerate extra parameters from old syntax
  - add more comments
  - separate contributing guide patch


Thomas Monjalon (6):
  bus/vdev: add iteration filter on name
  ethdev: add iterator to match devargs input
  ethdev: allow iterating with pure class filter
  doc: replace doxygen example in contribution guide
  ethdev: remove deprecated attach/detach functions
  eal: remove deprecated attach/detach functions

 app/test-pmd/testpmd.c                        |  19 +-
 doc/guides/contributing/documentation.rst     |  15 +-
 doc/guides/prog_guide/index.rst               |   1 -
 .../prog_guide/port_hotplug_framework.rst     | 106 ---------
 doc/guides/rel_notes/deprecation.rst          |  12 -
 doc/guides/rel_notes/release_18_11.rst        |  14 +-
 drivers/bus/vdev/vdev_params.c                |  19 +-
 drivers/net/virtio/virtio_user_ethdev.c       |   1 -
 lib/librte_eal/common/eal_common_dev.c        |  53 -----
 lib/librte_eal/common/include/rte_common.h    |   6 +
 lib/librte_eal/common/include/rte_dev.h       |  27 ---
 lib/librte_eal/rte_eal_version.map            |   2 -
 lib/librte_ethdev/Makefile                    |   2 +-
 lib/librte_ethdev/ethdev_private.c            |  10 +-
 lib/librte_ethdev/ethdev_private.h            |   6 +
 lib/librte_ethdev/meson.build                 |   2 +-
 lib/librte_ethdev/rte_class_eth.c             |   9 +-
 lib/librte_ethdev/rte_ethdev.c                | 223 +++++++++++-------
 lib/librte_ethdev/rte_ethdev.h                | 110 ++++++---
 lib/librte_ethdev/rte_ethdev_version.map      |   5 +-
 20 files changed, 304 insertions(+), 338 deletions(-)
 delete mode 100644 doc/guides/prog_guide/port_hotplug_framework.rst