And looks like I have a typo in the flag! Duh! Thanks for getting me on the right track, rebuilding.
Cheers, Jan On Sat, May 30, 2015 at 1:57 PM, JM <fi...@archlinux.us> wrote: > Thanks for the quick reply. > > I did build with -DHAVE_CRYPTODEV -DUSE_CRYPTDEV_DIGESTS and the two > patches here: > http://rt.openssl.org/Ticket/Display.html?id=2770&user=guest&pass=guest > > OpenSSL version is 1.0.1k > > I tested ssh with a loopback scp like this: scp -c aes128-cbc > /media/ramdisk/data.bin fijam@localhost:/dev/null > > and it works great with mv_cesa/cryptodev. > > What I actually need is the hashing though... > > Best regards, > Jan > > > > On Sat, May 30, 2015 at 1:49 PM, Gordan Bobic <gor...@bobich.net> wrote: > >> Apologies if this is stated earlier in the thread, but you did build >> your OpenSSL with -DUSE_CRYPTODEV_DIGESTS, right? >> >> What version of OpenSSL are you using? Have you perchance checked >> whether sshd works with cryptodev offload (ssh -c aes128-cbc to your >> cryptodev machine)? >> >> Gordan >> >> >> On 30/05/15 12:43, JM wrote: >> >>> Hello again, >>> >>> I have updated the kernel on the affected machine to 4.0.4 and now >>> mv_cesa successfully passes self checks. I rebuilt the cryptodev-linux >>> module with the compilation fix from git and the tests included in >>> cryptodev also pass now. >>> >>> However, I am having trouble doing sha1 hashing using mv_cesa through >>> cryptodev from other applications, while aes-128-cbc works correctly. >>> Tested with openssl (built with the recommended patches and flags): >>> >>> AES: >>> openssl speed aes-128-cbc -elapsed >>> software path is taken >>> >>> openssl speed -evp aes-128-cbc -elapsed >>> offloading works correctly, and I see mv_crypto taking CPU time >>> >>> SHA1: >>> openssl speed sha1 -elapsed >>> software path is taken >>> >>> openssl speed -evp sha1 -elapsed >>> software path is taken, no difference in speed, mv_crypto at 0% CPU time >>> >>> this is what I get in dmesg with verbosity set to 3: >>> -evp aes: http://pastebin.com/K3TaJ2S8 >>> -evp sha1: http://pastebin.com/udK6EYwS >>> >>> In /proc/crypto I have >>> >>> name : sha1 >>> driver : mv-sha1 >>> module : mv_cesa >>> priority : 300 >>> refcnt : 1 >>> selftest : passed >>> type : ahash >>> async : yes >>> blocksize : 64 >>> digestsize : 20 >>> >>> which is the highest priority for sha1 that I have in this system. >>> >>> Importantly, ./sha_speed from cryptodev-linux/tests correctly requests >>> mv-sha1 and I can see it use mv_crypto in the process list with about >>> 45% cpu usage. >>> >>> To summarize, openssl can use mv_cesa through cryptodev only for >>> aes-128-cbc and not for sha1, even though tests included in cryptodev >>> can use mv_cesa for both aes and sha1. >>> >>> Can someone shed any light on that? >>> >>> Best regards, >>> Jan >>> >>> >>> On Mon, Apr 27, 2015 at 2:24 PM, Phil Sutter <p...@nwl.cc >>> <mailto:p...@nwl.cc>> wrote: >>> >>> Hi, >>> >>> On Mon, Apr 27, 2015 at 02:08:29PM +0200, JM wrote: >>> > Hello, >>> > >>> > Thank you for the quick reply. >>> > >>> > I use the mv_cesa driver as shipped by Debian with the 3.16 >>> kernel, which >>> > is almost certainly the same as mainline. >>> > >>> > I tried to run the _comp tools with mv_cesa removed: >>> > >>> > fijam@yukikaze:~/cryptodev-linux-1.7/tests$ ./cipher_comp && >>> ./hash_comp >>> > requested cipher CRYPTO_AES_CBC and mac CRYPTO_SHA1_HMAC, got >>> cipher >>> > cbc(aes) with driver cbc(aes-generic) and hash with driver >>> > requested mac CRYPTO_SHA1, got hash sha1 with driver sha1-asm >>> > >>> > and loaded: >>> > >>> > fijam@yukikaze:~/cryptodev-linux-1.7/tests$ sudo modprobe mv_cesa >>> > fijam@yukikaze:~/cryptodev-linux-1.7/tests$ ./cipher_comp && >>> ./hash_comp >>> > requested cipher CRYPTO_AES_CBC and mac CRYPTO_SHA1_HMAC, got >>> cipher >>> > cbc(aes) with driver mv-cbc-aes and hash with driver >>> > requested mac CRYPTO_SHA1, got hash sha1 with driver sha1-asm >>> > >>> > They both pass, but note that even with mv_cesa loaded, sha1-asm >>> is used. >>> > >>> > I checked /proc/crypto and mv_cesa has indeed the highest priority >>> (300). I >>> > tried to rmmod sha1_generic and sha1_arm but they just get loaded >>> again. >>> >>> This wouldn't work anyway since mv_cesa needs a software >>> implementation >>> to fall back to for odd cases. >>> >>> > I am not very familiar with kernel self-checks. I tested with the >>> tcrypt >>> > module (mode 200 for aes and mode 303 for sha) and I think I'm on >>> the right >>> > track: >>> > >>> > [227229.582143] alg: hash: Test 3 failed for mv-sha1 >>> > [227229.586891] 00000000: 10 bf d7 00 71 0b bb 83 3a 26 d0 97 13 >>> 05 99 f5 >>> > [227229.593454] 00000010: 3a 92 53 3c >>> > [227229.597165] alg: hash: Test 1 failed for mv-hmac-sha1 >>> > [227229.602343] 00000000: 0c aa 9f d5 37 c3 79 3a 91 d9 21 5f 42 >>> 2b 2c 24 >>> > [227229.608906] 00000010: b7 c3 16 0c >>> > [227251.303414] >>> > [227251.303414] testing speed of sha1 >>> > [227251.323114] test 0 ( 16 byte blocks, 16 bytes per >>> update, 1 >>> > updates): 518331 opers/sec, 8293296 bytes/sec >>> > [and so on] >>> > >>> > It would appear that mv_sha1 fails, at which point the generic >>> driver gets >>> > loaded? >>> > >>> > Does it mean the kernel driver itself is at fault? >>> >>> Yes, indeed. I'm surprised it still turns up in /proc/crypto, but if >>> the >>> kernel self-test for a given crypto-provider fails it won't be used >>> anymore (for good reason, of course). >>> >>> The driver failing with tcrypt is clear evidence of a driver problem >>> and >>> unrelated to cryptodev. Have a look at the kernel log, I bet there is >>> output from the failing self-test at boot-time. >>> >>> Cheers, Phil >>> >>> _______________________________________________ >>> Cryptodev-linux-devel mailing list >>> Cryptodev-linux-devel@gna.org <mailto:Cryptodev-linux-devel@gna.org> >>> https://mail.gna.org/listinfo/cryptodev-linux-devel >>> >>> >>> >>> >>> _______________________________________________ >>> Cryptodev-linux-devel mailing list >>> Cryptodev-linux-devel@gna.org >>> https://mail.gna.org/listinfo/cryptodev-linux-devel >>> >>> >> >> _______________________________________________ >> Cryptodev-linux-devel mailing list >> Cryptodev-linux-devel@gna.org >> https://mail.gna.org/listinfo/cryptodev-linux-devel >> > >
_______________________________________________ Cryptodev-linux-devel mailing list Cryptodev-linux-devel@gna.org https://mail.gna.org/listinfo/cryptodev-linux-devel