3 testdir
=$
(readlink
-f $
(dirname $0))
4 rootdir
=$
(readlink
-f $testdir/..
/..
/..
)
5 source $rootdir/test
/common
/autotest_common.sh
6 source $rootdir/test
/nvmf
/common.sh
8 if [ -z "${DEPENDENCY_DIR}" ]; then
9 echo DEPENDENCY_DIR not defined
!
16 rpc_py
="$rootdir/scripts/rpc.py"
21 $rpc_py nvmf_create_transport
$NVMF_TRANSPORT_OPTS -u 8192
23 $rpc_py bdev_malloc_create
$MALLOC_BDEV_SIZE $MALLOC_BLOCK_SIZE -b Malloc0
24 $rpc_py bdev_malloc_create
$MALLOC_BDEV_SIZE $MALLOC_BLOCK_SIZE -b Malloc1
26 $rpc_py nvmf_create_subsystem nqn
.2016-06.io.spdk
:cnode1
-a -s $NVMF_SERIAL -d SPDK_Controller1
27 $rpc_py nvmf_subsystem_add_ns nqn
.2016-06.io.spdk
:cnode1 Malloc0
28 $rpc_py nvmf_subsystem_add_ns nqn
.2016-06.io.spdk
:cnode1 Malloc1
29 $rpc_py nvmf_subsystem_add_listener nqn
.2016-06.io.spdk
:cnode1
-t $TEST_TRANSPORT -a $NVMF_FIRST_TARGET_IP -s $NVMF_PORT
31 nvme connect
-t $TEST_TRANSPORT -n "nqn.2016-06.io.spdk:cnode1" -a "$NVMF_FIRST_TARGET_IP" -s "$NVMF_PORT"
33 waitforserial
$NVMF_SERIAL 2
34 if ! get_nvme_devs print
2> /dev
/null
; then
35 echo "Could not find any nvme devices to work with, aborting the test" >&2
39 for ctrl
in "${nvmes[@]}"; do
42 nvme_model
=$
(nvme id-ctrl
$ctrl |
grep -w mn |
sed 's/^.*: //' |
sed 's/ *$//')
43 if [ "$nvme_model" != "SPDK_Controller1" ]; then
44 echo "Wrong model number for controller" $nvme_model
49 for ns
in "${nvmes[@]}"; do
53 nvme disconnect
-n "nqn.2016-06.io.spdk:cnode1"
55 # Test spdk/nvme-cli NVMe-oF commands: discover, connect and disconnect
57 pushd "${DEPENDENCY_DIR}/nvme-cli"
59 sed -i 's/shm_id=.*/shm_id=-1/g' spdk.conf
60 .
/nvme discover
-t $TEST_TRANSPORT -a $NVMF_FIRST_TARGET_IP -s "$NVMF_PORT"
61 nvme_num_before_connection
=$
(get_nvme_devs
2>&1 ||
echo 0)
62 .
/nvme connect
-t $TEST_TRANSPORT -n "nqn.2016-06.io.spdk:cnode1" -a "$NVMF_FIRST_TARGET_IP" -s "$NVMF_PORT"
64 nvme_num
=$
(get_nvme_devs
2>&1)
65 .
/nvme disconnect
-n "nqn.2016-06.io.spdk:cnode1"
66 if [ $nvme_num -le $nvme_num_before_connection ]; then
67 echo "spdk/nvme-cli connect target devices failed"
72 $rpc_py nvmf_delete_subsystem nqn
.2016-06.io.spdk
:cnode1
73 trap - SIGINT SIGTERM EXIT