Dmitry Eremin-Solenikov(lumag) replied on github web page: platform/linux-dpdk/test/wrapper-script.sh line 5 @@ -1,6 +1,7 @@ #!/bin/bash -export ODP_PLATFORM_PARAMS=${ODP_PLATFORM_PARAMS:--n 4 --vdev "crypto_openssl"} +export ODP_PLATFORM_PARAMS=${ODP_PLATFORM_PARAMS:--n 4 "--vdev \ +"crypto_openssl" --vdev "crypto_null""}
Comment: Can you please paste the test log w/o crypto_null somewhere (pastebin or e-mail)? Thanks! > Dmitry Eremin-Solenikov(lumag) wrote: > Yes. >> Dmitry Eremin-Solenikov(lumag) wrote: >> Yes. 0 is also a valid iv length. >>> GBalakrishna wrote >>> you mean to say for MD5_96, we should ignore the digest_length from >>> application even if it is set ? >>>> GBalakrishna wrote >>>> you mean to make this in separate commit ? >>>>> GBalakrishna wrote >>>>> you mean is_valid_size() ? >>>>>> Dmitry Eremin-Solenikov(lumag) wrote: >>>>>> OK. You always use `param->auth_digest_len` if it is set. This logic is >>>>>> incorrect. It should be used for all cases except MD5_96, SHA256_128, >>>>>> AES128_GCM (where an override should be used). >>>>>>> GBalakrishna wrote >>>>>>> yes it works. >>>>>>>> GBalakrishna wrote >>>>>>>> it is set in get_crypto_dev() >>>>>>>>> GBalakrishna wrote >>>>>>>>> it is set in get_crypto_dev() >>>>>>>>>> GBalakrishna wrote >>>>>>>>>> it is set in get_crypto_dev(): auth_xform->auth.digest_length = >>>>>>>>>> cap->sym.auth.digest_size.min >>>>>>>>>>> Dmitry Eremin-Solenikov(lumag) wrote: >>>>>>>>>>> All test updates should go in separate commit. >>>>>>>>>>>> Dmitry Eremin-Solenikov(lumag) wrote: >>>>>>>>>>>> Name of the test suggests, that test is using truncated hmac, but >>>>>>>>>>>> then you specify full auth_digest_len. >>>>>>>>>>>>> Dmitry Eremin-Solenikov(lumag) wrote: >>>>>>>>>>>>> and this >>>>>>>>>>>>>> Dmitry Eremin-Solenikov(lumag) wrote: >>>>>>>>>>>>>> Will it work w/o crypto_null driver? >>>>>>>>>>>>>>> Dmitry Eremin-Solenikov(lumag) wrote: >>>>>>>>>>>>>>> `res` does not quite follow `crypto_chain_order`, does it? >>>>>>>>>>>>>>> Please rename to 'order' or smth. like that. >>>>>>>>>>>>>>>> Dmitry Eremin-Solenikov(lumag) wrote: >>>>>>>>>>>>>>>> Push this logic to `set_chain_order` >>>>>>>>>>>>>>>>> Dmitry Eremin-Solenikov(lumag) wrote: >>>>>>>>>>>>>>>>> Make it return `crypto_chain_order`. >>>>>>>>>>>>>>>>>> Dmitry Eremin-Solenikov(lumag) wrote: >>>>>>>>>>>>>>>>>> No need to keep this under `if (iv_length)` >>>>>>>>>>>>>>>>>>> Dmitry Eremin-Solenikov(lumag) wrote: >>>>>>>>>>>>>>>>>>> Liked this typo. It shows that the code never worked as >>>>>>>>>>>>>>>>>>> expected. >>>>>>>>>>>>>>>>>>>> Dmitry Eremin-Solenikov(lumag) wrote: >>>>>>>>>>>>>>>>>>>> same issue here. >>>>>>>>>>>>>>>>>>>>> Dmitry Eremin-Solenikov(lumag) wrote: >>>>>>>>>>>>>>>>>>>>> Same issue here. >>>>>>>>>>>>>>>>>>>>>> Dmitry Eremin-Solenikov(lumag) wrote: >>>>>>>>>>>>>>>>>>>>>> `auth.digest_length` should be set for MD5_96 here, but >>>>>>>>>>>>>>>>>>>>>> not for MD5_HMAC. >>>>>>>>>>>>>>>>>>>>>>> Dmitry Eremin-Solenikov(lumag) wrote: >>>>>>>>>>>>>>>>>>>>>>> It's really not a problem at this moment, this can be >>>>>>>>>>>>>>>>>>>>>>> fixed later. >>>>>>>>>>>>>>>>>>>>>>>> GBalakrishna wrote >>>>>>>>>>>>>>>>>>>>>>>> oke I see. I will make the update in the next version. >>>>>>>>>>>>>>>>>>>>>>>>> Dmitry Eremin-Solenikov(lumag) wrote: >>>>>>>>>>>>>>>>>>>>>>>>> both = Encrypt-then-MAC and MAC-cleartext >>>>>>>>>>>>>>>>>>>>>>>>>> Dmitry Eremin-Solenikov(lumag) wrote: >>>>>>>>>>>>>>>>>>>>>>>>>> Could you please add tests cases rather than modify >>>>>>>>>>>>>>>>>>>>>>>>>> existing ones? >>>>>>>>>>>>>>>>>>>>>>>>>>> Dmitry Eremin-Solenikov(lumag) wrote: >>>>>>>>>>>>>>>>>>>>>>>>>>> Implementation should not set digest len for cases >>>>>>>>>>>>>>>>>>>>>>>>>>> other than several deprecated auth algos. >>>>>>>>>>>>>>>>>>>>>>>>>>>> GBalakrishna wrote >>>>>>>>>>>>>>>>>>>>>>>>>>>> setting digest_length is moved to >>>>>>>>>>>>>>>>>>>>>>>>>>>> get_crypto_dev(), where it reads from PMD and set >>>>>>>>>>>>>>>>>>>>>>>>>>>> the min digest length if application doesn't set >>>>>>>>>>>>>>>>>>>>>>>>>>>> it. Reagrding the QAT, I need to look at it and >>>>>>>>>>>>>>>>>>>>>>>>>>>> understand. may be as a separate PR. >>>>>>>>>>>>>>>>>>>>>>>>>>>>> GBalakrishna wrote >>>>>>>>>>>>>>>>>>>>>>>>>>>>> I have updated the tests so that it works with >>>>>>>>>>>>>>>>>>>>>>>>>>>>> both the platforms linux-generci & linux-dpdk. >>>>>>>>>>>>>>>>>>>>>>>>>>>>>> GBalakrishna wrote >>>>>>>>>>>>>>>>>>>>>>>>>>>>>> what do you mean by testing both combinations ?. >>>>>>>>>>>>>>>>>>>>>>>>>>>>>> We are testing both the combinations ENCODE & >>>>>>>>>>>>>>>>>>>>>>>>>>>>>> DECODE. It's the default value we are changing >>>>>>>>>>>>>>>>>>>>>>>>>>>>>> it. >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Bill Fischofer(Bill-Fischofer-Linaro) wrote: >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Checkpatch flags this line: >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> ``` >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> WARNING: line over 80 characters >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> #363: FILE: >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> platform/linux-dpdk/test/wrapper-script.sh:3: >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> +export >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> ODP_PLATFORM_PARAMS=${ODP_PLATFORM_PARAMS:--n 4 >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> --vdev "crypto_openssl" --vdev "crypto_null"} >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> total: 0 errors, 1 warnings, 0 checks, 530 >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> lines checked >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> NOTE: Ignored message types: AVOID_EXTERNS >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> BIT_MACRO COMPARISON_TO_NULL >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> DEPRECATED_VARIABLE NEW_TYPEDEFS PREFER_PRINTF >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> PREFER_SCANF SPLIT_STRING SSCANF_TO_KSTRTO >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> VOLATILE >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> 0001-linux-dpdk-crypto-support-for-cipher-auth-only-featu.patch >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> has style problems, please review. >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> ``` >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Dmitry Eremin-Solenikov(lumag) wrote: >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> I suggest to factor out cipher and auth checks >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> as separate functions and apply them only if >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> corresponding algorithm is not NULL. Code >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> would be simpler. >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Dmitry Eremin-Solenikov(lumag) wrote: >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> For deprecated MD5_96 (and >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> SHA256_128/AES128_GCM) application won't set >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> `auth.digest_len`, so you have to enforce 12 >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> and 16 bytes digest len. For >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> MD5_HMAC/SHA256_HMAC (and others) application >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> will set `auth.digest_len`. >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> IIRC QAT driver should support truncated >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> digests out-of-box. Also you can try >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> expanding pmd_openssl to support truncated >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> lengths, it should not be very complicated. >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Also note, that full-length HMAC won't be >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> useful for IPsec. >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Dmitry Eremin-Solenikov(lumag) wrote: >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> "Do not change tests". See my previous >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> comment. >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Dmitry Eremin-Solenikov(lumag) wrote: >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Theoretically we'd better be testing both >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> combinations. The problem with test changes >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> in your commit is that you change tests >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> rather than expand them. Can you import >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> tests from #379? >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> GBalakrishna wrote >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> not sure what do u mean here. >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> GBalakrishna wrote >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Not sure if I have fallowed. I introduced >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Chain order because dpdk PMD's doesn't >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> have support for combination of NULL + >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Valid algo. So linux-dpdk implementation >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> converts the NULL also to chain order as >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> if it cipher only & auth only. >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> GBalakrishna wrote >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> my understanding of auth_cipher_text = >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> true means do encode then authenticate. >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> and when it is applied together with if >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> (ODP_CRYPTO_OP_ENCODE == param->op) sets >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> the "entry->do_cipher_first" to true by >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> default and if the param->op == DECODE >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> it sets the !auth_cipher_text. I felt >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> this is more easier for understanding. >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> GBalakrishna wrote >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> openssl PMD in 17.02 supports the >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> digest length to be min 16 bytes. But I >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> have now removed the setting >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> digest_lengths from here as it sets it >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> from the application. >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Dmitry Eremin-Solenikov(lumag) wrote: >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> why? >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Dmitry Eremin-Solenikov(lumag) wrote: >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> `non tangere testos meos` >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Dmitry Eremin-Solenikov(lumag) wrote: >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> I'd suggest to use ALG_NULL checks >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> directly, rather than introduce >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> chain order. >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Dmitry Eremin-Solenikov(lumag) >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> wrote: >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> This is wrong. MD5_96 should use >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> 12-byte digest length. MD5_HMAC >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> should use digest length specified >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> by application. https://github.com/Linaro/odp/pull/385#discussion_r161831026 updated_at 2018-01-16 17:34:40