]> git.proxmox.com Git - ceph.git/blob - ceph/src/spdk/test/nvmf/host/identify_kernel_nvmf.sh
add subtree-ish sources for 12.0.3
[ceph.git] / ceph / src / spdk / test / nvmf / host / identify_kernel_nvmf.sh
1 #!/usr/bin/env bash
2
3 testdir=$(readlink -f $(dirname $0))
4 rootdir=$(readlink -f $testdir/../../..)
5 source $rootdir/scripts/autotest_common.sh
6 source $rootdir/test/nvmf/common.sh
7
8 set -e
9
10 if ! rdma_nic_available; then
11 echo "no NIC for nvmf test"
12 exit 0
13 fi
14
15 timing_enter identify_kernel_nvmf_tgt
16
17 subsystemname=nqn.2016-06.io.spdk:testnqn
18
19 modprobe null_blk nr_devices=1
20 modprobe nvmet
21 modprobe nvmet-rdma
22
23 if [ ! -d /sys/kernel/config/nvmet/subsystems/$subsystemname ]; then
24 mkdir /sys/kernel/config/nvmet/subsystems/$subsystemname
25 fi
26 echo 1 > /sys/kernel/config/nvmet/subsystems/$subsystemname/attr_allow_any_host
27
28 if [ ! -d /sys/kernel/config/nvmet/subsystems/$subsystemname/namespaces/1 ]; then
29 mkdir /sys/kernel/config/nvmet/subsystems/$subsystemname/namespaces/1
30 fi
31
32 echo -n /dev/nullb0 > /sys/kernel/config/nvmet/subsystems/$subsystemname/namespaces/1/device_path
33 echo 1 > /sys/kernel/config/nvmet/subsystems/$subsystemname/namespaces/1/enable
34
35 if [ ! -d /sys/kernel/config/nvmet/ports/1 ]; then
36 mkdir /sys/kernel/config/nvmet/ports/1
37 fi
38
39 echo -n rdma > /sys/kernel/config/nvmet/ports/1/addr_trtype
40 echo -n ipv4 > /sys/kernel/config/nvmet/ports/1/addr_adrfam
41 echo -n $NVMF_FIRST_TARGET_IP > /sys/kernel/config/nvmet/ports/1/addr_traddr
42 echo -n $NVMF_PORT > /sys/kernel/config/nvmet/ports/1/addr_trsvcid
43
44 ln -s /sys/kernel/config/nvmet/subsystems/$subsystemname /sys/kernel/config/nvmet/ports/1/subsystems/$subsystemname
45
46 $rootdir/examples/nvme/identify/identify -r "\
47 trtype:RDMA \
48 adrfam:IPv4 \
49 traddr:$NVMF_FIRST_TARGET_IP \
50 trsvcid:$NVMF_PORT \
51 subnqn:nqn.2014-08.org.nvmexpress.discovery" -t all
52
53 rm -rf /sys/kernel/config/nvmet/ports/1/subsystems/$subsystemname
54
55 echo 0 > /sys/kernel/config/nvmet/subsystems/$subsystemname/namespaces/1/enable
56 echo -n 0 > /sys/kernel/config/nvmet/subsystems/$subsystemname/namespaces/1/device_path
57
58 rmdir --ignore-fail-on-non-empty /sys/kernel/config/nvmet/subsystems/$subsystemname/namespaces/1
59 rmdir --ignore-fail-on-non-empty /sys/kernel/config/nvmet/subsystems/$subsystemname
60 rmdir --ignore-fail-on-non-empty /sys/kernel/config/nvmet/ports/1
61
62 rmmod nvmet-rdma
63 rmmod null_blk
64 rmmod nvmet
65
66 timing_exit identify_kernel_nvmf_tgt