From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from dpdk.org (dpdk.org [92.243.14.124]) by inbox.dpdk.org (Postfix) with ESMTP id 0F1DFA2EDB for ; Tue, 1 Oct 2019 13:36:44 +0200 (CEST) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id E44C01BE82; Tue, 1 Oct 2019 13:36:15 +0200 (CEST) Received: from inva020.nxp.com (inva020.nxp.com [92.121.34.13]) by dpdk.org (Postfix) with ESMTP id 0FB404C8D for ; Tue, 1 Oct 2019 13:36:11 +0200 (CEST) Received: from inva020.nxp.com (localhost [127.0.0.1]) by inva020.eu-rdc02.nxp.com (Postfix) with ESMTP id E76391A0563; Tue, 1 Oct 2019 13:36:10 +0200 (CEST) Received: from invc005.ap-rdc01.nxp.com (invc005.ap-rdc01.nxp.com [165.114.16.14]) by inva020.eu-rdc02.nxp.com (Postfix) with ESMTP id EB2011A0943; Tue, 1 Oct 2019 13:36:08 +0200 (CEST) Received: from bf-netperf1.ap.freescale.net (bf-netperf1.ap.freescale.net [10.232.133.63]) by invc005.ap-rdc01.nxp.com (Postfix) with ESMTP id F357D402C7; Tue, 1 Oct 2019 19:36:04 +0800 (SGT) From: Hemant Agrawal To: dev@dpdk.org Cc: jerinj@marvell.com, abhinandan.gujjar@intel.com Date: Tue, 1 Oct 2019 17:03:39 +0530 Message-Id: <20191001113339.21767-6-hemant.agrawal@nxp.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20191001113339.21767-1-hemant.agrawal@nxp.com> References: <20191001113339.21767-1-hemant.agrawal@nxp.com> X-Virus-Scanned: ClamAV using ClamSMTP Subject: [dpdk-dev] [PATCH 6/6] test/event_crypto: separate the NEW and FWD mode inits X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" The earlier patch was using a single method to init the crypto adapter for FWD and NEW mode, which was also causing the adapter mode to be set incorrectly for NEW mode. This patch segregate the init for NEW and FWD modes. In case of NEW mode the packets will be directly sent to the cryptodev, so port linking is not required. Signed-off-by: Hemant Agrawal --- app/test/test_event_crypto_adapter.c | 78 ++++++++++++++++++++++------ 1 file changed, 63 insertions(+), 15 deletions(-) diff --git a/app/test/test_event_crypto_adapter.c b/app/test/test_event_crypto_adapter.c index 6b10909e3..e396358f2 100644 --- a/app/test/test_event_crypto_adapter.c +++ b/app/test/test_event_crypto_adapter.c @@ -789,26 +789,44 @@ test_crypto_adapter_stop(void) rte_service_runstate_set(adapter_service_id, 0); rte_service_lcore_stop(slcore_id); rte_service_lcore_del(slcore_id); - rte_event_crypto_adapter_stop(TEST_ADAPTER_ID); } + rte_event_crypto_adapter_stop(TEST_ADAPTER_ID); if (rte_event_dev_service_id_get(evdev, &evdev_service_id) == 0) { rte_service_runstate_set(evdev_service_id, 0); rte_service_lcore_stop(slcore_id); rte_service_lcore_del(slcore_id); - rte_event_dev_stop(evdev); + } + rte_event_dev_stop(evdev); +} + +static void +test_crypto_adapter_clear(void) +{ + uint8_t qid; + test_crypto_adapter_stop(); + + if (crypto_adapter_setup_done) { + qid = TEST_CRYPTO_EV_QUEUE_ID; + rte_event_port_unlink(evdev, params.crypto_event_port_id, + &qid, 1); + rte_event_crypto_adapter_queue_pair_del(TEST_ADAPTER_ID, + TEST_CDEV_ID, TEST_CDEV_QP_ID); + rte_event_crypto_adapter_free(TEST_ADAPTER_ID); + crypto_adapter_setup_done = 0; } } static int -test_crypto_adapter_conf(enum rte_event_crypto_adapter_mode mode) +test_crypto_adapter_conf(void) { uint32_t evdev_service_id; uint8_t qid; int ret; if (!crypto_adapter_setup_done) { - ret = configure_event_crypto_adapter(mode); + ret = configure_event_crypto_adapter( + RTE_EVENT_CRYPTO_ADAPTER_OP_FORWARD); if (!ret) { qid = TEST_CRYPTO_EV_QUEUE_ID; ret = rte_event_port_link(evdev, @@ -845,24 +863,54 @@ test_crypto_adapter_conf(enum rte_event_crypto_adapter_mode mode) } static int -test_crypto_adapter_conf_op_forward_mode(void) +test_crypto_adapter_conf_new(void) { - enum rte_event_crypto_adapter_mode mode; + uint32_t evdev_service_id; + int ret; - mode = RTE_EVENT_CRYPTO_ADAPTER_OP_FORWARD; - TEST_ASSERT_SUCCESS(test_crypto_adapter_conf(mode), - "Failed to config crypto adapter"); + if (!crypto_adapter_setup_done) { + ret = configure_event_crypto_adapter( + RTE_EVENT_CRYPTO_ADAPTER_OP_NEW); + TEST_ASSERT_SUCCESS(ret, "Failed to config crypto adapter"); + crypto_adapter_setup_done = 1; + } + + /* retrieve service ids */ + if (rte_event_dev_service_id_get(evdev, &evdev_service_id) == 0) { + /* add a service core and start it */ + TEST_ASSERT_SUCCESS(rte_service_lcore_add(slcore_id), + "Failed to add service core"); + TEST_ASSERT_SUCCESS(rte_service_lcore_start(slcore_id), + "Failed to start service core"); + + /* map services to it */ + TEST_ASSERT_SUCCESS(rte_service_map_lcore_set(evdev_service_id, + slcore_id, 1), "Failed to map evdev service"); + + /* set services to running */ + TEST_ASSERT_SUCCESS(rte_service_runstate_set(evdev_service_id, + 1), "Failed to start evdev service"); + } + + /* start the eventdev */ + TEST_ASSERT_SUCCESS(rte_event_dev_start(evdev), + "Failed to start event device"); return TEST_SUCCESS; } static int -test_crypto_adapter_conf_op_new_mode(void) +test_crypto_adapter_conf_op_forward_mode(void) { - enum rte_event_crypto_adapter_mode mode; + TEST_ASSERT_SUCCESS(test_crypto_adapter_conf(), + "Failed to config crypto adapter"); + return TEST_SUCCESS; +} - mode = RTE_EVENT_CRYPTO_ADAPTER_OP_NEW; - TEST_ASSERT_SUCCESS(test_crypto_adapter_conf(mode), +static int +test_crypto_adapter_conf_op_new_mode(void) +{ + TEST_ASSERT_SUCCESS(test_crypto_adapter_conf_new(), "Failed to config crypto adapter"); return TEST_SUCCESS; @@ -957,7 +1005,7 @@ static struct unit_test_suite functional_testsuite = { test_session_with_op_forward_mode), TEST_CASE_ST(test_crypto_adapter_conf_op_forward_mode, - test_crypto_adapter_stop, + test_crypto_adapter_clear, test_sessionless_with_op_forward_mode), TEST_CASE_ST(test_crypto_adapter_conf_op_new_mode, @@ -965,7 +1013,7 @@ static struct unit_test_suite functional_testsuite = { test_session_with_op_new_mode), TEST_CASE_ST(test_crypto_adapter_conf_op_new_mode, - test_crypto_adapter_stop, + test_crypto_adapter_clear, test_sessionless_with_op_new_mode), TEST_CASES_END() /**< NULL terminate unit test array */ -- 2.17.1