From mboxrd@z Thu Jan 1 00:00:00 1970 From: Pablo de Lara Subject: [PATCH v4 4/4] app/crypto-perf: fix packet length check Date: Thu, 5 Oct 2017 06:28:00 +0100 Message-ID: <20171005052800.12922-5-pablo.de.lara.guarch@intel.com> References: <20170920013704.85333-1-pablo.de.lara.guarch@intel.com> <20171005052800.12922-1-pablo.de.lara.guarch@intel.com> Cc: dev@dpdk.org, Pablo de Lara , stable@dpdk.org To: declan.doherty@intel.com, john.mcnamara@intel.com Return-path: In-Reply-To: <20171005052800.12922-1-pablo.de.lara.guarch@intel.com> List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" When using DES-CBC, packet size has to be multiple of 8 bytes, but if a list of packets is provided. the check was not correct. Fixes: fc4600fb2520 ("app/crypto-perf: add extra option checks") Cc: stable@dpdk.org Signed-off-by: Pablo de Lara Acked-by: Radu Nicolau --- app/test-crypto-perf/cperf_options_parsing.c | 18 +++++++++++++++--- 1 file changed, 15 insertions(+), 3 deletions(-) diff --git a/app/test-crypto-perf/cperf_options_parsing.c b/app/test-crypto-perf/cperf_options_parsing.c index f3508a4..af81162 100644 --- a/app/test-crypto-perf/cperf_options_parsing.c +++ b/app/test-crypto-perf/cperf_options_parsing.c @@ -876,14 +876,26 @@ check_cipher_buffer_length(struct cperf_options *options) if (options->cipher_algo == RTE_CRYPTO_CIPHER_DES_CBC || options->cipher_algo == RTE_CRYPTO_CIPHER_3DES_CBC || options->cipher_algo == RTE_CRYPTO_CIPHER_3DES_ECB) { - for (buffer_size = options->min_buffer_size; - buffer_size < options->max_buffer_size; - buffer_size += options->inc_buffer_size) { + if (options->inc_buffer_size != 0) + buffer_size = options->min_buffer_size; + else + buffer_size = options->buffer_size_list[0]; + + while (buffer_size <= options->max_buffer_size) { if ((buffer_size % DES_BLOCK_SIZE) != 0) { RTE_LOG(ERR, USER1, "Some of the buffer sizes are " "not suitable for the algorithm selected\n"); return -EINVAL; } + + if (options->inc_buffer_size != 0) + buffer_size += options->inc_buffer_size; + else { + if (++buffer_size_idx == options->buffer_size_count) + break; + buffer_size = options->buffer_size_list[buffer_size_idx]; + } + } } -- 2.9.4