app/testpmd: allow detaching a port not closed

The testpmd application aim is for testing;
so order of operations should not be enforced.

There was a test to forbid detaching before closing a port.
However, it may interesting to test what happens in such case.
It is possible for a PMD to automatically close the port when detaching.

in order to avoid a crash, it is checked that the port must be stopped
before detaching (as for closing).

Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
Acked-by: Bernard Iremonger <bernard.iremonger@intel.com>
This commit is contained in:
Thomas Monjalon 2018-10-19 04:07:53 +02:00 committed by Ferruh Yigit
parent ce6959bf79
commit 3f4a837047

View File

@ -2356,13 +2356,15 @@ detach_port(portid_t port_id)
printf("Detaching a port...\n");
if (!port_is_closed(port_id)) {
printf("Please close port first\n");
return;
if (ports[port_id].port_status != RTE_PORT_STOPPED) {
printf("Port not stopped\n");
return;
}
printf("Port was not closed\n");
if (ports[port_id].flow_list)
port_flow_flush(port_id);
}
if (ports[port_id].flow_list)
port_flow_flush(port_id);
if (rte_eth_dev_detach(port_id, name)) {
TESTPMD_LOG(ERR, "Failed to detach port %u\n", port_id);
return;