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

Shachar Beiser shacharbe at mellanox.com
Sun Jul 30 09:33:19 CEST 2017


Tested-by : Shachar Beiser <shacharbe at mellanox.com>


The bug is fixed and now there is no crash: 

testpmd> port stop all
Stopping ports...
Done
testpmd> port close all
Closing ports...
Done
testpmd> port detach 0
Detaching a port...
Invalid port 0
Please close port first
testpmd> show port info 0
Invalid port 0
Valid port range is [0]
testpmd>


-----Original Message-----
From: Gaetan Rivet [mailto:gaetan.rivet at 6wind.com] 
Sent: Wednesday, July 26, 2017 4:36 PM
To: dev at dpdk.org
Cc: Gaetan Rivet <gaetan.rivet at 6wind.com>; Thomas Monjalon <thomas at monjalon.net>; Shachar Beiser <shacharbe at mellanox.com>; Adrien Mazarguil <adrien.mazarguil at 6wind.com>; Nélio Laranjeiro <nelio.laranjeiro at 6wind.com>
Subject: [PATCH v2 0/6] fix ethdev device detach

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]

v2:

  - remove coredump from patchset

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 ++++++---
 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 +----------
 5 files changed, 15 insertions(+), 13 deletions(-)

-- 
2.1.4



More information about the dev mailing list