[v3,1/3] test/event_crypto_adapter: return error with unsupported mode

Message ID 20201007052629.28566-2-adwivedi@marvell.com (mailing list archive)
State Changes Requested, archived
Delegated to: Jerin Jacob
Headers
Series Bug fixes in event crypto adapter test |

Checks

Context Check Description
ci/checkpatch success coding style OK

Commit Message

Ankur Dwivedi Oct. 7, 2020, 5:26 a.m. UTC
  The capability of a hardware event device should be checked before
creating a event crypto adapter in a particular mode. The test case
returns error if the mode is not supported.

Signed-off-by: Ankur Dwivedi <adwivedi@marvell.com>
---
 app/test/test_event_crypto_adapter.c | 33 +++++++++++++++++++---------
 1 file changed, 23 insertions(+), 10 deletions(-)
  

Comments

Gujjar, Abhinandan S Oct. 8, 2020, 7:25 a.m. UTC | #1
acked-by: abhinandan.gujjar@intel.com

> -----Original Message-----
> From: Ankur Dwivedi <adwivedi@marvell.com>
> Sent: Wednesday, October 7, 2020 10:56 AM
> To: dev@dpdk.org
> Cc: Gujjar, Abhinandan S <abhinandan.gujjar@intel.com>; jerinj@marvell.com;
> anoobj@marvell.com; Ankur Dwivedi <adwivedi@marvell.com>
> Subject: [PATCH v3 1/3] test/event_crypto_adapter: return error with
> unsupported mode
> 
> The capability of a hardware event device should be checked before creating a
> event crypto adapter in a particular mode. The test case returns error if the
> mode is not supported.
> 
> Signed-off-by: Ankur Dwivedi <adwivedi@marvell.com>
> ---
>  app/test/test_event_crypto_adapter.c | 33 +++++++++++++++++++---------
>  1 file changed, 23 insertions(+), 10 deletions(-)
> 
> diff --git a/app/test/test_event_crypto_adapter.c
> b/app/test/test_event_crypto_adapter.c
> index 8d42462d8..3c64742b3 100644
> --- a/app/test/test_event_crypto_adapter.c
> +++ b/app/test/test_event_crypto_adapter.c
> @@ -750,15 +750,30 @@ configure_event_crypto_adapter(enum
> rte_event_crypto_adapter_mode mode)
>  	uint32_t cap;
>  	int ret;
> 
> +	ret = rte_event_crypto_adapter_caps_get(evdev, TEST_CDEV_ID,
> &cap);
> +	TEST_ASSERT_SUCCESS(ret, "Failed to get adapter capabilities\n");
> +
> +	/* Skip mode and capability mismatch check for SW eventdev */
> +	if (!(cap &
> RTE_EVENT_CRYPTO_ADAPTER_CAP_INTERNAL_PORT_OP_NEW) &&
> +	    !(cap &
> RTE_EVENT_CRYPTO_ADAPTER_CAP_INTERNAL_PORT_OP_FWD) &&
> +	    !(cap &
> RTE_EVENT_CRYPTO_ADAPTER_CAP_INTERNAL_PORT_QP_EV_BIND))
> +		goto adapter_create;
> +
> +	if ((mode == RTE_EVENT_CRYPTO_ADAPTER_OP_FORWARD) &&
> +	    !(cap &
> RTE_EVENT_CRYPTO_ADAPTER_CAP_INTERNAL_PORT_OP_FWD))
> +		return -ENOTSUP;
> +
> +	if ((mode == RTE_EVENT_CRYPTO_ADAPTER_OP_NEW) &&
> +	    !(cap &
> RTE_EVENT_CRYPTO_ADAPTER_CAP_INTERNAL_PORT_OP_NEW))
> +		return -ENOTSUP;
> +
> +adapter_create:
>  	/* Create adapter with default port creation callback */
>  	ret = rte_event_crypto_adapter_create(TEST_ADAPTER_ID,
> -					      TEST_CDEV_ID,
> +					      evdev,
>  					      &conf, mode);
>  	TEST_ASSERT_SUCCESS(ret, "Failed to create event crypto adapter\n");
> 
> -	ret = rte_event_crypto_adapter_caps_get(TEST_ADAPTER_ID, evdev,
> &cap);
> -	TEST_ASSERT_SUCCESS(ret, "Failed to get adapter capabilities\n");
> -
>  	if (cap &
> RTE_EVENT_CRYPTO_ADAPTER_CAP_INTERNAL_PORT_QP_EV_BIND) {
>  		ret =
> rte_event_crypto_adapter_queue_pair_add(TEST_ADAPTER_ID,
>  				TEST_CDEV_ID, TEST_CDEV_QP_ID,
> &response_info); @@ -813,6 +828,8 @@ test_crypto_adapter_conf(enum
> rte_event_crypto_adapter_mode mode)
>  			TEST_ASSERT(ret >= 0, "Failed to link queue %d "
>  					"port=%u\n", qid,
>  					params.crypto_event_port_id);
> +		} else {
> +			return ret;
>  		}
>  		crypto_adapter_setup_done = 1;
>  	}
> @@ -847,10 +864,8 @@ test_crypto_adapter_conf_op_forward_mode(void)
>  	enum rte_event_crypto_adapter_mode mode;
> 
>  	mode = RTE_EVENT_CRYPTO_ADAPTER_OP_FORWARD;
> -	TEST_ASSERT_SUCCESS(test_crypto_adapter_conf(mode),
> -				"Failed to config crypto adapter");
> 
> -	return TEST_SUCCESS;
> +	return test_crypto_adapter_conf(mode);
>  }
> 
>  static int
> @@ -859,10 +874,8 @@ test_crypto_adapter_conf_op_new_mode(void)
>  	enum rte_event_crypto_adapter_mode mode;
> 
>  	mode = RTE_EVENT_CRYPTO_ADAPTER_OP_NEW;
> -	TEST_ASSERT_SUCCESS(test_crypto_adapter_conf(mode),
> -				"Failed to config crypto adapter");
> 
> -	return TEST_SUCCESS;
> +	return test_crypto_adapter_conf(mode);
>  }
> 
> 
> --
> 2.28.0
  

