[PATCH 08/10] nvme/041: test hash and dh group variations for authenticated connections
From: Hannes Reinecke <hare@suse.de>
Date: 2021-11-23 07:50:02
Subsystem:
the rest · Maintainer:
Linus Torvalds
Signed-off-by: Hannes Reinecke <hare@suse.de> --- tests/nvme/041 | 89 ++++++++++++++++++++++++++++++++++++++++++++++ tests/nvme/041.out | 18 ++++++++++ 2 files changed, 107 insertions(+) create mode 100644 tests/nvme/041 create mode 100644 tests/nvme/041.out
diff --git a/tests/nvme/041 b/tests/nvme/041
new file mode 100644
index 0000000..034c715
--- /dev/null
+++ b/tests/nvme/041@@ -0,0 +1,89 @@ +#!/bin/bash +# SPDX-License-Identifier: GPL-3.0+ +# Copyright (C) 2021 Hannes Reinecke, SUSE Labs +# +# Test hash and dh group variations for authenticated connections + +. tests/nvme/rc + +DESCRIPTION="Test hash and DH group variations for authenticated connections" +QUICK=1 + +requires() { + _nvme_requires + _have_modules loop + _require_nvme_trtype_is_fabrics + _require_nvme_cli_auth +} + + +test() { + local port + local subsys="blktests-subsystem-1" + local hostid="$(uuidgen)" + local hostnqn="nqn.2014-08.org.nvmexpress:uuid:${hostid}" + local scratch="/tmp/blktest-ns1.img" + local hostkey + local ctrldev + + echo "Running ${TEST_NAME}" + + _setup_nvmet + + truncate -s 512M "${scratch}" + + port="$(_create_nvmet_port "${nvme_trtype}")" + + _create_nvmet_subsystem "${subsys}" "${scratch}" + _add_nvmet_subsys_to_port "${port}" "${subsys}" + _create_nvmet_host "${subsys}" "${hostnqn}" "${hostkey}" + + for hash in "hmac(sha256)" "hmac(sha384)" "hmac(sha512)" ; do + + echo "Testing hash ${hash}" + + _set_nvmet_hash "${hostnqn}" "${hash}" + + _nvme_connect_subsys "${nvme_trtype}" "${subsys}" \ + "${def_traddr}" "${def_trsvcid}" \ + "${hostnqn}" "${hostid}" \ + "${hostkey}" + + ctrldev=$(_find_nvme_dev "${subsys}") + if [ -z "$ctrldev" ] ; then + echo "nvme controller not found" + fi + + _nvme_disconnect_subsys "${subsys}" + done + + for dhgroup in "ffdhe2048" "ffdhe3072" "ffdhe4096" "ffdhe6144" "ffdhe8192" ; do + + echo "Testing DH group ${dhgroup}" + + _set_nvmet_dhgroup "${hostnqn}" "${dhgroup}" + + _nvme_connect_subsys "${nvme_trtype}" "${subsys}" \ + "${def_traddr}" "${def_trsvcid}" \ + "${hostnqn}" "${hostid}" \ + "${hostkey}" + + ctrldev=$(_find_nvme_dev "${subsys}") + if [ -z "$ctrldev" ] ; then + echo "nvme controller not found" + fi + + _nvme_disconnect_subsys "${subsys}" + done + + _remove_nvmet_subsystem_from_port "${port}" "${subsys}" + _remove_nvmet_subsystem "${subsys}" + + _remove_nvmet_port "${port}" + + _remove_nvmet_host "${hostnqn}" + + rm ${scratch} + + echo "Test complete" +}
diff --git a/tests/nvme/041.out b/tests/nvme/041.out
new file mode 100644
index 0000000..e8558d3
--- /dev/null
+++ b/tests/nvme/041.out@@ -0,0 +1,18 @@ +Running nvme/041 +Testing hash hmac(sha256) +NQN:blktests-subsystem-1 disconnected 1 controller(s) +Testing hash hmac(sha384) +NQN:blktests-subsystem-1 disconnected 1 controller(s) +Testing hash hmac(sha512) +NQN:blktests-subsystem-1 disconnected 1 controller(s) +Testing DH group ffdhe2048 +NQN:blktests-subsystem-1 disconnected 1 controller(s) +Testing DH group ffdhe3072 +NQN:blktests-subsystem-1 disconnected 1 controller(s) +Testing DH group ffdhe4096 +NQN:blktests-subsystem-1 disconnected 1 controller(s) +Testing DH group ffdhe6144 +NQN:blktests-subsystem-1 disconnected 1 controller(s) +Testing DH group ffdhe8192 +NQN:blktests-subsystem-1 disconnected 1 controller(s) +Test complete
--
2.29.2