[dpdk-dev] [PATCH v3 0/6] Fail-safe\ethdev: fix removal handling lack
matan at mellanox.com
Tue Dec 19 18:10:09 CET 2017
There is time between the physical removal of the device until sub-device PMDs get a RMV interrupt.
At this time DPDK PMDs and applications still don't know about the removal and may call sub-device
control operation which should return an error.
This series adds new ethdev operation to check device removal, adds support for it in mlx PMDs, adjust ethdev APIs to return -EIO in case of removal and fixes the fail-safe bug of removal error report.
Remove ENODEV definition.
Remove checks from all mlx control commands.
Add new devop - "is_removed".
Implement it in mlx4 and mlx5.
Fix failsafe bug by the new devop.
Adjust ethdev APIs removal error report.
Change failsafe check to check eth_dev* return values.
Remove backporting of fail-safe patch.
Matan Azrad (6):
ethdev: add devop to check removal status
net/mlx4: support a device removal check operation
net/mlx5: support a device removal check operation
ethdev: adjust APIs removal error report
ethdev: adjust flow APIs removal error report
net/failsafe: fix removed device handling
drivers/net/failsafe/failsafe_flow.c | 18 +--
drivers/net/failsafe/failsafe_ops.c | 35 ++++--
drivers/net/failsafe/failsafe_private.h | 12 ++
drivers/net/mlx4/mlx4.c | 1 +
drivers/net/mlx4/mlx4.h | 1 +
drivers/net/mlx4/mlx4_ethdev.c | 20 +++
drivers/net/mlx5/mlx5.c | 2 +
drivers/net/mlx5/mlx5.h | 1 +
drivers/net/mlx5/mlx5_ethdev.c | 20 +++
lib/librte_ether/rte_ethdev.c | 213 +++++++++++++++++++++-----------
lib/librte_ether/rte_ethdev.h | 68 +++++++++-
lib/librte_ether/rte_ethdev_version.map | 7 ++
lib/librte_ether/rte_flow.c | 34 +++--
lib/librte_ether/rte_flow.h | 2 +
14 files changed, 334 insertions(+), 100 deletions(-)
More information about the dev