[dpdk-dev] [PATCH 0/5] add device removal event

Gaetan Rivet gaetan.rivet at 6wind.com
Fri Mar 3 16:40:18 CET 2017


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



More information about the dev mailing list