app/testpmd: fix quit to stop all ports before close
This patch proposes a slightly different test-pmd quit operation: stop
all devices before starting to close any device. Basically, stop all
moving parts before beginning to remove them. The current test-pmd quit
is stopping and closing each device before moving to the next device.
If all devices in the system are independent of each other, this
difference is usually not important. In case of Soft NIC devices, any
such virtual device typically depends on one or more physical devices
being alive, as it accesses their queues, so this difference becomes
important.
Without this straightforward fix, all the Soft NIC devices need to be
manually stopped before the quit command is issued, otherwise the quit
command can sometimes crash the test-pmd application.
Fixes: d3a274ce9d
("app/testpmd: handle SIGINT and SIGTERM")
Cc: stable@dpdk.org
Signed-off-by: Cristian Dumitrescu <cristian.dumitrescu@intel.com>
Acked-by: Bernard Iremonger <bernard.iremonger@intel.com>
This commit is contained in:
parent
132a08b587
commit
08fd782b84
@ -2391,9 +2391,13 @@ pmd_test_exit(void)
|
||||
if (ports != NULL) {
|
||||
no_link_check = 1;
|
||||
RTE_ETH_FOREACH_DEV(pt_id) {
|
||||
printf("\nShutting down port %d...\n", pt_id);
|
||||
printf("\nStopping port %d...\n", pt_id);
|
||||
fflush(stdout);
|
||||
stop_port(pt_id);
|
||||
}
|
||||
RTE_ETH_FOREACH_DEV(pt_id) {
|
||||
printf("\nShutting down port %d...\n", pt_id);
|
||||
fflush(stdout);
|
||||
close_port(pt_id);
|
||||
|
||||
/*
|
||||
|
Loading…
Reference in New Issue
Block a user