From ad509b4ae3e303bddba070d18dec8cfcade463f6 Mon Sep 17 00:00:00 2001 From: Declan Doherty Date: Wed, 2 Dec 2015 17:16:44 +0000 Subject: [PATCH] examples/l2fwd-crypto: fix option -t passing -t 0 as a command line argument causes the application to exit with an "invalid refresh period specified" error which is contrary to applications help text. This patch removes the unnecessary option "--no-stats" and fixes the behaviour of the -t parameter. Fixes: 387259bd6c67 ("examples/l2fwd-crypto: add sample application") Reported-by: Min Cao Signed-off-by: Declan Doherty --- examples/l2fwd-crypto/main.c | 29 ++++++++++------------------- 1 file changed, 10 insertions(+), 19 deletions(-) diff --git a/examples/l2fwd-crypto/main.c b/examples/l2fwd-crypto/main.c index 0b4414b45d..d70fc9ae40 100644 --- a/examples/l2fwd-crypto/main.c +++ b/examples/l2fwd-crypto/main.c @@ -118,7 +118,6 @@ struct l2fwd_crypto_options { unsigned nb_ports_per_lcore; unsigned refresh_period; unsigned single_lcore:1; - unsigned no_stats_printing:1; enum rte_cryptodev_type cdev_type; unsigned sessionless:1; @@ -575,10 +574,9 @@ l2fwd_main_loop(struct l2fwd_crypto_options *options) (uint64_t)timer_period)) { /* do this only on master core */ - if (lcore_id == rte_get_master_lcore() && - !options->no_stats_printing) { + if (lcore_id == rte_get_master_lcore() + && options->refresh_period) { print_stats(); - /* reset the timer */ timer_tsc = 0; } } @@ -802,11 +800,6 @@ static int l2fwd_crypto_parse_args_long_options(struct l2fwd_crypto_options *options, struct option *lgopts, int option_index) { - if (strcmp(lgopts[option_index].name, "no_stats") == 0) { - options->no_stats_printing = 1; - return 0; - } - if (strcmp(lgopts[option_index].name, "cdev_type") == 0) return parse_cryptodev_type(&options->cdev_type, optarg); @@ -903,21 +896,21 @@ l2fwd_crypto_parse_timer_period(struct l2fwd_crypto_options *options, const char *q_arg) { char *end = NULL; - int n; + long int n; /* parse number string */ n = strtol(q_arg, &end, 10); if ((q_arg[0] == '\0') || (end == NULL) || (*end != '\0')) n = 0; - if (n >= MAX_TIMER_PERIOD) - n = 0; + if (n >= MAX_TIMER_PERIOD) { + printf("Warning refresh period specified %ld is greater than " + "max value %d! using max value", + n, MAX_TIMER_PERIOD); + n = MAX_TIMER_PERIOD; + } options->refresh_period = n * 1000 * TIMER_MILLISECOND; - if (options->refresh_period == 0) { - printf("invalid refresh period specified\n"); - return -1; - } return 0; } @@ -932,7 +925,6 @@ l2fwd_crypto_default_options(struct l2fwd_crypto_options *options) options->nb_ports_per_lcore = 1; options->refresh_period = 10000; options->single_lcore = 0; - options->no_stats_printing = 0; options->cdev_type = RTE_CRYPTODEV_AESNI_MB_PMD; options->sessionless = 0; @@ -979,7 +971,7 @@ l2fwd_crypto_options_print(struct l2fwd_crypto_options *options) printf("single lcore mode: %s\n", options->single_lcore ? "enabled" : "disabled"); printf("stats_printing: %s\n", - options->no_stats_printing ? "disabled" : "enabled"); + options->refresh_period == 0 ? "disabled" : "enabled"); switch (options->cdev_type) { case RTE_CRYPTODEV_AESNI_MB_PMD: @@ -1036,7 +1028,6 @@ l2fwd_crypto_parse_args(struct l2fwd_crypto_options *options, char **argvopt = argv, *prgname = argv[0]; static struct option lgopts[] = { - { "no_stats", no_argument, 0, 0 }, { "sessionless", no_argument, 0, 0 }, { "cdev_type", required_argument, 0, 0 }, -- 2.20.1