[v3] app/testpmd: fix interactive mode with no ports
Checks
Commit Message
Testpmd terminated unconditionally if it failed to start all ports.
The patch allows testpmd to get into the command line,
if the interactive mode was requested.
Fixes: 6937d2103e22 ("app/testpmd: add option to not start device")
Cc: stephen@networkplumber.org
Cc: stable@dpdk.org
Signed-off-by: Gregory Etelson <getelson@nvidia.com>
---
v2: Add Cc.
v3: Update patch.
---
app/test-pmd/testpmd.c | 9 +++++++--
1 file changed, 7 insertions(+), 2 deletions(-)
@@ -4483,8 +4483,13 @@ main(int argc, char** argv)
}
}
- if (!no_device_start && start_port(RTE_PORT_ALL) != 0)
- rte_exit(EXIT_FAILURE, "Start ports failed\n");
+ if (!no_device_start && start_port(RTE_PORT_ALL) != 0) {
+ fprintf(stderr, "Start ports failed\n");
+ if (!interactive) {
+ rte_eal_cleanup();
+ rte_exit(EXIT_FAILURE, "Start ports failed\n");
+ }
+ }
/* set all ports to promiscuous mode by default */
RTE_ETH_FOREACH_DEV(port_id) {