Patch

diff --git a/app/test/test_event_crypto_adapter.c b/app/test/test_event_crypto_adapter.c
index 8d42462d8..3c64742b3 100644
--- a/app/test/test_event_crypto_adapter.c
+++ b/app/test/test_event_crypto_adapter.c
@@ -750,15 +750,30 @@  configure_event_crypto_adapter(enum rte_event_crypto_adapter_mode mode)
 	uint32_t cap;
 	int ret;
 
+	ret = rte_event_crypto_adapter_caps_get(evdev, TEST_CDEV_ID, &cap);
+	TEST_ASSERT_SUCCESS(ret, "Failed to get adapter capabilities\n");
+
+	/* Skip mode and capability mismatch check for SW eventdev */
+	if (!(cap & RTE_EVENT_CRYPTO_ADAPTER_CAP_INTERNAL_PORT_OP_NEW) &&
+	    !(cap & RTE_EVENT_CRYPTO_ADAPTER_CAP_INTERNAL_PORT_OP_FWD) &&
+	    !(cap & RTE_EVENT_CRYPTO_ADAPTER_CAP_INTERNAL_PORT_QP_EV_BIND))
+		goto adapter_create;
+
+	if ((mode == RTE_EVENT_CRYPTO_ADAPTER_OP_FORWARD) &&
+	    !(cap & RTE_EVENT_CRYPTO_ADAPTER_CAP_INTERNAL_PORT_OP_FWD))
+		return -ENOTSUP;
+
+	if ((mode == RTE_EVENT_CRYPTO_ADAPTER_OP_NEW) &&
+	    !(cap & RTE_EVENT_CRYPTO_ADAPTER_CAP_INTERNAL_PORT_OP_NEW))
+		return -ENOTSUP;
+
+adapter_create:
 	/* Create adapter with default port creation callback */
 	ret = rte_event_crypto_adapter_create(TEST_ADAPTER_ID,
-					      TEST_CDEV_ID,
+					      evdev,
 					      &conf, mode);
 	TEST_ASSERT_SUCCESS(ret, "Failed to create event crypto adapter\n");
 
-	ret = rte_event_crypto_adapter_caps_get(TEST_ADAPTER_ID, evdev, &cap);
-	TEST_ASSERT_SUCCESS(ret, "Failed to get adapter capabilities\n");
-
 	if (cap & RTE_EVENT_CRYPTO_ADAPTER_CAP_INTERNAL_PORT_QP_EV_BIND) {
 		ret = rte_event_crypto_adapter_queue_pair_add(TEST_ADAPTER_ID,
 				TEST_CDEV_ID, TEST_CDEV_QP_ID, &response_info);
@@ -813,6 +828,8 @@  test_crypto_adapter_conf(enum rte_event_crypto_adapter_mode mode)
 			TEST_ASSERT(ret >= 0, "Failed to link queue %d "
 					"port=%u\n", qid,
 					params.crypto_event_port_id);
+		} else {
+			return ret;
 		}
 		crypto_adapter_setup_done = 1;
 	}
@@ -847,10 +864,8 @@  test_crypto_adapter_conf_op_forward_mode(void)
 	enum rte_event_crypto_adapter_mode mode;
 
 	mode = RTE_EVENT_CRYPTO_ADAPTER_OP_FORWARD;
-	TEST_ASSERT_SUCCESS(test_crypto_adapter_conf(mode),
-				"Failed to config crypto adapter");
 
-	return TEST_SUCCESS;
+	return test_crypto_adapter_conf(mode);
 }
 
 static int
@@ -859,10 +874,8 @@  test_crypto_adapter_conf_op_new_mode(void)
 	enum rte_event_crypto_adapter_mode mode;
 
 	mode = RTE_EVENT_CRYPTO_ADAPTER_OP_NEW;
-	TEST_ASSERT_SUCCESS(test_crypto_adapter_conf(mode),
-				"Failed to config crypto adapter");
 
-	return TEST_SUCCESS;
+	return test_crypto_adapter_conf(mode);
 }