Message ID | 1461595117-15338-1-git-send-email-balakrishna.garapati@linaro.org |
---|---|
State | Superseded |
Headers | show |
On Mon, Apr 25, 2016 at 9:38 AM, Balakrishna Garapati < balakrishna.garapati@linaro.org> wrote: > test update to verify the crypto capability functionality > > Signed-off-by: Balakrishna Garapati <balakrishna.garapati@linaro.org> > --- > v2: Added the suport to verify if hw offload is supported > > test/validation/crypto/odp_crypto_test_inp.c | 49 > ++++++++++++++++++++++++++++ > 1 file changed, 49 insertions(+) > > diff --git a/test/validation/crypto/odp_crypto_test_inp.c > b/test/validation/crypto/odp_crypto_test_inp.c > index fc125f7..393fd20 100644 > --- a/test/validation/crypto/odp_crypto_test_inp.c > +++ b/test/validation/crypto/odp_crypto_test_inp.c > @@ -46,6 +46,7 @@ static void alg_test(odp_crypto_op_t op, > ) > { > odp_crypto_session_t session; > + odp_crypto_capability_t capability; > int rc; > odp_crypto_ses_create_err_t status; > odp_bool_t posted; > @@ -53,6 +54,54 @@ static void alg_test(odp_crypto_op_t op, > odp_crypto_compl_t compl_event; > odp_crypto_op_result_t result; > > + /* Initialize crypto capability structure */ > + memset(&capability, 0, sizeof(odp_crypto_capability_t)); Since this is an output struct, the odp_crypto_capability() API itself should zero and set this structure, not the caller. This memset should move from here to part 1 as part of the implementation of this API. > + > + rc = odp_crypto_capability(&capability); > + CU_ASSERT(!rc); > + > + if (capability.hw_ciphers.all_bits) { > + if (cipher_alg == ODP_CIPHER_ALG_3DES_CBC && > + !(capability.hw_ciphers.bit.trides_cbc)) > + rc = -1; > + if (cipher_alg == ODP_CIPHER_ALG_AES128_CBC && > + !(capability.hw_ciphers.bit.aes128_cbc)) > + rc = -1; > + if (cipher_alg == ODP_CIPHER_ALG_AES128_GCM && > + !(capability.hw_ciphers.bit.aes128_gcm)) > + rc = -1; > + } else { > + if (cipher_alg == ODP_CIPHER_ALG_3DES_CBC && > + !(capability.ciphers.bit.trides_cbc)) > + rc = -1; > + if (cipher_alg == ODP_CIPHER_ALG_AES128_CBC && > + !(capability.ciphers.bit.aes128_cbc)) > + rc = -1; > + if (cipher_alg == ODP_CIPHER_ALG_AES128_GCM && > + !(capability.ciphers.bit.aes128_gcm)) > + rc = -1; > + } > + > + CU_ASSERT(!rc); > + > + if (capability.hw_auths.all_bits) { > + if (auth_alg == ODP_AUTH_ALG_AES128_GCM && > + !(capability.hw_auths.bit.aes128_gcm)) > + rc = -1; > + if (auth_alg == ODP_AUTH_ALG_NULL && > + !(capability.hw_auths.bit.null)) > + rc = -1; > + } else { > + if (auth_alg == ODP_AUTH_ALG_AES128_GCM && > + !(capability.auths.bit.aes128_gcm)) > + rc = -1; > + if (auth_alg == ODP_AUTH_ALG_NULL && > + !(capability.auths.bit.null)) > + rc = -1; > + } > + > + CU_ASSERT(!rc); > + > /* Create a crypto session */ > odp_crypto_session_params_t ses_params; > memset(&ses_params, 0, sizeof(ses_params)); > -- > 1.9.1 > > _______________________________________________ > lng-odp mailing list > lng-odp@lists.linaro.org > https://lists.linaro.org/mailman/listinfo/lng-odp >
diff --git a/test/validation/crypto/odp_crypto_test_inp.c b/test/validation/crypto/odp_crypto_test_inp.c index fc125f7..393fd20 100644 --- a/test/validation/crypto/odp_crypto_test_inp.c +++ b/test/validation/crypto/odp_crypto_test_inp.c @@ -46,6 +46,7 @@ static void alg_test(odp_crypto_op_t op, ) { odp_crypto_session_t session; + odp_crypto_capability_t capability; int rc; odp_crypto_ses_create_err_t status; odp_bool_t posted; @@ -53,6 +54,54 @@ static void alg_test(odp_crypto_op_t op, odp_crypto_compl_t compl_event; odp_crypto_op_result_t result; + /* Initialize crypto capability structure */ + memset(&capability, 0, sizeof(odp_crypto_capability_t)); + + rc = odp_crypto_capability(&capability); + CU_ASSERT(!rc); + + if (capability.hw_ciphers.all_bits) { + if (cipher_alg == ODP_CIPHER_ALG_3DES_CBC && + !(capability.hw_ciphers.bit.trides_cbc)) + rc = -1; + if (cipher_alg == ODP_CIPHER_ALG_AES128_CBC && + !(capability.hw_ciphers.bit.aes128_cbc)) + rc = -1; + if (cipher_alg == ODP_CIPHER_ALG_AES128_GCM && + !(capability.hw_ciphers.bit.aes128_gcm)) + rc = -1; + } else { + if (cipher_alg == ODP_CIPHER_ALG_3DES_CBC && + !(capability.ciphers.bit.trides_cbc)) + rc = -1; + if (cipher_alg == ODP_CIPHER_ALG_AES128_CBC && + !(capability.ciphers.bit.aes128_cbc)) + rc = -1; + if (cipher_alg == ODP_CIPHER_ALG_AES128_GCM && + !(capability.ciphers.bit.aes128_gcm)) + rc = -1; + } + + CU_ASSERT(!rc); + + if (capability.hw_auths.all_bits) { + if (auth_alg == ODP_AUTH_ALG_AES128_GCM && + !(capability.hw_auths.bit.aes128_gcm)) + rc = -1; + if (auth_alg == ODP_AUTH_ALG_NULL && + !(capability.hw_auths.bit.null)) + rc = -1; + } else { + if (auth_alg == ODP_AUTH_ALG_AES128_GCM && + !(capability.auths.bit.aes128_gcm)) + rc = -1; + if (auth_alg == ODP_AUTH_ALG_NULL && + !(capability.auths.bit.null)) + rc = -1; + } + + CU_ASSERT(!rc); + /* Create a crypto session */ odp_crypto_session_params_t ses_params; memset(&ses_params, 0, sizeof(ses_params));
test update to verify the crypto capability functionality Signed-off-by: Balakrishna Garapati <balakrishna.garapati@linaro.org> --- v2: Added the suport to verify if hw offload is supported test/validation/crypto/odp_crypto_test_inp.c | 49 ++++++++++++++++++++++++++++ 1 file changed, 49 insertions(+) -- 1.9.1