[dpdk-dev] [PATCH 0/6] fix ethdev device detach

Gaetan Rivet gaetan.rivet at 6wind.com
Wed Jul 26 15:30:16 CEST 2017


Device detach in librte_ether is rough right now.

 - Device hotplug capability is not properly checked
 - Device state should be set after a successful detach
 - MLX drivers are lacking the relevant flag
 - And this flag should actually be removed, thus occuring an API change
   for v17.11. An announce follows.

Without this series on an MLX4 port:

   testpmd> port close 0
   Closing ports...
   Port 0 is now not stopped
   Done
   testpmd> port stop 0
   Stopping ports...
   Checking link statuses...
   Done
   testpmd> port close 0
   Closing ports...
   Done
   testpmd> port detach 0
   Detaching a port...
   testpmd> show port info 0
   Segmentation fault (core dumped)

With this series:

   testpmd> port stop 0
   Stopping ports...
   Checking link statuses...
   Done
   testpmd> port detach 0
   Detaching a port...
   Please close port first
   testpmd> port close 0
   Closing ports...
   Done
   testpmd> port detach 0
   Detaching a port...
   Port '00:03.0' is detached. Now total ports is 0
   Done
   testpmd> show port info 0
   Invalid port 0
   Valid port range is [0]

Gaetan Rivet (6):
  ethdev: fix device state on detach
  ethdev: properly check detach capability
  net/mlx4: advertize the detach capability
  net/mlx5: advertize the detach capability
  app/testpmd: let the user know device detach failed
  doc: announce ethdev API change for detach flag

 app/test-pmd/testpmd.c               |   9 ++++++---
 core                                 | Bin 0 -> 114331648 bytes
 doc/guides/rel_notes/deprecation.rst |   6 ++++++
 drivers/net/mlx4/mlx4.c              |   1 +
 drivers/net/mlx5/mlx5.c              |   1 +
 lib/librte_ether/rte_ethdev.c        |  11 +----------
 6 files changed, 15 insertions(+), 13 deletions(-)
 create mode 100644 core

-- 
2.1.4



More information about the dev mailing list