numam-dpdk/app/test-pmd
Thomas Monjalon 0654d4a8ad app/testpmd: fix hot-unplug detaching
There is a possible race condition in the hotplug path
in rmv_port_callback(). If a port is created between
close_port(port_id) and detach_port_device(port_id),
then the port_id will have been reallocated to a different
device which will be wrongly detached.

Since a check was added in detach_port_device() for
manual detach case, the hotplug path was even more broken.
It became impossible to run because the new check prevented
to run detach_port_device() after the port is closed.

The solution for both issues is to not rely on the port_id
for detaching the rte_device.
The function detach_port_device() is split to allow calling
detach_device() directly with the rte_device pointer, saved
before closing the port.

Fixes: 43d0e30498 ("app/testpmd: fix invalid port detaching")
Cc: stable@dpdk.org

Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
Reviewed-by: Ferruh Yigit <ferruh.yigit@intel.com>
2020-02-14 12:42:13 +01:00
..
bpf_cmd.c bpf: add extra information for external symbol definitions 2018-07-12 09:37:16 +02:00
bpf_cmd.h app/testpmd: add commands to load/unload BPF filters 2018-05-12 00:37:51 +02:00
cmdline_flow.c app/testpmd: fix uninitialized members of MPLS 2020-02-05 09:51:21 +01:00
cmdline_mtr.c meter: replace color definitions 2019-04-11 14:27:32 +02:00
cmdline_mtr.h app/testpmd: add commands for metering and policing 2018-01-10 00:51:31 +01:00
cmdline_tm.c meter: replace color definitions 2019-04-11 14:27:32 +02:00
cmdline_tm.h app/testpmd: add TM commands to mark packets 2018-10-08 17:53:03 +02:00
cmdline.c app/testpmd: rename function for detaching by devargs 2020-02-14 12:42:13 +01:00
config.c app/testpmd: add --portlist option 2020-02-14 12:42:12 +01:00
csumonly.c net: use IPV4 VHL constant 2019-11-20 17:36:06 +01:00
flowgen.c fix Mellanox copyright and SPDX tag 2020-02-13 18:47:28 +01:00
icmpecho.c app: use common macro RTE_DIM 2020-02-05 14:37:41 +01:00
ieee1588fwd.c net: add rte prefix to ether defines 2019-05-24 13:34:45 +02:00
iofwd.c app: use SPDX tag for Intel copyright files 2018-01-04 22:41:39 +01:00
macfwd.c net: add rte prefix to IP structure 2019-05-24 13:34:46 +02:00
macswap_common.h net: add rte prefix to IP structure 2019-05-24 13:34:46 +02:00
macswap_neon.h net: add rte prefix to ether structures 2019-05-24 13:34:45 +02:00
macswap_sse.h net: add rte prefix to ether structures 2019-05-24 13:34:45 +02:00
macswap.c fix Mellanox copyright and SPDX tag 2020-02-13 18:47:28 +01:00
macswap.h net: add rte prefix to ether functions 2019-05-24 13:34:45 +02:00
Makefile mk: build with _GNU_SOURCE defined by default 2018-10-22 11:28:27 +02:00
meson.build build: add dependency on telemetry to apps with meson 2018-10-27 15:21:33 +02:00
noisy_vnf.c app/testpmd: add noisy neighbour forwarding mode 2018-10-11 18:56:02 +02:00
parameters.c app/testpmd: add --portlist option 2020-02-14 12:42:12 +01:00
rxonly.c app/testpmd: add packet dump callbacks 2018-10-18 10:24:39 +02:00
softnicfwd.c app/testpmd: check status of getting link info 2019-10-07 15:00:54 +02:00
testpmd.c app/testpmd: fix hot-unplug detaching 2020-02-14 12:42:13 +01:00
testpmd.h app/testpmd: rename function for detaching by devargs 2020-02-14 12:42:13 +01:00
txonly.c app/testpmd: fix txonly flow generation entropy 2020-02-14 12:42:12 +01:00
util.c fix Mellanox copyright and SPDX tag 2020-02-13 18:47:28 +01:00