Hi All,

*Context*: Using dpdk + vpp for telecom network user plane processing
*Desired*: want to use dpdk crypto-dev scheduler to have 2 cores dedicated
for crypto operations
*Issue*: crypto devices of different types (AES_MB & AES_GCM) are not
supported concurrently.
*Query*: *Have anyone used crypto scheduler and able to support multiple
crypto device types?*

*Details:*
We want to use 4 cores in total for user plane processing with following
deployment
Core-1: vpp worker thread - downlink
Core-2 : vpp worker thread - uplink
Core-3 : crypto-slave-1 (Cipher: aes-cbc-128)
Core-4 : crypto-slave-2 (Cipher: aes-gcm-128)

*Configurations:*
        vdev crypto_aesni_mb_pmd1,name=aesni_mb_1,socket_id=0
        vdev crypto_aesni_gcm_pmd1,name=aesni_gcm_1,socket_id=0
        vdev
crypto_scheduler,slave=aesni_mb_1,slave=aesni_gcm_1,mode=multi-core,corelist=3-4,ordering=enable,slave_buff_size=8192

vpp# *sh dpdk crypto devices*
aesni_mb_1               crypto_aesni_mb     up
  numa_node 0, max_queues 8
  free_resources 2, used_resources 2
  SYMMETRIC_CRYPTO, SYM_OPERATION_CHAINING, CPU_AVX2, CPU_AESNI
  Cipher: aes-cbc-128, aes-cbc-192, aes-cbc-256, aes-ctr-128, aes-ctr-192,
aes-ctr-256
  Auth: md5-96, sha1-96, sha-256-128, sha-384-192, sha-512-256,
aes-xcbc-mac-96

aesni_gcm_1              crypto_aesni_gcm    up
  numa_node 0, max_queues 8
  free_resources 2, used_resources 2
  SYMMETRIC_CRYPTO, SYM_OPERATION_CHAINING, CPU_AVX2, CPU_AESNI,
MBUF_SCATTER_GATHER
  Cipher: aes-gcm-128, aes-gcm-192, aes-gcm-256
  Auth: aes-gmac-128, aes-gmac-256

crypto_scheduler         crypto_scheduler    up
  numa_node 0, max_queues 8
  free_resources 2, used_resources 2
  SYMMETRIC_CRYPTO, SYM_OPERATION_CHAINING, CPU_AVX2, CPU_AESNI,
MBUF_SCATTER_GATHER
  Cipher: aes-gcm-128, aes-gcm-192, aes-gcm-256
  Auth:


vpp# *sh dpdk crypto placement verbose*
Thread 1 (vpp_wk_0):
  aesni_mb_1           dev-id  0 inbound-queue  0 outbound-queue  1
    Cipher: aes-cbc-128, aes-cbc-192, aes-cbc-256, aes-ctr-128,
aes-ctr-192, aes-ctr-256
    Auth: md5-96, sha1-96, sha-256-128, sha-384-192, sha-512-256,
aes-xcbc-mac-96
  aesni_gcm_1          dev-id  1 inbound-queue  0 outbound-queue  1
    Cipher:
    Auth: aes-gmac-128, aes-gmac-256
  crypto_scheduler     dev-id  2 inbound-queue  0 outbound-queue  1
    Cipher: aes-gcm-128, aes-gcm-192, aes-gcm-256
    Auth:

Thread 2 (vpp_wk_1):
  aesni_mb_1           dev-id  0 inbound-queue  2 outbound-queue  3
    Cipher: aes-cbc-128, aes-cbc-192, aes-cbc-256, aes-ctr-128,
aes-ctr-192, aes-ctr-256
    Auth: md5-96, sha1-96, sha-256-128, sha-384-192, sha-512-256,
aes-xcbc-mac-96
  aesni_gcm_1          dev-id  1 inbound-queue  2 outbound-queue  3
    Cipher:
    Auth: aes-gmac-128, aes-gmac-256
  crypto_scheduler     dev-id  2 inbound-queue  2 outbound-queue  3
    Cipher: aes-gcm-128, aes-gcm-192, aes-gcm-256
    Auth:

*Query - Detail *: with above log output, we see crypto-slaves aesni_mb_1
&  aesni_gcm_1 deployed on both worker threads but from Test Results we see
following -
AES Traffic - works through crypto scehdular
GCM Traffic - does not work. (Error - dpdk-esp-decrypt            Failed to
get crypto session)

Can someone please help to understand this behavior / suggest if any
approach worked for you to support multiple crypto algorithms?

Thanks in advance

Best Regads,
Jitendra
-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.

View/Reply Online (#12878): https://lists.fd.io/g/vpp-dev/message/12878
Mute This Topic: https://lists.fd.io/mt/31417484/21656
Group Owner: vpp-dev+ow...@lists.fd.io
Unsubscribe: https://lists.fd.io/g/vpp-dev/unsub  [arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-

Reply via email to