From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-ua1-f44.google.com (mail-ua1-f44.google.com [209.85.222.44]) by dpdk.org (Postfix) with ESMTP id 7A5791D7 for ; Mon, 29 Apr 2019 10:18:26 +0200 (CEST) Received: by mail-ua1-f44.google.com with SMTP id n16so3187372uae.10 for ; Mon, 29 Apr 2019 01:18:26 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:from:date:message-id:subject:to; bh=LG7UwY6Ls2DDCXjMEweYyLSMRh42fgLiDneNbgtGXRY=; b=gvEjYWynj7KJ79GthPvpt7cLZbo7K2Z/Vasu/O1arxi9rDxzsNUiQl1JA+R0Ml0MMD hbj+hMST4CzGFbgkNFAHjsjRKAoyLvEy0kGmo5fxaNXh8zZaAirF16wV3L8SyDeABdgN eyTxzAkQdym/qQ/2WawDmCFZnh27qLQ2NXzzFcqQArFZp7EuWNzwOzrn9SENIkLapmD2 pKjNhqbO645P2Ze/O9lE8unUNZlpYEZx8BX1I6bNOThrPiQwekrgjuOkBP3ihcYRuxIf O4LGZB30iTGu17uNjlsuj+q8GM3Q0YC80H1ukaSV3mNBzqbxgeTwElJgjeYAN6ELQTri cX3A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:from:date:message-id:subject:to; bh=LG7UwY6Ls2DDCXjMEweYyLSMRh42fgLiDneNbgtGXRY=; b=ANiJAY5ln54Z71cvCIOSaiRcfvcAPb2SGYxeXp0tRElxIPYKfpebvnxLH8VYeO/5Rw /6cDzAHAwpHWzHH+AKpgfASWfUQAtOXgRISI6xS7g9MA+lJWbmvoDH/yGb0JgIc0Lm7o MvH9yEkf9IXDxtlOIFYx9MxlVaWNzL14dg8I2VwArMr5Mfp3jesfzJFAd5rHjYBnljwa coJr9dGO9EBRJlgtmYHV4Ey4iSd7TalzlaK9kHSWONYKLj9pXtql1f+ENGCJjYxE4EjI JZaVE1MjuAM6B7WVDRRjzRiGqCrYXK7DPuMu3zkcervGb7mklCwRFxY1M8SUfvVCcvc9 XJnQ== X-Gm-Message-State: APjAAAVjJNjUcXQKJ++qdgaC/uleLuHGTJjEwQYpxAgDeeyKUXAT8RDD teLwrCWCNllr/e7FjOZhL+PyFwR2UfxVB+hqylU9gWvF X-Google-Smtp-Source: APXvYqxxJSFCnrB68Gucq+292bwXChuOo/BH/kUjk2IvB+Pwy/XLRUS+NQUSbnUTirTbPOdp15+wZgNNYOMyGOeUbeM= X-Received: by 2002:ab0:7608:: with SMTP id o8mr2459445uap.49.1556525905413; Mon, 29 Apr 2019 01:18:25 -0700 (PDT) MIME-Version: 1.0 From: Jitendra Saini Date: Mon, 29 Apr 2019 13:47:49 +0530 Message-ID: To: dev@dpdk.org Content-Type: text/plain; charset="UTF-8" X-Content-Filtered-By: Mailman/MimeDel 2.1.15 Subject: [dpdk-dev] Crypto-dev schedular - Support for multiple crypto algorithms concurrently X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 29 Apr 2019 08:18:26 -0000 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) 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 From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from dpdk.org (dpdk.org [92.243.14.124]) by dpdk.space (Postfix) with ESMTP id E8989A0679 for ; Mon, 29 Apr 2019 10:18:28 +0200 (CEST) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id DF1862C55; Mon, 29 Apr 2019 10:18:27 +0200 (CEST) Received: from mail-ua1-f44.google.com (mail-ua1-f44.google.com [209.85.222.44]) by dpdk.org (Postfix) with ESMTP id 7A5791D7 for ; Mon, 29 Apr 2019 10:18:26 +0200 (CEST) Received: by mail-ua1-f44.google.com with SMTP id n16so3187372uae.10 for ; Mon, 29 Apr 2019 01:18:26 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:from:date:message-id:subject:to; bh=LG7UwY6Ls2DDCXjMEweYyLSMRh42fgLiDneNbgtGXRY=; b=gvEjYWynj7KJ79GthPvpt7cLZbo7K2Z/Vasu/O1arxi9rDxzsNUiQl1JA+R0Ml0MMD hbj+hMST4CzGFbgkNFAHjsjRKAoyLvEy0kGmo5fxaNXh8zZaAirF16wV3L8SyDeABdgN eyTxzAkQdym/qQ/2WawDmCFZnh27qLQ2NXzzFcqQArFZp7EuWNzwOzrn9SENIkLapmD2 pKjNhqbO645P2Ze/O9lE8unUNZlpYEZx8BX1I6bNOThrPiQwekrgjuOkBP3ihcYRuxIf O4LGZB30iTGu17uNjlsuj+q8GM3Q0YC80H1ukaSV3mNBzqbxgeTwElJgjeYAN6ELQTri cX3A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:from:date:message-id:subject:to; bh=LG7UwY6Ls2DDCXjMEweYyLSMRh42fgLiDneNbgtGXRY=; b=ANiJAY5ln54Z71cvCIOSaiRcfvcAPb2SGYxeXp0tRElxIPYKfpebvnxLH8VYeO/5Rw /6cDzAHAwpHWzHH+AKpgfASWfUQAtOXgRISI6xS7g9MA+lJWbmvoDH/yGb0JgIc0Lm7o MvH9yEkf9IXDxtlOIFYx9MxlVaWNzL14dg8I2VwArMr5Mfp3jesfzJFAd5rHjYBnljwa coJr9dGO9EBRJlgtmYHV4Ey4iSd7TalzlaK9kHSWONYKLj9pXtql1f+ENGCJjYxE4EjI JZaVE1MjuAM6B7WVDRRjzRiGqCrYXK7DPuMu3zkcervGb7mklCwRFxY1M8SUfvVCcvc9 XJnQ== X-Gm-Message-State: APjAAAVjJNjUcXQKJ++qdgaC/uleLuHGTJjEwQYpxAgDeeyKUXAT8RDD teLwrCWCNllr/e7FjOZhL+PyFwR2UfxVB+hqylU9gWvF X-Google-Smtp-Source: APXvYqxxJSFCnrB68Gucq+292bwXChuOo/BH/kUjk2IvB+Pwy/XLRUS+NQUSbnUTirTbPOdp15+wZgNNYOMyGOeUbeM= X-Received: by 2002:ab0:7608:: with SMTP id o8mr2459445uap.49.1556525905413; Mon, 29 Apr 2019 01:18:25 -0700 (PDT) MIME-Version: 1.0 From: Jitendra Saini Date: Mon, 29 Apr 2019 13:47:49 +0530 Message-ID: To: dev@dpdk.org Content-Type: text/plain; charset="UTF-8" X-Content-Filtered-By: Mailman/MimeDel 2.1.15 Subject: [dpdk-dev] Crypto-dev schedular - Support for multiple crypto algorithms concurrently X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" Message-ID: <20190429081749.-H7ysj7YZ-HcBzu82iXFZAsYh1vzQ7Ng6x-GIViUJf4@z> 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) 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