As most of the real woeld use cases need HFN value to
be updated on per packet basis, changing the default
testing with HFN override enabled for all PDCP cases.

Signed-off-by: Akhil Goyal <akhil.go...@nxp.com>
---
 app/test-crypto-perf/cperf_ops.c | 10 +++++++---
 app/test/test_cryptodev.c        | 13 +++++++++++--
 2 files changed, 18 insertions(+), 5 deletions(-)

diff --git a/app/test-crypto-perf/cperf_ops.c b/app/test-crypto-perf/cperf_ops.c
index 97584ceed..847982219 100644
--- a/app/test-crypto-perf/cperf_ops.c
+++ b/app/test-crypto-perf/cperf_ops.c
@@ -25,6 +25,10 @@ cperf_set_ops_security(struct rte_crypto_op **ops,
                struct rte_security_session *sec_sess =
                        (struct rte_security_session *)sess;
 
+               uint32_t *per_pkt_hfn = rte_crypto_op_ctod_offset(ops[i],
+                                       uint32_t *, iv_offset);
+               *per_pkt_hfn = 0x1;
+
                ops[i]->status = RTE_CRYPTO_OP_STATUS_NOT_PROCESSED;
                rte_security_attach_session(ops[i], sec_sess);
                sym_op->m_src = (struct rte_mbuf *)((uint8_t *)ops[i] +
@@ -529,16 +533,15 @@ cperf_create_session(struct rte_mempool *sess_mp,
                cipher_xform.cipher.algo = options->cipher_algo;
                cipher_xform.cipher.op = options->cipher_op;
                cipher_xform.cipher.iv.offset = iv_offset;
+               cipher_xform.cipher.iv.length = 4;
 
                /* cipher different than null */
                if (options->cipher_algo != RTE_CRYPTO_CIPHER_NULL) {
                        cipher_xform.cipher.key.data = 
test_vector->cipher_key.data;
                        cipher_xform.cipher.key.length = 
test_vector->cipher_key.length;
-                       cipher_xform.cipher.iv.length = 
test_vector->cipher_iv.length;
                } else {
                        cipher_xform.cipher.key.data = NULL;
                        cipher_xform.cipher.key.length = 0;
-                       cipher_xform.cipher.iv.length = 0;
                }
 
                /* Setup Auth Parameters */
@@ -576,8 +579,9 @@ cperf_create_session(struct rte_mempool *sess_mp,
                                .domain = options->pdcp_domain,
                                .pkt_dir = 0,
                                .sn_size = options->pdcp_sn_sz,
-                               .hfn = 0x1,
+                               .hfn = 0x0,
                                .hfn_threshold = 0x70C0A,
+                               .hfn_ovrd = 1,
                        } },
                        .crypto_xform = &cipher_xform
                };
diff --git a/app/test/test_cryptodev.c b/app/test/test_cryptodev.c
index 8f631468b..f4ed89c1c 100644
--- a/app/test/test_cryptodev.c
+++ b/app/test/test_cryptodev.c
@@ -7385,7 +7385,8 @@ test_pdcp_proto_SGL(int i, int oop,
        ut_params->cipher_xform.cipher.key.data = pdcp_test_crypto_key[i];
        ut_params->cipher_xform.cipher.key.length =
                                        pdcp_test_params[i].cipher_key_len;
-       ut_params->cipher_xform.cipher.iv.length = 0;
+       ut_params->cipher_xform.cipher.iv.length = 4;
+       ut_params->cipher_xform.cipher.iv.offset = IV_OFFSET;
 
        /* Setup HMAC Parameters if ICV header is required */
        if (pdcp_test_params[i].auth_alg != 0) {
@@ -7410,8 +7411,12 @@ test_pdcp_proto_SGL(int i, int oop,
                        .domain = pdcp_test_params[i].domain,
                        .pkt_dir = pdcp_test_packet_direction[i],
                        .sn_size = pdcp_test_data_sn_size[i],
-                       .hfn = pdcp_test_hfn[i],
+                       .hfn = 0, /**
+                                  * hfn can be set as pdcp_test_hfn[i]
+                                  * if hfn_ovrd is not set
+                                  */
                        .hfn_threshold = pdcp_test_hfn_threshold[i],
+                       .hfn_ovrd = 1,
                } },
                .crypto_xform = &ut_params->cipher_xform
        };
@@ -7438,6 +7443,10 @@ test_pdcp_proto_SGL(int i, int oop,
                goto on_err;
        }
 
+       uint32_t *per_pkt_hfn = rte_crypto_op_ctod_offset(ut_params->op,
+                                       uint32_t *, IV_OFFSET);
+       *per_pkt_hfn = pdcp_test_hfn[i];
+
        rte_security_attach_session(ut_params->op, ut_params->sec_session);
 
        /* set crypto operation source mbuf */
-- 
2.17.1

Reply via email to