Sending those fixes as separate patches as they stand on their own. This series improves usability of the hotplug API and fixes a few issues with existing implementations.
The hotplug API can be tested with the fail-safe PMD[1]. Its documentation describes how to declare slaves and how to use it. [1]: http://dpdk.org/ml/archives/dev/2017-July/070529.html v2: - Add a new rte_devargs function taylored for hotplug operations. Upon device hotplug, the device is implicitly whitelisted. This configuration should supersede any previous existing bus configuration. - Merge hotplug add and remove fixes as they are now tied up. - Do not return an rte_device handle back from hotplug_add. v3: - Further explain - the new rte_eal_devargs_insert function. - the hotplug add / remove fix - the PCI device name fix - Add comments to pci_name_set v4: - Free rte_devargs after the device is being removed, to avoid risks of buses relying on the rte_devargs during the process. Gaetan Rivet (8): vdev: implement plug operation devargs: introduce removal function devargs: introduce insert function eal: fix hotplug add / remove pci: use given name as generic name pci: fix generic driver pointer on probe error pci: fix hotplug operations bus: remove useless plug parameter lib/librte_eal/bsdapp/eal/eal_pci.c | 4 +- lib/librte_eal/bsdapp/eal/rte_eal_version.map | 2 + lib/librte_eal/common/eal_common_dev.c | 58 +++++++++++++++++++++++-- lib/librte_eal/common/eal_common_devargs.c | 31 +++++++++++++ lib/librte_eal/common/eal_common_pci.c | 57 +++++++++++++----------- lib/librte_eal/common/eal_common_vdev.c | 12 ++--- lib/librte_eal/common/eal_private.h | 5 +++ lib/librte_eal/common/include/rte_bus.h | 6 +-- lib/librte_eal/common/include/rte_devargs.h | 31 +++++++++++++ lib/librte_eal/common/include/rte_vdev.h | 7 +++ lib/librte_eal/linuxapp/eal/eal_pci.c | 4 +- lib/librte_eal/linuxapp/eal/rte_eal_version.map | 2 + 12 files changed, 176 insertions(+), 43 deletions(-) -- 2.1.4