aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLukasz Bartosik <lbartosik@marvell.com>2020-09-22 14:41:42 +0200
committerPetri Savolainen <petri.savolainen@nokia.com>2020-11-13 16:24:22 +0200
commite13682688cdad1c83bc5e1ea09cc1b0f02f9900d (patch)
tree979ed6a15ad55f7788beb904804c855e5c5e2ad9
parent38db602da4d58a013043f1792911723d4d88230a (diff)
validation: ipsec: improve initialization of unit tests
Preiously when IPsec unit tests were initialized ODP queue and ODP pktio were created by default however ODP queue is used by async unit tests and pktio is used by inline unit tests. Sync unit tests use neither ODP queue or ODP pktio. This patch updates IPsec units test initialization so that only required elements are created for a given mode of tests. Also the term function is updated to use the handles available for pktio, queue and pool in the suite_context while destroying the resources. Signed-off-by: Lukasz Bartosik <lbartosik@marvell.com> Signed-off-by: Anoob Joseph <anoobj@marvell.com> Signed-off-by: Aakash Sasidharan <asasidharan@marvell.com> Reviewed-by: Petri Savolainen <petri.savolainen@nokia.com>
-rw-r--r--test/validation/api/ipsec/ipsec.c42
-rw-r--r--test/validation/api/ipsec/ipsec.h2
-rw-r--r--test/validation/api/ipsec/ipsec_async.c3
-rw-r--r--test/validation/api/ipsec/ipsec_inline_in.c2
-rw-r--r--test/validation/api/ipsec/ipsec_inline_out.c2
-rw-r--r--test/validation/api/ipsec/ipsec_sync.c4
6 files changed, 26 insertions, 29 deletions
diff --git a/test/validation/api/ipsec/ipsec.c b/test/validation/api/ipsec/ipsec.c
index 06105bb2e..f3f0f8a2d 100644
--- a/test/validation/api/ipsec/ipsec.c
+++ b/test/validation/api/ipsec/ipsec.c
@@ -980,7 +980,7 @@ int ipsec_out_term(void)
return ipsec_suite_term();
}
-int ipsec_init(odp_instance_t *inst)
+int ipsec_init(odp_instance_t *inst, odp_ipsec_op_mode_t mode)
{
odp_pool_param_t params;
odp_pool_t pool;
@@ -990,6 +990,10 @@ int ipsec_init(odp_instance_t *inst)
odp_init_t init_param;
odph_helper_options_t helper_options;
+ suite_context.pool = ODP_POOL_INVALID;
+ suite_context.queue = ODP_QUEUE_INVALID;
+ suite_context.pktio = ODP_PKTIO_INVALID;
+
if (odph_options(&helper_options)) {
fprintf(stderr, "error: odph_options() failed.\n");
return -1;
@@ -1037,16 +1041,21 @@ int ipsec_init(odp_instance_t *inst)
fprintf(stderr, "Packet pool creation failed.\n");
return -1;
}
- out_queue = odp_queue_create("ipsec-out", NULL);
- if (ODP_QUEUE_INVALID == out_queue) {
- fprintf(stderr, "IPsec outq creation failed.\n");
- return -1;
+ if (mode == ODP_IPSEC_OP_MODE_ASYNC ||
+ mode == ODP_IPSEC_OP_MODE_INLINE) {
+ out_queue = odp_queue_create("ipsec-out", NULL);
+ if (ODP_QUEUE_INVALID == out_queue) {
+ fprintf(stderr, "IPsec outq creation failed.\n");
+ return -1;
+ }
}
- pktio = pktio_create(pool);
- if (ODP_PKTIO_INVALID == pktio) {
- fprintf(stderr, "IPsec pktio creation failed.\n");
- return -1;
+ if (mode == ODP_IPSEC_OP_MODE_INLINE) {
+ pktio = pktio_create(pool);
+ if (ODP_PKTIO_INVALID == pktio) {
+ fprintf(stderr, "IPsec pktio creation failed.\n");
+ return -1;
+ }
}
return 0;
@@ -1093,32 +1102,23 @@ int ipsec_config(odp_instance_t ODP_UNUSED inst)
int ipsec_term(odp_instance_t inst)
{
- odp_pool_t pool;
- odp_queue_t out_queue;
- odp_pktio_t pktio;
+ odp_pool_t pool = suite_context.pool;
+ odp_queue_t out_queue = suite_context.queue;
+ odp_pktio_t pktio = suite_context.pktio;
- pktio = odp_pktio_lookup("loop");
if (ODP_PKTIO_INVALID != pktio) {
if (odp_pktio_close(pktio))
fprintf(stderr, "IPsec pktio close failed.\n");
- } else {
- fprintf(stderr, "IPsec pktio not found.\n");
}
- out_queue = odp_queue_lookup("ipsec-out");
if (ODP_QUEUE_INVALID != out_queue) {
if (odp_queue_destroy(out_queue))
fprintf(stderr, "IPsec outq destroy failed.\n");
- } else {
- fprintf(stderr, "IPsec outq not found.\n");
}
- pool = odp_pool_lookup("packet_pool");
if (ODP_POOL_INVALID != pool) {
if (odp_pool_destroy(pool))
fprintf(stderr, "Packet pool destroy failed.\n");
- } else {
- fprintf(stderr, "Packet pool not found.\n");
}
if (0 != odp_term_local()) {
diff --git a/test/validation/api/ipsec/ipsec.h b/test/validation/api/ipsec/ipsec.h
index 7aa38dce4..f36608ac5 100644
--- a/test/validation/api/ipsec/ipsec.h
+++ b/test/validation/api/ipsec/ipsec.h
@@ -14,7 +14,7 @@
extern odp_testinfo_t ipsec_in_suite[];
extern odp_testinfo_t ipsec_out_suite[];
-int ipsec_init(odp_instance_t *inst);
+int ipsec_init(odp_instance_t *inst, odp_ipsec_op_mode_t mode);
int ipsec_term(odp_instance_t inst);
int ipsec_config(odp_instance_t inst);
diff --git a/test/validation/api/ipsec/ipsec_async.c b/test/validation/api/ipsec/ipsec_async.c
index db5c0e58a..8f818a94e 100644
--- a/test/validation/api/ipsec/ipsec_async.c
+++ b/test/validation/api/ipsec/ipsec_async.c
@@ -10,7 +10,7 @@ static int ipsec_async_init(odp_instance_t *inst)
{
int rc;
- rc = ipsec_init(inst);
+ rc = ipsec_init(inst, ODP_IPSEC_OP_MODE_ASYNC);
if (rc != 0)
return rc;
@@ -21,7 +21,6 @@ static int ipsec_async_init(odp_instance_t *inst)
if (suite_context.queue == ODP_QUEUE_INVALID)
return -1;
- suite_context.pktio = ODP_PKTIO_INVALID;
suite_context.inbound_op_mode = ODP_IPSEC_OP_MODE_ASYNC;
suite_context.outbound_op_mode = ODP_IPSEC_OP_MODE_ASYNC;
diff --git a/test/validation/api/ipsec/ipsec_inline_in.c b/test/validation/api/ipsec/ipsec_inline_in.c
index 073922072..bd34f6cc4 100644
--- a/test/validation/api/ipsec/ipsec_inline_in.c
+++ b/test/validation/api/ipsec/ipsec_inline_in.c
@@ -10,7 +10,7 @@ static int ipsec_sync_init(odp_instance_t *inst)
{
int rc;
- rc = ipsec_init(inst);
+ rc = ipsec_init(inst, ODP_IPSEC_OP_MODE_INLINE);
if (rc != 0)
return rc;
diff --git a/test/validation/api/ipsec/ipsec_inline_out.c b/test/validation/api/ipsec/ipsec_inline_out.c
index d799ca34d..5cda43b74 100644
--- a/test/validation/api/ipsec/ipsec_inline_out.c
+++ b/test/validation/api/ipsec/ipsec_inline_out.c
@@ -10,7 +10,7 @@ static int ipsec_sync_init(odp_instance_t *inst)
{
int rc;
- rc = ipsec_init(inst);
+ rc = ipsec_init(inst, ODP_IPSEC_OP_MODE_INLINE);
if (rc != 0)
return rc;
diff --git a/test/validation/api/ipsec/ipsec_sync.c b/test/validation/api/ipsec/ipsec_sync.c
index 1c41ec7d1..f77bb1c51 100644
--- a/test/validation/api/ipsec/ipsec_sync.c
+++ b/test/validation/api/ipsec/ipsec_sync.c
@@ -10,7 +10,7 @@ static int ipsec_sync_init(odp_instance_t *inst)
{
int rc;
- rc = ipsec_init(inst);
+ rc = ipsec_init(inst, ODP_IPSEC_OP_MODE_SYNC);
if (rc != 0)
return rc;
@@ -18,8 +18,6 @@ static int ipsec_sync_init(odp_instance_t *inst)
if (suite_context.pool == ODP_POOL_INVALID)
return -1;
- suite_context.queue = ODP_QUEUE_INVALID;
- suite_context.pktio = ODP_PKTIO_INVALID;
suite_context.inbound_op_mode = ODP_IPSEC_OP_MODE_SYNC;
suite_context.outbound_op_mode = ODP_IPSEC_OP_MODE_SYNC;