Re: [dpdk-dev] [PATCH v4 1/5] test/crypto: add lookaside IPsec tests
From: Akhil Goyal <hidden>
Date: 2021-09-21 16:08:27
Hi Anoob, Few minor comments, Please see inline. Apart from that, Acked-by: Akhil Goyal <redacted>
Update title as Test/crypto: add lookaside IPsec cases.
+static int +security_proto_supported(enum rte_security_session_action_type action, + enum rte_security_session_protocol proto); + +static int +dev_configure_and_start(uint64_t ff_disable); +
Do we really need to forward declare?
quoted hunk ↗ jump to hunk
static struct rte_mbuf * setup_test_string(struct rte_mempool *mpool, const char *string, size_t len, uint8_t blocksize)@@ -753,6 +763,43 @@ crypto_gen_testsuite_setup(void) #ifdef RTE_LIB_SECURITY static int +ipsec_proto_testsuite_setup(void) +{ + struct crypto_testsuite_params *ts_params = &testsuite_params; + struct crypto_unittest_params *ut_params = &unittest_params; + struct rte_cryptodev_info dev_info; + int ret = 0; + + rte_cryptodev_info_get(ts_params->valid_devs[0], &dev_info); + + if (!(dev_info.feature_flags & RTE_CRYPTODEV_FF_SECURITY)) { + RTE_LOG(INFO, USER1, "Feature flag requirements for IPsecProto " + "testsuite not met\n"); + return TEST_SKIPPED; + } + + /* Reconfigure to enable security */
Update comment like /*Reconfigure to enable security and disable crypto */ BTW, shouldn't this be dev_configure_and_start(0) Why is sym and asym disabled here?
+ dev_configure_and_start(RTE_CRYPTODEV_FF_SYMMETRIC_CRYPTO | + RTE_CRYPTODEV_FF_ASYMMETRIC_CRYPTO);
Return value not taken care here.
+
+ /* Set action type */
+ ut_params->type =
RTE_SECURITY_ACTION_TYPE_LOOKASIDE_PROTOCOL;
+
+ if (security_proto_supported(
+
RTE_SECURITY_ACTION_TYPE_LOOKASIDE_PROTOCOL,
+ RTE_SECURITY_PROTOCOL_IPSEC) < 0) {
+ RTE_LOG(INFO, USER1, "Capability requirements for IPsec
Proto "
+ "test not met\n");
+ ret = TEST_SKIPPED;
+ }
+
+ /* Stop the device */
+ rte_cryptodev_stop(ts_params->valid_devs[0]);Add a comment that the device will be started again in ut_setup_security()
+ + ret = test_ipsec_post_process(ut_params->ibuf, &td[i], + res_d_tmp, silent); + if (ret != TEST_SUCCESS) + goto crypto_op_free; + + rte_crypto_op_free(ut_params->op); + ut_params->op = NULL; + + rte_pktmbuf_free(ut_params->ibuf); + ut_params->ibuf = NULL; + } + +crypto_op_free: + rte_crypto_op_free(ut_params->op); + ut_params->op = NULL; + + rte_pktmbuf_free(ut_params->ibuf); + ut_params->ibuf = NULL; +
Above four lines are getting executed again in the success cases.