* [dts] [PATCH V1 1/6] conf: simplify conf settings for cryptodev test
2020-06-04 0:54 [dts] [PATCH V1 0/6] rework cryptodev test script and conf xinfengx
@ 2020-06-04 0:54 ` xinfengx
2020-06-04 0:54 ` [dts] [PATCH V1 2/6] tests/cryptodev_common: improve cryptodev common methods xinfengx
` (6 subsequent siblings)
7 siblings, 0 replies; 10+ messages in thread
From: xinfengx @ 2020-06-04 0:54 UTC (permalink / raw)
To: dts; +Cc: xinfengx
Signed-off-by: xinfengx <xinfengx.zhao@intel.com>
---
conf/crypto_perf_cryptodev_perf.cfg | 115 ++++++++++++--------
conf/cryptodev_sample.cfg | 6 ++
conf/ipsec_gw_cryptodev_func.cfg | 156 +++++++++-------------------
conf/l2fwd_cryptodev_func.cfg | 35 -------
conf/unit_tests_cryptodev_func.cfg | 11 --
5 files changed, 124 insertions(+), 199 deletions(-)
create mode 100644 conf/cryptodev_sample.cfg
delete mode 100644 conf/l2fwd_cryptodev_func.cfg
delete mode 100644 conf/unit_tests_cryptodev_func.cfg
diff --git a/conf/crypto_perf_cryptodev_perf.cfg b/conf/crypto_perf_cryptodev_perf.cfg
index 05dc6af..f0c86a4 100644
--- a/conf/crypto_perf_cryptodev_perf.cfg
+++ b/conf/crypto_perf_cryptodev_perf.cfg
@@ -1,25 +1,15 @@
[suite]
-# Cryptodev common options qat device id
-crypto_dev_id="37c9"
-
# eal config
l="9,10"
-socket-mem="2048,0 --legacy-mem"
-n=6
-
-# default crypto device and sw device config, it could be overrided by test case
-w="0000:1a:01.0"
-vdev="crypto_aesni_mb_1"
-
total-ops=30000000
buffer-sz="64,128,256,512,1024,2048"
[test_verify_aesni_mb]
-buffer-sz=32
ptest="verify"
+devtype="crypto_aesni_mb"
+buffer-sz="32"
auth-key-sz=64
cipher-key-sz=32
-devtype="crypto_aesni_mb"
cipher-iv-sz=16
auth-op="generate"
digest-sz=12
@@ -30,11 +20,11 @@ test-name="sha1_hmac_buff_32"
test-file="/tmp/test_aes_cbc.data"
[test_verify_qat]
-buffer-sz=32
ptest="verify"
+devtype="crypto_qat"
+buffer-sz="32"
auth-key-sz=64
cipher-key-sz=32
-devtype="crypto_qat"
cipher-iv-sz=16
auth-op="generate"
digest-sz=20
@@ -45,9 +35,9 @@ test-name="sha1_hmac_buff_32"
test-file="/tmp/test_aes_cbc.data"
[test_verify_openssl_qat]
-l="9,10,11,12"
-vdev="crypto_openssl"
+ptest="verify"
devtype="crypto_openssl"
+buffer-sz="32"
aead-algo="aes-gcm"
aead-key-sz=16
aead-iv-sz=12
@@ -55,15 +45,13 @@ aead-op="encrypt"
aead-aad-sz=16
digest-sz=16
optype="aead"
-ptest="verify"
-buffer-sz=32
test-name="aes_gcm_buff_32"
test-file="/tmp/test_aes_gcm.data"
[test_verify_openssl]
-l="9,10,11,12"
-vdev="crypto_openssl"
+ptest="verify"
devtype="crypto_openssl"
+buffer-sz="32"
aead-algo="aes-gcm"
aead-key-sz=16
aead-iv-sz=12
@@ -71,25 +59,19 @@ aead-op="encrypt"
aead-aad-sz=16
digest-sz=16
optype="aead"
-ptest="verify"
-buffer-sz=32
test-name="aes_gcm_buff_32"
test-file="/tmp/test_aes_gcm.data"
[test_latency_qat]
-l="9,10,11,12"
-w="0000:1a:01.0 -w 0000:1a:01.1 -w 0000:1a:01.2"
+ptest="latency"
devtype="crypto_qat"
cipher-algo="aes-cbc"
cipher-key-sz=16
cipher-iv-sz=16
cipher-op="encrypt"
optype="cipher-only"
-ptest="latency"
[test_latency_auth_qat]
-l="9,10,11,12"
-w="0000:1a:01.0 -w 0000:1a:01.1 -w 0000:1a:01.2"
ptest="latency"
devtype="crypto_qat"
cipher-algo="aes-cbc"
@@ -102,31 +84,28 @@ digest-sz=12
silent=None
[test_latency_aead_qat]
+ptest="latency"
+devtype="crypto_qat"
aead-key-sz=16
optype="aead"
-ptest="latency"
aead-aad-sz=16
-devtype="crypto_qat"
aead-op="encrypt"
digest-sz=16
aead-algo="aes-gcm"
aead-iv-sz=12
[test_latency_aesni_gcm]
-vdev="crypto_aesni_gcm_pmd_1"
+ptest="latency"
+devtype="crypto_aesni_gcm"
aead-key-sz=16
optype="aead"
-ptest="latency"
aead-aad-sz=16
-devtype="crypto_aesni_gcm"
aead-op="encrypt"
digest-sz=16
aead-algo="aes-gcm"
aead-iv-sz=12
[test_latency_auth_aesni_mb]
-l="9,10,11,12"
-vdev="crypto_aesni_mb1 --vdev crypto_aesni_mb2"
ptest="latency"
devtype="crypto_aesni_mb"
cipher-algo="aes-cbc"
@@ -139,7 +118,6 @@ silent=None
digest-sz=12
[test_latency_aesni_mb]
-vdev="crypto_aesni_mb1 --vdev crypto_aesni_mb2"
devtype="crypto_aesni_mb"
cipher-algo="aes-cbc"
cipher-key-sz=16
@@ -203,9 +181,8 @@ aead-aad-sz=16
digest-sz=16
[test_sw_aes_gcm]
-vdev="crypto_aesni_gcm_pmd_1"
-optype="aead"
devtype="crypto_aesni_gcm"
+optype="aead"
aead-algo="aes-gcm"
aead-op="encrypt"
aead-key-sz=16
@@ -261,7 +238,6 @@ auth-key-sz=16
digest-sz=4
[test_sw_kasumi]
-vdev="crypto_kasumi_1"
total-ops=1000000
devtype="crypto_kasumi"
cipher-algo="kasumi-f8"
@@ -286,7 +262,6 @@ auth-iv-sz=16
digest-sz=4
[test_sw_snow3g]
-vdev="crypto_snow3g_1"
total-ops=1000000
devtype="crypto_snow3g"
cipher-algo="snow3g-uea2"
@@ -312,7 +287,6 @@ auth-iv-sz=16
digest-sz=4
[test_sw_zuc]
-vdev="crypto_zuc_1"
total-ops=1000000
devtype="crypto_zuc"
cipher-algo="zuc-eea3"
@@ -326,19 +300,68 @@ auth-iv-sz=16
digest-sz=4
[test_scheduler_aes_cbc_sha1_hmac]
-test_skip="Y"
+devtype="crypto_scheduler"
+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
+digest-sz=20
[test_scheduler_aes_cbc_sha2_hmac]
-test_skip="Y"
+devtype="crypto_scheduler"
+cipher-algo="aes-cbc"
+cipher-op="encrypt"
+cipher-key-sz=16
+cipher-iv-sz=16
+auth-algo="sha2-256-hmac"
+auth-op="generate"
+auth-key-sz=64
+digest-sz=32
[test_scheduler_aes_gcm]
-test_skip="Y"
+devtype="crypto_scheduler"
+optype="aead"
+aead-algo="aes-gcm"
+aead-op="encrypt"
+aead-key-sz=16
+aead-iv-sz=12
+aead-aad-sz=16
+digest-sz=16
[test_scheduler_kasumi]
-test_skip="Y"
+devtype="crypto_scheduler"
+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
+digest-sz=4
[test_scheduler_snow3g]
-test_skip="Y"
+devtype="crypto_scheduler"
+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-iv-sz=16
+digest-sz=4
[test_scheduler_zuc]
-test_skip="Y"
+devtype="crypto_scheduler"
+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-iv-sz=16
+digest-sz=4
diff --git a/conf/cryptodev_sample.cfg b/conf/cryptodev_sample.cfg
new file mode 100644
index 0000000..4aade66
--- /dev/null
+++ b/conf/cryptodev_sample.cfg
@@ -0,0 +1,6 @@
+[suite]
+# Cryptodev common option qat hardware device id
+crypto_dev_id="37c8"
+
+# your special settings for eal
+socket-mem="2048,0"
diff --git a/conf/ipsec_gw_cryptodev_func.cfg b/conf/ipsec_gw_cryptodev_func.cfg
index b22436d..8ecf7c8 100644
--- a/conf/ipsec_gw_cryptodev_func.cfg
+++ b/conf/ipsec_gw_cryptodev_func.cfg
@@ -1,20 +1,9 @@
[suite]
-# Cryptodev common options qat device id
-crypto_dev_id="37c9"
-
-# eal config
-l="9,10,11"
-socket-mem="2048,0"
-
-# enables or disables code-path that uses librte_ipsec
+# enable or disable librte_ipsec
librte_ipsec=False
-# IPsec gw app configuration
-f="/root/ipsec_ep0.cfg"
-
[test_qat_aes_128_cbc_ipv4_tunnel]
-w="0000:1a:01.0"
-config='"(0,0,10),(1,0,11)"'
+devtype="crypto_qat"
dst_ip="192.168.105.100"
src_ip="192.168.105.200"
expected_dst_ip="172.16.2.5"
@@ -22,8 +11,7 @@ expected_src_ip="172.16.1.5"
expected_spi="0x5"
[test_qat_aes_128_ctr_ipv4_tunnel]
-w="0000:1a:01.0"
-config='"(0,0,10),(1,0,11)"'
+devtype="crypto_qat"
dst_ip="192.168.125.100"
src_ip="192.168.125.200"
expected_dst_ip="172.16.2.6"
@@ -31,8 +19,7 @@ expected_src_ip="172.16.1.6"
expected_spi="0x2d"
[test_qat_aes_256_cbc_ipv4_tunnel]
-w="0000:1a:01.0"
-config='"(0,0,10),(1,0,11)"'
+devtype="crypto_qat"
dst_ip="192.168.25.100"
src_ip="192.168.25.200"
expected_dst_ip="172.16.2.5"
@@ -40,8 +27,7 @@ expected_src_ip="172.16.1.5"
expected_spi="0x23"
[test_qat_aes_gcm_ipv4_tunnel]
-w="0000:1a:01.0"
-config='"(0,0,10),(1,0,11)"'
+devtype="crypto_qat"
dst_ip="192.168.106.100"
src_ip="192.168.106.200"
expected_dst_ip="172.16.2.6"
@@ -49,8 +35,7 @@ expected_src_ip="172.16.1.6"
expected_spi="0x6"
[test_qat_null_ipv4_tunnel]
-w="0000:1a:01.0"
-config='"(0,0,10),(1,0,11)"'
+devtype="crypto_qat"
dst_ip="192.168.200.100"
src_ip="192.168.200.200"
expected_dst_ip="172.16.2.5"
@@ -58,8 +43,7 @@ expected_src_ip="172.16.1.5"
expected_spi="0xf"
[test_qat_3des_cbc_ipv4_tunnel]
-w="0000:1a:01.0"
-config='"(0,0,10),(1,0,11)"'
+devtype="crypto_qat"
dst_ip="192.168.220.100"
src_ip="192.168.220.200"
expected_dst_ip="172.16.2.6"
@@ -67,8 +51,7 @@ expected_src_ip="172.16.1.6"
expected_spi="0x32"
[test_qat_aes_128_cbc_ipv4_transport]
-w="0000:1a:01.0"
-config='"(0,0,10),(1,0,11)"'
+devtype="crypto_qat"
dst_ip="192.168.175.100"
src_ip="192.168.175.200"
expected_dst_ip="192.168.175.100"
@@ -76,8 +59,7 @@ expected_src_ip="192.168.175.200"
expected_spi="0xa"
[test_qat_aes_128_ctr_ipv4_transport]
-w="0000:1a:01.0"
-config='"(0,0,10),(1,0,11)"'
+devtype="crypto_qat"
dst_ip="192.168.76.100"
src_ip="192.168.76.200"
expected_dst_ip="192.168.76.100"
@@ -85,8 +67,7 @@ expected_src_ip="192.168.76.200"
expected_spi="0x1f"
[test_qat_aes_256_cbc_ipv4_transport]
-w="0000:1a:01.0"
-config='"(0,0,10),(1,0,11)"'
+devtype="crypto_qat"
dst_ip="192.168.26.100"
src_ip="192.168.26.200"
expected_dst_ip="192.168.26.100"
@@ -94,8 +75,7 @@ expected_src_ip="192.168.26.200"
expected_spi="0x24"
[test_qat_aes_gcm_ipv4_transport]
-w="0000:1a:01.0"
-config='"(0,0,10),(1,0,11)"'
+devtype="crypto_qat"
dst_ip="192.168.176.100"
src_ip="192.168.176.200"
expected_dst_ip="192.168.176.100"
@@ -103,8 +83,7 @@ expected_src_ip="192.168.176.200"
expected_spi="0xb"
[test_qat_null_ipv4_transport]
-w="0000:1a:01.0"
-config='"(0,0,10),(1,0,11)"'
+devtype="crypto_qat"
dst_ip="192.168.141.100"
src_ip="192.168.141.200"
expected_dst_ip="192.168.141.100"
@@ -112,8 +91,7 @@ expected_src_ip="192.168.141.200"
expected_spi="0x38"
[test_qat_3des_cbc_ipv4_transport]
-w="0000:1a:01.0"
-config='"(0,0,10),(1,0,11)"'
+devtype="crypto_qat"
dst_ip="192.168.140.100"
src_ip="192.168.140.200"
expected_dst_ip="192.168.140.100"
@@ -121,8 +99,7 @@ expected_src_ip="192.168.140.200"
expected_spi="0x37"
[test_qat_aes_128_ctr_ipv6_tunnel]
-w="0000:1a:01.0"
-config='"(0,0,10),(1,0,11)"'
+devtype="crypto_qat"
dst_ip="192.168.126.100"
src_ip="192.168.126.200"
expected_dst_ip="bbbb:bbbb:bbbb:bbbb:bbbb:bbbb:bbbb:2222"
@@ -130,8 +107,7 @@ expected_src_ip="aaaa:aaaa:aaaa:aaaa:aaaa:aaaa:aaaa:1111"
expected_spi="0x2e"
[test_qat_aes_128_cbc_ipv6_tunnel]
-w="0000:1a:01.0"
-config='"(0,0,10),(1,0,11)"'
+devtype="crypto_qat"
dst_ip="192.168.55.100"
src_ip="192.168.55.200"
expected_dst_ip="2222:2222:2222:2222:2222:2222:2222:5555"
@@ -139,8 +115,7 @@ expected_src_ip="1111:1111:1111:1111:1111:1111:1111:5555"
expected_spi="0x19"
[test_qat_aes_256_cbc_ipv6_tunnel]
-w="0000:1a:01.0"
-config='"(0,0,10),(1,0,11)"'
+devtype="crypto_qat"
dst_ip="192.168.75.100"
src_ip="192.168.75.200"
expected_dst_ip="8888:8888:8888:8888:8888:8888:8888:2222"
@@ -148,8 +123,7 @@ expected_src_ip="7777:7777:7777:7777:7777:7777:7777:1111"
expected_spi="0x1e"
[test_qat_aes_gcm_ipv6_tunnel]
-w="0000:1a:01.0"
-config='"(0,0,10),(1,0,11)"'
+devtype="crypto_qat"
dst_ip="192.168.56.100"
src_ip="192.168.56.200"
expected_dst_ip="2222:2222:2222:2222:2222:2222:2222:6666"
@@ -157,8 +131,7 @@ expected_src_ip="1111:1111:1111:1111:1111:1111:1111:6666"
expected_spi="0x1a"
[test_qat_null_ipv6_tunnel]
-w="0000:1a:01.0"
-config='"(0,0,10),(1,0,11)"'
+devtype="crypto_qat"
dst_ip="192.168.201.100"
src_ip="192.168.201.200"
expected_dst_ip="5555:5555:5555:5555:5555:5555:5555:2222"
@@ -166,8 +139,7 @@ expected_src_ip="4444:4444:4444:4444:4444:4444:4444:1111"
expected_spi="0x10"
[test_qat_3des_cbc_ipv6_tunnel]
-w="0000:1a:01.0"
-config='"(0,0,10),(1,0,11)"'
+devtype="crypto_qat"
dst_ip="192.168.221.100"
src_ip="192.168.221.200"
expected_dst_ip="bbbb:bbbb:bbbb:bbbb:bbbb:bbbb:bbbb:2222"
@@ -175,8 +147,7 @@ expected_src_ip="aaaa:aaaa:aaaa:aaaa:aaaa:aaaa:aaaa:1111"
expected_spi="0x33"
[test_qat_aes_128_cbc_ipv6_transport]
-w="0000:1a:01.0"
-config='"(0,0,10),(1,0,11)"'
+devtype="crypto_qat"
dst_ip="0000:1111:1111:1111:0000:0000:0000:0000"
src_ip="0000:1111:1111:1111:0000:0000:0000:1111"
expected_dst_ip="0:1111:1111:1111::"
@@ -184,8 +155,7 @@ expected_src_ip="0:1111:1111:1111::1111"
expected_spi="0x50"
[test_qat_aes_128_ctr_ipv6_transport]
-w="0000:1a:01.0"
-config='"(0,0,10),(1,0,11)"'
+devtype="crypto_qat"
dst_ip="0000:1111:1111:1111:2222:2222:0000:0000"
src_ip="0000:1111:1111:1111:2222:2222:0000:1111"
expected_dst_ip="0:1111:1111:1111:2222:2222::"
@@ -193,8 +163,7 @@ expected_src_ip="0:1111:1111:1111:2222:2222:0:1111"
expected_spi="0x52"
[test_qat_aes_256_cbc_ipv6_transport]
-w="0000:1a:01.0"
-config='"(0,0,10),(1,0,11)"'
+devtype="crypto_qat"
dst_ip="0000:1111:1111:1111:3333:3333:0000:0000"
src_ip="0000:1111:1111:1111:3333:3333:0000:1111"
expected_dst_ip="0:1111:1111:1111:3333:3333::"
@@ -202,8 +171,7 @@ expected_src_ip="0:1111:1111:1111:3333:3333:0:1111"
expected_spi="0x53"
[test_qat_aes_gcm_ipv6_transport]
-w="0000:1a:01.0"
-config='"(0,0,10),(1,0,11)"'
+devtype="crypto_qat"
dst_ip="0000:1111:1111:1111:1111:1111:0000:0000"
src_ip="0000:1111:1111:1111:1111:1111:0000:1111"
expected_dst_ip="0:1111:1111:1111:1111:1111::"
@@ -211,8 +179,7 @@ expected_src_ip="0:1111:1111:1111:1111:1111:0:1111"
expected_spi="0x51"
[test_qat_null_ipv6_transport]
-w="0000:1a:01.0"
-config='"(0,0,10),(1,0,11)"'
+devtype="crypto_qat"
dst_ip="0000:1111:1111:1111:5555:5555:0000:0000"
src_ip="0000:1111:1111:1111:5555:5555:0000:1111"
expected_dst_ip="0:1111:1111:1111:5555:5555::"
@@ -220,8 +187,7 @@ expected_src_ip="0:1111:1111:1111:5555:5555:0:1111"
expected_spi="0x55"
[test_qat_3des_cbc_ipv6_transport]
-w="0000:1a:01.0"
-config='"(0,0,10),(1,0,11)"'
+devtype="crypto_qat"
dst_ip="0000:1111:1111:1111:4444:4444:0000:0000"
src_ip="0000:1111:1111:1111:4444:4444:0000:1111"
expected_dst_ip="0:1111:1111:1111:4444:4444::"
@@ -230,8 +196,7 @@ expected_spi="0x54"
###### SW #######
[test_sw_aes_128_cbc_ipv4_tunnel]
-vdev="crypto_aesni_mb_pmd_1 --vdev=crypto_aesni_mb_pmd_2"
-config='"(0,0,10),(1,0,11)"'
+devtype="crypto_aesni_mb"
dst_ip="192.168.105.100"
src_ip="192.168.105.200"
expected_dst_ip="172.16.2.5"
@@ -239,8 +204,7 @@ expected_src_ip="172.16.1.5"
expected_spi="0x5"
[test_sw_aes_128_ctr_ipv4_tunnel]
-vdev="crypto_openssl_pmd_1 --vdev=crypto_openssl_pmd_2"
-config='"(0,0,10),(1,0,11)"'
+devtype="crypto_openssl"
dst_ip="192.168.125.100"
src_ip="192.168.125.200"
expected_dst_ip="172.16.2.6"
@@ -248,8 +212,7 @@ expected_src_ip="172.16.1.6"
expected_spi="0x2d"
[test_sw_aes_256_cbc_ipv4_tunnel]
-vdev="crypto_aesni_mb_pmd_1 --vdev=crypto_aesni_mb_pmd_2"
-config='"(0,0,10),(1,0,11)"'
+devtype="crypto_aesni_mb"
dst_ip="192.168.25.100"
src_ip="192.168.25.200"
expected_dst_ip="172.16.2.5"
@@ -257,8 +220,7 @@ expected_src_ip="172.16.1.5"
expected_spi="0x23"
[test_sw_aes_gcm_ipv4_tunnel]
-vdev="crypto_aesni_gcm_pmd_1 --vdev=crypto_aesni_gcm_pmd_2"
-config='"(0,0,10),(1,0,11)"'
+devtype="crypto_aesni_gcm"
dst_ip="192.168.106.100"
src_ip="192.168.106.200"
expected_dst_ip="172.16.2.6"
@@ -266,8 +228,7 @@ expected_src_ip="172.16.1.6"
expected_spi="0x6"
[test_sw_null_ipv4_tunnel]
-vdev="crypto_null_pmd_1 --vdev=crypto_null_pmd_2"
-config='"(0,0,10),(1,0,11)"'
+devtype="crypto_null"
dst_ip="192.168.200.100"
src_ip="192.168.200.200"
expected_dst_ip="172.16.2.5"
@@ -275,8 +236,7 @@ expected_src_ip="172.16.1.5"
expected_spi="0xf"
[test_sw_3des_cbc_ipv4_tunnel]
-vdev="crypto_aesni_mb_pmd_1 --vdev=crypto_aesni_mb_pmd_2"
-config='"(0,0,10),(1,0,11)"'
+devtype="crypto_aesni_mb"
dst_ip="192.168.220.100"
src_ip="192.168.220.200"
expected_dst_ip="172.16.2.6"
@@ -284,8 +244,7 @@ expected_src_ip="172.16.1.6"
expected_spi="0x32"
[test_sw_aes_128_cbc_ipv4_transport]
-vdev="crypto_aesni_mb_pmd_1 --vdev=crypto_aesni_mb_pmd_2"
-config='"(0,0,10),(1,0,11)"'
+devtype="crypto_aesni_mb"
dst_ip="192.168.175.100"
src_ip="192.168.175.200"
expected_dst_ip="192.168.175.100"
@@ -293,8 +252,7 @@ expected_src_ip="192.168.175.200"
expected_spi="0xa"
[test_sw_aes_128_ctr_ipv4_transport]
-vdev="crypto_openssl_pmd_1 --vdev=crypto_openssl_pmd_2"
-config='"(0,0,10),(1,0,11)"'
+devtype="crypto_openssl"
dst_ip="192.168.76.100"
src_ip="192.168.76.200"
expected_dst_ip="192.168.76.100"
@@ -302,8 +260,7 @@ expected_src_ip="192.168.76.200"
expected_spi="0x1f"
[test_sw_aes_256_cbc_ipv4_transport]
-vdev="crypto_aesni_mb_pmd_1 --vdev=crypto_aesni_mb_pmd_2"
-config='"(0,0,10),(1,0,11)"'
+devtype="crypto_aesni_mb"
dst_ip="192.168.26.100"
src_ip="192.168.26.200"
expected_dst_ip="192.168.26.100"
@@ -311,8 +268,7 @@ expected_src_ip="192.168.26.200"
expected_spi="0x24"
[test_sw_aes_gcm_ipv4_transport]
-vdev="crypto_aesni_mb_pmd_1 --vdev=crypto_aesni_mb_pmd_2"
-config='"(0,0,10),(1,0,11)"'
+devtype="crypto_aesni_mb"
dst_ip="192.168.176.100"
src_ip="192.168.176.200"
expected_dst_ip="192.168.176.100"
@@ -320,8 +276,7 @@ expected_src_ip="192.168.176.200"
expected_spi="0xb"
[test_sw_null_ipv4_transport]
-vdev="crypto_null_pmd_1 --vdev=crypto_null_pmd_2"
-config='"(0,0,10),(1,0,11)"'
+devtype="crypto_null"
dst_ip="192.168.141.100"
src_ip="192.168.141.200"
expected_dst_ip="192.168.141.100"
@@ -329,8 +284,7 @@ expected_src_ip="192.168.141.200"
expected_spi="0x38"
[test_sw_3des_cbc_ipv4_transport]
-vdev="crypto_aesni_mb_pmd_1 --vdev=crypto_aesni_mb_pmd_2"
-config='"(0,0,10),(1,0,11)"'
+devtype="crypto_aesni_mb"
dst_ip="192.168.140.100"
src_ip="192.168.140.200"
expected_dst_ip="192.168.140.100"
@@ -338,8 +292,7 @@ expected_src_ip="192.168.140.200"
expected_spi="0x37"
[test_sw_aes_128_cbc_ipv6_tunnel]
-vdev="crypto_aesni_mb_pmd_1 --vdev=crypto_aesni_mb_pmd_2"
-config='"(0,0,10),(1,0,11)"'
+devtype="crypto_aesni_mb"
dst_ip="192.168.55.100"
src_ip="192.168.55.200"
expected_dst_ip="2222:2222:2222:2222:2222:2222:2222:5555"
@@ -347,8 +300,7 @@ expected_src_ip="1111:1111:1111:1111:1111:1111:1111:5555"
expected_spi="0x19"
[test_sw_aes_128_ctr_ipv6_tunnel]
-vdev="crypto_openssl_pmd_1 --vdev=crypto_openssl_pmd_2"
-config='"(0,0,10),(1,0,11)"'
+devtype="crypto_openssl"
dst_ip="192.168.126.100"
src_ip="192.168.126.200"
expected_dst_ip="bbbb:bbbb:bbbb:bbbb:bbbb:bbbb:bbbb:2222"
@@ -356,8 +308,7 @@ expected_src_ip="aaaa:aaaa:aaaa:aaaa:aaaa:aaaa:aaaa:1111"
expected_spi="0x2e"
[test_sw_aes_256_cbc_ipv6_tunnel]
-vdev="crypto_aesni_mb_pmd_1 --vdev=crypto_aesni_mb_pmd_2"
-config='"(0,0,10),(1,0,11)"'
+devtype="crypto_aesni_mb"
dst_ip="192.168.75.100"
src_ip="192.168.75.200"
expected_dst_ip="8888:8888:8888:8888:8888:8888:8888:2222"
@@ -365,8 +316,7 @@ expected_src_ip="7777:7777:7777:7777:7777:7777:7777:1111"
expected_spi="0x1e"
[test_sw_aes_gcm_ipv6_tunnel]
-vdev="crypto_aesni_gcm_pmd_1 --vdev=crypto_aesni_gcm_pmd_2"
-config='"(0,0,10),(1,0,11)"'
+devtype="crypto_aesni_gcm"
dst_ip="192.168.56.100"
src_ip="192.168.56.200"
expected_dst_ip="2222:2222:2222:2222:2222:2222:2222:6666"
@@ -374,8 +324,7 @@ expected_src_ip="1111:1111:1111:1111:1111:1111:1111:6666"
expected_spi="0x1a"
[test_sw_null_ipv6_tunnel]
-vdev="crypto_null_pmd_1 --vdev=crypto_null_pmd_2"
-config='"(0,0,10),(1,0,11)"'
+devtype="crypto_null"
dst_ip="192.168.201.100"
src_ip="192.168.201.200"
expected_dst_ip="5555:5555:5555:5555:5555:5555:5555:2222"
@@ -383,8 +332,7 @@ expected_src_ip="4444:4444:4444:4444:4444:4444:4444:1111"
expected_spi="0x10"
[test_sw_3des_cbc_ipv6_tunnel]
-vdev="crypto_aesni_mb_pmd_1 --vdev=crypto_aesni_mb_pmd_2"
-config='"(0,0,10),(1,0,11)"'
+devtype="crypto_aesni_mb"
dst_ip="192.168.221.100"
src_ip="192.168.221.200"
expected_dst_ip="bbbb:bbbb:bbbb:bbbb:bbbb:bbbb:bbbb:2222"
@@ -392,8 +340,7 @@ expected_src_ip="aaaa:aaaa:aaaa:aaaa:aaaa:aaaa:aaaa:1111"
expected_spi="0x33"
[test_sw_aes_128_cbc_ipv6_transport]
-vdev="crypto_aesni_mb_pmd_1 --vdev=crypto_aesni_mb_pmd_2"
-config='"(0,0,10),(1,0,11)"'
+devtype="crypto_aesni_mb"
dst_ip="0000:1111:1111:1111:0000:0000:0000:0000"
src_ip="0000:1111:1111:1111:0000:0000:0000:1111"
expected_dst_ip="0:1111:1111:1111::"
@@ -401,8 +348,7 @@ expected_src_ip="0:1111:1111:1111::1111"
expected_spi="0x50"
[test_sw_aes_128_ctr_ipv6_transport]
-vdev="crypto_openssl_pmd_1 --vdev=crypto_openssl_pmd_2"
-config='"(0,0,10),(1,0,11)"'
+devtype="crypto_openssl"
dst_ip="0000:1111:1111:1111:2222:2222:0000:0000"
src_ip="0000:1111:1111:1111:2222:2222:0000:1111"
expected_dst_ip="0:1111:1111:1111:2222:2222::"
@@ -410,8 +356,7 @@ expected_src_ip="0:1111:1111:1111:2222:2222:0:1111"
expected_spi="0x52"
[test_sw_aes_256_cbc_ipv6_transport]
-vdev="crypto_aesni_mb_pmd_1 --vdev=crypto_aesni_mb_pmd_2"
-config='"(0,0,10),(1,0,11)"'
+devtype="crypto_aesni_mb"
dst_ip="0000:1111:1111:1111:3333:3333:0000:0000"
src_ip="0000:1111:1111:1111:3333:3333:0000:1111"
expected_dst_ip="0:1111:1111:1111:3333:3333::"
@@ -419,8 +364,7 @@ expected_src_ip="0:1111:1111:1111:3333:3333:0:1111"
expected_spi="0x53"
[test_sw_aes_gcm_ipv6_transport]
-vdev="crypto_aesni_gcm_pmd_1 --vdev=crypto_aesni_gcm_pmd_2"
-config='"(0,0,10),(1,0,11)"'
+devtype="crypto_aesni_gcm"
dst_ip="0000:1111:1111:1111:1111:1111:0000:0000"
src_ip="0000:1111:1111:1111:1111:1111:0000:1111"
expected_dst_ip="0:1111:1111:1111:1111:1111::"
@@ -428,8 +372,7 @@ expected_src_ip="0:1111:1111:1111:1111:1111:0:1111"
expected_spi="0x51"
[test_sw_null_ipv6_transport]
-vdev="crypto_null_pmd_1 --vdev=crypto_null_pmd_2"
-config='"(0,0,10),(1,0,11)"'
+devtype="crypto_null"
dst_ip="0000:1111:1111:1111:5555:5555:0000:0000"
src_ip="0000:1111:1111:1111:5555:5555:0000:1111"
expected_dst_ip="0:1111:1111:1111:5555:5555::"
@@ -437,8 +380,7 @@ expected_src_ip="0:1111:1111:1111:5555:5555:0:1111"
expected_spi="0x55"
[test_sw_3des_cbc_ipv6_transport]
-vdev="crypto_aesni_mb_pmd_1 --vdev=crypto_aesni_mb_pmd_2"
-config='"(0,0,10),(1,0,11)"'
+devtype="crypto_aesni_mb"
dst_ip="0000:1111:1111:1111:4444:4444:0000:0000"
src_ip="0000:1111:1111:1111:4444:4444:0000:1111"
expected_dst_ip="0:1111:1111:1111:4444:4444::"
diff --git a/conf/l2fwd_cryptodev_func.cfg b/conf/l2fwd_cryptodev_func.cfg
deleted file mode 100644
index a1b2418..0000000
--- a/conf/l2fwd_cryptodev_func.cfg
+++ /dev/null
@@ -1,35 +0,0 @@
-[suite]
-# Cryptodev common options qat device id
-crypto_dev_id="37c9"
-
-# eal config
-l="9,10,66"
-socket-mem="2048,0"
-n=4
-
-# specify the qat devices in eal white list
-w="0000:1a:01.0 -w 0000:1c:01.0 -w 0000:1e:01.0"
-
-[test_scheduler_rr_AES_CBC_auto]
-vdev="crypto_scheduler_pmd_1,slave=0000:1a:01.0_qat_sym,slave=0000:3f:01.0_qat_sym,slave=0000:3d:01.0_qat_sym,mode=round-robin"
-
-[test_scheduler_rr_AES_GCM_auto]
-vdev="crypto_scheduler_pmd_1,slave=0000:1a:01.0_qat_sym,slave=0000:3f:01.0_qat_sym,slave=0000:3d:01.0_qat_sym,mode=round-robin"
-
-[test_scheduler_psb_AES_CBC_auto]
-vdev="crypto_aesni_mb0,name=aesni_mb_1 --vdev crypto_scheduler_pmd_1,slave=0000:1a:01.0_qat_sym,slave=aesni_mb_1,mode=packet-size-distr"
-
-[test_scheduler_psb_AES_GCM_auto]
-vdev="crypto_aesni_mb0,name=aesni_mb_1 --vdev crypto_scheduler_pmd_1,slave=0000:1a:01.0_qat_sym,slave=aesni_mb_1,mode=packet-size-distr"
-
-[test_scheduler_fo_AES_CBC_auto]
-vdev="crypto_aesni_mb0,name=aesni_mb_1 --vdev crypto_scheduler_pmd_1,slave=0000:1a:01.0_qat_sym,slave=aesni_mb_1,mode=fail-over"
-
-[test_scheduler_fo_AES_GCM_auto]
-vdev="crypto_aesni_mb0,name=aesni_mb_1 --vdev crypto_scheduler_pmd_1,slave=0000:1a:01.0_qat_sym,slave=aesni_mb_1,mode=fail-over"
-
-[test_scheduler_mm_AES_CBC_auto]
-vdev="crypto_aesni_mb0,name=aesni_mb_1 --vdev crypto_scheduler_pmd_1,slave=0000:1a:01.0_qat_sym,slave=aesni_mb_1,mode=multi-core"
-
-[test_scheduler_mm_AES_GCM_auto]
-vdev="crypto_aesni_mb0,name=aesni_mb_1 --vdev crypto_scheduler_pmd_1,slave=0000:1a:01.0_qat_sym,slave=aesni_mb_1,mode=multi-core"
diff --git a/conf/unit_tests_cryptodev_func.cfg b/conf/unit_tests_cryptodev_func.cfg
deleted file mode 100644
index d5b3b30..0000000
--- a/conf/unit_tests_cryptodev_func.cfg
+++ /dev/null
@@ -1,11 +0,0 @@
-[suite]
-# Cryptodev common options qat device id
-crypto_dev_id="37c9"
-
-# eal config
-l="9,10,66"
-socket-mem="2048,0 --legacy-mem"
-n=4
-
-# specify the qat device in eal white list to avoid reach the maximum number of crypto devices
-w="0000:1a:01.0"
--
2.17.1
^ permalink raw reply [flat|nested] 10+ messages in thread
* [dts] [PATCH V1 3/6] tests/crypto_perf_cryptodev_perf: rework crypto_perf test script
2020-06-04 0:54 [dts] [PATCH V1 0/6] rework cryptodev test script and conf xinfengx
2020-06-04 0:54 ` [dts] [PATCH V1 1/6] conf: simplify conf settings for cryptodev test xinfengx
2020-06-04 0:54 ` [dts] [PATCH V1 2/6] tests/cryptodev_common: improve cryptodev common methods xinfengx
@ 2020-06-04 0:54 ` xinfengx
2020-06-04 0:54 ` [dts] [PATCH V1 4/6] tests/l2fwd_cryptodev_func: rework l2fwd_crypto " xinfengx
` (4 subsequent siblings)
7 siblings, 0 replies; 10+ messages in thread
From: xinfengx @ 2020-06-04 0:54 UTC (permalink / raw)
To: dts; +Cc: xinfengx
rework crypto_perf test script
remove the redundant code
record more detailed test cases
Signed-off-by: xinfengx <xinfengx.zhao@intel.com>
---
tests/TestSuite_crypto_perf_cryptodev_perf.py | 628 +++++++-----------
1 file changed, 247 insertions(+), 381 deletions(-)
diff --git a/tests/TestSuite_crypto_perf_cryptodev_perf.py b/tests/TestSuite_crypto_perf_cryptodev_perf.py
index 8584aa3..fc8f502 100644
--- a/tests/TestSuite_crypto_perf_cryptodev_perf.py
+++ b/tests/TestSuite_crypto_perf_cryptodev_perf.py
@@ -100,352 +100,160 @@ class PerfTestsCryptodev(TestCase):
def tear_down(self):
self.dut.kill_all()
- def _run_func(self, eal_opt_str, crypto_func_opt_str, case_name):
- cmd_str = cc.get_dpdk_app_cmd_str(self._app_path,
- eal_opt_str,
- crypto_func_opt_str)
- self.logger.info(cmd_str)
- try:
- out = self.dut.send_expect(cmd_str+">%s/%s.txt" % (self.dut_file_dir, case_name), "#", 600)
- except Exception as ex:
- self.logger.error(ex)
- raise ex
- out = self.dut.send_expect("cat %s/%s.txt | grep fail" % (self.dut_file_dir, case_name), "#")
- return out
-
def test_verify_aesni_mb(self):
- if cc.is_test_skip(self):
- return
-
- eal_opt_str = cc.get_eal_opt_str(self)
- crypto_func_opt_str = self._get_crypto_perf_opt_str()
- out = self._run_func(eal_opt_str, crypto_func_opt_str, "test_verify_aesni_mb")
- self.verify(len(out) == 0, "Test function failed")
+ self._run_crypto_func()
def test_verify_qat(self):
- if cc.is_test_skip(self):
- return
-
- eal_opt_str = cc.get_eal_opt_str(self)
- crypto_func_opt_str = self._get_crypto_perf_opt_str()
- out = self._run_func(eal_opt_str, crypto_func_opt_str, "test_verify_qat")
- self.verify(len(out) == 0, "Test function failed")
+ self._run_crypto_func()
def test_verify_openssl_qat(self):
- if cc.is_test_skip(self):
- return
-
- eal_opt_str = cc.get_eal_opt_str(self)
- crypto_func_opt_str = self._get_crypto_perf_opt_str()
- out = self._run_func(eal_opt_str, crypto_func_opt_str, "test_verify_openssl_qat")
- self.verify(len(out) == 0, "Test function failed")
+ self._run_crypto_func()
def test_verify_openssl(self):
- if cc.is_test_skip(self):
- return
-
- eal_opt_str = cc.get_eal_opt_str(self)
- crypto_func_opt_str = self._get_crypto_perf_opt_str()
- out = self._run_func(eal_opt_str, crypto_func_opt_str, "test_verify_openssl")
- self.verify(len(out) == 0, "Test function failed")
+ self._run_crypto_func()
def test_latency_qat(self):
- if cc.is_test_skip(self):
- return
-
- eal_opt_str = cc.get_eal_opt_str(self)
- crypto_func_opt_str = self._get_crypto_perf_opt_str()
- out = self._run_func(eal_opt_str, crypto_func_opt_str, "test_latency_qat")
- self.verify(len(out) == 0, "Test function failed")
+ self._run_crypto_func()
def test_latency_auth_qat(self):
- if cc.is_test_skip(self):
- return
-
- eal_opt_str = cc.get_eal_opt_str(self)
- crypto_func_opt_str = self._get_crypto_perf_opt_str()
- out = self._run_func(eal_opt_str, crypto_func_opt_str, "test_latency_auth_qat")
- self.verify(len(out) == 0, "Test function failed")
+ self._run_crypto_func()
def test_latency_aead_qat(self):
- if cc.is_test_skip(self):
- return
-
- eal_opt_str = cc.get_eal_opt_str(self)
- crypto_func_opt_str = self._get_crypto_perf_opt_str()
- out = self._run_func(eal_opt_str, crypto_func_opt_str, "test_latency_aead_qat")
- self.verify(len(out) == 0, "Test function failed")
+ self._run_crypto_func()
def test_latency_aesni_gcm(self):
- if cc.is_test_skip(self):
- return
-
- eal_opt_str = cc.get_eal_opt_str(self)
- crypto_func_opt_str = self._get_crypto_perf_opt_str()
- out = self._run_func(eal_opt_str, crypto_func_opt_str, "test_latency_aesni_gcm")
- self.verify(len(out) == 0, "Test function failed")
+ self._run_crypto_func()
def test_latency_auth_aesni_mb(self):
- if cc.is_test_skip(self):
- return
-
- eal_opt_str = cc.get_eal_opt_str(self)
- crypto_func_opt_str = self._get_crypto_perf_opt_str()
- out = self._run_func(eal_opt_str,crypto_func_opt_str,"test_latency_auth_aesni_mb")
- self.verify(len(out) ==0 , "Test function failed")
+ self._run_crypto_func()
def test_latency_aesni_mb(self):
- if cc.is_test_skip(self):
- return
-
- eal_opt_str = cc.get_eal_opt_str(self)
- crypto_func_opt_str = self._get_crypto_perf_opt_str()
- out = self._run_func(eal_opt_str,crypto_func_opt_str,"test_latency_aesni_mb")
- self.verify(len(out) ==0 , "Test function failed")
+ self._run_crypto_func()
def test_qat_aes_cbc_sha1_hmac(self):
- if cc.is_test_skip(self):
- return
-
- eal_opt_str = cc.get_eal_opt_str(self, {"vdev":None})
- crypto_perf_opt_str = self._get_crypto_perf_opt_str()
- result = self._run_crypto_perf_throughput(eal_opt_str,
- crypto_perf_opt_str,
- "qat_aes_cbc_sha1_hmac")
- self.verify(result, "Test failed")
+ self._run_crypto_perf_throughput()
def test_sw_aes_cbc_sha1_hmac(self):
- if cc.is_test_skip(self):
- return
-
- eal_opt_str = cc.get_eal_opt_str(self)
- crypto_perf_opt_str = self._get_crypto_perf_opt_str()
- result = self._run_crypto_perf_throughput(eal_opt_str,
- crypto_perf_opt_str,
- "sw_aes_cbc_sha1_hmac")
- self.verify(result, "Test failed")
+ self._run_crypto_perf_throughput()
def test_qat_aes_cbc_sha2_hmac(self):
- if cc.is_test_skip(self):
- return
-
- eal_opt_str = cc.get_eal_opt_str(self, {"vdev":None})
- crypto_perf_opt_str = self._get_crypto_perf_opt_str()
- result = self._run_crypto_perf_throughput(eal_opt_str,
- crypto_perf_opt_str,
- "qat_aes_cbc_sha2_hmac")
- self.verify(result, "Test failed")
+ self._run_crypto_perf_throughput()
def test_sw_aes_cbc_sha2_hmac(self):
- if cc.is_test_skip(self):
- return
-
- eal_opt_str = cc.get_eal_opt_str(self)
- crypto_perf_opt_str = self._get_crypto_perf_opt_str()
- result = self._run_crypto_perf_throughput(eal_opt_str,
- crypto_perf_opt_str,
- "sw_aes_cbc_sha2_hmac")
- self.verify(result, "Test failed")
+ self._run_crypto_perf_throughput()
def test_qat_aes_gcm(self):
- if cc.is_test_skip(self):
- return
-
- eal_opt_str = cc.get_eal_opt_str(self, {"vdev":None})
- crypto_perf_opt_str = self._get_crypto_perf_opt_str()
- result = self._run_crypto_perf_throughput(eal_opt_str,
- crypto_perf_opt_str,
- "qat_aes_gcm")
- self.verify(result, "Test failed")
+ self._run_crypto_perf_throughput()
def test_sw_aes_gcm(self):
- if cc.is_test_skip(self):
- return
-
- eal_opt_str = cc.get_eal_opt_str(self)
- crypto_perf_opt_str = self._get_crypto_perf_opt_str()
- result = self._run_crypto_perf_throughput(eal_opt_str,
- crypto_perf_opt_str,
- "sw_aes_gcm")
- self.verify(result, "Test failed")
+ self._run_crypto_perf_throughput()
def test_qat_encrypt_aes_docsisbpi(self):
- if cc.is_test_skip(self):
- return
-
- eal_opt_str = cc.get_eal_opt_str(self, {"vdev":None})
- crypto_perf_opt_str = self._get_crypto_perf_opt_str()
- result = self._run_crypto_perf_throughput(eal_opt_str,
- crypto_perf_opt_str,
- "qat_encrypt_aes_docsisbpi")
- self.verify(result, "Test failed")
+ self._run_crypto_perf_throughput()
def test_sw_encrypt_aes_docsisbpi(self):
- if cc.is_test_skip(self):
- return
-
- eal_opt_str = cc.get_eal_opt_str(self)
- crypto_perf_opt_str = self._get_crypto_perf_opt_str()
- result = self._run_crypto_perf_throughput(eal_opt_str,
- crypto_perf_opt_str,
- "sw_encrypt_aes_docsisbpi")
- self.verify(result, "Test failed")
+ self._run_crypto_perf_throughput()
def test_qat_decrypt_aes_docsisbpi(self):
- if cc.is_test_skip(self):
- return
-
- eal_opt_str = cc.get_eal_opt_str(self, {"vdev":None})
- crypto_perf_opt_str = self._get_crypto_perf_opt_str()
- result = self._run_crypto_perf_throughput(eal_opt_str,
- crypto_perf_opt_str,
- "qat_decrypt_aes_docsisbpi")
- self.verify(result, "Test failed")
+ self._run_crypto_perf_throughput()
def test_sw_decrypt_aes_docsisbpi(self):
- if cc.is_test_skip(self):
- return
-
- eal_opt_str = cc.get_eal_opt_str(self)
- crypto_perf_opt_str = self._get_crypto_perf_opt_str()
- result = self._run_crypto_perf_throughput(eal_opt_str,
- crypto_perf_opt_str,
- "sw_decrypt_aes_docsisbpi")
- self.verify(result, "Test failed")
+ self._run_crypto_perf_throughput()
def test_qat_kasumi(self):
- if cc.is_test_skip(self):
- return
-
- eal_opt_str = cc.get_eal_opt_str(self, {"vdev":None})
- crypto_perf_opt_str = self._get_crypto_perf_opt_str()
- result = self._run_crypto_perf_throughput(eal_opt_str,
- crypto_perf_opt_str,
- "qat_kasumi")
- self.verify(result, "Test failed")
+ self._run_crypto_perf_throughput()
def test_sw_kasumi(self):
- if cc.is_test_skip(self):
- return
-
- eal_opt_str = cc.get_eal_opt_str(self)
- crypto_perf_opt_str = self._get_crypto_perf_opt_str()
- result = self._run_crypto_perf_throughput(eal_opt_str,
- crypto_perf_opt_str,
- "sw_kasumi")
- self.verify(result, "Test failed")
+ self._run_crypto_perf_throughput()
def test_qat_snow3g(self):
- if cc.is_test_skip(self):
- return
-
- eal_opt_str = cc.get_eal_opt_str(self, {"vdev":None})
- crypto_perf_opt_str = self._get_crypto_perf_opt_str()
- result = self._run_crypto_perf_throughput(eal_opt_str,
- crypto_perf_opt_str,
- "qat_snow3g")
- self.verify(result, "Test failed")
+ self._run_crypto_perf_throughput()
def test_sw_snow3g(self):
- if cc.is_test_skip(self):
- return
-
- eal_opt_str = cc.get_eal_opt_str(self)
- crypto_perf_opt_str = self._get_crypto_perf_opt_str()
- result = self._run_crypto_perf_throughput(eal_opt_str,
- crypto_perf_opt_str,
- "sw_snow3g")
- self.verify(result, "Test failed")
+ self._run_crypto_perf_throughput()
def test_qat_zuc(self):
- if cc.is_test_skip(self):
- return
-
- eal_opt_str = cc.get_eal_opt_str(self, {"vdev":None})
- crypto_perf_opt_str = self._get_crypto_perf_opt_str()
- result = self._run_crypto_perf_throughput(eal_opt_str,
- crypto_perf_opt_str,
- "qat_zuc")
- self.verify(result, "Test failed")
+ self._run_crypto_perf_throughput()
def test_sw_zuc(self):
- if cc.is_test_skip(self):
- return
-
- eal_opt_str = cc.get_eal_opt_str(self)
- crypto_perf_opt_str = self._get_crypto_perf_opt_str()
- result = self._run_crypto_perf_throughput(eal_opt_str,
- crypto_perf_opt_str,
- "sw_zuc")
- self.verify(result, "Test failed")
+ self._run_crypto_perf_throughput()
def test_scheduler_aes_cbc_sha1_hmac(self):
- if cc.is_test_skip(self):
- return
-
- eal_opt_str = cc.get_eal_opt_str(self)
- crypto_perf_opt_str = self._get_crypto_perf_opt_str()
- result = self._run_crypto_perf_throughput(eal_opt_str,
- crypto_perf_opt_str,
- "scheduler_aes_cbc_sha1_hmac")
- self.verify(result, "Test failed")
+ self._run_crypto_perf_throughput()
def test_scheduler_aes_cbc_sha2_hmac(self):
- if cc.is_test_skip(self):
- return
-
- eal_opt_str = cc.get_eal_opt_str(self)
- crypto_perf_opt_str = self._get_crypto_perf_opt_str()
- result = self._run_crypto_perf_throughput(eal_opt_str,
- crypto_perf_opt_str,
- "scheduler_aes_cbc_sha2_hmac")
- self.verify(result, "Test failed")
+ self._run_crypto_perf_throughput()
def test_scheduler_aes_gcm(self):
- if cc.is_test_skip(self):
- return
-
- eal_opt_str = cc.get_eal_opt_str(self)
- crypto_perf_opt_str = self._get_crypto_perf_opt_str()
- result = self._run_crypto_perf_throughput(eal_opt_str,
- crypto_perf_opt_str,
- "scheduler_aes_gcm")
- self.verify(result, "Test failed")
+ self._run_crypto_perf_throughput()
def test_scheduler_kasumi(self):
- if cc.is_test_skip(self):
- return
-
- eal_opt_str = cc.get_eal_opt_str(self)
- crypto_perf_opt_str = self._get_crypto_perf_opt_str()
- result = self._run_crypto_perf_throughput(eal_opt_str,
- crypto_perf_opt_str,
- "scheduler_kasumi")
- self.verify(result, "Test failed")
+ self._run_crypto_perf_throughput()
def test_scheduler_snow3g(self):
+ self._run_crypto_perf_throughput()
+
+ def test_scheduler_zuc(self):
+ self._run_crypto_perf_throughput()
+
+ # Private functions
+ def _run_crypto_func(self):
if cc.is_test_skip(self):
return
- eal_opt_str = cc.get_eal_opt_str(self)
- crypto_perf_opt_str = self._get_crypto_perf_opt_str()
- result = self._run_crypto_perf_throughput(eal_opt_str,
- crypto_perf_opt_str,
- "scheduler_snow3g")
- self.verify(result, "Test failed")
+ cores = ','.join(self.dut.get_core_list("1S/2C/1T"))
+ config = {'l': cores}
+ devices = self._get_crypto_device(1)
+ if not devices:
+ self.logger.info("can not get device or unsupported, skip.")
+ return
- def test_scheduler_zuc(self):
+ config.update(devices)
+ eal_opt_str = cc.get_eal_opt_str(self, config)
+ crypto_func_opt_str = self._get_crypto_perf_opt_str()
+
+ cmd_str = cc.get_dpdk_app_cmd_str(self._app_path,
+ eal_opt_str,
+ crypto_func_opt_str)
+ try:
+ self.dut.send_expect(cmd_str + ">%s/%s.txt" % (
+ self.dut_file_dir, self.running_case), "#", 600)
+ except Exception as ex:
+ self.logger.error(ex)
+ raise ex
+
+ out = self.dut.send_command("cat %s/%s.txt" % (
+ self.dut_file_dir, self.running_case), 30)
+
+ self.verify('Error' not in out, "Test function failed")
+ self.verify('failed' not in out, "Test function failed")
+
+ def _run_crypto_perf(self):
if cc.is_test_skip(self):
return
- eal_opt_str = cc.get_eal_opt_str(self)
+ self.c_num, self.t_num = self._get_core_and_thread_num()
+ devices = self._get_crypto_device(self.t_num)
+ if not devices:
+ self.logger.info("can not get device or unsupported, skip.")
+ return
+
+ eal_opt_str = cc.get_eal_opt_str(self, devices)
crypto_perf_opt_str = self._get_crypto_perf_opt_str()
- result = self._run_crypto_perf_throughput(eal_opt_str,
- crypto_perf_opt_str,
- "scheduler_zuc")
- self.verify(result, "Test failed")
- # Private functions
+ cmd_str = cc.get_dpdk_app_cmd_str(self._app_path,
+ eal_opt_str,
+ crypto_perf_opt_str)
+ try:
+ out = self.dut.send_expect(cmd_str, "#", 600)
+ except Exception as ex:
+ self.logger.error(ex)
+ raise ex
+
+ results = self._parse_output(out)
+
+ return results
+
def _get_crypto_perf_opt_str(self, override_crypto_perf_opts={}):
return cc.get_opt_str(self, self._default_crypto_perf_opts,
override_crypto_perf_opts)
@@ -456,16 +264,15 @@ class PerfTestsCryptodev(TestCase):
line_nb = len(lines)
self.logger.debug("Total output lines: " + str(line_nb))
- # Find data line
for line_index in range(line_nb):
if lines[line_index].startswith(" lcore id"):
self.logger.debug("data output line from: " + str(line_index))
break
- data_line = line_index + 2
results = []
pattern = re.compile(r'\s+')
- for line in lines[data_line:-1]:
+ for line in lines[line_index:]:
+ print(line)
result = {}
result_list = pattern.split(line.strip(" "))
if result_list[0] == "lcore id" or result_list[0] == "lcore" or not result_list[0]:
@@ -486,7 +293,7 @@ class PerfTestsCryptodev(TestCase):
return results
except Exception as ex:
self.logger.error(ex)
- raise ex
+ return []
def _stat_results_by_buf_size(self, results):
stats_results = {}
@@ -521,121 +328,180 @@ class PerfTestsCryptodev(TestCase):
self.logger.debug(stats_results)
return stats_results
- def _run_crypto_perf(self, eal_opt_str, crypto_perf_opt_str):
- cmd_str = cc.get_dpdk_app_cmd_str(self._app_path,
- eal_opt_str,
- crypto_perf_opt_str)
- self.logger.info(cmd_str)
- try:
- out = self.dut.send_expect(cmd_str, "#", 600)
- except Exception as ex:
- self.logger.error(ex)
- raise ex
-
- results = self._parse_output(out)
-
- return results
-
def _get_core_and_thread_num(self):
cpu_info ={}
out = self.dut.send_expect("lscpu", "#")
for each_line in out.split('\n'):
+ if each_line.find(':') == -1:
+ continue
key, value = each_line.split(':')
cpu_info[key] = value.strip()
-
core, thread = 0, 0
lcores = self.get_case_cfg()["l"].split(",")
for lcore in lcores[1:]:
- if int(lcore) < int(cpu_info['Core(s) per socket']) * int(cpu_info['Socket(s)']):
+ if int(lcore.strip()) < int(cpu_info['Core(s) per socket']) * int(cpu_info['Socket(s)']):
core += 1
thread += 1
elif int(lcore) < int(cpu_info['CPU(s)']):
thread += 1
return core, thread
- def _run_crypto_perf_throughput(self, eal_opt_str, crypto_perf_opt_str,
- case_name):
- c_num, t_num = self._get_core_and_thread_num()
- try:
- results = self._run_crypto_perf(eal_opt_str, crypto_perf_opt_str)
-
- stats_results = self._stat_results_by_buf_size(results)
- if not stats_results:
- return False
-
- json_result = []
- for buf_size, values in list(stats_results.items()):
- status, delta = "PASS", 0
- # delta, status
- if 'accepted_tolerance' in self.get_suite_cfg():
- self.accepted_gap = self.get_suite_cfg()['accepted_tolerance']
- self.expected_throughput =\
- self.get_suite_cfg()['expected_throughput'][case_name][buf_size]
- delta = (values["gbps"] - self.expected_throughput)/self.expected_throughput
- if abs(delta) > self.accepted_gap:
+ def _get_crypto_device(self, num):
+ device = {}
+ if self.get_case_cfg()["devtype"] == "crypto_aesni_mb":
+ dev = "crypto_aesni_mb"
+ elif self.get_case_cfg()["devtype"] == "crypto_qat":
+ w = cc.get_qat_devices(self, cpm_num=1, num=num)
+ device["w"] = ' -w '.join(w)
+ device["vdev"] = None
+ elif self.get_case_cfg()["devtype"] == "crypto_openssl":
+ dev = "crypto_openssl"
+ elif self.get_case_cfg()["devtype"] == "crypto_aesni_gcm":
+ dev = "crypto_aesni_gcm"
+ elif self.get_case_cfg()["devtype"] == "crypto_kasumi":
+ dev = "crypto_kasumi"
+ elif self.get_case_cfg()["devtype"] == "crypto_snow3g":
+ dev = "crypto_snow3g"
+ elif self.get_case_cfg()["devtype"] == "crypto_zuc":
+ dev = "crypto_zuc"
+ elif self.get_case_cfg()["devtype"] == "crypto_scheduler":
+ dev = "crypto_scheduler"
+ w = cc.get_qat_devices(self, cpm_num=3, num=num * 3)
+ if not w:
+ return {}
+ vdev_list = []
+ for i in range(num):
+ vdev = "{}{},slave={}_qat_sym,slave={}_qat_sym,slave={}_qat_sym,mode=round-robin".format(dev,
+ i, w[i*3], w[i*3 + 1], w[i*3 + 2])
+ vdev_list.append(vdev)
+ device["w"] = ' -w '.join(w)
+ device["vdev"] = ' --vdev '.join(vdev_list)
+ else:
+ return {}
+
+ if not device:
+ vdev_list = []
+ for i in range(num):
+ vdev = "{}{}".format(dev, i)
+ vdev_list.append(vdev)
+ device["w"] = "0000:00:00.0"
+ device["vdev"] = ' --vdev '.join(vdev_list)
+
+ return device
+
+ def _run_crypto_perf_throughput(self):
+ results = self._run_crypto_perf()
+
+ stats_results = self._stat_results_by_buf_size(results)
+ json_result = []
+
+ framesizes = self.get_case_cfg()['buffer-sz'].split(',')
+ running_case = self.running_case
+ dut = self.dut.crb["IP"]
+ dut_index = self._suite_result.internals.index(dut)
+ target_index = self._suite_result.internals[dut_index+1].index(self.target)
+ suite_index = self._suite_result.internals[dut_index+1][target_index+2].index(self.suite_name)
+ case_index = self._suite_result.internals[dut_index+1][target_index+2][suite_index+1].index(running_case)
+ self._suite_result.internals[dut_index+1][target_index+2][suite_index+1].pop(case_index+1)
+ self._suite_result.internals[dut_index+1][target_index+2][suite_index+1].pop(case_index)
+
+ for buf_size in framesizes:
+ buf_size = int(buf_size)
+ status = "PASS"
+ self._suite_result.test_case = '_'.join([running_case,
+ str(buf_size), "{}C{}T".format(self.c_num, self.t_num)])
+ if buf_size in stats_results.keys():
+ try:
+ values = stats_results[buf_size]
+ perf_info = self.format_json(buf_size, values, status)
+ json_result.append(perf_info)
+
+ if perf_info['status'] == "PASS":
+ self._suite_result.test_case_passed()
+ else:
status = "FAIL"
+ self._suite_result.test_case_failed("Test failed")
+ except Exception as ex:
+ self.logger.error(ex)
+ status = "FAIL"
+ self._suite_result.test_case_failed("Test failed")
+ else:
+ status = "FAIL"
+ self._suite_result.test_case_failed("Test failed")
+
+ self._perf_result[self.running_case] = json_result
+ self.logger.debug(self._perf_result)
+ self.verify(status == "PASS", "Test Failed")
+
+ def format_json(self, buf_size, values, status="PASS"):
+ status, delta = "PASS", 0
+ # delta, status
+ if 'accepted_tolerance' in self.get_suite_cfg():
+ self.accepted_gap = self.get_suite_cfg()['accepted_tolerance']
+ if self.running_case in self.get_suite_cfg()['expected_throughput']:
+ self.expected_throughput =\
+ self.get_suite_cfg()['expected_throughput'][self.running_case][buf_size]
+ delta = (values["gbps"] - self.expected_throughput)/self.expected_throughput
+ delta = round(delta, 4)
+ if abs(delta) > self.accepted_gap:
+ self.logger.warning("Failed, buf_size: {}, delta: {}, > accepted tolerance {}"\
+ .format(buf_size, delta, self.accepted_gap))
+ status = "FAIL"
+
+ perf_info={
+ "status": status,
+ "performance":
+ [
+ {
+ "name": "throughput",
+ "value": values["gbps"],
+ "unit": "Gbps",
+ "delta": delta
+ },
+ {
+ "name":"failed_enq",
+ "unit": "ops",
+ "value": values["enqueue_failures"]
+ },
+ {
+ "name":"failed_deq",
+ "unit": "ops",
+ "value": values["dequeue_failures"]
+ },
+ {
+ "name":"throughput_mops",
+ "unit": "Mops",
+ "value": values["mops"]
+ },
+ {
+ "name":"cycle_buf",
+ "unit": "Cycles",
+ "value": values["cycle_buf"]/values["nr"]
+ },
+ ],
+ "parameters":
+ [
+ {
+ "name": "core_num/thread_num",
+ "unit": "C/T",
+ "value": "{}/{}".format(self.c_num, self.t_num)
+ },
+ {
+ "name":"frame_size",
+ "unit": "bytes",
+ "value": buf_size
+ },
+ {
+ "name":"burst_size",
+ "unit": "bytes",
+ "value": values["burst_size"]
+ },
+ {
+ "name":"total_ops",
+ "unit": "ops",
+ "value": values["enqueue"]
+ },
+ ]
+ }
+ return perf_info
- perf_info={
- "status": status,
- "performance":
- [
- {
- "name": "throughput",
- "value": values["gbps"],
- "unit": "Gbps",
- "delta": delta
- },
- {
- "name":"failed_enq",
- "unit": "ops",
- "value": values["enqueue_failures"]
- },
- {
- "name":"failed_deq",
- "unit": "ops",
- "value": values["dequeue_failures"]
- },
- {
- "name":"throughput_mops",
- "unit": "Mops",
- "value": values["mops"]
- },
- {
- "name":"cycle_buf",
- "unit": "Cycles",
- "value": values["cycle_buf"]/values["nr"]
- },
- ],
- "parameters":
- [
- {
- "name": "core_num/thread_num",
- "unit": "num/num",
- "value": "{}/{}".format(c_num, t_num)
- },
- {
- "name":"frame_size",
- "unit": "bytes",
- "value": buf_size
- },
- {
- "name":"burst_size",
- "unit": "bytes",
- "value": values["burst_size"]
- },
- {
- "name":"total_ops",
- "unit": "ops",
- "value": values["enqueue"]
- },
- ]
- }
-
- self.logger.debug(perf_info)
- json_result.append(perf_info)
- self._perf_result[case_name] = json_result
- self.logger.debug(self._perf_result)
- return True
- except Exception as ex:
- self.logger.error(ex)
- return False
--
2.17.1
^ permalink raw reply [flat|nested] 10+ messages in thread
* [dts] [PATCH V1 4/6] tests/l2fwd_cryptodev_func: rework l2fwd_crypto test script
2020-06-04 0:54 [dts] [PATCH V1 0/6] rework cryptodev test script and conf xinfengx
` (2 preceding siblings ...)
2020-06-04 0:54 ` [dts] [PATCH V1 3/6] tests/crypto_perf_cryptodev_perf: rework crypto_perf test script xinfengx
@ 2020-06-04 0:54 ` xinfengx
2020-06-04 0:54 ` [dts] [PATCH V1 5/6] tests/ipsec_gw_cryptodev_func: rework cryptodev ipsec " xinfengx
` (3 subsequent siblings)
7 siblings, 0 replies; 10+ messages in thread
From: xinfengx @ 2020-06-04 0:54 UTC (permalink / raw)
To: dts; +Cc: xinfengx
rework l2fwd_crypto test script
remove the redundant code
record more detailed test cases
Signed-off-by: xinfengx <xinfengx.zhao@intel.com>
---
tests/TestSuite_l2fwd_cryptodev_func.py | 1036 +++++------------------
1 file changed, 215 insertions(+), 821 deletions(-)
diff --git a/tests/TestSuite_l2fwd_cryptodev_func.py b/tests/TestSuite_l2fwd_cryptodev_func.py
index 4a8d31f..a40956e 100644
--- a/tests/TestSuite_l2fwd_cryptodev_func.py
+++ b/tests/TestSuite_l2fwd_cryptodev_func.py
@@ -52,9 +52,8 @@ import cryptodev_common as cc
class TestL2fwdCrypto(TestCase):
def set_up_all(self):
-
- self.core_config = "1S/2C/1T"
- self.number_of_ports = 1
+ self.core_config = "1S/3C/1T"
+ self.number_of_ports = 2
self.dut_ports = self.dut.get_ports(self.nic)
self.verify(len(self.dut_ports) >= self.number_of_ports,
"Not enough ports for " + self.nic)
@@ -65,13 +64,12 @@ class TestL2fwdCrypto(TestCase):
self.logger.info("dut ports = " + str(self.dut_ports))
self.logger.info("ports_socket = " + str(self.ports_socket))
- self.core_mask = utils.create_mask(self.dut.get_core_list(
- self.core_config,
- socket=self.ports_socket))
- self.port_mask = utils.create_mask([self.dut_ports[0]])
+ self.core_list = self.dut.get_core_list(self.core_config, socket=self.ports_socket)
+ self.core_mask = utils.create_mask(self.core_list)
+ self.port_mask = utils.create_mask([self.dut_ports[0], self.dut_ports[1]])
self.tx_port = self.tester.get_local_port(self.dut_ports[0])
- self.rx_port = self.tester.get_local_port(self.dut_ports[0])
+ self.rx_port = self.tester.get_local_port(self.dut_ports[1])
self.tx_interface = self.tester.get_interface(self.tx_port)
self.rx_interface = self.tester.get_interface(self.rx_port)
@@ -91,593 +89,190 @@ class TestL2fwdCrypto(TestCase):
cc.bind_qat_device(self)
-
def set_up(self):
pass
def test_qat_AES_XTS_auto(self):
- if cc.is_test_skip(self):
- return
-
- result = True
- self.logger.info("Test qat_AES_XTS_00")
- if not self.__execute_l2fwd_crypto_test(
- test_vectors, "qat_AES_XTS_00"):
- result = False
-
- self.verify(result, "Test failed")
+ self.__execute_l2fwd_crypto_test(test_vectors, "qat_AES_XTS_00")
def test_qat_AES_CBC_auto(self):
- if cc.is_test_skip(self):
- return
-
- result = True
- self.logger.info("Test qat_AES_CBC_00")
- if not self.__execute_l2fwd_crypto_test(
- test_vectors, "qat_AES_CBC_00"):
- result = False
-
- self.verify(result, "Test failed")
+ self.__execute_l2fwd_crypto_test(test_vectors, "qat_AES_CBC_00")
def test_qat_AES_CTR_auto(self):
- if cc.is_test_skip(self):
- return
-
- result = True
- self.logger.info("Test qat_AES_CTR_00")
- if not self.__execute_l2fwd_crypto_test(
- test_vectors, "qat_AES_CTR_00"):
- result = False
-
- self.verify(result, "Test failed")
+ self.__execute_l2fwd_crypto_test(test_vectors, "qat_AES_CTR_00")
def test_qat_AES_GCM_auto(self):
- if cc.is_test_skip(self):
- return
-
- result = True
- self.logger.info("Test qat_AES_GCM_00")
- if not self.__execute_l2fwd_crypto_test(
- test_vectors, "qat_AES_GCM_00"):
- result = False
-
- self.verify(result, "Test failed")
+ self.__execute_l2fwd_crypto_test(test_vectors, "qat_AES_GCM_00")
def test_qat_AES_CCM_auto(self):
- if cc.is_test_skip(self):
- return
-
- result = True
- self.logger.info("Test qat_AES_CCM_00")
- if not self.__execute_l2fwd_crypto_test(
- test_vectors, "qat_AES_CCM_00"):
- result = False
-
- self.verify(result, "Test failed")
+ self.__execute_l2fwd_crypto_test(test_vectors, "qat_AES_CCM_00")
def test_qat_h_MD_SHA_auto(self):
- if cc.is_test_skip(self):
- return
-
- result = True
- self.logger.info("Test qat_h_MD_SHA_00")
- if not self.__execute_l2fwd_crypto_test(
- test_vectors, "qat_h_MD_SHA_00"):
- result = False
-
- self.verify(result, "Test failed")
+ self.__execute_l2fwd_crypto_test(test_vectors, "qat_h_MD_SHA_00")
def test_qat_h_AES_XCBC_MAC_auto(self):
- if cc.is_test_skip(self):
- return
-
- result = True
- self.logger.info("Test qat_h_AES_XCBC_MAC_01")
- if not self.__execute_l2fwd_crypto_test(
- test_vectors, "qat_h_AES_XCBC_MAC_01"):
- result = False
-
- self.verify(result, "Test failed")
+ self.__execute_l2fwd_crypto_test(test_vectors, "qat_h_AES_XCBC_MAC_01")
def test_qat_3DES_CBC_auto(self):
- if cc.is_test_skip(self):
- return
-
- result = True
- self.logger.info("Test qat_3DES_CBC_00")
- if not self.__execute_l2fwd_crypto_test(
- test_vectors, "qat_3DES_CBC_00"):
- result = False
-
- self.verify(result, "Test failed")
+ self.__execute_l2fwd_crypto_test(test_vectors, "qat_3DES_CBC_00")
def test_qat_3DES_CTR_auto(self):
- if cc.is_test_skip(self):
- return
-
- result = True
- self.logger.info("Test qat_3DES_CTR_00")
- if not self.__execute_l2fwd_crypto_test(
- test_vectors, "qat_3DES_CTR_00"):
- result = False
-
- self.verify(result, "Test failed")
+ self.__execute_l2fwd_crypto_test(test_vectors, "qat_3DES_CTR_00")
def test_qat_AES_DOCSISBPI_auto(self):
- if cc.is_test_skip(self):
- return
-
- result = True
- self.logger.info("Test qat_AES_DOCSISBPI_01")
- if not self.__execute_l2fwd_crypto_test(
- test_vectors, "qat_AES_DOCSISBPI_01"):
- result = False
-
- self.verify(result, "Test failed")
+ self.__execute_l2fwd_crypto_test(test_vectors, "qat_AES_DOCSISBPI_01")
def test_qat_DES_DOCSISBPI_auto(self):
- if cc.is_test_skip(self):
- return
-
- result = True
- self.logger.info("Test qat_DES_DOCSISBPI_01")
- if not self.__execute_l2fwd_crypto_test(
- test_vectors, "qat_DES_DOCSISBPI_01"):
- result = False
-
- self.verify(result, "Test failed")
+ self.__execute_l2fwd_crypto_test(test_vectors, "qat_DES_DOCSISBPI_01")
def test_qat_SNOW3G_auto(self):
- if cc.is_test_skip(self):
- return
-
- result = True
- self.logger.info("Test qat_c_UEA2_01")
- if not self.__execute_l2fwd_crypto_test(
- test_vectors, "qat_c_UEA2_01"):
- result = False
-
- self.logger.info("Test qat_h_UIA2_01")
- if not self.__execute_l2fwd_crypto_test(
- test_vectors, "qat_h_UIA2_01"):
- result = False
-
- self.verify(result, "Test failed")
+ self.__execute_l2fwd_crypto_test(test_vectors, "qat_snow3g_00")
def test_qat_KASUMI_auto(self):
- if cc.is_test_skip(self):
- return
-
- result = True
- self.logger.info("Test qat_kasumi_c_F8_01")
- if not self.__execute_l2fwd_crypto_test(
- test_vectors, "qat_kasumi_c_F8_01"):
- result = False
-
- self.logger.info("Test qat_kasumi_h_F9_01")
- if not self.__execute_l2fwd_crypto_test(
- test_vectors, "qat_kasumi_h_F9_01"):
- result = False
-
- self.verify(result, "Test failed")
+ self.__execute_l2fwd_crypto_test(test_vectors, "qat_kasumi_00")
def test_qat_ZUC_auto(self):
- if cc.is_test_skip(self):
- return
-
- result = True
- self.logger.info("Test qat_c_EEA3_01")
- if not self.__execute_l2fwd_crypto_test(
- test_vectors, "qat_c_EEA3_01"):
- result = False
-
- self.logger.info("Test qat_h_EIA3_01")
- if not self.__execute_l2fwd_crypto_test(
- test_vectors, "qat_h_EIA3_01"):
- result = False
-
- self.verify(result, "Test failed")
+ self.__execute_l2fwd_crypto_test(test_vectors, "qat_zuc_00")
def test_qat_NULL_auto(self):
- if cc.is_test_skip(self):
- return
-
- result = True
- self.logger.info("Test qat_NULL_auto")
- if not self.__execute_l2fwd_crypto_test(
- test_vectors, "qat_NULL_auto"):
- result = False
-
- self.verify(result, "Test failed")
+ self.__execute_l2fwd_crypto_test(test_vectors, "qat_NULL_auto")
def test_aesni_mb_AES_CBC_auto(self):
- if cc.is_test_skip(self):
- return
-
- result = True
- self.logger.info("Test aesni_mb_AES_CBC_00")
- if not self.__execute_l2fwd_crypto_test(
- test_vectors, "aesni_mb_AES_CBC_00"):
- result = False
-
- self.verify(result, "Test failed")
+ self.__execute_l2fwd_crypto_test(test_vectors, "aesni_mb_AES_CBC_00")
def test_aesni_mb_AES_CTR_auto(self):
- if cc.is_test_skip(self):
- return
-
- result = True
- self.logger.info("Test aesni_mb_AES_CTR_00")
- if not self.__execute_l2fwd_crypto_test(
- test_vectors, "aesni_mb_AES_CTR_00"):
- result = False
-
- self.verify(result, "Test failed")
+ self.__execute_l2fwd_crypto_test(test_vectors, "aesni_mb_AES_CTR_00")
def test_aesni_mb_AES_DOCSISBPI_auto(self):
- if cc.is_test_skip(self):
- return
-
- result = True
- self.logger.info("Test aesni_mb_AES_DOCSISBPI_01")
- if not self.__execute_l2fwd_crypto_test(
- test_vectors, "aesni_mb_AES_DOCSISBPI_01"):
- result = False
-
- self.verify(result, "Test failed")
+ self.__execute_l2fwd_crypto_test(test_vectors, "aesni_mb_AES_DOCSISBPI_01")
def test_aesni_mb_AES_GCM_auto(self):
- if cc.is_test_skip(self):
- return
-
- result = True
- self.logger.info("Test aesni_mb_aead_AES_GCM_00")
- if not self.__execute_l2fwd_crypto_test(
- test_vectors, "aesni_mb_aead_AES_GCM_00"):
- result = False
-
- self.verify(result, "Test failed")
-
+ self.__execute_l2fwd_crypto_test(test_vectors, "aesni_mb_aead_AES_GCM_00")
def test_aesni_mb_AES_CCM_auto(self):
- if cc.is_test_skip(self):
- return
-
- result = True
- self.logger.info("Test aesni_mb_AES_CCM_00")
- if not self.__execute_l2fwd_crypto_test(
- test_vectors, "aesni_mb_AES_CCM_00"):
- result = False
-
- self.verify(result, "Test failed")
+ self.__execute_l2fwd_crypto_test(test_vectors, "aesni_mb_AES_CCM_00")
def test_aesni_gcm_AES_GCM_auto(self):
- if cc.is_test_skip(self):
- return
-
- result = True
- self.logger.info("Test aesni_gcm_aead_AES_GCM_01")
- if not self.__execute_l2fwd_crypto_test(
- test_vectors, "aesni_gcm_aead_AES_GCM_01"):
- result = False
-
- self.verify(result, "Test failed")
+ self.__execute_l2fwd_crypto_test(test_vectors, "aesni_gcm_aead_AES_GCM_01")
def test_aesni_mb_h_MD_SHA_auto(self):
- if cc.is_test_skip(self):
- return
-
- result = True
- self.logger.info("Test aesni_mb_h_MD_SHA_00")
- if not self.__execute_l2fwd_crypto_test(
- test_vectors, "aesni_mb_h_MD_SHA_00"):
- result = False
-
- self.verify(result, "Test failed")
+ self.__execute_l2fwd_crypto_test(test_vectors, "aesni_mb_h_MD_SHA_00")
def test_aesni_mb_3DES_CBC_auto(self):
- if cc.is_test_skip(self):
- return
-
- result = True
- self.logger.info("Test aesni_mb_3DES_CBC_00")
- if not self.__execute_l2fwd_crypto_test(
- test_vectors, "aesni_mb_3DES_CBC_00"):
- result = False
-
- self.verify(result, "Test failed")
+ self.__execute_l2fwd_crypto_test(test_vectors, "aesni_mb_3DES_CBC_00")
def test_kasumi_KASUMI_auto(self):
- if cc.is_test_skip(self):
- return
-
- result = True
- self.logger.info("Test kasumi_c_F8_01")
- if not self.__execute_l2fwd_crypto_test(
- test_vectors, "kasumi_c_F8_01"):
- result = False
-
- self.logger.info("Test kasumi_h_F9_01")
- if not self.__execute_l2fwd_crypto_test(
- test_vectors, "kasumi_h_F9_01"):
- result = False
-
- self.verify(result, "Test failed")
+ self.__execute_l2fwd_crypto_test(test_vectors, "kasumi_kasumi_00")
def test_null_NULL_auto(self):
- if cc.is_test_skip(self):
- return
-
- result = True
- self.logger.info("Test null_NULL_auto")
- if not self.__execute_l2fwd_crypto_test(
- test_vectors, "null_NULL_auto"):
- result = False
-
- self.verify(result, "Test failed")
+ self.__execute_l2fwd_crypto_test(test_vectors, "null_NULL_auto")
def test_snow3g_SNOW3G_auto(self):
- if cc.is_test_skip(self):
- return
-
- result = True
- self.logger.info("Test snow3g_c_UEA2_01")
- if not self.__execute_l2fwd_crypto_test(
- test_vectors, "snow3g_c_UEA2_01"):
- result = False
-
- self.logger.info("Test snow3g_h_UIA2_01")
- if not self.__execute_l2fwd_crypto_test(
- test_vectors, "snow3g_h_UIA2_01"):
- result = False
-
- self.verify(result, "Test failed")
+ self.__execute_l2fwd_crypto_test(test_vectors, "snow3g_snow3g_00")
def test_zuc_ZUC_auto(self):
- if cc.is_test_skip(self):
- return
-
- result = True
- self.logger.info("Test zuc_c_EEA3_01")
- if not self.__execute_l2fwd_crypto_test(
- test_vectors, "zuc_c_EEA3_01"):
- result = False
-
- self.logger.info("Test zuc_h_EIA3_01")
- if not self.__execute_l2fwd_crypto_test(
- test_vectors, "zuc_h_EIA3_01"):
- result = False
-
- self.verify(result, "Test failed")
+ self.__execute_l2fwd_crypto_test(test_vectors, "zuc_zuc_00")
- # openssl pmd cases
def test_openssl_3DES_CBC_auto(self):
- if cc.is_test_skip(self):
- return
-
- result = True
- self.logger.info("Test openssl_3DES_CBC_00")
- if not self.__execute_l2fwd_crypto_test(
- test_vectors, "openssl_3DES_CBC_00"):
- result = False
-
- self.verify(result, "Test failed")
+ self.__execute_l2fwd_crypto_test(test_vectors, "openssl_3DES_CBC_00")
def test_openssl_3DES_CTR_auto(self):
- if cc.is_test_skip(self):
- return
-
- result = True
- self.logger.info("Test openssl_3DES_CTR_00")
- if not self.__execute_l2fwd_crypto_test(
- test_vectors, "openssl_3DES_CTR_00"):
- result = False
-
- self.verify(result, "Test failed")
+ self.__execute_l2fwd_crypto_test(test_vectors, "openssl_3DES_CTR_00")
def test_openssl_AES_CBC_auto(self):
- if cc.is_test_skip(self):
- return
-
- result = True
- self.logger.info("Test openssl_AES_CBC_00")
- if not self.__execute_l2fwd_crypto_test(
- test_vectors, "openssl_AES_CBC_00"):
- result = False
-
- self.verify(result, "Test failed")
+ self.__execute_l2fwd_crypto_test(test_vectors, "openssl_AES_CBC_00")
def test_openssl_AES_CTR_auto(self):
- if cc.is_test_skip(self):
- return
-
- result = True
- self.logger.info("Test openssl_AES_CTR_00")
- if not self.__execute_l2fwd_crypto_test(
- test_vectors, "openssl_AES_CTR_00"):
- result = False
-
- self.verify(result, "Test failed")
+ self.__execute_l2fwd_crypto_test(test_vectors, "openssl_AES_CTR_00")
def test_openssl_AES_GCM_auto(self):
- if cc.is_test_skip(self):
- return
-
- result = True
- self.logger.info("Test openssl_AES_GCM_00")
- if not self.__execute_l2fwd_crypto_test(
- test_vectors, "openssl_AES_GCM_00"):
- result = False
-
- self.verify(result, "Test failed")
+ self.__execute_l2fwd_crypto_test(test_vectors, "openssl_AES_GCM_00")
def test_openssl_AES_CCM_auto(self):
- if cc.is_test_skip(self):
- return
-
- result = True
- self.logger.info("Test openssl_AES_CCM_00")
- if not self.__execute_l2fwd_crypto_test(
- test_vectors, "openssl_AES_CCM_00"):
- result = False
-
- self.verify(result, "Test failed")
+ self.__execute_l2fwd_crypto_test(test_vectors, "openssl_AES_CCM_00")
def test_openssl_h_MD_SHA_auto(self):
- if cc.is_test_skip(self):
- return
-
- result = True
- self.logger.info("Test openssl_h_MD_SHA_00")
- if not self.__execute_l2fwd_crypto_test(
- test_vectors, "openssl_h_MD_SHA_00"):
- result = False
-
- self.verify(result, "Test failed")
+ self.__execute_l2fwd_crypto_test(test_vectors, "openssl_h_MD_SHA_00")
def test_openssl_DES_DOCSISBPI_auto(self):
- if cc.is_test_skip(self):
- return
-
- result = True
- self.logger.info("Test openssl_DES_DOCSISBPI_01")
- if not self.__execute_l2fwd_crypto_test(
- test_vectors, "openssl_DES_DOCSISBPI_01"):
- result = False
-
- self.verify(result, "Test failed")
+ self.__execute_l2fwd_crypto_test(test_vectors, "openssl_DES_DOCSISBPI_01")
def test_aesni_mb_DES_DOCSISBPI_auto(self):
- if cc.is_test_skip(self):
- return
-
- result = True
- self.logger.info("Test aesni_mb_DES_DOCSISBPI_01")
- if not self.__execute_l2fwd_crypto_test(
- test_vectors, "aesni_mb_DES_DOCSISBPI_01"):
- result = False
-
- self.verify(result, "Test failed")
+ self.__execute_l2fwd_crypto_test(test_vectors, "aesni_mb_DES_DOCSISBPI_01")
def test_aesni_mb_DES_CBC_auto(self):
- if cc.is_test_skip(self):
- return
-
- result = True
- self.logger.info("Test aesni_mb_DES_CBC_00")
- if not self.__execute_l2fwd_crypto_test(
- test_vectors, "aesni_mb_DES_CBC_00"):
- result = False
-
- self.verify(result, "Test failed")
+ self.__execute_l2fwd_crypto_test(test_vectors, "aesni_mb_DES_CBC_00")
def test_openssl_DES_CBC_auto(self):
- if cc.is_test_skip(self):
- return
-
- result = True
- self.logger.info("Test openssl_DES_CBC_00")
- if not self.__execute_l2fwd_crypto_test(
- test_vectors, "openssl_DES_CBC_00"):
- result = False
-
- self.verify(result, "Test failed")
+ self.__execute_l2fwd_crypto_test(test_vectors, "openssl_DES_CBC_00")
def test_scheduler_rr_AES_CBC_auto(self):
- if cc.is_test_skip(self):
- return
-
- result = True
- self.logger.info("Test scheduler_rr_AES_CBC")
- if not self.__execute_l2fwd_crypto_test(
- test_vectors, "scheduler_rr_AES_CBC_00"):
- result = False
-
- self.verify(result, "Test failed")
+ vdev = '-w ' + ' -w '.join(cc.get_qat_devices(self, num=3))
+ vdev += " --vdev crypto_scheduler0,slave=%s_qat_sym,slave=%s_qat_sym,slave=%s_qat_sym,\
+ mode=round-robin" % tuple(cc.get_qat_devices(self, num=3))
+ test_vectors["scheduler_AES_CBC_00"]['vdev'] = vdev
+ test_vectors["scheduler_AES_CBC_00"]['mode'] = "rr"
+ self.__execute_l2fwd_crypto_test(test_vectors, "scheduler_AES_CBC_00")
def test_scheduler_rr_AES_GCM_auto(self):
- if cc.is_test_skip(self):
- return
-
- result = True
- self.logger.info("Test scheduler_rr_AES_GCM")
- if not self.__execute_l2fwd_crypto_test(
- test_vectors, "scheduler_rr_AES_GCM_00"):
- result = False
-
- self.verify(result, "Test failed")
+ vdev = "-w 0000:00:00.0 --vdev crypto_aesni_mb1,name=aesni_mb_1"
+ vdev += " --vdev crypto_aesni_mb2,name=aesni_mb_2"
+ vdev += " --vdev crypto_aesni_mb3,name=aesni_mb_3"
+ vdev += " --vdev crypto_scheduler0,slave=aesni_mb_1,slave=aesni_mb_2,slave=aesni_mb_3,mode=round-robin"
+ test_vectors["scheduler_AES_GCM_00"]['vdev'] = vdev
+ test_vectors["scheduler_AES_GCM_00"]['mode'] = "rr"
+ self.__execute_l2fwd_crypto_test(test_vectors, "scheduler_AES_GCM_00")
def test_scheduler_psb_AES_CBC_auto(self):
- if cc.is_test_skip(self):
- return
-
- result = True
- self.logger.info("Test scheduler_psb_AES_CBC")
- if not self.__execute_l2fwd_crypto_test(
- test_vectors, "scheduler_psb_AES_CBC_00"):
- result = False
-
- self.verify(result, "Test failed")
+ vdev = '-w ' + ' -w '.join(cc.get_qat_devices(self, num=2))
+ vdev += " --vdev crypto_scheduler0,slave=%s_qat_sym,slave=%s_qat_sym,\
+ mode=packet-size-distr" % tuple(cc.get_qat_devices(self, num=2))
+ test_vectors["scheduler_AES_CBC_00"]['vdev'] = vdev
+ test_vectors["scheduler_AES_CBC_00"]['mode'] = "psb"
+ self.__execute_l2fwd_crypto_test(test_vectors, "scheduler_AES_CBC_00")
def test_scheduler_psb_AES_GCM_auto(self):
- if cc.is_test_skip(self):
- return
-
- result = True
- self.logger.info("Test scheduler_psb_AES_GCM")
- if not self.__execute_l2fwd_crypto_test(
- test_vectors, "scheduler_psb_AES_GCM_00"):
- result = False
-
- self.verify(result, "Test failed")
+ vdev = '-w ' + ' -w '.join(cc.get_qat_devices(self, num=1))
+ vdev += " --vdev crypto_aesni_mb1,name=aesni_mb_1"
+ vdev += " --vdev crypto_scheduler0,slave=%s_qat_sym,slave=aesni_mb_1,\
+ mode=packet-size-distr"% tuple(cc.get_qat_devices(self, num=1))
+ test_vectors["scheduler_AES_GCM_00"]['vdev'] = vdev
+ test_vectors["scheduler_AES_GCM_00"]['mode'] = "psb"
+ self.__execute_l2fwd_crypto_test(test_vectors, "scheduler_AES_GCM_00")
def test_scheduler_fo_AES_CBC_auto(self):
- if cc.is_test_skip(self):
- return
-
- result = True
- self.logger.info("Test scheduler_fo_AES_CBC")
- if not self.__execute_l2fwd_crypto_test(
- test_vectors, "scheduler_fo_AES_CBC_00"):
- result = False
-
- self.verify(result, "Test failed")
+ vdev = '-w ' + ' -w '.join(cc.get_qat_devices(self, num=2))
+ vdev += " --vdev crypto_scheduler0,slave=%s_qat_sym,slave=%s_qat_sym,\
+ mode=fail-over" % tuple(cc.get_qat_devices(self, num=2))
+ test_vectors["scheduler_AES_CBC_00"]['vdev'] = vdev
+ test_vectors["scheduler_AES_CBC_00"]['mode'] = "fo"
+ self.__execute_l2fwd_crypto_test(test_vectors, "scheduler_AES_CBC_00")
def test_scheduler_fo_AES_GCM_auto(self):
- if cc.is_test_skip(self):
- return
-
- result = True
- self.logger.info("Test scheduler_fo_AES_GCM")
- if not self.__execute_l2fwd_crypto_test(
- test_vectors, "scheduler_fo_AES_GCM_00"):
- result = False
-
- self.verify(result, "Test failed")
+ vdev = '-w ' + ' -w '.join(cc.get_qat_devices(self, num=1))
+ vdev += " --vdev crypto_aesni_mb1,name=aesni_mb_1"
+ vdev += " --vdev crypto_scheduler0,slave=%s_qat_sym,slave=aesni_mb_1,\
+ mode=fail-over"% tuple(cc.get_qat_devices(self, num=1))
+ test_vectors["scheduler_AES_GCM_00"]['vdev'] = vdev
+ test_vectors["scheduler_AES_GCM_00"]['mode'] = "fo"
+ self.__execute_l2fwd_crypto_test(test_vectors, "scheduler_AES_GCM_00")
def test_scheduler_mm_AES_CBC_auto(self):
- if cc.is_test_skip(self):
- return
-
- result = True
- self.logger.info("Test scheduler_mm_AES_CBC")
- if not self.__execute_l2fwd_crypto_test(
- test_vectors, "scheduler_mm_AES_CBC_00"):
- result = False
-
- self.verify(result, "Test failed")
+ vdev = '-w ' + ' -w '.join(cc.get_qat_devices(self, num=2))
+ vdev += " --vdev crypto_scheduler0,slave=%s_qat_sym,slave=%s_qat_sym\
+ mode=multi-core" % tuple(cc.get_qat_devices(self, num=2))
+ test_vectors["scheduler_AES_CBC_00"]['vdev'] = vdev
+ test_vectors["scheduler_AES_CBC_00"]['mode'] = "mm"
+ self.__execute_l2fwd_crypto_test(test_vectors, "scheduler_AES_CBC_00")
def test_scheduler_mm_AES_GCM_auto(self):
- if cc.is_test_skip(self):
- return
-
- result = True
- self.logger.info("Test scheduler_mm_AES_GCM")
- if not self.__execute_l2fwd_crypto_test(
- test_vectors, "scheduler_mm_AES_GCM_00"):
- result = False
-
- self.verify(result, "Test failed")
+ vdev = '-w ' + ' -w '.join(cc.get_qat_devices(self, num=1))
+ vdev += " --vdev crypto_aesni_mb1,name=aesni_mb_1"
+ vdev += " --vdev crypto_scheduler0,slave=%s_qat_sym,slave=aesni_mb_1,\
+ mode=multi-core"% tuple(cc.get_qat_devices(self, num=1))
+ test_vectors["scheduler_AES_GCM_00"]['vdev'] = vdev
+ test_vectors["scheduler_AES_GCM_00"]['mode'] = "mm"
+ self.__execute_l2fwd_crypto_test(test_vectors, "scheduler_AES_GCM_00")
def __calculate_total_cases_numb(self):
alg_map = {}
@@ -736,6 +331,8 @@ class TestL2fwdCrypto(TestCase):
self.logger.info("Total cases:\t\t\t {0}".format(count))
def __execute_l2fwd_crypto_test(self, test_vectors, test_vector_name):
+ if cc.is_test_skip(self):
+ return
if test_vector_name not in test_vectors:
self.logger.warning("SKIP : " + test_vector_name)
@@ -747,21 +344,34 @@ class TestL2fwdCrypto(TestCase):
core_mask=self.core_mask,
port_mask=self.port_mask)
- result = True
self.logger.info("Total Generated {0} Tests".format(len(test_vector_list)))
+
+ running_case = self.running_case
+ dut = self.dut.crb["IP"]
+ dut_index = self._suite_result.internals.index(dut)
+ target_index = self._suite_result.internals[dut_index+1].index(self.target)
+ suite_index = self._suite_result.internals[dut_index+1][target_index+2].index(self.suite_name)
+ if running_case in self._suite_result.internals[dut_index+1][target_index+2][suite_index+1]:
+ case_index = self._suite_result.internals[dut_index+1][target_index+2][suite_index+1].index(running_case)
+ self._suite_result.internals[dut_index+1][target_index+2][suite_index+1].pop(case_index+1)
+ self._suite_result.internals[dut_index+1][target_index+2][suite_index+1].pop(case_index)
+
for test_vector in test_vector_list:
+ result = True
self.logger.debug(test_vector)
+ self.vector = []
cmd_str = self.__test_vector_to_cmd(test_vector,
core_mask=self.core_mask,
port_mask=self.port_mask)
+ self._suite_result.test_case = '_'.join(self.vector)
self.dut.send_expect(cmd_str, "==", 40)
time.sleep(5)
payload = self.__format_hex_to_list(test_vector["input"])
inst = self.tester.tcpdump_sniff_packets(self.rx_interface,
- filters=[{'layer': 'ether',
- 'config': {'dst': '52:00:00:00:00:01'}}])
+ filters=[{'layer': 'ether',
+ 'config': {'dst': '52:00:00:00:00:01'}}])
PACKET_COUNT = 65
pkt = Packet()
@@ -772,7 +382,10 @@ class TestL2fwdCrypto(TestCase):
pkt.send_pkt(self.tester, tx_port=self.tx_interface, count=PACKET_COUNT)
pkt_rec = self.tester.load_tcpdump_sniff_packets(inst)
+
+ self.logger.info("Send pkgs: {}".format(PACKET_COUNT))
self.logger.info("Receive pkgs: {}".format(len(pkt_rec)))
+ self.verify(len(pkt_rec), "Can not receive any package")
for i in range(len(pkt_rec)):
packet_hex = pkt_rec[i]["Raw"].getfieldval("load")
if packet_hex == None:
@@ -814,12 +427,12 @@ class TestL2fwdCrypto(TestCase):
# Close l2fwd-crypto process
self.dut.kill_all()
- if result:
- self.logger.info("PASSED")
- else:
- self.logger.info("FAILED")
+ if result:
+ self._suite_result.test_case_passed()
+ else:
+ self._suite_result.test_case_failed("Test failed")
- return result
+ self.verify(result, "Test Failed")
def tear_down(self):
self.dut.kill_all()
@@ -828,20 +441,30 @@ class TestL2fwdCrypto(TestCase):
cc.clear_dpdk_config(self)
def __test_vector_to_cmd(self, test_vector, core_mask="", port_mask=""):
-
- eal_opt_str = cc.get_eal_opt_str(self, add_port=True)
+ cores = ','.join(self.core_list)
+ eal_opt_str = cc.get_eal_opt_str(self, {'l': cores}, add_port=True)
EAL_SEP = " --"
PORT_MASK = "" if port_mask == "" else " -p " + port_mask
QUEUE_NUM = ""
vdev = ""
- if self.__check_field_in_vector(test_vector, "vdev"):
- vdev = " --vdev " + test_vector["vdev"]
+ if test_vector["vdev"].find("scheduler") != -1:
+ vdev = test_vector["vdev"]
+ self.vector.append("Scheduler_" + test_vector["mode"])
+ elif self.__check_field_in_vector(test_vector, "vdev"):
+ vdev = "--vdev " + test_vector["vdev"] + "1" +\
+ " --vdev " + test_vector["vdev"] + "2" +\
+ " -w 0000:00:00.0"
+ self.vector.append(test_vector["vdev"].upper())
+ else:
+ vdev = '-w ' + ' -w '.join(cc.get_qat_devices(self, num=2))
+ self.vector.append("QAT")
chain = ""
if self.__check_field_in_vector(test_vector, "chain"):
chain = " --chain " + test_vector["chain"]
+ self.vector.append(test_vector["chain"].lower())
cdev_type = ""
if self.__check_field_in_vector(test_vector, "cdev_type"):
@@ -858,64 +481,74 @@ class TestL2fwdCrypto(TestCase):
aad = ""
iv = ""
digest_size = ""
+
if test_vector["chain"].upper() == "AEAD":
if self.__check_field_in_vector(test_vector, "cipher_algo"):
cipher_algo = " --aead_algo " + test_vector["cipher_algo"]
-
+ self.vector.append(test_vector["cipher_algo"])
if self.__check_field_in_vector(test_vector, "cipher_op"):
cipher_op = " --aead_op " + test_vector["cipher_op"]
-
+ self.vector.append(test_vector["cipher_op"].lower())
if self.__check_field_in_vector(test_vector, "cipher_key"):
cipher_key = " --aead_key " + self.__format_hex_to_param(test_vector["cipher_key"])
-
+ self.vector.append("aead_key_%d" % (len(test_vector["cipher_key"])//2))
if self.__check_field_in_vector(test_vector, "iv"):
iv = " --aead_iv " + self.__format_hex_to_param(test_vector["iv"])
+ self.vector.append('iv_%d' % (len(test_vector["iv"])//2))
if self.__check_field_in_vector(test_vector, "aad"):
aad = " --aad " + self.__format_hex_to_param(test_vector["aad"])
-
+ self.vector.append('aad_%d' % (len(test_vector["aad"])//2))
if self.__check_field_in_vector(test_vector, "digest_size"):
digest_size = " --digest " + str(test_vector["digest_size"])
-
+ self.vector.append('digest_%d' % test_vector["digest_size"])
else:
if self.__check_field_in_vector(test_vector, "cipher_algo"):
cipher_algo = " --cipher_algo " + test_vector["cipher_algo"]
-
+ self.vector.append(test_vector["cipher_algo"])
if self.__check_field_in_vector(test_vector, "cipher_op"):
cipher_op = " --cipher_op " + test_vector["cipher_op"]
+ self.vector.append(test_vector["cipher_op"].lower())
if self.__check_field_in_vector(test_vector, "cipher_key"):
cipher_key = " --cipher_key " + self.__format_hex_to_param(test_vector["cipher_key"])
-
+ self.vector.append('cipher_key_%d' % (len(test_vector["cipher_key"])//2))
if self.__check_field_in_vector(test_vector, "iv"):
iv = " --cipher_iv " + self.__format_hex_to_param(test_vector["iv"])
+ self.vector.append('cipher_iv_%d' % (len(test_vector["iv"])//2))
if self.__check_field_in_vector(test_vector, "auth_algo"):
auth_algo = " --auth_algo " + test_vector["auth_algo"]
+ self.vector.append(test_vector["auth_algo"])
if self.__check_field_in_vector(test_vector, "auth_op"):
auth_op = " --auth_op " + test_vector["auth_op"]
+ self.vector.append(test_vector["auth_op"].lower())
if self.__check_field_in_vector(test_vector, "auth_key"):
auth_key = " --auth_key " + self.__format_hex_to_param(test_vector["auth_key"])
+ self.vector.append('auth_key_%d' % (len(test_vector["auth_key"])//2))
if self.__check_field_in_vector(test_vector, "auth_key_random_size"):
auth_key_random_size = " --auth_key_random_size " + test_vector["auth_key_random_size"]
+ self.vector.append('auth_key_random_size_%d' % len(test_vector["auth_key_random_size"]))
if self.__check_field_in_vector(test_vector, "aad"):
aad = " --auth_iv " + self.__format_hex_to_param(test_vector["aad"])
+ self.vector.append('auth_iv_%d' % (len(test_vector["aad"])//2))
if self.__check_field_in_vector(test_vector, "aad_random_size"):
aad_random_size = " --aad_random_size " + test_vector["aad_random_size"]
+ self.vector.append('aad_random_size_%d' % len(test_vector["aad_random_size"]))
if self.__check_field_in_vector(test_vector, "digest_size"):
digest_size = " --digest " + str(test_vector["digest_size"])
+ self.vector.append('digest_%d' % test_vector["digest_size"])
- cmd_str = " ".join([self._app_path, eal_opt_str, vdev, vdev, EAL_SEP, PORT_MASK,
+ cmd_str = " ".join([self._app_path, eal_opt_str, vdev, EAL_SEP, PORT_MASK,
QUEUE_NUM, chain, cdev_type, cipher_algo,
cipher_op, cipher_key, iv, auth_algo, auth_op,
auth_key, auth_key_random_size, aad,
aad_random_size, digest_size, "--no-mac-updating"])
-
return cmd_str
def __check_field_in_vector(self, test_vector, field_name):
@@ -989,6 +622,7 @@ class TestL2fwdCrypto(TestCase):
def __cryptography_cipher(self, vector):
key = binascii.a2b_hex(vector["cipher_key"])
iv = binascii.a2b_hex(vector["iv"])
+
cipher_str = ""
if vector["chain"].upper() != "AEAD":
if vector["cipher_algo"] == "aes-cbc":
@@ -1006,7 +640,6 @@ class TestL2fwdCrypto(TestCase):
elif vector["cipher_algo"] == "aes-xts":
cipher_algo = algorithms.AES(key)
cipher_mode = modes.XTS(iv)
-
elif vector["cipher_algo"] == "des-cbc":
cipher = pyDes.des(key, pyDes.CBC, iv)
if vector["cipher_op"] == "DECRYPT":
@@ -1202,6 +835,7 @@ class TestL2fwdCrypto(TestCase):
key = binascii.a2b_hex(vector["cipher_key"])
iv = binascii.a2b_hex(vector["iv"])
aesgcm = AESGCM(key)
+
hash_str = aesgcm.encrypt(iv,
binascii.a2b_hex(vector["input"]),
binascii.a2b_hex(vector["aad"]))
@@ -1291,20 +925,18 @@ class TestL2fwdCrypto(TestCase):
},
"aes-gcm": {
"cipher_key": [16, 24, 32],
- "auth_key": [16, 24, 32],
"aad": [0, 1, 2, 3, 4, 5, 6, 8, 9, 12, 16, 24, 32, 64, 128, 155, 256, 1024, 65535],
- "iv": [12, 16],
+ "iv": [12],
"digest_size": [8,12,16]
},
"aes-ccm": {
"cipher_key": [16, 24, 32],
- "auth_key": [16, 24, 32],
"aad": [0, 1, 2, 3, 4, 5, 6, 8, 9, 12, 16, 24, 32, 64, 128, 155, 256, 1024, 65535],
"iv": [7, 8, 9, 10, 11, 12, 13],
"digest_size": [4, 6, 8, 10, 12, 14, 16]
},
"aes-docsisbpi": {
- "cipher_key": [16],
+ "cipher_key": [16, 32],
"iv": [16],
},
"des-docsisbpi": {
@@ -1515,7 +1147,7 @@ class TestL2fwdCrypto(TestCase):
def __iter_auth_algo(self, vector, vector_list, core_mask="", port_mask=""):
test_vector = vector.copy()
- if test_vector["chain"] == "CIPHER_ONLY":
+ if test_vector["chain"] in ["CIPHER_ONLY", "AEAD"]:
test_vector["auth_algo"] = ""
self.__iter_auth_op(test_vector, vector_list, core_mask, port_mask)
else:
@@ -1527,7 +1159,7 @@ class TestL2fwdCrypto(TestCase):
def __iter_auth_op(self, vector, vector_list, core_mask="", port_mask=""):
test_vector = vector.copy()
- if test_vector["chain"] == "CIPHER_ONLY":
+ if test_vector["chain"] in ["CIPHER_ONLY", "AEAD"]:
test_vector["auth_op"] = ""
self.__iter_auth_key(test_vector, vector_list, core_mask, port_mask)
else:
@@ -1541,7 +1173,7 @@ class TestL2fwdCrypto(TestCase):
def __iter_auth_key(self, vector, vector_list, core_mask="", port_mask=""):
test_vector = vector.copy()
- if test_vector["chain"] == "CIPHER_ONLY":
+ if test_vector["chain"] in ["CIPHER_ONLY", "AEAD"]:
test_vector["auth_key"] = ""
self.__iter_aad(test_vector, vector_list, core_mask, port_mask)
else:
@@ -1570,9 +1202,10 @@ class TestL2fwdCrypto(TestCase):
for aad in aad_list:
test_vector = vector.copy()
if isinstance(aad, int):
- if self.__is_valid_size("aad",
- test_vector["auth_algo"],
- aad):
+ if self.__is_valid_size("aad", test_vector["auth_algo"], aad) or\
+ (test_vector["chain"] == "AEAD" and\
+ self.__is_valid_size("aad", test_vector["cipher_algo"],
+ aad)):
test_vector["aad"] = self.__gen_key(aad)
self.__digest_size(test_vector, vector_list,
core_mask, port_mask)
@@ -1593,9 +1226,10 @@ class TestL2fwdCrypto(TestCase):
for digest in digest_list:
test_vector = vector.copy()
if isinstance(digest, int):
- if self.__is_valid_size("digest_size",
- test_vector["auth_algo"],
- digest):
+ if self.__is_valid_size("digest_size", test_vector["auth_algo"], digest)\
+ or (test_vector["chain"] == "AEAD" and\
+ self.__is_valid_size("digest_size", test_vector["cipher_algo"],
+ digest)):
test_vector["digest_size"] = digest
self.__iter_input(test_vector, vector_list,
core_mask, port_mask)
@@ -1686,7 +1320,7 @@ test_vectors = {
"aad": [16],
"aad_random_size": "",
"input": [256],
- "digest_size": [16],
+ "digest_size": [8, 16],
"output_cipher": "*",
"output_hash": "*"
},
@@ -1706,7 +1340,7 @@ test_vectors = {
"aad": [8],
"aad_random_size": "",
"input": [256],
- "digest_size": [16],
+ "digest_size": [8, 16],
"output_cipher": "*",
"output_hash": "*"
},
@@ -1821,9 +1455,9 @@ fc2ab337f7031a0f20636c82074a6bebcf91f06e04d45fa1dcc8454b6be54e53e3f9c99f0f830b16
"output_hash": "*"
},
- "qat_c_UEA2_01": {
+ "qat_snow3g_00": {
"vdev": "",
- "chain": ["CIPHER_ONLY"],
+ "chain": ["CIPHER_ONLY", "HASH_ONLY"],
"cdev_type": "HW",
"cipher_algo": ["snow3g-uea2"],
"cipher_op": ["ENCRYPT"],
@@ -1836,34 +1470,14 @@ fc2ab337f7031a0f20636c82074a6bebcf91f06e04d45fa1dcc8454b6be54e53e3f9c99f0f830b16
"aad": [16],
"aad_random_size": "",
"input": [256],
- "digest_size": "",
- "output_cipher": "*",
- "output_hash": "*"
- },
-
- "qat_h_UIA2_01": {
- "vdev": "",
- "chain": ["HASH_ONLY"],
- "cdev_type": "HW",
- "cipher_algo": "",
- "cipher_op": "",
- "cipher_key": "",
- "iv": "",
- "auth_algo": ["snow3g-uia2"],
- "auth_op": ["GENERATE"],
- "auth_key": [16],
- "auth_key_random_size": "",
- "aad": [16],
- "aad_random_size": "",
- "input": [256],
"digest_size": [4],
"output_cipher": "*",
"output_hash": "*"
},
- "qat_kasumi_c_F8_01": {
+ "qat_kasumi_00": {
"vdev": "",
- "chain": ["CIPHER_ONLY"],
+ "chain": ["CIPHER_ONLY", "HASH_ONLY"],
"cdev_type": "HW",
"cipher_algo": ["kasumi-f8"],
"cipher_op": ["ENCRYPT"],
@@ -1873,26 +1487,6 @@ fc2ab337f7031a0f20636c82074a6bebcf91f06e04d45fa1dcc8454b6be54e53e3f9c99f0f830b16
"auth_op": ["GENERATE"],
"auth_key": [16],
"auth_key_random_size": "",
- "aad": [8],
- "aad_random_size": "",
- "input": [256],
- "digest_size": "",
- "output_cipher": "*",
- "output_hash": "*"
- },
-
- "qat_kasumi_h_F9_01": {
- "vdev": "",
- "chain": ["HASH_ONLY"],
- "cdev_type": "HW",
- "cipher_algo": "",
- "cipher_op": "",
- "cipher_key": "",
- "iv": "",
- "auth_algo": ["kasumi-f9"],
- "auth_op": ["GENERATE"],
- "auth_key": [16],
- "auth_key_random_size": "",
"aad": "",
"aad_random_size": "",
"input": [256],
@@ -1901,9 +1495,9 @@ fc2ab337f7031a0f20636c82074a6bebcf91f06e04d45fa1dcc8454b6be54e53e3f9c99f0f830b16
"output_hash": "*"
},
- "qat_c_EEA3_01": {
+ "qat_zuc_00": {
"vdev": "",
- "chain": ["CIPHER_ONLY"],
+ "chain": ["CIPHER_ONLY", "HASH_ONLY"],
"cdev_type": "HW",
"cipher_algo": ["zuc-eea3"],
"cipher_op": ["ENCRYPT"],
@@ -1916,26 +1510,6 @@ fc2ab337f7031a0f20636c82074a6bebcf91f06e04d45fa1dcc8454b6be54e53e3f9c99f0f830b16
"aad": [16],
"aad_random_size": "",
"input": [256],
- "digest_size": "",
- "output_cipher": "*",
- "output_hash": "*"
- },
-
- "qat_h_EIA3_01": {
- "vdev": "",
- "chain": ["HASH_ONLY"],
- "cdev_type": "HW",
- "cipher_algo": "",
- "cipher_op": "",
- "cipher_key": "",
- "iv": "",
- "auth_algo": ["zuc-eia3"],
- "auth_op": ["GENERATE"],
- "auth_key": [16],
- "auth_key_random_size": "",
- "aad": [16],
- "aad_random_size": "",
- "input": [256],
"digest_size": [4],
"output_cipher": "*",
"output_hash": "*"
@@ -2038,7 +1612,7 @@ fc2ab337f7031a0f20636c82074a6bebcf91f06e04d45fa1dcc8454b6be54e53e3f9c99f0f830b16
"aad": [8],
"aad_random_size": "",
"input": [256],
- "digest_size": [16],
+ "digest_size": [8, 16],
"output_cipher": "*",
"output_hash": "*"
},
@@ -2092,20 +1666,20 @@ fc2ab337f7031a0f20636c82074a6bebcf91f06e04d45fa1dcc8454b6be54e53e3f9c99f0f830b16
"cipher_op": ["ENCRYPT"],
"cipher_key": [16, 24, 32],
"iv": [12],
- "auth_algo": ["aes-gcm", "aes-gmac"],
- "auth_op": ["GENERATE"],
- "auth_key": [16],
+ "auth_algo": ["aes-gcm"],
+ "auth_op": "",
+ "auth_key": "",
"auth_key_random_size": "",
"aad": [16],
"aad_random_size": "",
"input": [256],
- "digest_size": [16],
+ "digest_size": [8, 16],
"output_cipher": "*",
"output_hash": "*"
},
"null_NULL_auto": {
- "vdev": "crypto_null_pmd",
+ "vdev": "crypto_null",
"chain": ["CIPHER_ONLY", "HASH_ONLY", "CIPHER_HASH"],
"cdev_type": "SW",
"cipher_algo": ["null"],
@@ -2126,7 +1700,7 @@ fc2ab337f7031a0f20636c82074a6bebcf91f06e04d45fa1dcc8454b6be54e53e3f9c99f0f830b16
},
"aesni_gcm_aead_AES_GCM_01": {
- "vdev": "crypto_aesni_gcm_pmd",
+ "vdev": "crypto_aesni_gcm",
"chain": ["AEAD"],
"cdev_type": "SW",
"cipher_algo": ["aes-gcm"],
@@ -2140,13 +1714,13 @@ fc2ab337f7031a0f20636c82074a6bebcf91f06e04d45fa1dcc8454b6be54e53e3f9c99f0f830b16
"aad": [16],
"aad_random_size": "",
"input": [256],
- "digest_size": [16],
+ "digest_size": [8, 16],
"output_cipher": "*",
"output_hash": "*"
},
"aesni_gcm_aead_AES_CCM_01": {
- "vdev": "crypto_aesni_gcm_pmd",
+ "vdev": "crypto_aesni_gcm",
"chain": ["AEAD"],
"cdev_type": "SW",
"cipher_algo": ["aes-ccm"],
@@ -2160,14 +1734,14 @@ fc2ab337f7031a0f20636c82074a6bebcf91f06e04d45fa1dcc8454b6be54e53e3f9c99f0f830b16
"aad": [16],
"aad_random_size": "",
"input": [256],
- "digest_size": [16],
+ "digest_size": [8, 16],
"output_cipher": "*",
"output_hash": "*"
},
- "kasumi_c_F8_01": {
- "vdev": "crypto_kasumi_pmd",
- "chain": ["CIPHER_ONLY"],
+ "kasumi_kasumi_00": {
+ "vdev": "crypto_kasumi",
+ "chain": ["CIPHER_ONLY", "HASH_ONLY"],
"cdev_type": "SW",
"cipher_algo": ["kasumi-f8"],
"cipher_op": ["ENCRYPT"],
@@ -2177,26 +1751,6 @@ fc2ab337f7031a0f20636c82074a6bebcf91f06e04d45fa1dcc8454b6be54e53e3f9c99f0f830b16
"auth_op": ["GENERATE"],
"auth_key": [16],
"auth_key_random_size": "",
- "aad": [8],
- "aad_random_size": "",
- "input": [256],
- "digest_size": "",
- "output_cipher": "*",
- "output_hash": "*"
- },
-
- "kasumi_h_F9_01": {
- "vdev": "crypto_kasumi_pmd",
- "chain": ["HASH_ONLY"],
- "cdev_type": "SW",
- "cipher_algo": "",
- "cipher_op": "",
- "cipher_key": "",
- "iv": "",
- "auth_algo": ["kasumi-f9"],
- "auth_op": ["GENERATE"],
- "auth_key": [16],
- "auth_key_random_size": "",
"aad": "",
"aad_random_size": "",
"input": [256],
@@ -2205,9 +1759,9 @@ fc2ab337f7031a0f20636c82074a6bebcf91f06e04d45fa1dcc8454b6be54e53e3f9c99f0f830b16
"output_hash": "*"
},
- "snow3g_c_UEA2_01": {
- "vdev": "crypto_snow3g_pmd",
- "chain": ["CIPHER_ONLY"],
+ "snow3g_snow3g_00": {
+ "vdev": "crypto_snow3g",
+ "chain": ["CIPHER_ONLY", "HASH_ONLY"],
"cdev_type": "SW",
"cipher_algo": ["snow3g-uea2"],
"cipher_op": ["ENCRYPT"],
@@ -2220,34 +1774,14 @@ fc2ab337f7031a0f20636c82074a6bebcf91f06e04d45fa1dcc8454b6be54e53e3f9c99f0f830b16
"aad": [16],
"aad_random_size": "",
"input": [256],
- "digest_size": "",
- "output_cipher": "*",
- "output_hash": "*"
- },
-
- "snow3g_h_UIA2_01": {
- "vdev": "crypto_snow3g_pmd",
- "chain": ["HASH_ONLY"],
- "cdev_type": "SW",
- "cipher_algo": "",
- "cipher_op": "",
- "cipher_key": "",
- "iv": "",
- "auth_algo": ["snow3g-uia2"],
- "auth_op": ["GENERATE"],
- "auth_key": [16],
- "auth_key_random_size": "",
- "aad": [16],
- "aad_random_size": "",
- "input": [256],
"digest_size": [4],
"output_cipher": "*",
"output_hash": "*"
},
- "zuc_c_EEA3_01": {
- "vdev": "crypto_zuc_pmd",
- "chain": ["CIPHER_ONLY"],
+ "zuc_zuc_00": {
+ "vdev": "crypto_zuc",
+ "chain": ["CIPHER_ONLY", "HASH_ONLY"],
"cdev_type": "SW",
"cipher_algo": ["zuc-eea3"],
"cipher_op": ["ENCRYPT"],
@@ -2260,33 +1794,13 @@ fc2ab337f7031a0f20636c82074a6bebcf91f06e04d45fa1dcc8454b6be54e53e3f9c99f0f830b16
"aad": [16],
"aad_random_size": "",
"input": [256],
- "digest_size": "",
- "output_cipher": "*",
- "output_hash": "*"
- },
-
- "zuc_h_EIA3_01": {
- "vdev": "crypto_zuc_pmd",
- "chain": ["HASH_ONLY"],
- "cdev_type": "SW",
- "cipher_algo": "",
- "cipher_op": "",
- "cipher_key": "",
- "iv": "",
- "auth_algo": ["zuc-eia3"],
- "auth_op": ["GENERATE"],
- "auth_key": [16],
- "auth_key_random_size": "",
- "aad": [16],
- "aad_random_size": "",
- "input": [256],
"digest_size": [4],
"output_cipher": "*",
"output_hash": "*"
},
"openssl_3DES_CBC_00": {
- "vdev": "crypto_openssl_pmd",
+ "vdev": "crypto_openssl",
"chain": ["CIPHER_ONLY", "CIPHER_HASH"],
"cdev_type": "SW",
"cipher_algo": ["3des-cbc"],
@@ -2306,7 +1820,7 @@ fc2ab337f7031a0f20636c82074a6bebcf91f06e04d45fa1dcc8454b6be54e53e3f9c99f0f830b16
},
"openssl_3DES_CTR_00": {
- "vdev": "crypto_openssl_pmd",
+ "vdev": "crypto_openssl",
"chain": ["CIPHER_ONLY", "CIPHER_HASH"],
"cdev_type": "SW",
"cipher_algo": ["3des-ctr"],
@@ -2332,7 +1846,7 @@ fc2ab337f7031a0f20636c82074a6bebcf91f06e04d45fa1dcc8454b6be54e53e3f9c99f0f830b16
},
"openssl_AES_CBC_00": {
- "vdev": "crypto_openssl_pmd",
+ "vdev": "crypto_openssl",
"chain": ["CIPHER_ONLY", "CIPHER_HASH"],
"cdev_type": "SW",
"cipher_algo": ["aes-cbc"],
@@ -2352,7 +1866,7 @@ fc2ab337f7031a0f20636c82074a6bebcf91f06e04d45fa1dcc8454b6be54e53e3f9c99f0f830b16
},
"openssl_AES_CTR_00": {
- "vdev": "crypto_openssl_pmd",
+ "vdev": "crypto_openssl",
"chain": ["CIPHER_ONLY", "CIPHER_HASH"],
"cdev_type": "SW",
"cipher_algo": ["aes-ctr"],
@@ -2372,7 +1886,7 @@ fc2ab337f7031a0f20636c82074a6bebcf91f06e04d45fa1dcc8454b6be54e53e3f9c99f0f830b16
},
"openssl_AES_GCM_00": {
- "vdev": "crypto_openssl_pmd",
+ "vdev": "crypto_openssl",
"chain": ["AEAD"],
"cdev_type": "SW",
"cipher_algo": ["aes-gcm"],
@@ -2393,7 +1907,7 @@ fc2ab337f7031a0f20636c82074a6bebcf91f06e04d45fa1dcc8454b6be54e53e3f9c99f0f830b16
},
"openssl_AES_CCM_00": {
- "vdev": "crypto_openssl_pmd",
+ "vdev": "crypto_openssl",
"chain": ["AEAD"],
"cdev_type": "SW",
"cipher_algo": ["aes-ccm"],
@@ -2407,13 +1921,13 @@ fc2ab337f7031a0f20636c82074a6bebcf91f06e04d45fa1dcc8454b6be54e53e3f9c99f0f830b16
"aad": [16],
"aad_random_size": "",
"input": [256],
- "digest_size": [16],
+ "digest_size": [8, 16],
"output_cipher": "*",
"output_hash": "*"
},
"openssl_h_MD_SHA_00": {
- "vdev": "crypto_openssl_pmd",
+ "vdev": "crypto_openssl",
"chain": ["HASH_ONLY"],
"cdev_type": "SW",
"cipher_algo": "",
@@ -2494,7 +2008,7 @@ fc2ab337f7031a0f20636c82074a6bebcf91f06e04d45fa1dcc8454b6be54e53e3f9c99f0f830b16
},
"openssl_DES_DOCSISBPI_01": {
- "vdev": "crypto_openssl_pmd",
+ "vdev": "crypto_openssl",
"chain": ["CIPHER_ONLY"],
"cdev_type": "SW",
"cipher_algo": "des-docsisbpi",
@@ -2554,7 +2068,7 @@ fc2ab337f7031a0f20636c82074a6bebcf91f06e04d45fa1dcc8454b6be54e53e3f9c99f0f830b16
},
"openssl_DES_CBC_00": {
- "vdev": "crypto_openssl_pmd",
+ "vdev": "crypto_openssl",
"chain": ["CIPHER_ONLY", "CIPHER_HASH"],
"cdev_type": "SW",
"cipher_algo": ["des-cbc"],
@@ -2573,135 +2087,15 @@ fc2ab337f7031a0f20636c82074a6bebcf91f06e04d45fa1dcc8454b6be54e53e3f9c99f0f830b16
"output_hash": "*"
},
- "scheduler_rr_AES_CBC_00": {
- "vdev": "crypto_scheduler_rr",
- "chain": ["CIPHER_ONLY", "CIPHER_HASH"],
- "cdev_type": "HW",
- "cipher_algo": ["aes-cbc"],
- "cipher_op": ["ENCRYPT"],
- "cipher_key": [16],
- "iv": [16],
- "auth_algo": ["sha1-hmac", "sha2-256-hmac"],
- "auth_op": ["GENERATE"],
- "auth_key": [64],
- "auth_key_random_size": "",
- "aad": [0],
- "aad_random_size": "",
- "input": [256],
- "digest_size": [20, 32],
- "output_cipher": "*",
- "output_hash": "*"
- },
-
- "scheduler_rr_AES_GCM_00": {
- "vdev": "crypto_scheduler_rr",
- "chain": ["AEAD"],
- "cdev_type": "HW",
- "cipher_algo": ["aes-gcm"],
- "cipher_op": ["ENCRYPT"],
- "cipher_key": [16, 24, 32],
- "iv": [12],
- "auth_algo": ["aes-gcm"],
- "auth_op": ["GENERATE"],
- "auth_key": [16],
- "auth_key_random_size": "",
- "aad": [16],
- "aad_random_size": "",
- "input": [256],
- "digest_size": [16],
- "output_cipher": "*",
- "output_hash": "*"
- },
-
- "scheduler_psb_AES_CBC_00": {
- "vdev": "crypto_scheduler_psb",
- "chain": ["CIPHER_ONLY", "CIPHER_HASH"],
- "cdev_type": "SW",
- "cipher_algo": ["aes-cbc"],
- "cipher_op": ["ENCRYPT", "DECRYPT"],
- "cipher_key": [16],
- "iv": [16],
- "auth_algo": ["sha1-hmac", "sha2-256-hmac"],
- "auth_op": ["GENERATE"],
- "auth_key": [64],
- "auth_key_random_size": "",
- "aad": [0],
- "aad_random_size": "",
- "input": [256],
- "digest_size": [20, 32],
- "output_cipher": "*",
- "output_hash": "*"
- },
-
- "scheduler_psb_AES_GCM_00": {
- "vdev": "crypto_scheduler_psb",
- "chain": ["AEAD"],
- "cdev_type": "SW",
- "cipher_algo": ["aes-gcm"],
- "cipher_op": ["ENCRYPT"],
- "cipher_key": [16, 24, 32],
- "iv": [12],
- "auth_algo": ["aes-gcm"],
- "auth_op": ["GENERATE"],
- "auth_key": [16],
- "auth_key_random_size": "",
- "aad": [16],
- "aad_random_size": "",
- "input": [256],
- "digest_size": [16],
- "output_cipher": "*",
- "output_hash": "*"
- },
-
- "scheduler_fo_AES_CBC_00": {
- "vdev": "crypto_scheduler_fo",
- "chain": ["CIPHER_ONLY", "CIPHER_HASH"],
- "cdev_type": "SW",
- "cipher_algo": ["aes-cbc"],
- "cipher_op": ["ENCRYPT", "DECRYPT"],
- "cipher_key": [16],
- "iv": [16],
- "auth_algo": ["sha1-hmac", "sha2-256-hmac"],
- "auth_op": ["GENERATE"],
- "auth_key": [64],
- "auth_key_random_size": "",
- "aad": [0],
- "aad_random_size": "",
- "input": [256],
- "digest_size": [20, 32],
- "output_cipher": "*",
- "output_hash": "*"
- },
-
- "scheduler_fo_AES_GCM_00": {
- "vdev": "crypto_scheduler_fo",
- "chain": ["AEAD"],
- "cdev_type": "SW",
- "cipher_algo": ["aes-gcm"],
- "cipher_op": ["ENCRYPT"],
- "cipher_key": [16, 24, 32],
- "iv": [12],
- "auth_algo": ["aes-gcm"],
- "auth_op": ["GENERATE"],
- "auth_key": [16],
- "auth_key_random_size": "",
- "aad": [16],
- "aad_random_size": "",
- "input": [256],
- "digest_size": [16],
- "output_cipher": "*",
- "output_hash": "*"
- },
-
- "scheduler_mm_AES_CBC_00": {
- "vdev": "crypto_scheduler_mm",
- "chain": ["CIPHER_ONLY", "CIPHER_HASH"],
- "cdev_type": "SW",
+ "scheduler_AES_CBC_00": {
+ "vdev": "crypto_scheduler",
+ "chain": ["CIPHER_HASH"],
+ "cdev_type": "ANY",
"cipher_algo": ["aes-cbc"],
"cipher_op": ["ENCRYPT", "DECRYPT"],
"cipher_key": [16],
"iv": [16],
- "auth_algo": ["sha1-hmac", "sha2-256-hmac"],
+ "auth_algo": ["sha1-hmac"],
"auth_op": ["GENERATE"],
"auth_key": [64],
"auth_key_random_size": "",
@@ -2713,10 +2107,10 @@ fc2ab337f7031a0f20636c82074a6bebcf91f06e04d45fa1dcc8454b6be54e53e3f9c99f0f830b16
"output_hash": "*"
},
- "scheduler_mm_AES_GCM_00": {
- "vdev": "crypto_scheduler_mm",
+ "scheduler_AES_GCM_00": {
+ "vdev": "crypto_scheduler",
"chain": ["AEAD"],
- "cdev_type": "SW",
+ "cdev_type": "ANY",
"cipher_algo": ["aes-gcm"],
"cipher_op": ["ENCRYPT"],
"cipher_key": [16, 24, 32],
--
2.17.1
^ permalink raw reply [flat|nested] 10+ messages in thread