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