[v2,3/3] test/crypto: check for rsa key type feature flag

Message ID 20190227133258.8962-4-ayverma@marvell.com (mailing list archive)
State Superseded, archived
Delegated to: akhil goyal
Headers
Series adding rsa priv key feature flag |

Checks

Context Check Description
ci/checkpatch success coding style OK
ci/Intel-compilation success Compilation OK

Commit Message

Ayuj Verma Feb. 27, 2019, 1:33 p.m. UTC
  Check for RSA private key type feature flag in
private key operations

Signed-off-by: Ayuj Verma <ayverma@marvell.com>
Signed-off-by: Shally Verma <shallyv@marvell.com>
---
 test/test/test_cryptodev_asym.c | 26 ++++++++++++++++++++++++++
 1 file changed, 26 insertions(+)
  

Comments

Akhil Goyal March 17, 2019, 5:49 p.m. UTC | #1
Hi Ayuj,


On 2/27/2019 7:03 PM, Ayuj Verma wrote:
> Check for RSA private key type feature flag in
> private key operations
>
> Signed-off-by: Ayuj Verma <ayverma@marvell.com>
> Signed-off-by: Shally Verma <shallyv@marvell.com>
> ---
>   test/test/test_cryptodev_asym.c | 26 ++++++++++++++++++++++++++
>   1 file changed, 26 insertions(+)
Please rebase this patch.
>
> diff --git a/test/test/test_cryptodev_asym.c b/test/test/test_cryptodev_asym.c
> index 0f6fc5767..950a7bd00 100644
> --- a/test/test/test_cryptodev_asym.c
> +++ b/test/test/test_cryptodev_asym.c
> @@ -49,6 +49,7 @@ test_rsa_sign_verify(void)
>   	struct rte_mempool *op_mpool = ts_params->op_mpool;
>   	struct rte_mempool *sess_mpool = ts_params->session_mpool;
>   	uint8_t dev_id = ts_params->valid_devs[0];
> +	struct rte_cryptodev_info dev_info;
>   	struct rte_crypto_asym_op *asym_op = NULL;
>   	struct rte_crypto_op *op = NULL, *result_op = NULL;
>   	struct rte_cryptodev_asym_session *sess = NULL;
> @@ -56,6 +57,18 @@ test_rsa_sign_verify(void)
>   	uint8_t output_buf[TEST_DATA_SIZE] = {0};
>   	uint8_t input_buf[TEST_DATA_SIZE] = {0};
>   
> +	/* test case supports op with exponent keyonly,
> +	 * so check for it in feature_flags
> +	 */
> +	rte_cryptodev_info_get(dev_id, &dev_info);
> +	if (!(dev_info.feature_flags &
> +				RTE_CRYPTODEV_FF_RSA_PRIV_OP_KEY_EXP)) {
> +		RTE_LOG(INFO, USER1,
> +				"Device doesn't support sign op with "
> +				"exponent key type. Test Skipped\n");
> +		return TEST_SKIPPED;
> +	}
> +
>   	sess = rte_cryptodev_asym_session_create(sess_mpool);
>   
>   	if (!sess) {
> @@ -183,12 +196,25 @@ test_rsa_enc_dec(void)
>   	struct rte_mempool *op_mpool = ts_params->op_mpool;
>   	struct rte_mempool *sess_mpool = ts_params->session_mpool;
>   	uint8_t dev_id = ts_params->valid_devs[0];
> +	struct rte_cryptodev_info dev_info;
>   	struct rte_crypto_asym_op *asym_op = NULL;
>   	struct rte_crypto_op *op = NULL, *result_op = NULL;
>   	struct rte_cryptodev_asym_session *sess = NULL;
>   	int status = TEST_SUCCESS;
>   	uint8_t input_buf[TEST_DATA_SIZE] = {0};
>   
> +	/* test case supports op with exponent keyonly,
> +	 * so check for it in feature_flags
> +	 */
> +	rte_cryptodev_info_get(dev_id, &dev_info);
> +	if (!(dev_info.feature_flags &
> +				RTE_CRYPTODEV_FF_RSA_PRIV_OP_KEY_EXP)) {
> +		RTE_LOG(INFO, USER1,
> +				"Device doesn't support sign op with "
> +				"exponent key type. Test Skipped\n");
> +		return TEST_SKIPPED;
> +	}
> +
>   	sess = rte_cryptodev_asym_session_create(sess_mpool);
>   
>   	if (!sess) {
  

Patch

diff --git a/test/test/test_cryptodev_asym.c b/test/test/test_cryptodev_asym.c
index 0f6fc5767..950a7bd00 100644
--- a/test/test/test_cryptodev_asym.c
+++ b/test/test/test_cryptodev_asym.c
@@ -49,6 +49,7 @@  test_rsa_sign_verify(void)
 	struct rte_mempool *op_mpool = ts_params->op_mpool;
 	struct rte_mempool *sess_mpool = ts_params->session_mpool;
 	uint8_t dev_id = ts_params->valid_devs[0];
+	struct rte_cryptodev_info dev_info;
 	struct rte_crypto_asym_op *asym_op = NULL;
 	struct rte_crypto_op *op = NULL, *result_op = NULL;
 	struct rte_cryptodev_asym_session *sess = NULL;
@@ -56,6 +57,18 @@  test_rsa_sign_verify(void)
 	uint8_t output_buf[TEST_DATA_SIZE] = {0};
 	uint8_t input_buf[TEST_DATA_SIZE] = {0};
 
+	/* test case supports op with exponent keyonly,
+	 * so check for it in feature_flags
+	 */
+	rte_cryptodev_info_get(dev_id, &dev_info);
+	if (!(dev_info.feature_flags &
+				RTE_CRYPTODEV_FF_RSA_PRIV_OP_KEY_EXP)) {
+		RTE_LOG(INFO, USER1,
+				"Device doesn't support sign op with "
+				"exponent key type. Test Skipped\n");
+		return TEST_SKIPPED;
+	}
+
 	sess = rte_cryptodev_asym_session_create(sess_mpool);
 
 	if (!sess) {
@@ -183,12 +196,25 @@  test_rsa_enc_dec(void)
 	struct rte_mempool *op_mpool = ts_params->op_mpool;
 	struct rte_mempool *sess_mpool = ts_params->session_mpool;
 	uint8_t dev_id = ts_params->valid_devs[0];
+	struct rte_cryptodev_info dev_info;
 	struct rte_crypto_asym_op *asym_op = NULL;
 	struct rte_crypto_op *op = NULL, *result_op = NULL;
 	struct rte_cryptodev_asym_session *sess = NULL;
 	int status = TEST_SUCCESS;
 	uint8_t input_buf[TEST_DATA_SIZE] = {0};
 
+	/* test case supports op with exponent keyonly,
+	 * so check for it in feature_flags
+	 */
+	rte_cryptodev_info_get(dev_id, &dev_info);
+	if (!(dev_info.feature_flags &
+				RTE_CRYPTODEV_FF_RSA_PRIV_OP_KEY_EXP)) {
+		RTE_LOG(INFO, USER1,
+				"Device doesn't support sign op with "
+				"exponent key type. Test Skipped\n");
+		return TEST_SKIPPED;
+	}
+
 	sess = rte_cryptodev_asym_session_create(sess_mpool);
 
 	if (!sess) {