Commit 102731bd authored by Michal Berger's avatar Michal Berger Committed by Tomasz Zawadzki
Browse files

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: default avatarMichal Berger <michalx.berger@intel.com>
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/1020


Tested-by: default avatarSPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: default avatarDarek Stojaczyk <dariusz.stojaczyk@intel.com>
Reviewed-by: default avatarPaul Luse <paul.e.luse@intel.com>
Reviewed-by: default avatarShuhei Matsumoto <shuhei.matsumoto.xt@hitachi.com>
parent 9fd5bccc
Loading
Loading
Loading
Loading
+5 −1
Original line number Diff line number Diff line
@@ -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

+24 −9
Original line number Diff line number Diff line
@@ -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 )

test/bdev/gen_crypto.sh

deleted100755 → 0
+0 −32
Original line number Diff line number Diff line
#!/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