app/testpmd: use exit instead of panic
authorStephen Hemminger <stephen@networkplumber.org>
Fri, 2 Aug 2019 02:51:54 +0000 (19:51 -0700)
committerThomas Monjalon <thomas@monjalon.net>
Mon, 5 Aug 2019 13:47:56 +0000 (15:47 +0200)
rte_panic causes a backtrace (which is uniformative since all
these calls are in main). Instead use rte_exit and try and make the
messages informative.

Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
Reviewed-by: Anatoly Burakov <anatoly.burakov@intel.com>
app/test-pmd/testpmd.c

index d0142ca..a461cef 100644 (file)
@@ -3236,19 +3236,21 @@ main(int argc, char** argv)
 
        testpmd_logtype = rte_log_register("testpmd");
        if (testpmd_logtype < 0)
-               rte_panic("Cannot register log type");
+               rte_exit(EXIT_FAILURE, "Cannot register log type");
        rte_log_set_level(testpmd_logtype, RTE_LOG_DEBUG);
 
        diag = rte_eal_init(argc, argv);
        if (diag < 0)
-               rte_panic("Cannot init EAL\n");
+               rte_exit(EXIT_FAILURE, "Cannot init EAL: %s\n",
+                        rte_strerror(rte_errno));
 
        if (rte_eal_process_type() == RTE_PROC_SECONDARY)
-               rte_panic("Secondary process type not supported.\n");
+               rte_exit(EXIT_FAILURE,
+                        "Secondary process type not supported.\n");
 
        ret = register_eth_event_callback();
        if (ret != 0)
-               rte_panic("Cannot register for ethdev events");
+               rte_exit(EXIT_FAILURE, "Cannot register for ethdev events");
 
 #ifdef RTE_LIBRTE_PDUMP
        /* initialize packet capture framework */
@@ -3269,8 +3271,8 @@ main(int argc, char** argv)
 
        set_def_fwd_config();
        if (nb_lcores == 0)
-               rte_panic("Empty set of forwarding logical cores - check the "
-                         "core mask supplied in the command parameters\n");
+               rte_exit(EXIT_FAILURE, "No cores defined for forwarding\n"
+                        "Check the core mask argument\n");
 
        /* Bitrate/latency stats disabled by default */
 #ifdef RTE_LIBRTE_BITRATE