test/bdev: Split crypto test and convert it to RPC calls
Split is done based on the crypto driver type: - crypto_aesni - crypto_qat Change-Id: I47610eea7dd69defcbda9aa801a8bd8eeab820ee Signed-off-by: Michal Berger <michalx.berger@intel.com> Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/1020 Tested-by: SPDK CI Jenkins <sys_sgci@intel.com> Reviewed-by: Darek Stojaczyk <dariusz.stojaczyk@intel.com> Reviewed-by: Paul Luse <paul.e.luse@intel.com> Reviewed-by: Shuhei Matsumoto <shuhei.matsumoto.xt@hitachi.com>
This commit is contained in:
parent
9fd5bccc97
commit
102731bd40
@ -290,7 +290,11 @@ if [ $SPDK_RUN_FUNCTIONAL_TEST -eq 1 ]; then
|
||||
fi
|
||||
|
||||
if [ $SPDK_TEST_CRYPTO -eq 1 ]; then
|
||||
run_test "blockdev_crypto" ./test/bdev/blockdev.sh "crypto"
|
||||
run_test "blockdev_crypto_aesni" ./test/bdev/blockdev.sh "crypto_aesni"
|
||||
# Proceed with the test only if QAT devices are in place
|
||||
if [[ $(lspci -d:37c8) ]]; then
|
||||
run_test "blockdev_crypto_qat" ./test/bdev/blockdev.sh "crypto_qat"
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
|
||||
|
@ -107,13 +107,26 @@ function setup_gpt_conf() {
|
||||
fi
|
||||
}
|
||||
|
||||
function setup_crypto_conf() {
|
||||
cat >$conf_file <<-EOF
|
||||
[Malloc]
|
||||
NumberOfLuns 3
|
||||
LunSizeInMB 16
|
||||
EOF
|
||||
$testdir/gen_crypto.sh Malloc0 Malloc1 Malloc2 >> $conf_file
|
||||
function setup_crypto_aesni_conf() {
|
||||
# Malloc0 and Malloc1 use AESNI
|
||||
"$rpc_py" <<-RPC
|
||||
bdev_malloc_create -b Malloc0 16 512
|
||||
bdev_malloc_create -b Malloc1 16 512
|
||||
bdev_crypto_create Malloc0 crypto_ram crypto_aesni_mb 0123456789123456
|
||||
bdev_crypto_create Malloc1 crypto_ram2 crypto_aesni_mb 9012345678912345
|
||||
RPC
|
||||
}
|
||||
|
||||
function setup_crypto_qat_conf() {
|
||||
# Malloc0 will use QAT AES_CBC
|
||||
# Malloc1 will use QAT AES_XTS
|
||||
"$rpc_py" <<-RPC
|
||||
bdev_malloc_create -b Malloc0 16 512
|
||||
bdev_malloc_create -b Malloc1 16 512
|
||||
bdev_crypto_create Malloc0 crypto_ram crypto_qat 0123456789123456
|
||||
bdev_crypto_create -c AES_XTS -k2 0123456789123456 Malloc1 crypto_ram3 crypto_qat 0123456789123456
|
||||
RPC
|
||||
"$rpc_py" bdev_get_bdevs -b Malloc1
|
||||
}
|
||||
|
||||
function setup_pmem_conf() {
|
||||
@ -332,8 +345,10 @@ case "$test_type" in
|
||||
start_spdk_tgt; setup_nvme_conf;;
|
||||
gpt )
|
||||
start_spdk_tgt; setup_gpt_conf;;
|
||||
crypto )
|
||||
setup_crypto_conf;;
|
||||
crypto_aesni )
|
||||
start_spdk_tgt; setup_crypto_aesni_conf;;
|
||||
crypto_qat )
|
||||
start_spdk_tgt; setup_crypto_qat_conf;;
|
||||
pmem )
|
||||
setup_pmem_conf;;
|
||||
rbd )
|
||||
|
@ -1,32 +0,0 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
set -e
|
||||
|
||||
rootdir=$(readlink -f $(dirname $0))/../..
|
||||
source "$rootdir/scripts/common.sh"
|
||||
|
||||
# base_bdev will use QAT AES_CBC if available, otherwise AESNI
|
||||
# base_bdev2 will always use AESNI
|
||||
# base_bdev3 will use QAT AES_XTS if available, otherwise not used
|
||||
# This makes sure that AESNI always gets tested, even if QAT is available.
|
||||
base_bdev=$1
|
||||
base_bdev2=$2
|
||||
base_bdev3=$3
|
||||
|
||||
echo
|
||||
echo "[crypto]"
|
||||
|
||||
if [ -n "$base_bdev" ]; then
|
||||
if [ $(lspci -d:37c8 | wc -l) -eq 0 ]; then
|
||||
echo " CRY $base_bdev crypto_ram 0123456789123456 crypto_aesni_mb"
|
||||
else
|
||||
echo " CRY $base_bdev crypto_ram 0123456789123456 crypto_qat"
|
||||
if [ -n "$base_bdev3" ]; then
|
||||
echo " CRY $base_bdev3 crypto_ram3 0123456789123456 crypto_qat AES_XTS 0123456789123456"
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
|
||||
if [ -n "$base_bdev2" ]; then
|
||||
echo " CRY $base_bdev2 crypto_ram2 9012345678912345 crypto_aesni_mb"
|
||||
fi
|
Loading…
Reference in New Issue
Block a user