Bug 42 - Crypto_mrvl error with multiple instances
Summary: Crypto_mrvl error with multiple instances
Status: IN_PROGRESS
Alias: None
Product: DPDK
Classification: Unclassified
Component: cryptodev (show other bugs)
Version: unspecified
Hardware: ARM Linux
: High critical
Target Milestone: ---
Assignee: Akhil Gupta
URL:
Depends on:
Blocks:
 
Reported: 2018-05-09 09:40 CEST by Akhil Gupta
Modified: 2018-07-15 06:42 CEST (History)
3 users (show)



Attachments

Description Akhil Gupta 2018-05-09 09:40:11 CEST
Hi,
We are using DPDK over Marvell ARMADA 8040 processor and we have used all the MUSDK patches provided, to make our DPDK stack work.

But we are facing an issue while trying to use L2FWD-Crypto test application. Here we are trying to use crypto_mrvl with two instances and we are getting error on second one.
The command used is:
./l2fwd-crypto  -c 0x3 -n 4 --vdev=net_ring,iface=eth1,iface=eth0 --vdev=crypto_mrvl0 --vdev=crypto_mrvl1 -- \
  --cipher_op ENCRYPT --cipher_algo aes-cbc \
  --cipher_key 00:01:02:03:04:05:06:07:08:09:0a:0b:0c:0d:0e:0f  \
  --auth_op GENERATE --auth_algo sha1-hmac \
  --auth_key 10:11:12:13:14:15:16:17:18:19:1a:1b:1c:1d:1e:1f

While executing this, we are getting the errors:
[ERROR] Engine #0: Ring #0 is busy. Active rings map is 0x1
Failed to setup queue pair 0 on cryptodev 1EAL: Error - exiting with code: 1
  Cause: Failed to initialize crypto devices 


Can you please let us know if you see any issue is above command line being used.
In addition, can we use multiple instances for single crypto engine supported by Armada 8040?

Regards,
Akhil
Comment 1 Natalie 2018-05-17 13:31:05 CEST
(In reply to Akhil Gupta from comment #0)
> Hi,
> We are using DPDK over Marvell ARMADA 8040 processor and we have used all
> the MUSDK patches provided, to make our DPDK stack work.
> 
> But we are facing an issue while trying to use L2FWD-Crypto test
> application. Here we are trying to use crypto_mrvl with two instances and we
> are getting error on second one.
> The command used is:
> ./l2fwd-crypto  -c 0x3 -n 4 --vdev=net_ring,iface=eth1,iface=eth0
> --vdev=crypto_mrvl0 --vdev=crypto_mrvl1 -- \
>   --cipher_op ENCRYPT --cipher_algo aes-cbc \
>   --cipher_key 00:01:02:03:04:05:06:07:08:09:0a:0b:0c:0d:0e:0f  \
>   --auth_op GENERATE --auth_algo sha1-hmac \
>   --auth_key 10:11:12:13:14:15:16:17:18:19:1a:1b:1c:1d:1e:1f
> 
> While executing this, we are getting the errors:
> [ERROR] Engine #0: Ring #0 is busy. Active rings map is 0x1
> Failed to setup queue pair 0 on cryptodev 1EAL: Error - exiting with code: 1
>   Cause: Failed to initialize crypto devices 
> 
> 
> Can you please let us know if you see any issue is above command line being
> used.
> In addition, can we use multiple instances for single crypto engine
> supported by Armada 8040?
> 
> Regards,
> Akhil

It seems that was not loaded correctly.
Please verify that you doing it as below:

insmod crypto_safexcel.ko rings=0,0

Where:
rings=x,y means how many EIP197/EIP97 rings allocated for kernel usage:
x - for cp0 device
y - for cp1 device (if exist)
Comment 2 Ajit Khaparde 2018-07-15 06:42:49 CEST
Akhil,
Do you have an update? Did the suggested solution work?

Thanks
Ajit

Note You need to log in before you can comment on or make changes to this bug.