From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from dpdk.org (dpdk.org [92.243.14.124]) by inbox.dpdk.org (Postfix) with ESMTP id 1F89BA0471 for ; Mon, 12 Aug 2019 08:25:57 +0200 (CEST) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id E96142629; Mon, 12 Aug 2019 08:25:56 +0200 (CEST) Received: from mga18.intel.com (mga18.intel.com [134.134.136.126]) by dpdk.org (Postfix) with ESMTP id 34C023DC for ; Mon, 12 Aug 2019 08:25:55 +0200 (CEST) X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from orsmga003.jf.intel.com ([10.7.209.27]) by orsmga106.jf.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 11 Aug 2019 23:25:53 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.64,376,1559545200"; d="scan'208";a="178243794" Received: from unknown (HELO stv-dev-34.sh.intel.com) ([10.67.118.34]) by orsmga003.jf.intel.com with ESMTP; 11 Aug 2019 23:25:52 -0700 From: "Chen, Zhaoyan" To: dts@dpdk.org Cc: "Chen, Zhaoyan" Date: Mon, 12 Aug 2019 14:25:07 +0800 Message-Id: <20190812062507.189571-1-zhaoyan.chen@intel.com> X-Mailer: git-send-email 2.22.0 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Subject: [dts] [PATCH v1] Update cryptodev test plan for latency test and verify test X-BeenThere: dts@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: test suite reviews and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dts-bounces@dpdk.org Sender: "dts" Update cryptodev test plan for latency test and verify test by crypto-perf application. --- .../crypto_perf_cryptodev_perf_test_plan.rst | 74 +++++++++++++++---- 1 file changed, 61 insertions(+), 13 deletions(-) diff --git a/test_plans/crypto_perf_cryptodev_perf_test_plan.rst b/test_plans/crypto_perf_cryptodev_perf_test_plan.rst index 00b4cd7..4975934 100644 --- a/test_plans/crypto_perf_cryptodev_perf_test_plan.rst +++ b/test_plans/crypto_perf_cryptodev_perf_test_plan.rst @@ -273,41 +273,89 @@ The test commands of test_crypto_perf is below:: ./build/app/dpdk-test-crypto-perf -c COREMASK --vdev (AESNI_MB|QAT|AESNI_GCM|OPENSSL|SNOW3G|KASUMI|ZUC|NULL) -w (PCI:DEVICE:FUNCTION) -w (PCI:DEVICE:FUNCTION) -- --ptest (throughput|latency) --devtype (crypto_aesni_mb|crypto_qat|crypto_aes_gcm|crypto_openssl|crypto_snow3g|crypto_kasumi|crypto_zuc|crypto_null) --optype (aead|cipher-only|auth-only|cipher-then-auth|auth-then-cipher) --cipher-algo (ALGO) --cipher-op (encrypt|decrypt) --cipher-key-sz (key_size) --cipher-iv-sz (iv_size) --auth-algo (ALGO) --auth-op (generate|verify) --auth-key-sz (key_size) --auth-aad-sz (aad_size) --auth-digest-sz (digest_size) --total-ops (ops_number) --burst-sz (burst_size) --buffer-sz (buffer_size) +Common:: + --vdev (AESNI_MB|QAT|AESNI_GCM|OPENSSL|SNOW3G|KASUMI|ZUC|NULL) this value can be set as : crypto_aesni_mb_pmd, crypto_aes_gcm_pmd, crypto_openssl_pmd, crypto_snow3g_pmd, crypto_kasumi_pmd, crypto_zuc_pmd or crypto_null_pmd. If pmd is QAT this parameter should not be set. -Test case: Cryptodev performance test -===================================== + -w (PCI:DEVICE:FUNCTION) whitelist, specify the network interfaces or/and QAT devices that will be used by test application. -common:: + --optype (aead|cipher-only|auth-only|cipher-then-auth|auth-then-cipher): if cipher-algo is aes-gcm or gmac this value must be set to aead. Otherwise, it will be set to others. Notice, null algorithm only support cipher-only test. - --vdev (AESNI_MB|QAT|AESNI_GCM|OPENSSL|SNOW3G|KASUMI|ZUC|NULL) this value can be set as : crypto_aesni_mb_pmd, crypto_aes_gcm_pmd, crypto_openssl_pmd, crypto_snow3g_pmd, crypto_kasumi_pmd, crypto_zuc_pmd or crypto_null_pmd . if pmd is QAT this parameter should not be set + --ptest (throughput/latency/verify) set test type. - -w (PCI:DEVICE:FUNCTION) this value is the port whitelist or QAT device whitelist . if vdev is set and devtype is not crypto_qat , the QAT device whitelist is not needed , but you also can set it on the cmd line . +Other parameters please reference above table's parameter. - --optype (aead|cipher-only|auth-only|cipher-then-auth|auth-then-cipher): if cipher-algo is aes-gcm or gmac this value must be set to aead . otherwise it will be set to others. please notice , null algorithm only support cipher-only test. -other parameters please reference above table's parameter . +Test Case 01: Cryptodev Thoughput Performance Test +================================================== -QAT PMD Command line Eg:: +QAT PMD command line:: ./build/app/test-crypto-perf/dpdk-test-crypto-perf -c 0xf -w 0000:1a:01.0 -- --ptest throughput --devtype crypto_qat --optype cipher-then-auth --cipher-algo aes-cbc --cipher-op encrypt --cipher-key-sz 16 --cipher-iv-sz 16 --auth-algo sha1-hmac --auth-op generate --auth-key-sz 64 --auth-aad-sz 0 --auth-digest-sz 20 --total-ops 10000000 --burst-sz 32 --buffer-sz 1024 -AESNI_MB PMD Command line Eg:: +AESNI_MB PMD command line:: ./build/app/test-crypto-perf/dpdk-test-crypto-perf -c 0xf --vdev crypto_aesni_mb_pmd -- --ptest throughput --devtype crypto_aesni_mb --optype cipher-then-auth --cipher-algo aes-cbc --cipher-op encrypt --cipher-key-sz 16 --cipher-iv-sz 16 --auth-algo sha1-hmac --auth-op generate --auth-key-sz 64 --auth-aad-sz 0 --auth-digest-sz 20 --total-ops 10000000 --burst-sz 32 --buffer-sz 1024 -AESNI_GCM PMD Command line Eg:: +AESNI_GCM PMD command line:: ./build/app/test-crypto-perf/dpdk-test-crypto-perf -c 0xf --vdev crypto_aesni_gcm_pmd -- --ptest throughput --devtype crypto_aesni_gcm --optype aead --cipher-algo aes-gcm --cipher-op encrypt --cipher-key-sz 16 --cipher-iv-sz 12 --auth-algo aes-gcm --auth-op generate --auth-key-sz 16 --auth-aad-sz 4 --auth-digest-sz 12 --total-ops 10000000 --burst-sz 32 --buffer-sz 1024 -KASUMI PMD Command line Eg:: +KASUMI PMD command line:: ./build/app/test-crypto-perf/dpdk-test-crypto-perf -c 0xf --vdev crypto_kasumi_pmd -- --ptest throughput --devtype crypto_kasumi --optype cipher-then-auth --cipher-algo kasumi-f8 --cipher-op encrypt --cipher-key-sz 16 --cipher-iv-sz 8 --auth-algo kasumi-f9 --auth-op generate --auth-key-sz 16 --auth-aad-sz 8 --auth-digest-sz 4 --total-ops 10000000 --burst-sz 32 --buffer-sz 1024 -SNOW3G PMD Command line Eg:: +SNOW3G PMD command line:: ./build/app/test-crypto-perf/dpdk-test-crypto-perf -c 0xf --vdev crypto_snow3g_pmd -- --ptest throughput --devtype crypto_snow3g --optype cipher-then-auth --cipher-algo snow3g-uea2 --cipher-op encrypt --cipher-key-sz 16 --cipher-iv-sz 16 --auth-algo snow3g-uia2 --auth-op generate --auth-key-sz 16 --auth-aad-sz 16 --auth-digest-sz 4 --total-ops 10000000 --burst-sz 32 --buffer-sz 1024 -ZUC PMD Command line Eg:: +ZUC PMD command line:: ./build/app/test-crypto-perf/dpdk-test-crypto-perf -c 0xf --vdev crypto_zuc_pmd -- --ptest throughput --devtype crypto_zuc_mb --optype cipher-then-auth --cipher-algo zuc-eea3 --cipher-op encrypt --cipher-key-sz 16 --cipher-iv-sz 16 --auth-algo zuc-eia3 --auth-op generate --auth-key-sz 16 --auth-aad-sz 16 --auth-digest-sz 4 --total-ops 10000000 --burst-sz 32 --buffer-sz 1024 + + +Test Case 02: Cryptodev Latency Performance Test +================================================ + +AESNI_MB PMD command line:: + + ./build/app/test-crypto-perf/dpdk-test-crypto-perf -l 9,10,11,12 -n 4 --vdev crypto_aesni_mb1 --vdev crypto_aesni_mb2 -w 0000:1a:01.0 -- --devtype crypto_aesni_mb --cipher-algo aes-cbc --cipher-key-sz 16 --cipher-iv-sz 16 --cipher-op encrypt --optype cipher-only --silent --ptest latency --total-ops 10 + + ./build/app/test-crypto-perf/dpdk-test-crypto-perf -l 9,10,11,12 -n 4 --vdev crypto_aesni_mb1 --vdev crypto_aesni_mb2 -w 0000:1a:01.0 -- --ptest latency --devtype crypto_aesni_mb --optype cipher-then-auth --cipher-algo aes-cbc --cipher-op encrypt --cipher-key-sz 16 --auth-algo sha1-hmac --auth-op generate --auth-key-sz 64 --digest-sz 12 --total-ops 10000000 --burst-sz 32 --buffer-sz 64 + + +AESNI_GCM PMD command line:: + + ./build/app/test-crypto-perf/dpdk-test-crypto-perf -l 10,11 -n 4 --vdev crypto_aesni_gcm_pmd_1 -- --aead-key-sz 16 --buffer-sz 64 --optype aead --ptest latency --aead-aad-sz 16 --devtype crypto_aesni_gcm --aead-op encrypt --burst-sz 32 --total-ops 10000000 --silent --digest-sz 16 --aead-algo aes-gcm --aead-iv-sz 12 + + +QAT PMD command line:: + + ./build/app/test-crypto-perf/dpdk-test-crypto-perf -l 9,10,11,12 -n 4 -w 0000:1a:01.0 -w 0000:1a:01.1 -w 0000:1a:01.2 -- --devtype crypto_qat --cipher-algo aes-cbc --cipher-key-sz 16 --cipher-iv-sz 16 --cipher-op encrypt --optype cipher-only --silent --ptest latency --total-ops 10 + + ./build/app/test-crypto-perf/dpdk-test-crypto-perf -l 9,10,11,12 -n 4 -w 0000:1a:01.0 -w 0000:1a:01.1 -w 0000:1a:01.2 -- --ptest latency --devtype crypto_qat --optype cipher-then-auth --cipher-algo aes-cbc --cipher-op encrypt --cipher-key-sz 16 --auth-algo sha1-hmac --auth-op generate --auth-key-sz 64 --digest-sz 12 --total-ops 10000000 --burst-sz 32 --buffer-sz 64 + + ./build/app/test-crypto-perf/dpdk-test-crypto-perf -l 10,11 -n 4 -w 0000:1a:01.0 -- --aead-key-sz 16 --buffer-sz 64 --optype aead --ptest latency --aead-aad-sz 16 --devtype crypto_qat --aead-op encrypt --burst-sz 32 --total-ops 10000000 --silent --digest-sz 16 --aead-algo aes-gcm --aead-iv-sz 12 + + +Test Case 03: Cryptodev Verify Performance Test +=============================================== + +For verify operation, you need to specify a vector file by --test-file option. Please check details at http://doc.dpdk.org/guides/tools/cryptoperf.html + +AESNI_MB PMD command line:: + + ./build/app/test-crypto-perf/dpdk-test-crypto-perf --vdev crypto_aesni_mb_pmd_1 -l 9,10 -n 6 -- --buffer-sz 32 --optype cipher-then-auth --ptest verify --auth-key-sz 64 --cipher-key-sz 32 --devtype crypto_aesni_mb --cipher-iv-sz 16 --auth-op generate --burst-sz 32 --total-ops 10000000 --silent --digest-sz 12 --auth-algo sha1-hmac --cipher-algo aes-cbc --cipher-op encrypt --test-name sha1_hmac_buff_32 --test-file test_aes_cbc.data + +QAT PMD command line:: + + ./build/app/test-crypto-perf/dpdk-test-crypto-perf -w 0000:1a:01.0 -l 9,10 -n 6 -- --buffer-sz 32 --optype cipher-then-auth --ptest verify --auth-key-sz 64 --cipher-key-sz 32 --devtype crypto_qat --cipher-iv-sz 16 --auth-op generate --burst-sz 32 --total-ops 30000000 --silent --digest-sz 20 --auth-algo sha1-hmac --cipher-algo aes-cbc --cipher-op encrypt --test-name sha1_hmac_buff_32 --test-file test_aes_cbc.data + +OPENSSL PMD and QAT PMD command line:: + + ./build/app/test-crypto-perf/dpdk-test-crypto-perf -l 9,10,11,12 -n 4 --vdev crypto_openssl -w 0000:1a:01.0 -- --devtype crypto_openssl --aead-algo aes-gcm --aead-key-sz 16 --aead-iv-sz 12 --aead-op encrypt --aead-aad-sz 16 --digest-sz 16 --optype aead --silent --ptest verify --burst-sz 32 --buffer-sz 32 --total-ops 10 --test-name aes_gcm_buff_32 --test-file test_aes_gcm.data + +OPENSSL PMD command line:: + + ./build/app/test-crypto-perf/dpdk-test-crypto-perf -l 9,10,11,12 -n 4 --vdev crypto_openssl -- --devtype crypto_openssl --aead-algo aes-gcm --aead-key-sz 16 --aead-iv-sz 12 --aead-op encrypt --aead-aad-sz 16 --digest-sz 16 --optype aead --silent --ptest verify --burst-sz 32 --buffer-sz 32 --total-ops 10 --test-name aes_gcm_buff_32 --test-file test_aes_gcm.data + -- 2.22.0