Currently, if an invalid parameter is passed to the application
it will cause a crash due to missing default in options.
For example:
        ./dpdk-test-flow-perf -a 01:00.0 -- --invalid

This adds missing default for options, and prints the
invalid option.

Fixes: 3344cf2e3001 ("app/flow-perf: add flow performance skeleton")
Cc: wis...@nvidia.com
Cc: sta...@dpdk.org

Signed-off-by: Raslan Darawsheh <rasl...@nvidia.com>
---
 app/test-flow-perf/main.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/app/test-flow-perf/main.c b/app/test-flow-perf/main.c
index 2b612aa32c..11f1ee0e1e 100644
--- a/app/test-flow-perf/main.c
+++ b/app/test-flow-perf/main.c
@@ -715,6 +715,7 @@ args_parse(int argc, char **argv)
                { "policy-mtr",                 1, 0, 0 },
                { "meter-profile",              1, 0, 0 },
                { "packet-mode",                0, 0, 0 },
+               { 0, 0, 0, 0 },
        };
 
        RTE_ETH_FOREACH_DEV(i)
@@ -951,7 +952,7 @@ args_parse(int argc, char **argv)
                default:
                        usage(argv[0]);
                        rte_exit(EXIT_FAILURE, "Invalid option: %s\n",
-                                       argv[optind]);
+                                       argv[optind - 1]);
                        break;
                }
        }
-- 
2.25.1

Reply via email to