Hi all, Following the discussion that took place during the tech board meeting, it seems that some clarification and some additional discussion is needed about this series.
As of now, what I plan to do is to: 1. Rebase this series upon the bus framework [1][2][3]. 2. Write further documentation to clarify the meaning of this event and further identify the best approach to implement it. What I expect from this is to spawn a discussion about the best way to achieve a true hot-plug feature in DPDK. Any thoughts, comments regarding this? Regards, [1] http://dpdk.org/ml/archives/dev/2017-January/054165.html [2] http://dpdk.org/ml/archives/dev/2017-March/059423.html [3] http://dpdk.org/ml/archives/dev/2017-March/059376.html On Fri, Mar 3, 2017 at 4:40 PM, Gaetan Rivet <gaetan.ri...@6wind.com> wrote: > > This new event represents the sudden removal of a device from its bus. > The underlying resources exposed by the bus are expected not to be available > anymore. The application should thus be able to react and possibly clean up > related resources that it reserved for the removed device. > > This event is different from the current hotplug API available in the DPDK > for two reasons: > > 1. It is a reactive design: the application reacts to a device that has been > removed instead of removing a device from its pool. > > 2. The event itself is going further than the current detaching of a device > from a DPDK application. If the bus is a hardware one, it is expected of > the > underlying resources to not be available anymore. > > This series adds a new event type to ethdev and implements it in mlx4. > Testpmd is also updated to report all asynchronous ethdev events including > this > one for testing purposes and as a practical usage example. > > This series depends on the series titled > [PATCH 1/2] net/mlx4: split the definitions to the header file > > Gaetan Rivet (5): > ethdev: introduce device removal event > net/mlx4: device removal event support > app/testpmd: generic event handler > app/testpmd: request link status interrupt > app/testpmd: request device removal interrupt > > app/test-pmd/parameters.c | 8 + > app/test-pmd/testpmd.c | 103 ++++++++++ > app/test-pmd/testpmd.h | 2 + > doc/guides/nics/features/default.ini | 1 + > doc/guides/nics/features/mlx4.ini | 1 + > doc/guides/prog_guide/env_abstraction_layer.rst | 21 +- > drivers/net/mlx4/mlx4.c | 258 > ++++++++++++++++++++---- > drivers/net/mlx4/mlx4.h | 1 + > lib/librte_eal/common/include/rte_pci.h | 2 + > lib/librte_ether/rte_ethdev.c | 13 +- > lib/librte_ether/rte_ethdev.h | 9 +- > 11 files changed, 375 insertions(+), 44 deletions(-) > > -- > 2.1.4 >