[dpdk-dev] [dpdk-dev, v1, 3/5] test: add event crypto adapter auto-test

Gujjar, Abhinandan S abhinandan.gujjar at intel.com
Mon Apr 23 07:42:26 CEST 2018


Hi Shally,

> -----Original Message-----
> From: Verma, Shally [mailto:Shally.Verma at cavium.com]
> Sent: Monday, April 23, 2018 10:44 AM
> To: Gujjar, Abhinandan S <abhinandan.gujjar at intel.com>; Jacob, Jerin
> <Jerin.JacobKollanukkaran at cavium.com>; hemant.agrawal at nxp.com;
> akhil.goyal at nxp.com; dev at dpdk.org
> Cc: De Lara Guarch, Pablo <pablo.de.lara.guarch at intel.com>; Doherty, Declan
> <declan.doherty at intel.com>; Vangati, Narender
> <narender.vangati at intel.com>; Rao, Nikhil <nikhil.rao at intel.com>; Athreya,
> Narayana Prasad <NarayanaPrasad.Athreya at cavium.com>; Murthy, Nidadavolu
> <Nidadavolu.Murthy at cavium.com>
> Subject: RE: [dpdk-dev] [dpdk-dev, v1, 3/5] test: add event crypto adapter auto-
> test
> 
> 
> 
> >-----Original Message-----
> >From: Gujjar, Abhinandan S [mailto:abhinandan.gujjar at intel.com]
> >Sent: 20 April 2018 21:01
> >To: Verma, Shally <Shally.Verma at cavium.com>; Jacob, Jerin
> ><Jerin.JacobKollanukkaran at cavium.com>; hemant.agrawal at nxp.com;
> >akhil.goyal at nxp.com; dev at dpdk.org
> >Cc: De Lara Guarch, Pablo <pablo.de.lara.guarch at intel.com>; Doherty,
> >Declan <declan.doherty at intel.com>; Vangati, Narender
> ><narender.vangati at intel.com>; Rao, Nikhil <nikhil.rao at intel.com>;
> >Athreya, Narayana Prasad <NarayanaPrasad.Athreya at cavium.com>; Murthy,
> >Nidadavolu <Nidadavolu.Murthy at cavium.com>
> >Subject: RE: [dpdk-dev] [dpdk-dev, v1, 3/5] test: add event crypto
> >adapter auto-test
> >
> >Hi Shally,
> >
> >> -----Original Message-----
> >> From: Verma, Shally [mailto:Shally.Verma at cavium.com]
> >> Sent: Friday, April 20, 2018 6:31 PM
> >> To: Gujjar, Abhinandan S <abhinandan.gujjar at intel.com>; Jacob, Jerin
> >> <Jerin.JacobKollanukkaran at cavium.com>; hemant.agrawal at nxp.com;
> >> akhil.goyal at nxp.com; dev at dpdk.org
> >> Cc: De Lara Guarch, Pablo <pablo.de.lara.guarch at intel.com>; Doherty,
> >> Declan <declan.doherty at intel.com>; Vangati, Narender
> >> <narender.vangati at intel.com>; Rao, Nikhil <nikhil.rao at intel.com>;
> >> Athreya, Narayana Prasad <NarayanaPrasad.Athreya at cavium.com>; Murthy,
> >> Nidadavolu <Nidadavolu.Murthy at cavium.com>
> >> Subject: RE: [dpdk-dev] [dpdk-dev, v1, 3/5] test: add event crypto
> >> adapter auto- test
> >>
> >> HI
> >>
> >> >-----Original Message-----
> >> >From: dev [mailto:dev-bounces at dpdk.org] On Behalf Of Abhinandan
> >> >Gujjar
> >> >Sent: 04 April 2018 12:27
> >> >To: Jacob, Jerin <Jerin.JacobKollanukkaran at cavium.com>;
> >> >hemant.agrawal at nxp.com; akhil.goyal at nxp.com; dev at dpdk.org
> >> >Cc: pablo.de.lara.guarch at intel.com; declan.doherty at intel.com;
> >> >narender.vangati at intel.com; abhinandan.gujjar at intel.com;
> >> >nikhil.rao at intel.com
> >> >Subject: [dpdk-dev] [dpdk-dev, v1, 3/5] test: add event crypto
> >> >adapter auto-test
> >> >
> >> >Signed-off-by: Abhinandan Gujjar <abhinandan.gujjar at intel.com>
> >>
> >> //snip
> >>
> >> >+++ b/test/test/test_event_crypto_adapter.c
> >> >@@ -0,0 +1,866 @@
> >> >+/* SPDX-License-Identifier: BSD-3-Clause
> >> >+ * Copyright(c) 2018 Intel Corporation  */
> >> >+
> >>
> >> //snip
> >>
> >> >+static int
> >> >+send_recv_ev(struct rte_event *ev)
> >> >+{
> >> >+	struct rte_crypto_op *op;
> >> >+	struct rte_event recv_ev;
> >> >+	int ret;
> >> >+
> >> >+
> >> >+	ret = rte_event_enqueue_burst(evdev, TEST_PORT_ID, ev, 1);
> >>
> >> [Shally] Shouldn't it enqueue to a port id returned by
> >> rte_event_crypto_adapter_event_port_get () as adapter will dequeue
> >> from that port from eventdev?
> >[Abhinandan]This is the local port of crypto adapter. The reason for
> >exposing this for the application is for enq-deq mode, application has
> >to link its event queue to this port to start enqueuing events towards the crypto
> adapter.
> [Shally] you mean TEST_PORT_ID is local port of crypto adapter?
No. TEST_PORT_ID is application's local port.
> 
> As I see @code eca_default_config_cb() in patch 2/5, crypto adapter is set to
> use port_id = dev_conf.nb_event_ports; and test app @ evdev_set_conf_values
> , sets dev_conf->nb_event_ports = NB_TEST_PORTS whose value is 1, which
> gives me impression that crypto adapter local port would be 1, whereas,
> TEST_PORT_ID has value 0.
Initially evdev is configured with nb_event_ports = 1, then crypto adapter calls the callback
eca_default_config_cb() with the statement "dev_conf.nb_event_ports += 1;" and then
new event port is created which is used as local port for crypto adapter and same is exposed
to the application using rte_event_crypto_adapter_event_port_get() API.

> So, am confused, which port id test app should enqueue to? 0 or 1? Per my
> understanding, test app should use 1.
So, TEST_PORT_ID (port 0) is application's local port.
Port 1 which is created by crypto adapter is local port of the adapter.

In case of ENQ-DEQ mode:
Application uses port 0 to enqueue/dequeue events to/from crypto adapter.
Adapter uses port 1 for dequeue/enqueue events from/to application.

Application creates only one port that is its own local port and adapter creates its own.

Please ignore "ADAPTER_PORT_ID" which is not used in the code. I will remove it in next patch.
> 
> >>
> >> >+	TEST_ASSERT_EQUAL(ret, 1, "Failed to send event to crypto
> >> >+adapter\n");
> >> >+
> >> >+	while (rte_event_dequeue_burst(evdev,
> >> >+			TEST_PORT_ID, &recv_ev, 1, 0) == 0)
> >> >+		rte_pause();
> >> >+
> >> >+	op = recv_ev.event_ptr;
> >> >+#if PKT_TRACE
> >> >+	struct rte_mbuf *m = op->sym->m_src;
> >> >+	rte_pktmbuf_dump(stdout, m, rte_pktmbuf_pkt_len(m)); #endif
> >> >+	rte_pktmbuf_free(op->sym->m_src);
> >> >+	rte_crypto_op_free(op);
> >> >+
> >> >+	return TEST_SUCCESS;
> >> >+}
> >>
> >> //snip
> >> --
> >> >1.9.1
> >>
> >> Thanks
> >> Shally


More information about the dev mailing list